二十五厘米的鸭子:五十赫兹控制回路与十五个舵机
来源:GitHub — 2026-10-26 · ⭐ 11,475 stars · Rust
📋 概述
一台约 25 厘米、800 克重的双足机器人,跑在 Rockchip RK3566 上,靠几个守护进程撑着:50 赫兹的控制回路驱动 15 个舵机执行神经网络策略,另有无线电、摄像头和一套能让新软件上机而不把机器变砖的更新机制。它会走路、装上轮子会滚、低头用喙捡东西、被踢倒了自己爬起来,还会坐下、踢球和用属于自己的声音叫两声。策略在隔壁的 microduck_rl 仓训练,用的是 MuJoCo 加 PPO 的仿真到现实配方,导出 ONNX 后由这里加载。
🔑 核心要点
- 单一工作区、不用框架的 Rust:robotd 管控制回路与电机总线,updaterd 装签名发行版并在机器人起来不健康时回滚,configd 管网络与身份,btd 走蓝牙,padd 读手柄,mediad 用 WebRTC 推摄像头,tofd 供深度传感器。
- 所有客户端走同一份 JSON-RPC 契约:应用、控制台、手柄和你的脚本发出的调用完全一样,都在 Unix socket 上。
- 更新是可逆的工程:每次更新都验证签名、用健康状态做闸门、可回滚也可钉版本,避免远程升级把桌上的机器人变砖。
- 没机器也能开发:scripts/duck-sim 把真实守护进程跑在 MuJoCo 里的身体上,可以开一只在窗口里,也可以开四只当机器登录进去。
- 设计决策留档:docs/design 写为什么长成这样,docs/project 写已经出过什么问题、什么能解决它。
💡 金句
No duck was harmed in the making of this robot. Several were consulted.
👍 0
👎 0
← 返回 GitHub Trending 首页