Skip to content

踩坑GitHub agilexrobotics/piper_sdk11 个月前

PiPER SDK MIT模式力矩控制异常及反馈值缩放修正 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:[Question] Proper torque scaling factors for MIT control(GitHub agilexrobotics/piper_sdk #73)

状态:已解决

问题 ​

使用piper_sdk在MIT模式下进行重力补偿时,直接应用URDF计算力矩导致关节输出过大、运动异常。原因是固件1.5-8存在力矩缩放问题:发送目标力矩时电机实际执行值为输入的4倍;同时SDK接口GetArmHighSpdInfoMsgs().motor_x.effort返回的J1-3关节反馈力矩未包含除以4的步骤,导致读取值并非真实物理力矩,而J4-6反馈值则正常。

环境 ​

机型:agilex-piper;固件版本:1.5-8;SDK:piper_sdk;控制模式:MIT Mode;描述文件:piper_no_gripper_description.urdf

解决办法 ​

  1. 发送目标力矩时,将算法计算出的期望力矩值除以4后再通过SDK下发,以抵消固件内部4倍增益(如期望1N·m则发送0.25)。
  2. 读取J1-J3关节反馈力矩时,获取GetArmHighSpdInfoMsgs().motor_x.effort数值后必须手动除以4才是真实反馈力矩(真实值=电流*1.18125/4)。
  3. 读取J4-J6关节反馈力矩时,直接使用GetArmHighSpdInfoMsgs().motor_x.effort返回值即可,无需额外处理(真实值=电流*0.95844)。
  4. 注意该修正仅针对固件1.5-8版本,其他版本(如1.7.post3)缩放因子可能不同,需重新验证。

讨论原作者:@kwongeunwoo 等,版权归原作者所有。

来源

本页事实对应的公开页面,以原文为准。

  1. GitHub agilexrobotics/piper_sdk #73:[Question] Proper torque scaling factors for MIT control访问 2026-10-26