跳转到主要内容
本页讲解如何正确、安全地控制 Wuji Hand 2.1:单位约定、MIT 控制模式、关节表、参数安全边界与安全控制循环。接口定义与完整 API 见 SDK 接口。

单位与符号

正方向与零位的定义见零位与运动方向。

MIT 控制模式

设备默认运行在 MIT 力位混合控制,控制模式不通过 Python API 切换:
  • q_d / dq_d / τ_ff 取自 joint_command 的 position / velocity / effort 字段,每次发布须为 20 条 JointCommand
  • Kp / Kd 通过 mit_params 读写,力矩上限通过 effort_limit 读写

关节表

编号规则:thumb 0–3、index 4–7、middle 8–11、ring 12–15、pinky 16–19,SDK 标签格式 {finger}_S{1..4}。 各关节的运动方向与角度范围见产品介绍。命名约定自 2.1 修订定版,后续修订保持兼容。

零位与运动方向

运动范围与模型文件(URDF / MJCF / USD)的关节限位一致,左右手对称。模型关节与连杆按 {l,r}_ 前缀加手指名命名,根连杆为臂法兰安装座 {l,r}_mount,详见坐标系与模型。 set_origin 与 clear_origin 把当前物理位置标定为用户零点,关节运动中延迟到下次 IDLE 生效,操作见标定与配置。

控制频率与命令频率

joint_states 与 joint_diagnostics 共用同一条设备流,调低其中一个的推送频率,另一个会同步降低。订阅模式与输出率调节见 SDK 接口。

参数安全边界

effort_limit 与 mit_params 的写入都会校验:拒绝 NaN、Inf 与负值,effort_limit 还会拒绝超出设备上限的值。写入被拒时报错,当前生效值保持不变。上限由固件设定,具体数值以设备读回为准。
提高 effort_limit 或 Kp 会同时提高夹持力与碰撞冲击。调参从小到大逐步逼近,每次改动后先做低速小幅度动作确认行为,再进入正常工况。

安全控制循环

  1. 连接设备并确认 20 个关节在线、无活跃错误码
  2. 清空工作空间,确认无人接触
  3. 使能关节,等待全部进入 Enabled 状态
  4. 从当前姿态插值到目标姿态,避免直接下发阶跃
  5. 循环中持续订阅 joint_diagnostics,出现活跃错误码立即停止
  6. 结束时失能并断开连接
异常时的停机行为与清故障流程见维护。 对应示例的实跑记录见 SDK 使用实践,含平滑归零与两个运动示例的实测数据。