Microduck
Pollen Robotics 售价 $399 的行走鸭子机器人:软件开源,硬件闭源
许可证
- software (pollen-robotics/microduck) and training code (microduck_rl): Apache 2.0
- 3D model files (microduck_rl STL meshes, also used by community replicas; credit Pollen Robotics): CC BY-NC-SA 4.0
分别授权。Microduck 的软件及其训练代码采用 Apache-2.0。自 2026 年 10 月 9 日起,Pollen Robotics 以 CC BY-NC-SA 4.0 授权该机器人的 3D 模型文件(microduck_rl 中的 STL 网格):仅限非商业用途,须注明 Pollen Robotics,分享修改时须保持相同许可证。用这些网格打印的复刻品同样适用。Pollen 没有公开机器人本体的 CAD、电路板或物料清单。核查日期:2026 年 11 月 5 日。
概述
Microduck 是 Hugging Face 旗下 Pollen Robotics 制造的一款高 25 cm、重 800 g 的行走鸭子机器人,以组装成品形式销售,售价 $399(不含税费和运费),目前可在 Pollen 商店预订。它的软件开源,硬件则不开源:本仓库是机器人的机载软件栈,一个采用 Apache-2.0 许可的 Rust 工作区,运行 50 Hz 控制回路,通过导出为 ONNX 的神经网络策略驱动十五个舵机。仓库包含机器人运行所需的一切——负责控制回路和电机总线的 robotd、负责签名发布并支持基于健康检查回滚的 updaterd、负责 wifi 和身份配置的 configd、负责手机所用蓝牙通道的 btd、负责游戏手柄的 padd、负责 WebRTC 摄像头串流的 mediad,以及负责深度传感器的 tofd——它们都通过 Unix 套接字使用同一套 JSON-RPC 约定通信,因此应用、控制台、游戏手柄和用户脚本发送的都是相同的调用。运动和恢复策略在 microduck_rl 中使用 MuJoCo 和 PPO 单独训练。机器人本身由 Hugging Face 旗下公司 Pollen Robotics 销售。
这套软件栈刻意保持朴素:Rust、无框架、单一 Cargo 工作区,以及一组各司其职的小型守护进程。robotd 掌管控制回路与电机总线;updaterd 安装签名发布,并在机器人启动后状态异常时自动回滚;configd 负责 WiFi 与身份;btd 是手机使用的蓝牙通道;padd 读取手柄;mediad 通过 WebRTC 传输摄像头画面;tofd 提供深度传感器数据。全部运行在 Rockchip RK3566 上,每个客户端都通过同一套 Unix 套接字上的 JSON-RPC 契约通信,而不是走私有旁路。行为以策略而非代码的形式交付:行走、跌倒后起身、装上轮子滚动、用喙从地面叼起物体,都是在 microduck_rl 中用 MuJoCo、PPO 和域随机化分别训练、导出为 ONNX 并由 robotd 加载的独立网络。docs/design 中的设计说明坦率得不同寻常,docs/project 则记录了哪些地方出过问题以及如何解决。
为何重要
小型腿式机器人通常连同封闭固件一起出售,因此最有意思的部分——策略如何在低成本 SoC 上以 50 Hz 真正驱动十五个舵机,以及如何在不变砖的前提下向机器人推送更新——始终不为人所见。Microduck 以 Apache-2.0 公开了整个这一层,包括更新机制、IPC 契约,以及旁边 microduck_rl 中的仿真到现实流程。对任何构建小型强化学习双足机器人的人来说,它是一份完整可用的参考实现而非演示;399 美元的硬件价格也让课堂负担得起配套的真机。
解决的问题
低成本腿式机器人出厂即带封闭固件,因此从训练好的策略到舵机之间的那一层——实时控制、进程间通信、媒体传输与安全的空中升级——正是厂商之外无人能读到的部分。Microduck 为一台人人可购买的机器人公开了恰恰这一层。
要点
- 面向 25 厘米、800 克双足机器人的完整机载软件栈:在 Rockchip RK3566 上以 50 Hz 控制回路,由 ONNX 策略驱动十五个舵机
- 由单一职责守护进程组成的 Rust 工作区——robotd、updaterd、configd、btd、padd、mediad、tofd——通过 Unix 套接字上的同一套 JSON-RPC 契约通信
- 带签名与健康门控的更新机制:机器人启动后状态异常时会自动回滚
- 行为来自训练出的策略而非脚本:行走、自主起身、装轮滚动,以及用喙从地面叼起物体
- 策略来自 microduck_rl——MuJoCo、PPO 与域随机化,并导出为 ONNX
- Apache-2.0 许可,设计决策与未解问题分别记录在 docs/design 和 docs/project 中
适用人群
- 在嵌入式 Linux 上构建强化学习腿式机器人的工程师
- 希望为 MuJoCo 训练策略找到廉价实体目标的仿真到现实研究者
- 用学生负担得起的硬件讲授机器人软件架构的教育者
- 希望基于 JSON-RPC 接口编写自定义行为的 Microduck 用户
局限
- 软件开源但硬件不开源:Pollen 未公开任何 CAD 或物料清单,microduck_rl 中的 STL 网格采用非商业许可,因此这款机器人的定位是购买而非自制
- 该软件栈针对单一开发板和单一机器人——Rockchip RK3566 与 Microduck 舵机总线——而不是一个通用框架
- 本仓库只是机器人的大脑;训练流程和仿真到现实(sim2real)方案单独位于 microduck_rl 中
- 项目尚新:仓库创建于 2026 年 7 月,守护进程、IPC 约定和更新路径仍在变动
- 用于 Rockchip 硬件编码器的 GStreamer 插件来自一个单独的预编译 aarch64 仓库,而不是在源码树内构建
- 自守护进程 0.18.3 版本起,机器人默认向 PostHog EU 发送匿名使用数据:守护进程启动、更新结果、每日心跳以及加载了哪些公开策略,使用随机的机器人 ID 标识。该功能可以关闭;上游的遥测页面说明了关闭方法。