自动校准(旋转关节)

任务信息

任务值 (TID): 4120

任务描述:

  • 对旋转关节(髋关节、膝关节)执行自动零点校准序列,无需人工手动调整。
  • 校准分三步依序执行:
    1. 边界检测与回位(TID 4104):驱动各关节运动至机械限位,检测到边界后自动回退至安全位置。
    2. 关节下电:关闭所有执行器,关节在重力下自然垂落至静止位置。
    3. 设置零点(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() 写入零点

注意事项与常见问题

执行前提条件

  1. 所有执行器已 Servo On(TID=35)
  2. 直线关节(腿长)已完成校准(TID=4210)
  3. 机器人处于悬挂状态(双脚离地),或确保旋转关节活动空间无遮挡物

超时处理

  • 边界检测(步骤 1)最大超时约为 60 秒。若超时未检测到机械限位,任务将终止并置位 flag_task_finish,但零点不会被写入。
  • 超时后处理:
    1. 检查执行器是否有报警(grx.robot_error_codes
    2. 执行 Clear Fault(TID=34)清除报警
    3. 重新 Servo On(TID=35)后再试

校准失败判断

  • 校准成功:flag_task_finish 置位后,各旋转关节位置应接近 0 rad(误差 < 0.1 rad)
  • 校准失败迹象:关节位置仍有较大偏移,或运动任务中出现明显不对称

使用限制

  • 每次上电后可选择执行本任务(旋转关节零点掉电不丢失)
  • 直线关节零点每次上电必须重新校准(TID=4210)
  • 本任务不可在运动任务执行过程中触发,请先退出当前任务再执行校准

更新日志

  • fourier-grx v4.2.0 版本新增该功能。