Microduck 微型双足机器鸭
Microduck 是一款约 25 厘米、800 克的微型双足机器人,由 Rockchip RK3566 驱动,运行 Rust 编写的守护进程,通过强化学习策略控制 15 个舵机,实现行走、翻滚、捡拾、起身等动作。
爱鲜报评分
0 人评分
9k
星数
否
中文
Rust
主语言
是
活跃
14
贡献者
人工分析
EDITORIAL推荐理由
该项目将强化学习策略部署到真实机器人上,展示了完整的 sim2real 流程,对机器人控制和嵌入式开发有很高的学习价值。Rust 编写、模块化守护进程架构和可回滚的更新机制,适合研究系统设计与可靠性。官方提供丰富的文档和模拟器,便于无硬件时开发调试。
适用场景
- 机器人控制与强化学习研究
- 嵌入式 Rust 开发学习
- sim2real 迁移实践
- 教育演示与创客项目
- 多守护进程系统架构参考
优点
- 完整的 sim2real 流程,从训练到部署
- Rust 编写,无框架,代码清晰
- 模块化守护进程架构,易于扩展
- 更新机制支持回滚和健康检查
- 提供模拟器,无需硬件即可开发
缺点
- 需要购买实体机器人才能完整体验
- 强化学习策略训练需要额外仓库和计算资源
- 文档主要为英文,中文资料较少
- 对嵌入式系统和机器人学有一定门槛
Microduck 微型双足机器鸭
Microduck 是一款约 25 厘米高、800 克重的微型双足机器人,由 Rockchip RK3566 驱动,运行着多个 Rust 守护进程。它的核心是一个 50 Hz 的控制循环,通过神经网络策略驱动 15 个舵机,并集成了无线电、摄像头和安全的更新机制。
主要功能
- 行走:连接游戏手柄即可操控。
- 翻滚:装上轮子,按住方向键上,它会加载另一套“大脑”。
- 捡拾:低头用喙捡起物品,一键操作。
- 起身:被推倒后能自己站起来。
- 还能坐下、踢球、按指令前进,并发出独特的鸭叫声。
技术架构
项目采用 Rust 编写,无框架,单一工作空间。主要守护进程包括:
robotd:负责控制循环和电机总线。updaterd:安装签名版本,并在机器人启动不健康时回滚。configd:管理 Wi-Fi 和身份信息。btd:提供蓝牙通道,供手机使用。padd:读取游戏手柄。mediad:通过 WebRTC 流式传输摄像头画面。tofd:提供深度传感器服务。
它们通过 Unix 套接字上的 JSON-RPC 契约通信,所有客户端(应用、控制台、手柄、脚本)发送相同的调用。
强化学习策略
机器人运行的策略在另一个仓库 microduck_rl 中训练,使用 MuJoCo 和 PPO 算法,经过域随机化后导出为 ONNX 格式,由本仓库加载。
开发与模拟
即使没有实体机器人,也可以使用 scripts/duck-sim 在 MuJoCo 中运行真实的守护进程,支持单只或四只鸭子模拟。开发板设置、分支构建、推送等操作均有详细文档。
适用人群
本项目适合对机器人控制、强化学习、嵌入式 Rust 开发感兴趣的开发者,以及希望研究 sim2real 迁移和可靠系统设计的研究人员。
评论
- 暂无评论,来写第一条吧。