自动校准(旋转关节)
任务信息
任务值 (TID): 4120
任务描述:
- 对旋转关节(髋关节、膝关节)执行自动零点校准序列,无需人工手动调整。
- 校准分三步依序执行:
- 边界检测与回位(TID 4104):驱动各关节运动至机械限位,检测到边界后自动回退至安全位置。
- 关节下电:关闭所有执行器,关节在重力下自然垂落至静止位置。
- 设置零点(TID 4105):采样约 1 秒(50 个控制周期)的关节位置读数并取平均值,将该平均值设为零点(应用层 0 rad 参考位置)。
- 每次机器重新上电或关节零点丢失时,建议先执行此任务再启动其他运动任务。
任务参数:
| 接口参数 | 类型 | 默认值 | 参数范围 | 描述 |
|---|---|---|---|---|
模块信息
该任务暂无独立模块指令,不支持通过模块接口进行分关节控制。
接口信息
状态接口:
| 接口参数 | 接口映射关系 |
|---|---|
| 任务启动标志 | task.flag_task_start |
| 任务结束标志 | task.flag_task_finish |
flag_task_start在边界检测阶段(步骤一)运行时置位;flag_task_finish在零点设置完成(步骤三结束)后置位。
指令接口:
| 接口参数 | 接口映射关系 |
|---|---|
内部子任务说明
| 步骤 | TID | 任务名称 | 说明 |
|---|---|---|---|
| 1 | 4104 | 边界检测与回位 | 驱动髋关节向 MIN、膝关节向 MAX 运动,检测到接触后原路回退 |
| 2 | — | 关节下电 | 执行 ServoOff,使关节在重力下自然下垂 |
| 3 | 4105 | 设置零点(软件层) | 连续采样 50 周期取均值,调用 set_home_position() 写入零点 |
注意事项与常见问题
执行前提条件
- 所有执行器已 Servo On(TID=35)
- 直线关节(腿长)已完成校准(TID=4210)
- 机器人处于悬挂状态(双脚离地),或确保旋转关节活动空间无遮挡物
超时处理
- 边界检测(步骤 1)最大超时约为 60 秒。若超时未检测到机械限位,任务将终止并置位
flag_task_finish,但零点不会被写入。 - 超时后处理:
- 检查执行器是否有报警(
grx.robot_error_codes) - 执行 Clear Fault(TID=34)清除报警
- 重新 Servo On(TID=35)后再试
- 检查执行器是否有报警(
校准失败判断
- 校准成功:
flag_task_finish置位后,各旋转关节位置应接近 0 rad(误差 < 0.1 rad) - 校准失败迹象:关节位置仍有较大偏移,或运动任务中出现明显不对称
使用限制
- 每次上电后可选择执行本任务(旋转关节零点掉电不丢失)
- 直线关节零点每次上电必须重新校准(TID=4210)
- 本任务不可在运动任务执行过程中触发,请先退出当前任务再执行校准
更新日志
fourier-grxv4.2.0 版本新增该功能。