★ 这是"从硬件到软件全部开源"的项目(Apache-2.0):3D 图纸、BOM、组装教程、训练代码全公开,可自由改尺寸改配色,复刻自由度最高。
主控用 Radxa ZERO 3W(与 Microduck 同款 RK3566 芯片),体积最小、塞进鸭头最方便。
本方案合计:自打约 ¥2600 / 代打约 ¥3900(不含可选件)
| 类别 | 物料 | 数量 | 估算价 | 说明 | 购买链接 | Datasheet |
|---|---|---|---|---|---|---|
| 主控计算 | 1 | ≈¥220 | 体积最小、Microduck 同款主控 | 京东 · 淘宝搜"RADXA ZERO 3W" | Product Brief · 硬件资料 | |
| microSD 32GB(A2) | 1 | ≈¥40 | 系统盘 | 京东/淘宝搜"闪迪 32GB A2" | 随品牌官网 | |
| ◆ 外购件与打印件见下方共用小节(舵机/驱动板/传感器/电源/结构两方案完全相同) | ||||||
| 方案 A 合计 | ≈¥2600–3900 | 含主控;自打/代打价差见共用小节 | — | |||
主控换成 ROC-RK3566-PC 或 Radxa ROCK 3C:接口全、带网口,方便调试与接外设,适合团队开发/教学。
本体与方案 A 完全相同,都是 Open Duck Mini(42cm、14 舵机、3D 打印白色外形),做出来就是这个鸭子的样子,只是主控板不同。
本方案合计:自打约 ¥2700 / 代打约 ¥4300(不含可选件)
| 类别 | 物料 | 数量 | 估算价 | 说明 | 购买链接 | Datasheet |
|---|---|---|---|---|---|---|
| 主控计算 | 1 | ≈¥250–600 | 带网口/调试串口,接口全 | ROC 淘宝 · ROCK 3C 京东 | ROC 规格书 · ROCK 3C Brief | |
| microSD 32GB(A2) | 1 | ≈¥40 | 系统盘 | 京东/淘宝搜"闪迪 32GB A2" | 随品牌官网 | |
| ◆ 外购件与打印件见下方共用小节(舵机/驱动板/传感器/电源/结构两方案完全相同) | ||||||
| 方案 B 合计 | ≈¥2700–4300 | 含主控;自打/代打价差见共用小节 | — | |||
这是 Microduck 本尊:25cm、780g、15 颗 Dynamixel XL330、RK3566,官方售价 $399(≈¥2700)。硬件设计档案未开源,但已有 B 站《Microduck 硬件架构拆解》(Z-Rob,22min)把整机拆透——想复刻,这就是最硬的参考底稿。
未来可上手的打法:不要 1:1 照抄 Dynamixel,走国产化替代路线。视频算过账:按零售价买 15 颗 XL330 ≈ ¥4000+ 必然失败;把舵机国产替代到 ¥50–100/颗,整机 BOM 可压到 ¥1500–2500。
本方案合计(国产化替代):BOM ≈¥2000–3500(含 14–15 颗国产舵机 + 主控 + 传感器 + 结构)
🎬 拆解视频参考:BV1R2tH6tEsK《Microduck 硬件架构拆解》(作者 Z-Rob,22 分 37 秒)
| 模块 | 官方拆解结论 | 国产化替代建议 |
|---|---|---|
| 主控 | RK3566(开发/bring up 用 Radxa Zero 3W,65×30mm;官方代码标 provisional,量产或定制) | Radxa Zero 3W 或同级别 RK3566 板 |
| 舵机 ×15 | Dynamixel XL330-M288-T;自由度分配:腿 5+5、头/颈/嘴 5;强化学习策略控制 14 个关节(嘴是交互) | 国产智能总线舵机(如 Feetech 系)¥50–100/颗,选 14–15 颗 |
| 总线 | RK3566 UART2 → Dynamixel TTL 1Mbaud,15 舵机串联,无 STM32 小脑;sync read/write 批量 + return_delay_time=0 | 半双工 TTL 总线 + 电平转换(方案 A 的驱动板同思路) |
| IMU | 躯干主 IMU 高概率 LSM6DSV16X,做成总线设备(ID≈200),一次 sync read 同时读舵机+姿态,天然同步;头部另有一颗(视觉稳定用,可后加) | 第一版可只做躯干 IMU:BNO055(I²C)或仿官方总线化 |
| 相机 | 大概率 IMX219(RPi Cam v2 级),MIPI CSI → ISP → RGA → H.264 → WebRTC,约 720P30 | OV5640 / IMX219 摄像头模块 |
| 深度 | "LiDAR"实为 VL53L5CX/L8CX 8×8 TOF(64 点,低分辨率深度) | VL53L1/L5 模块(非必需,走路不靠它) |
| 电池 | NP-F550(7.2V / 2600mAh / 约 18–19Wh),可拆卸、供应链成熟;电量检测直接读舵机输入电压,<6.6V 坐下关机 | NP-F550 或 2S 18650 + BMS(方案 A 同款) |
| 控制 | 50Hz 闭环:sync read → obs → ONNX(14 维 action) → 滤波限幅 → sync write;训练在 PC/GPU(MuJoCo+PPO+域随机化),部署只跑 ONNX | 复用 microduck_rl / microduck 运行时,流程完全相同 |
| 软件 | Rust 多 daemon(robotd / mediad / tofd / btd / configd / updaterd),UNIX socket + JSONRPC,不用 ROS | 全开源,直接照抄 + 换主控适配 |
| 软件/资料 | 链接 | 用途 |
|---|---|---|
| Open Duck Mini 主仓库(图纸/代码全在这) | github.com/apirrone/Open_Duck_Mini | STL、BOM、组装/接线教程、RL 训练代码、预训练 ONNX |
| 中文入门教程 | 硬件组装 · 舵机配置 · 硬件介绍 | 中文小白首选 |
| STS3215 Linux 驱动 | github.com/adityakamath/SCServo_Linux | RK3566 上 Python 控制舵机 |
| Radxa 系统镜像(刷机) | docs.radxa.com | ZERO 3W / ROCK 3C 装系统 |
| 进阶:Microduck 训练/部署 | microduck_rl · microduck · 部署手记 | mjlab+PPO 训练、4 进程 50Hz 部署 |
| MuJoCo / ONNX Runtime / rknn-toolkit | MuJoCo · ONNX Runtime · rknn-toolkit2 | 仿真 / 推理 / NPU 转换 |
| 维度 | 方案 A ★ 全开源 | 方案 B 开发友好 | 方案 C Microduck 本尊 | Microduck 官方成品 |
|---|---|---|---|---|
| 本体 | Open Duck Mini,42cm | Open Duck Mini,42cm | Microduck,25cm(拆解 + 逆向) | Microduck,25cm / 780g |
| 机械来源 | 开源 STL + CAD(可下载) | 同左 | 无开源文件 → 按拆解视频逆向设计 | 官方工程件 |
| 舵机 | 14 × Feetech STS3215 | 同左 | 15 × 国产替代舵机(或 XL330) | 15 × Dynamixel XL330 |
| 主控 | RK3566 ZERO 3W | RK3566 ROC / ROCK 3C | RK3566(同官方) | RK3566 + NPU |
| 传感器 | BNO055 IMU | 同左 | 相机 + TOF + IMU(可选,走路不靠) | 全套 |
| 总成本 | ¥2600–3900 | ¥2700–4300 | 国产化 BOM ≈¥2000–3500(机械自设计) | ≈ ¥2700($399)+ 税运 |
| 组装难度 | 低(照图装) | 低 | 高(有拆解参考,但机械要自己画) | 无(成品) |
| 硬件能否 1:1 复刻 | 能(全开源) | 能(全开源) | 不能(无档案;可国产化仿制) | — |
| 软件 | Open Duck Mini 开源 + 复用 microduck 部署架构 | microduck 全开源(Apache-2.0) | ||
| 适合谁 | 小白 / 亲子 / 想亲手造 | 有机械设计能力、愿长期投入的进阶玩家 | 想直接玩、要重训的人 | |
mini_bdx/robots/open_duck_mini_v2/robot_motors.xml(参考 docs/prepare_robot.md、docs/sim2real.md),把 body 的 mass/pos(重心)/inertia、关节的 damping/frictionloss/armature、执行器的 kp/kv/forcerange 按你实测的填进去;有条件用 BAM 工具实测电机参数后 bam.to_mujoco 导出。② 放大训练域随机化:config 里把摩擦系数、质量/惯量缩放、电机强度、阻尼、重力、传感器噪声的范围放宽,覆盖"你那台鸭子可能落在的区间",让策略对它也鲁棒。验证:改完模型先在仿真 viewer 里回放确认还能走,再上真机。git clone -b v2 https://github.com/apirrone/Open_Duck_Minidocs/print_guide.md、docs/assembly_guide.md、docs/configure_motors.md;BOM 见仓库 README 内 Google Sheetexperiments/ 依赖(RL 训练代码 experiments/RL/train.py)configure_motors.py 给 14 颗舵机设 ID——右腿 10/11/12/13/14,左腿 20/21/22/23/24,颈 30,头 31/32/33/dev/ttyS3 或板载串口)→ 驱动板 UART 模式;驱动板 7.4V 供电 → 舵机菊花链SCServo_Linux(github.com/adityakamath/SCServo_Linux,Linux 下驱动 STS3215)rppal/pigpio 在 RK3566 上不可用,改 sysfs/libgpiod 或对应 Python 库)robotd(50Hz 控制循环)/ btd(蓝牙手柄)/ mediad(摄像头推流)/ tofd(深度)BEST_WALK_ONNX_2.onnx)→ 让鸭子第一次站立、迈步mini_bdx/robots/open_duck_mini_v2/robot_motors.xml),把自家打印件的质量/重心/惯量、舵机的阻尼/摩擦/电枢惯量/力限(damping、frictionloss、armature、kp/kv、forcerange)按实测填进去;有 BAM 工具就用 bam.to_mujoco 导出真实电机参数microduck_rl 的 mjlab + PPO + 域随机化 + BAM 执行器建模| 风险 | 对策 |
|---|---|
| STS3215 半双工总线与 RK3566 UART 不兼容 | 必须经舵机驱动板(Waveshare/Seeed)处理电平与收发方向;先单舵机验证 |
| 3D 打印公差导致装配/步态问题 | 按 print_guide 的参数打印;关键公差件备 1–2 份余量;优先修 CAF 与脚踝件 |
| 树莓派生态库在 RK3566 不可用 | 运行时改 libgpiod/sysfs;提前梳理 Open Duck Mini Runtime 的硬件抽象层并替换 |
| sim-to-real 迁移失败 | 用官方预训练 ONNX 先跑通基线;再引入域随机化/BAM 建模逐步逼近真机 |
| 电池续航不足(1kg 双足、14 舵机) | 选高容量 18650;策略下 NPU 推理;步态/电流调优 |
通用小件给的是"搜索直达"方式:点链接后在搜索框输入关键词即可比价;价格以商家实时为准,多店对比再下单。
| 器件 | 购买/下载链接 | 说明 |
|---|---|---|
| Radxa ZERO 3W(主方案,体积最小) | 京东:点此 淘宝搜:RADXA ZERO 3W | 1GB+8GB eMMC 不带排针款即可;官方资料:Product Brief |
| Radxa ROCK 3C(备选,带网口更好调试) | 京东:点此 淘宝搜:RADXA ROCK 3C | 4GB 版本更充裕;瑞莎官方店:淘宝"瑞莎计算机(深圳)"、京东"瑞莎企业店" |
| Firefly ROC-RK3566-PC(工业级备选) | 淘宝:点此 官方店:store.t-firefly.com | 接口最全,适合开发调试;选 2G/32G 配置 |
| 器件 | 购买链接 | 说明 |
|---|---|---|
| Feetech STS3215 舵机 ×14 | 飞特官网:点此 1688:点此(约¥99/颗) 淘宝搜:Feetech STS3215 | 选 7.4V / 19kg·cm 版本;预算可让店家配线和支架 |
| 舵机驱动板(必须) | 微雪电子官方:waveshare.net 海外参考:Bus Servo Driver HAT(A) 淘宝搜:微雪 总线舵机驱动 HAT | 选"Bus Servo Driver HAT"(内置 ESP32 转发),负责电平/收发方向;比自组省心 |
| (备选)微雪 ST3215-HS 舵机 | 微雪官网:点此 淘宝:点此 | 贴牌版本,和 Feetech 同协议,可用同一驱动板 |
| 器件 | 购买链接 | 说明 |
|---|---|---|
| BNO055 九轴 IMU | 淘宝搜:BNO055 九轴 模块(约¥35–140,选带 I²C 引脚的) 示例:淘宝九轴传感器列表 | 博世官方手册:BNO055 数据手册 |
| SS-10 脚底微动开关 ×2 | 淘宝搜:SS-10 微动开关(几毛~1元/个) | 脚底触地检测 |
| 18650 电池 ×2 / 2S BMS / 5V UBEC / 2S 平衡充 | 淘宝搜:18650 电池 / 2S BMS / 5V UBEC / 2S 平衡充 | 舵机 7.4V 直供,主控 5V |
| microSD 32GB A2 | 京东:闪迪 32GB A2 microSD | 系统盘 |
| 器件 | 购买链接 | 说明 |
|---|---|---|
| 3D 打印 44+ 件(STL 免费) | STL 下载:GitHub print 目录 打印配置参考:MakerWorld 打印配置 淘宝搜:3D打印 代打印 服务 | 把 STL 发给代打店(PLA+TPU);或自购打印机 |
| M3 螺丝 / 热熔铜嵌件 / 轴承 / 线材 / 连接器 | 淘宝搜:M3 螺丝套装、M3 热熔铜螺母、微型轴承、杜邦线 端子 | 按 BOM Google Sheet 数量采购 |
| 螺纹胶 Loctite 243 | 京东:乐泰 243 螺纹胶 | 固定舵机螺丝防松 |
| 软件/资料 | 链接 | 用途 |
|---|---|---|
| Open Duck Mini 主仓库(全部图纸/代码) | github.com/apirrone/Open_Duck_Mini | STL、BOM、组装/接线/打印/舵机配置教程、RL 训练代码、预训练 ONNX |
| BOM 明细表 | Google Sheet | 逐件核对数量与型号 |
| Onshape CAD(可改尺寸) | 点此 | 免费注册后查看/导出 |
| 组装教程(官方英文) | assembly_guide.md | 分步图文 |
| 中文教程(创客智造) | 硬件组装 · 舵机配置 · 硬件介绍 | 中文入门首选 |
| 中文 wiki(飞书) | 点此 | 社区维护的中文资料 |
| STS3215 Linux 驱动库 | github.com/adityakamath/SCServo_Linux | RK3566 上 Python 控制舵机 |
| Radxa 系统镜像(Radxa OS) | docs.radxa.com | ZERO 3W / ROCK 3C 刷机镜像 |
| Microduck 训练仓库(进阶) | microduck_rl · microduck 运行时 | mjlab+PPO 训练、4 进程部署参考 |
| Microduck 部署 RK3566 手记 | jishuzhan.net | 50Hz 控制循环工程参考 |
| MuJoCo / ONNX Runtime / rknn-toolkit | MuJoCo · ONNX Runtime · rknn-toolkit2 | 仿真 / 推理 / NPU 转换 |
用 Chrome 浏览器打开官方网页模拟器,什么都不用装:
huggingface.co/spaces/pollen-robotics/microduck-simulator
目标:不焊接、不写代码,做一只会点头/摇头的纸壳鸭子。
| 材料 | 价格 | 用途 |
|---|---|---|
| 1 颗 SG90 舵机(或 STS3215+驱动板) | 约 ¥8 / ¥130 | 让鸭头动起来;SG90 直接 PWM,最省事 |
| 面包板 + 杜邦线 | 约 ¥10 | 免焊接接线 |
| USB 5V 电源(手机充电头+数据线) | 家里就有 | 安全供电 |
| 卡纸/纸壳 + 眼睛贴纸 | 约 ¥5 | 自己动手做鸭头 |
| RK3566 开发板(家长已烧好控制程序) | 已有 | 发出"点头/摇头"指令 |
分工与步骤:
把整只 Open Duck Mini 复刻拆成"简单动手"和"技术活"两栏——一个人从头做到底,或叫上家人分配合适:
| 简单动手(小白可独立做 / 可交给家人) | 技术活(需要耐心和工具) |
|---|---|
| 给打印好的零件分拣、按部位贴标签 | 3D 打印 44+ 件(或找代打) |
| 用砂纸打磨零件毛刺 | 焊接、面包板接线 |
| 拧 M3 螺丝(用预装好铜嵌件的件) | 刷系统、烧程序、配舵机 ID |
| 给每颗舵机贴 ID 标签纸 | 训练与步态调参、锂电池安全管理 |
| 用扎带整理线束 | — |
进度打勾表:打印 ☐ → 分拣 ☐ → 打磨 ☐ → 拼装 ☐ → 接线 ☐ → 通电 ☐ → 站起来 ☐ → 走路 ☐
这样能亲眼看完整条链路:打印 → 拼装 → 接线 → 通电 → 训练 → 会走路。