机器人是下一个风口。很多展示只有一两个动作,但要让这些动作变成一台可以每天开机、随时升级、可以自我修复的设备就很难。Microduck做得非常具体——它是一台高约25厘米、重800克的小型双足机器人,对应的开源仓库负责它的"大脑"。

架构设计
Microduck不只是把模型放进机器人就算完成。它依靠Rockchip RK3566上用Rust编写的一组守护进程协作运行:
- robotd:控制循环和电机总线
- updaterd:签名发布、健康检查、回滚操作
- configd:管理Wi-Fi和身份认证
- btd / padd / mediad / tofd:分别对应蓝牙模块、手柄控制器、摄像头、深度传感器
服务使用Unix socket上的JSON-RPC协议通信,无论是手机应用、控制台、游戏手柄还是脚本,发出的都是同一套调用。控制入口可以变化,底层能力不必为每个入口重复编写。
动作策略

动作策略来自相邻的microduck_rl项目,在MuJoCo上用PPO和领域随机化训练,导出的ONNX模型由本仓库加载。README展示了行走、滚动、拾取物品、摔倒后站起来等各种动作能力。
不是通用模型应对所有场景,而是加载相应模式后才会出现对应行为。加上轮子后切换到roller模式策略。
开发与运行边界
仓库明确划分了开发和运行环境:
- 有实体机器人时:通过
robotctl命令查阅cheat sheet,蓝牙使用duckctl操控 - 无实体机器人时:通过
scripts/duck-sim使真实守护进程与MuJoCo模拟身体相连,实现单只或多只容器实例控制
苏米注:这条从仿真到策略再到设备服务的路径,对研究人员比单纯观看演示视频重要得多。
持续改进的服务理念
Microduck最值得称赞的是把它看作需要持续改进的服务,而非一次性展示。更新过程包括软件包验证、启动后健康检查、出现问题时回滚。架构文档清楚定义了服务边界归属权和安全性权限。
硬件虽小,软件方面却很大——更新失败后不能让设备变成废铁。
声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。