主题
MIT 周期保持
周期发送当前七关节姿态,演示 MIT 调用。
运行前提
会使能左臂并持续发送保持目标;Python 循环不保证硬实时。 每台设备同一时刻只运行一个控制程序。运动前确认工作空间无障碍、人员远离运动区域且硬件急停可用。退出上下文会停止并断开,不自动失能,不保证继续主动保持负载。
运行
安装 SDK 后,在文档与示例目录中执行:
bash
python hw1/10_mit_control.py下载单文件后,也可在文件所在目录执行 python 10_mit_control.py。
完整代码
python
"""进阶: 使用默认增益周期保持当前姿态,不注入前馈力矩."""
import time
from libark.robot.hw1.arm import Arm
def main() -> None:
with Arm("left") as arm:
arm.set_mode("mit")
arm.enable()
state = arm.get_state()
if not state.ok:
raise RuntimeError("反馈不完整,请联系技术支持")
target = state.q7
end = time.monotonic() + 1.0
while time.monotonic() < end:
arm.send_mit(target)
time.sleep(0.02)
print("结束位置:", arm.get_state().pos)
if __name__ == "__main__":
main()