外观
踩坑GitHub agilexrobotics/piper_sdk2 个月前
PiPER机械臂MIT模式周期性抖动,升级固件1.7-6修复
本文由 AI 根据公开内容整理,可能有误,请以原文为准:CAN Bus thread-safety(GitHub agilexrobotics/piper_sdk #67)
状态:已解决
问题
使用piper_sdk控制PiPER机械臂进入MIT模式并发送恒定关节指令时,机械臂出现周期性抽动或抖动。用户怀疑是CAN总线多线程读写竞争导致,但维护者排查确认SDK层ThreadSafeBus与interface.Bus表现一致,问题根源在于底层单片机直接将数据写入中断进行电机透传控制时可能接收到错误帧,引发意外行为。
环境
机型:agilex-piper;SDK:piper_sdk(0_4_2版本前);固件:1.7-6以下版本;控制模式:MIT Mode;通信接口:CAN Bus (socketcan)
解决办法
- 将PiPER机械臂底层固件升级至1.7-6或更高版本,该版本优化了MIT模式下快速发送控制帧时的抖动问题。
- 若暂时无法升级固件,可尝试将piper_sdk中
piper_sdk/hardware_port/can_encapsulation.py内的can.interface.Bus替换为can.ThreadSafeBus作为临时规避措施,部分用户反馈此举可消除抖动现象。 - 验证修复效果时,可使用200Hz频率持续发送单一点位MIT控制指令5分钟,观察机械臂是否仍存在异常抖动。
讨论原作者:@osushkov 等,版权归原作者所有。
来源
本页事实对应的公开页面,以原文为准。