手把手复刻 399 美元的鸭子机器人:社区开源 CAD 方案全拆解
一、399 美元的鸭子机器人,硬件居然不开源
去年 Hugging Face 开源了一只机器鸭。
叫 Microduck,25cm 高,737g,15 个舵机,用强化学习走路。官方售价 399 美元,在 Hugging Face 上开源了软件代码(Apache-2.0),但硬件不开源。没有 BOM 清单,没有可编辑的 CAD 文件,没有 PCB 原理图,没有装配文档。
你拿到手的只有一个 MJCF 仿真模型和 47 个 STL 网格文件。官方说”软件开源了,硬件你们自己看着办”。
但这难不倒开源社区。
二、社区逆向:从仿真模型反推出完整 CAD
一个叫 fanhao375 的开发者做了件很厉害的事:根据官方公开的 MJCF 物理仿真模型,逆向重建出了完整的 CAD 装配体。
项目地址:https://github.com/fanhao375/microduck-replica
MJCF 模型里包含了完整的运动学树信息:每个零件挂在谁身上、相对位置精确到 0.1mm、绕哪根轴转、行程多少、质量和惯量张量。这些数据虽然是为了物理仿真用的,但足够用来反推装配关系。
fanhao375 把这些信息还原成了三样东西:装配爆炸图(15 个部件沿运动链炸开,标注名称与质量)、完整 CAD 装配体(已应用世界变换的 STL 文件,直接导入 CAD 软件就是装好的样子)、紧固件清单(从 STL 孔位反推出 M2 螺丝系统)。
图:Microduck 装配爆炸图,15 个部件沿运动链展开(来源:GitHub 官方仓库)
Microduck 的结构是这样的:
躯干主体 199g
├─ 左髋 yaw→roll → 左大腿 → 左小腿 → 左踝+脚
├─ 颈根 → 头 yaw/roll → 头部总成+喙 189g
└─ 右髋 yaw→roll → 右大腿 → 右小腿 → 右踝+脚
整机 737.2g 外形 144 × 141 × 264 mm
每条腿 5 个自由度,头颈 4 个,总共 14 个受控关节。整机装了 15 个 Dynamixel XL330 舵机,第 15 个驱动喙/下颚,走被动连杆,不进动作空间。
三、硬件清单:舵机、主控、电池、传感器
逆向出来的硬件清单:
| 组件 | 型号/规格 | 数量 |
|---|---|---|
| 舵机 | Dynamixel XL330 | 15 个 |
| 主控 | Radxa Zero 3W(市售模块) | 1 个 |
| 电池 | 索尼 NP-F970(2S) | 1 个 |
| IMU | LSM6DSV16X | 1 个 |
| ToF 传感器 | VL53L8CX | 1 个 |
| 摄像头 | IMX219 | 1 个 |
| 轴承 | 22×16×4 / 15×10×3 | 若干 |
| 紧固件 | M2 螺丝系统 | 77+28+20 个 |
主控板是 Radxa Zero 3W,一个市售的 ARM 开发板。之前有人误判是定制载板,后来从源码里确认是标准模块。
四、电控方案:从源码还原 PCB
官方没有公开 PCB 原理图,但 fanhao375 从 Rust 控制源码里把 PCB 的功能和协议完整还原了。
IMU 板:LSM6DSV16X + MCU + 半双工收发器,连接舵机和主控。协议已从源码还原,可以自己画板子。
HAT 板:负责给舵机供电和信号转发。如果不需要录音功能,可以用现成模块替代,甚至完全省略。
控制软件:官方的 Rust 运行时绑定 RK3566 芯片。因为主控是市售的 Radxa Zero 3W,官方 Rust 运行时可以直接跑,不需要移植。
运动策略:官方训练了 9 个 ONNX 策略模型。如果硬件完全照抄,策略可以直接用。如果改了电控方案,需要用官方开源的 microduck_rl 重新训练。
五、能造出来吗?
答案是:能造出机械结构,但整机复刻有挑战。
零件几何、装配关系、关节参数、紧固件清单、舵机选型、主控——这些都解决了。PCB 没有原理图,但功能已从源码还原。控制软件 Rust 运行时可直接跑。
但也有限制。
成本问题:Dynamixel XL330-M288-T 在欧洲零售约 €45.76/个,14 个舵机约 €640,已经超过了官方整机 $399 的售价。个人零散采购做不到规模化的价格。
STL 不是工程件:官方的 47 个 STL 是仿真用的,只关心外形和惯量,不保证配合公差、螺纹孔、热熔螺母座和走线空间。直接打印大概率装不起来,需要自行补充工程细节。
许可证限制:CAD 文件和装配图使用 CC BY-SA-NC 4.0 协议,不得商用。
六、构建日志:有人真的在打印
仓库里有一个构建日志,记录的是作者真的在动手做。头壳、躯干壳、腿部结构件和脚已经打印出来了,腿部件上的 M2 螺丝已经装进去了。
图:Microduck 首批 3D 打印件,腿部件螺丝已安装(来源:GitHub 官方仓库)
这不是纸上谈兵。作者在验证”仿真 STL 反推的装配数据在实物上到底对不对”,结论会如实记录——无论正反。
七、适合谁?
适合你,如果:
- 你对双足机器人感兴趣,想低成本入门
- 你有 3D 打印机,想打印一个能动的机器人
- 你想学习硬件逆向工程的方法论
- 你是具身智能研究者,需要一个低成本实验平台
可能不适合你,如果:
- 你想完全零成本复刻——舵机 alone 就要 4000 多人民币
- 你期望开箱即用——这需要自己调装配、自己画 PCB、自己调舵机参数
- 你想商用——CC BY-SA-NC 协议不允许
八、写在最后
microduck-replica 最让我佩服的地方是它的方法论:没有官方 CAD,就从仿真模型反推。
MJCF 模型里的运动学树、质量惯量、关节参数——这些本来是给物理引擎用的数据,被 fanhao375 当成了逆向工程的线索。从仿真到实物的桥梁,就这么搭起来了。
399 美元的 Microduck 本身已经是个很酷的项目。而社区把它逆向复刻出来,让国内开发者可以用家用 3D 打印机和标准五金件在本地造出来——这件事本身就是开源精神最好的体现。
如果你想尝试,从仓库的 CAD 装配体和爆炸图开始。即使最后造不出完整的鸭子,逆向工程这套方法论本身就值得学习。
项目信息
- 项目名称:microduck-replica
- GitHub:https://github.com/fanhao375/microduck-replica
- 协议:CC BY-SA-NC 4.0(CAD/装配图)+ Apache-2.0(scripts)
- 上游项目:Pollen Robotics Microduck(https://pollen-robotics.com/microduck/)
- 上游 RL 仓库:https://github.com/pollen-robotics/microduck_rl
- 主控:Radxa Zero 3W
- 舵机:Dynamixel XL330 × 15
- 构建日志:https://github.com/fanhao375/microduck-replica/blob/master/构建日志.md
互动时间:你对双足机器人感兴趣吗?有没有自己做过机器人项目?评论区聊聊。
喜欢这款工具?关注「善忘技术夹」全媒体
扫描二维码关注微信公众号与小程序,获取更多高品质开源软件推荐与效率工具测试。