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]
由事件证据自动生成。
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 发版或自行从源码构建。
来源
- LeRobot(HuggingFace 机器人)
HuggingFace LeRobot — embodied-AI / robotics learning library; new models, datasets, and policies.
- LeRobot(HuggingFace 机器人)
留言
登入后即可留言,和其他 builder 交换实测心得。
还没有留言,抢头香。