[控场AI]
· 4 分钟阅读· 2,018 字

四足机器人Wouf首秀:ST3215舵机速度慢却步态更快

四足机器人Wouf首秀:ST3215舵机速度慢却步态更快

开发者发现ST3215舵机反馈读取延迟拖慢控制循环,禁用后Wouf行走反而更快。

开发者为其四足机器人项目Cubic Doggo打造的新版本Wouf迈出第一步,并在调试中发现ST3215舵机反馈读取存在3-5毫秒延迟,根源是C++ SMS_STS库不支持同步读取,逐条读取拖慢了控制循环。暂时禁用反馈后,Wouf反而走得更快。尽管ST3215标称速度低于Dynamixel,实际步态表现却超出预期,证明执行器理论参数并非系统性能的全部。转向算法再次出错,但硬件选型和基础架构得到验证。作者指出,恢复反馈功能对后续强化学习至关重要,而同步读取固件是当前关键障碍。项目代码已在GitHub开源。

一位开发者为其四足机器人项目Cubic Doggo打造的新版本Wouf,刚刚迈出了第一步。在Reddit的更新帖中,作者分享了调试过程中的意外发现:原本被诟病速度不如Dynamixel的ST3215舵机,在实际行走表现上却远超预期。

reddit source: Cubic Doggo update: Wouf's first steps

从“树懒速度”到意外快走:一个反馈读取引发的bug

作者坦言,距离上次发帖后花了很长时间才鼓起勇气排查舵机响应迟缓的问题。固件调试向来让人心生畏惧,但这次他找到了根源:读取舵机位置、速度、力矩等反馈值带来的延迟。ST3215作为智能舵机,每次读取三个舵机的数据需要3–5毫秒,而当前使用的C++ SMS_STS库尚不支持同步读取(synchronous read)。这种逐条读取的串行方式累积起来,严重拖慢了控制循环。

作者在帖中询问社区是否已有现成的同步读取实现方案。在找到解决方案之前,Wouf暂时禁用了反馈读取功能。有趣的是,这一“阉割”反而让机器人走得更快——因为省去了反馈读取的时间开销,控制频率得以提升。

同步读取(synchronous read) 是总线舵机通信中的一种批量数据获取机制。以串行总线(如 TTL 半双工)连接的智能舵机通常采用“一问一答”协议:主控发送读取指令,目标舵机返回数据。若逐个舵机读取,每次往返都包含指令帧、等待响应、数据帧的完整周期,在波特率有限时累积延迟显著。同步读取则允许主控在一条指令中指定多个舵机 ID 及要读取的寄存器地址,各舵机在总线上分时或依序回传数据,从而将 N 次通信压缩为一次指令加连续响应,大幅降低总耗时。对于需要高频闭环控制的步行机器人,同步读取能显著缩短控制周期,是提升实时性的关键固件优化点。

ST3215 vs Dynamixel:速度参数不等于实际步态

尽管ST3215舵机的标称速度仍低于Doggo原型所用的Dynamixel系列,但Wouf的实际行走速度却比作者预期的要快得多。这提示了一个常被忽略的事实:对于步行机器人,执行器的理论速度参数只是系统性能的一部分,控制循环的实时性、通信延迟和算法效率同样关键。作者也提到,他很喜欢ST3215运行时的机械声音,并认为这标志着基于ST3215的设计完全能胜任步行机器人。

Dynamixel 是韩国 ROBOTIS 公司推出的智能舵机系列,在科研与教育机器人领域被广泛用作关节执行器,常见型号如 AX、MX、XL 系列。其特点包括较高的通信速率、丰富的反馈寄存器(位置、速度、负载、温度等)以及成熟的 SDK 支持,但单价通常远高于普通舵机。ST3215 则是国内厂商飞特(Feetech)推出的串行总线舵机,定位为低成本替代方案,同样具备位置/速度/负载反馈和总线通信能力,但生态与库支持相对薄弱。两者在标称速度、扭矩和通信协议上存在差异,Dynamixel 往往在响应速度和协议成熟度上占优,而 ST3215 以价格优势吸引低成本项目。

转向算法再次翻车,但整体方向得到验证

作者幽默地承认转向算法“又搞砸了”,这并非他第一次在转向逻辑上出错。不过,这些小挫折并未掩盖核心结论:ST3215方案可行。Wouf的步态表现已经证明了硬件选型和基础架构的潜力。接下来几天,作者计划整理整个构建过程并发布总结。

强化学习的输入缺口:同步读取固件成关键

目前Wouf缺少反馈读取能力,而这对强化学习至关重要——反馈值本质上是策略网络的输入观测。作者表示,是否恢复该功能取决于开发同步读取固件的难度。如果社区能提供现成方案,或者他自行攻克这一难关,Wouf将具备完整的感知-控制闭环,为后续强化学习训练铺平道路。

该项目的完整代码已在GitHub开源:https://github.com/SphericalCowww/CubicDoggo_07B 。对于关注低成本四足机器人、舵机通信优化或嵌入式控制的开发者,Wouf的进展提供了一个值得追踪的实践案例。

强化学习(Reinforcement Learning, RL) 在机器人步态控制中通常将策略网络建模为从观测到动作的映射。对于四足机器人,观测空间一般包括关节位置、关节速度、机身姿态(IMU 数据)以及足端接触状态等;动作空间则是各关节的目标位置或力矩指令。策略网络(如 PPO 训练的 MLP)在每个控制步都需要完整的观测向量作为输入,缺失任一维度都会导致状态表示不完整,进而影响训练收敛与策略鲁棒性。因此,反馈读取不仅是调试工具,更是 RL 闭环中感知环节的基础设施——没有可靠的关节反馈,策略网络就无法获知自身状态,也就无法学习有效的步态。

#四足机器人#ST3215舵机#Cubic Doggo#同步读取#舵机反馈延迟#步行机器人控制#强化学习
分享:

相关推荐