手搓一只Microduck:等不及官方发货的国庆造鸭计划
用一个国庆假期,把会走路、坐下、起身、呱呱叫和翻跟头的Microduck复刻出来
题记
之前折腾Vector的中文化,这次又被另一只机器人吸引了:Pollen Robotics的Microduck。白色的大脑袋、橙色的鸭嘴,两条露着舵机的小短腿,走起来一摇一摆,还会坐下、起来、呱呱叫,甚至翻跟头。实在太可爱了,看完就想马上拥有。
可惜当时看Microduck官方的发货安排,要等到圣诞节之后。离圣诞节还有好几个月,光看视频不过瘾。官方已经公开了代码和模型,那就自己做一只。
这次我是按照Fanduck项目的资料来做的,项目作者已经把物料、打印件和板件这些东西整理好了。于是,把一个国庆假期交给了这只小鸭,从零件、3D打印到装配和调试,最后真的把它复刻出来了。
先看效果
把这段过程剪成了一个一分钟出头的小视频:从一开始站不稳、不会走路,到后来能走、能坐、能叫,最后再来一个翻跟头。鸭叫和舵机转动的声音都保留了实机原声。
播放不了的话,可以到B站观看
从站不稳,到会翻跟头
刚装起来的时候,外形已经是那只鸭子了,走路却没那么顺利。前面几段视频里,还得用手扶一下,站不稳就倒,倒了再摆回去。看着两条小短腿各忙各的,和官方视频里的样子差得有点远。
后面慢慢调试,终于能连着走起来了。这个时候比装好外壳更有成就感:桌上不再是一堆拼起来的零件,而是一只真的会动的小鸭子。
现在已经能演示这些动作:
- 走路、转弯:小碎步往前走,也能换个方向继续走;
- 坐下、起身:走累了坐一会儿,再站起来;
- 呱呱叫:配上那个大脑袋,杀伤力很强;
- 翻跟头:这一下是整段视频里最想反复看的地方。
视频里专门给翻跟头留了一个特写,裁掉画面里的人腿,只看小鸭的动作。毕竟折腾了一整个假期,这一下值得多看两遍。
这只鸭子里面有什么
这次是参考Fanduck做个人复刻,机构和运动算法的基础来自Pollen Robotics公开的资料。结合Fanduck资料和我参考的《Microduck复刻装配指南》,主要是下面几类部件:
| 部件 | 参考装配指南中的配置 |
|---|---|
| 舵机 | XL330-M288-T,装机15台,驱动腿、头和嘴 |
| 主控 | Radxa ZERO 3W 2GB,搭配预写系统的microSD卡 |
| 扩展板 | Pollen Robotics的Robot HAT C1,连接主控和机器人上的设备 |
| 舵机调试 | OpenRB-150可选;也可以通过Radxa、Robot HAT C1和Dynamixel SDK设置舵机ID与波特率 |
| 结构件 | 3D打印的头部、身体、腿部和脚部零件,加上紧固件、轴承和线束 |
看起来是小小一只,拆开以后零件并不少。打印出来、装起来只是前半段,后半段还得让这些东西配合起来,真正站稳、走稳。
具体物料、打印文件和板件资料可以看Fanduck的制作资料仓库,这里不再把整张清单贴一遍。文章里的表只是介绍用到的部件,装配和供电要按资料包里的说明逐项核对,别只看型号就直接接电。
成本
按参考装配指南里包含可选OpenRB-150的配置,电子与机电件合计5629元,还没算3D打印耗材、Xbox手柄和台架工具。小鸭的体积不大,账单倒不小:
| 项目 | 内容 | 金额(元) |
|---|---|---|
| 舵机与调试板 | XL330-M288-T ×15、可选的OpenRB-150 ×1 | 4220 |
| DIY套件 | Radxa ZERO 3W、Robot HAT C1、SD卡、传感器、扬声器、电池与充电器、触点板、轴承、紧固件和线材等 | 1409 |
| 电子与机电件小计 | 包含可选OpenRB-150,不含下面几项 | 5629 |
| 3D打印件 | PETG、TPU和电池背板的材料 | 另计 |
| Xbox蓝牙手柄 | 配对和动作控制 | 另计 |
| 台架工具 | 万用表、限流电源、烙铁、卡尺和螺丝刀等 | 另计 |
4220元是15台舵机加可选调试板的价格,这一项就占了小计的大约四分之三。省去OpenRB-150也能调试:通过Radxa和Robot HAT C1连接舵机总线,用Dynamixel SDK逐台修改ID与波特率。舵机也可以换成其他国产品牌;如果选到合适的替代型号,整机成本有机会控制在3000元以内。替换前仍需核对尺寸、扭矩、供电和通信协议,并相应调整控制参数。原配置装配时也要把舵盘位置和供电接线核对好。
表中数字是装配指南里包含OpenRB-150的配置金额;不买这块可选板还可以再省一笔。3000元以内是更换舵机后的成本目标,具体花费取决于所选型号,以及打印、手柄和工具是否已有。
装配顺序
装配指南写得很细,从打印件到策略模型都覆盖了。组装过程也可以参考这段装配视频。这篇先把做出一只会动的小鸭所需的前半段说清楚,逐颗螺丝的长度、具体焊点和传感器安装方向,还是对着实际套件说明书来。
先打印几件试装,再打整批
硬质结构件和外壳按指南用PETG,脚底防滑垫和鸭嘴软垫用TPU,电池背板优先用PA12尼龙。指南列出的必需打印件加起来有39件,测试架和滚轮附件另外算。
不要一上来把全部文件都扔进切片软件。先打一个轴承支架和一个舵机支架,拿实际轴承、舵机试装,确认公差合适,再打整批。头部下壳和面部面板也先拿相机、测距模块验一下孔位。
结构件可以先打,外壳后打,这样打印机在工作的时候,舵机设置和主板检查也能一起做。文件按Fanduck资料包的分类和件数取,STL单位是毫米,导入比例保持100%。
舵机先一台一台设置
15台舵机不是接起来就能用。出厂时它们用相同的ID,直接全部接到总线上会冲突。可以按装配指南用OpenRB-150和Dynamixel Wizard调试;也可以通过Radxa、Robot HAT C1和Dynamixel SDK逐台设置ID、统一通信速率。每台重新扫描确认后贴上关节标签,再准备装舵盘。
OpenRB-150只是可选的调试工具,不装进鸭子里。Robot HAT连接舵机总线、Radxa运行机器人软件,也可以直接承担舵机参数设置。
主板先检查,腿和头再慢慢装
先在桌面上检查Radxa、HAT和传感器,舵机还不接上去。主控能启动之后,再配好Xbox手柄,确认相机、测距、音频这些设备正常。
机械装配分腿和头两部分:
- 腿部:每条腿5台舵机,从髋部往膝、脚踝逐级装下去,左右是镜像结构。先干装,手动检查完整行程,确认没有外壳碰擦,再锁紧;
- 头部:颈部、头部的俯仰、偏航、滚转,再到鸭嘴,一层层装。先看骨架转动是否顺畅,再装头部下壳、面板和上壳。
装舵盘时让舵机保持在2048中位,装完一段就转一遍,不要等整只鸭子合上壳才发现有个关节卡住。13号和23号膝关节舵机的-512偏移要特别注意,不能只凭左右对称的外观看位置。走线也是一样:留够关节活动的余量,合外壳前再检查一次有没有压线。
这一步免不了反复拆装。对照镜像工作台,逐个确认屏幕里的关节姿态与实体一致;如果偏了,先断电、拆下舵盘,回到中位重新装,再核对一次。IMU也要检查角速度读数:静止时看有无明显漂移,轻轻转动机身时看各轴的方向和变化是否符合实际动作。关节零位或IMU角速度不对,后面的动作就很难调稳。
供电单独核对,再试动作
接线按下面这张方案A接线图来:NP-F550电池经触点板、保险丝和总开关,给舵机总线供电。电池母线可达6.6–8.4V,高于XL330零售型号标称的6.0V上限;图中提示这套接法依赖软件的过压保护,存在寿命风险。上电前仍要按图核对实际舵机型号、电压、极性与引脚。
图中还标出了电池触点板、保险丝、总开关、三处分线、左右腿与头部舵机链、IMU,以及Robot HAT C1到Radxa的电源与串口连接。图上的红色虚线框表示需要另备或自己制作的部分;实际焊接和上电前仍要逐项核对引脚。
首次通电按指南用限流电源,把鸭子架空或者托住,先确认所有舵机在线、关节中位正确、没有卡住的地方。检查状态可以用:
1
2
robotctl health
robotctl monitor
确认硬件状态正常以后,再从坐下、站起这样的小动作试,最后放到地面上走路、转弯、翻跟头。有异常发热或异响就断电检查,别指望靠多跑几次把卡住的结构“磨合”好。
这只鸭子的运动策略基础来自官方项目。这次先把装配和调试跑通,训练自己的策略是另一个话题,不在这篇里展开。
制作资料
复刻参考的是Fanduck(超能花钱鸭)项目。项目作者把制作资料放在了duck.fandcode.com,也提供了Github仓库,我照着这些资料做了自己的这只鸭子。
Fanduck项目提供了四份下载包:
| 资料包 | 内容 |
|---|---|
| 制作物料与打印文件 | 物料清单、中文分类的打印件和装配图 |
| 板件制造资料 | Robot HAT、电池触点板和NFC相关图纸、制造文件 |
| 制作工具源码 | 打印修正版生成脚本、几何检查工具和需要的输入文件 |
| 3D镜像工作台 | 显示小鸭的3D姿态、读取关节状态,以及可选的视频观察 |
第一次看的话,先从“制作物料与打印文件”里的01_物料清单.md开始,其余的按需要再看。下载包里保留了来源、版本和许可证,仓库里也有文件清单和校验值。
这些制作资料由Fanduck项目作者整理,按各自说明使用。官方公开的项目,以及Fanduck整理的资料,让这次个人复刻少走了不少弯路。
来源与许可
Microduck的原项目来自Pollen Robotics,原项目及模型的相关版权归Pollen Robotics及原作者所有。这篇文章、照片和视频记录的是我的非官方个人研究复刻,不代表官方发布。
几个上游入口:
- microduck:官方项目代码;
- microduck_rl:模型和强化学习相关资料;
- elec_RPI_Robot_HAT:Robot HAT板件资料。
机械模型及其衍生件保留原项目的CC BY-SA-NC非商业许可。软件、板件和第三方内容各自按原许可证使用,不能因为代码有软件许可证,就把它当成模型的商业授权。具体说明保留在制作资料里的LICENSES/和SOURCES.json中。
感谢Pollen Robotics公开原项目,也感谢Fanduck项目作者整理制作资料。没有这些工作,我这个国庆假期也造不出这只鸭子。
后续
一个国庆假期,终于把“想马上拥有”变成了桌上这只会走、会叫、会翻跟头的小鸭。接下来准备训练更多动作,等新动作稳定运行后再录下来。
复刻参考:Fanduck(超能花钱鸭),制作资料在Fanduck项目网站。也欢迎给原项目和参考项目Star;做了同一只鸭子或者有什么改进,欢迎一起交流。



