回到时间线

10月16日周五19:55Open Source

LeRobot 用 rustypot 统一 Feetech 与 Dynamixel 电机总线

决策简报

Brief
发生了什么
LeRobot 将 Feetech 和 Dynamixel 的 Python SDK 总线合并为基于 rustypot 的单一 SerialMotorsBus。
为什么重要
GitHub 相关变化会影响 AI 产品团队的技术选型和发布判断。
影响谁
GitHub
建议动作
升级或复核变更版本
地区可用性
暂未验证地区可用性差异。

关键事实

  • LeRobot 将 Feetech 和 Dynamixel 的 Python SDK 总线合并为基于 rustypot 的单一 SerialMotorsBus。 [src-lerobot]
  • rustypot 在 Rust 中实现两种协议并释放 GIL,电机操作延时从约 35-50 毫秒降到 50 毫秒超时,STS 与 SCS、XL430 与 XL330 现在可混接同一总线。 [src-lerobot]
高信心100% 主张有证据

由事件证据自动生成。

LeRobot 把原来分别基于厂商纯 Python SDK 的 FeetechMotorsBus 和 DynamixelMotorsBus 合并为一个 SerialMotorsBus,底层改用 rustypot 1.11.0 实现。每个电机的模型定义由 rustypot 的 servo 定义提供,包含控制表、字节序、符号编码、波特率和型号编号,总线连接时按型号打开 rustypot.Bus。两个旧类保留一个版本作为废弃别名。新增 serial-motors 安装选项,旧 feetech 与 dynamixel 选项继续可用但指向同一总线。 对使用 SO100/SO101、Koch、OMX、LeKiwi、HopeJR 和 OpenArm Mini 的开发者,设备代码需改为构造 SerialMotorsBus,并用 set_operating_mode("position") 这类名称代替厂商枚举值。校准、固件检查和力矩控制改由 rustypot 统一处理;SCS0009 这类没有归位偏移和操作模式的舵机,set_operating_mode() 与 set_half_turn_homings() 会拒绝执行。状态包等待时间从一秒降到 50 毫秒,30 Hz 控制循环丢一次回复只损失一个节拍。 想接入新舵机的团队需向 rustypot 提交 servo 定义,而不是像以前那样改 LeRobot 的 tables.py;LeRobot 只读取已安装的 rustypot Python 包里包含的型号,所以需要等 rustypot 发版或自行从源码构建。

摘要依据:已读全文详摘依据上方标注的来源范围整理,内容以原文为准。

来源

相关情报

留言

登入后即可留言,和其他 builder 交换实测心得。

还没有留言,抢头香。