Microduck机器鸭怎么用国产舵机,有8个配件要改

2026-10-26 18:06:02 213阅读

搜「microduck 的国产平替」的人,多半是先被那张清单劝退的:整机 15 个关节,官方 BOM 里是 14 颗 Robotis 的 XL330-M288-T,官方整机卖 399 美元,自己按件买回来拼一台,光舵机这一项就能吃掉大半预算。

国内现在有现成的替代路线。社区里的 fanhao375 把飞特 HD-1910 这条线走成了整机:站立、行走、前滚翻后起身都在实机上跑通了,两段实拍视频,前滚翻那段完整 MP4 约 8 秒,桌面行走那段约 6 秒。这是这篇唯一敢引的实机数据,就这两条,别往上加。

同一颗舵机舵盘装上与拆下的对比实拍,左边舵盘压住输出轴,右边舵盘卸下放旁边,轴上露出凸起的齿轮座

同一颗舵机的两种状态:左边舵盘装在输出轴上、中间一颗螺丝压住;右边把舵盘卸下来搁在旁边,螺丝也拆了,轴上露出来的是凸起的齿轮座。这个「凸」就是后面 8 个件非改不可的原因。

先把边界划清:这篇不铺采购清单,也不回答「microduck 舵机在哪里买」,那是另一条线的事。这里只解决一个更硬的问题——microduck 用国产舵机制作,到底要改哪几个件,改完的代价落在哪。

先说结论:卡点不在扭矩和协议,在舵盘形状

先摆两款的硬参数,因为很多人一上来就担心国产的力气不够。XL330-M288-T 是 20×34×26 毫米、18 克、堵转 0.52 N·m(5 V 下);HD-1910-C001 是 34×20×23 毫米、21±2 克、堵转 1.47 N·m(7.4 V 下),约 2.5 倍。外形前两维同组数,第三维还薄 3 毫米,单只只重 3 克,15 只加起来多 45 克。

所以力气和尺寸都不是问题。真正卡住换装的,是个特别笨的东西:舵盘。

HD-1910 的舵盘是凸出来的,XL330 是凹进去的,两者不通用。舵盘形状一变,所有靠舵盘定位、压紧、传力的打印件全部失去基准。fanhao375 在 CAD 仓库里把这件事写得很直白:所有跟舵盘配合的件都得改,一共 8 个配合件。

飞特官方「开源小鸭舵机」宣传图,左侧虚线框里是黑色双出轴舵机本体,右侧是绿色小鸭机器人渲染图

飞特官方产品页的宣传图:左边虚线框里是这颗「开源小鸭舵机」本体,双出轴、黑色外壳;右边是官方配图用的小鸭机器人渲染图,不是 Microduck 的整机,别拿它当装机参照。

这也解释了为什么「买回来拧上去」这条路走不通。你以为换的是电机,实际换的是整条传力链的接口。

八个配合件:改在哪,为什么非改不可

8 个件按功能分四组,改动理由都一样,就是舵盘配合面。左右上腿各一个,管髋 pitch 和膝的舵盘位;小腿一个,管膝和踝的舵盘位;躯干底座一个,管髋 yaw 舵机的安装位;偏航转横滚 yaw2roll 一个,把髋 yaw 舵盘接到髋 roll 舵机上;轴承滚轮 bearing_roll 一个,是髋 roll 的轴承座;上腿加固板 01-upper_leg_rigidity_plate 跟上腿一起改;还有一个 99-yaw_roll_motion,管头部 yaw/roll,而且有 -F 和 -FT 两个变体。

数一下:左右上腿算两件,加起来正好 8 个。别对着表格一行行数,仓库里是按 7 行列的,因为左右上腿写在同一行,容易漏掉一半。

SolidWorks 里的 04_左大腿 零件,特征树挂着两个 xl330-m288-t1、上腿加固板和 16×22×4 轴承

CAD 里 04_左大腿 这个件:左边特征树挂着两个 xl330-m288-t1 的引用、上腿加固板和 16×22×4 轴承,说明这一个件上有三个配合面咬在舵机和轴承上——舵盘一换形状,三个面全得跟着动。

文件命名有个细节容易踩:所有件都带 -FT 后缀,但并不是所有带 -FT 的都改过。没改的 27 个件也加了 -FT,目的是让整套装配体的引用保持一致,内容跟 v1.0 一模一样,只是改了名。所以看到 -FT 别以为都是新件,真正改过的就是上面这 8 个。

SolidWorks 里的 05_左小腿 与蓝色 XL330 包络体的装配关系,特征树里 leg_腿部 与 xl330-m288-t1 并列

05_左小腿 和舵机的装配关系:灰色是小腿件,那块蓝色方块是 XL330 的包络体,舵机靠输出轴那一侧压在小腿上,灰色件上的凹槽和孔位都是围着它做的。

仓库里还多出三样东西,换装的时候用得上:HD-1910-c001-dan 和 -shuang 是单盘、双盘两个舵机模型,可以直接拖进装配体看干涉;舵机比较.SLDASM 是两款舵机并排对比;飞特电机资料1 里是飞特给的 STEP、DWG 和规格图。

两个打印上的硬提醒。第一,两版的舵盘配合件不能混用,飞特版的排盘工程也不能直接当 XL330 的打印包,开打之前先确认自己下的是哪一版。第二,装配说明书 PDF 和组件图还是 v1.0 的,装配顺序和步骤没变,只是舵机换了,看图纸的时候别被上面画的 XL330 迷惑。

髋 roll 和头部 yaw/roll:这两个件最容易拿错

SolidWorks 里的 03_左髋roll,顶部圆窝里压着 16×22×4 轴承,特征树列出 hip_髋部左 与轴承

03_左髋roll:顶部圆窝里压着 16×22×4 的轴承,外圈和钢珠都看得清,特征树里 hip_髋部左 和轴承两项并排。髋 roll 这一圈的配合全压在这个轴承位上,轴承座尺寸一变,件就得重画。

bearing_roll 这个件进 8 件名单,不是因为它跟舵盘直接咬合,而是因为舵盘一换,整个髋 roll 的轴向关系跟着变,轴承座的深度和止口得重新配。

99-yaw_roll_motion 的 -F 和 -FT 两个变体,是头部 yaw/roll 的两种做法,拿错的表现是装上去转不动或者干涉。下 STEP 包的时候看清完整文件名,别只看主名对就拖进去。

还有个版本问题:飞特版走到 v2.2 之后,改动件 STEP 从 11 个增到 13 个(新增头部上壳和左壳),左右上腿的间隙调小了,头部上壳加了散热孔。你要是照着旧帖子的清单打,很可能少两个件。核对版本这件事,在换舵机这条线上比在原厂线上更要紧,因为改的是配合面,差一版就差在配合上。

总线这一层:物理层不用重画,寄存器要重写一遍

很多人担心国产舵机的协议不兼容,得重新做一块板。这一层其实是最不用操心的。

HD-1910 是 TTL 串行总线,三针接口,脚序 1=GND、2=Vcc、3=Signal,半双工异步,8 位数据 1 位停止、无校验,波特率 38400 到 1 Mbps(出厂就是 1 Mbps),ID 0 到 253(出厂 ID 1)。跟 Dynamixel 的 TTL 物理层完全同构:半双工单线、1 Mbps、三根线 GND-VCC-DATA。所以自制的那块 imu_to_dxl 总线板不用为飞特改,差别只在包格式。这也是本篇最重要的一条判断——总线协议不是主要障碍。

但参数不能照抄一张表。XL330 那边,官方运行时必须把 return delay time 写成 0:出厂是 250,也就是每个设备 500 微秒的转向延时,16 个设备乘起来就是 8 毫秒一个 tick,占掉 20 毫秒控制周期的 40%。飞特 STS 的内存表里,第 7 号这一项默认就是 0,备注还直接写着 Not functional on STS,这笔开销它天然没有。

飞特侧真正该调的是第 8 号 Response Level,默认 1,也就是所有命令都应答。改成 0 之后只有读和 ping 回包,普通写指令不再占用总线时间,跟官方给 XL330 写 return delay time = 0 是同一类动作。出厂默认值是给通用场景用的,高频控制回路必须自己调。

还有三道电子保护,出厂状态得看清:过流(电流超 0.5 A 持续 2 秒就关输出,阈值和时长可自定义)默认关闭,过压(高于 10 V 或低于 4 V 触发)默认关闭,过热(80 度关扭矩输出)默认开启。装机前把前两个打开,这两项在实机上比什么都管用。另外它的出厂默认运行模式是模式 4「纯位置 PD(Sim2Real)」,正好是强化学习落地要用的那个,XL330 没有对应模式。

飞特舵机装进白色打印支架的实拍,舵盘朝外、总线串接,左下小图是髋部用的金属轴承,右图手持关节总成

舵机装进打印件之后的样子:黑色舵机压在白色打印的支架里,舵盘朝外,总线用细线一颗颗串过去;左下角那张小图是髋部要用的金属轴承,右图手里的关节总成上还能看到轴承外圈和黄色脚部件。

电压这条更值得说一句,因为它把两条路线的性质反过来了。XL330 额定上限 6.0 V,官方实跑在 6.6 到 8.2 V,是超压运行,用发热和寿命换力矩;HD-1910 是 4 到 8.4 V,同一块 2S 电池落在额定区间内,不存在超压。但代价是余量:电池满电 8.4 V 恰好等于它的上限,零余量。

换完还能不能跑原策略:大概率不能直接用

这是整篇最要紧的一段,单独拎出来说清楚:换了硬件型号,官方那套预训练策略大概率不能直接用。

接口是对得上的。行走策略吃 14 个关节,61 维观测进、14 维动作出,第 15 颗是嘴,不进走路策略。换舵机不改这个维度,所以你不必改策略的输入输出形状,程序也不会因为维度不匹配直接崩。

但接口对得上,不等于能用。策略是在 XL330 的台架参数上训出来的:摩擦、力矩曲线、响应延迟、齿轮回差、整机质量分布,全部按那一颗舵机辨识。换成 HD-1910 之后,至少四件事变了——位置计数方向跟 XL330 相反,15 颗全反;单只重 3 克,15 只多 45 克;堵转力矩 2.5 倍;回差不超过 0.5 度、12 位磁编码 0.088 度一步。策略看到的观测分布已经漂了,输出还是那个输出,落到实机上就是另一种动作。

两条路,按成本从低到高。第一条,先把零位和方向重标一遍,再拿原策略试。这一步成本最低,也是唯一有可能让原策略活下来的做法。如果重标完还是走不起来、或者一动就往前栽,那基本可以判定不是标定的问题,是力矩和质量模型变了,得走第二条:按新舵机重训。这条路现在有支撑,飞特官方给了 HD-1910 的 BAM,提供舵机动力学模型和辨识参数;fanhao375 提供训练工程和网页训练工作台;kissqy 那边提供训练流程、训练中控和 ONNX 导出。

再补一句实话,免得有人以为照着镜像刷一遍就万事大吉。飞特版能跑的那套动作,是镜像里另配的模型,不是把官方的 ONNX 拷进去就能动。作者自己在仓库里也写明了,训练平台那条线,长训练和自训策略的真机验证还待完成。

所以「microduck 用国产舵机制作」这件事能成,但成的是换硬件、重做标定、另配模型这一整套,不是单点替换。

换完必过的三道坎:方向、零位、别信「成功」

第一道是方向。HD-1910 的位置计数方向跟官方 XL330 相反,而且不是个别几颗装反了,是 15 颗全反。现象很好认:拖滑块时 3D 模型跟实际反着动,按官方站姿发角度腿往反方向弯。15 颗方向全取 -1 就对了。

第二道是零位,这里有个坑必须提前说。飞特的内存表里明写着「写 128:任意当前位置校正为 2048」,照着做舵机回「成功」,但偏移寄存器(第 31 号)一个都没变。代码要是接着把目标位置写成 2048,关节反而被拉回旧零位。原因很简单:HD-1910 的固件 3.46 不支持这条,得用 0x0B 位置校准指令,不带参数就是校成 2048,带参数就是校成指定读数。校完一定回读位置和偏移确认,别信应答里的「成功」,飞特很多不支持的操作照样回成功。

第三道是时机。关扭矩之后别等,等几十毫秒再读位置,颈部那颗读数能掉 80 步,差不多 7 度,校出来的零位就是歪的。关扭矩到校准完成之间不要有等待,几毫秒就够,校完立刻把目标位置写成新读数再开扭矩。

算角度用这个式子:角度 =(读数 − 零位)× 方向 × 2π/4096。跟调试台上用的是同一个公式,算完跟实物姿势对上了才能上力。

最后一条,别直接刷别人的镜像就用。别人的镜像里预装的是他那只鸭的标定,零位从 1372 到 2176 不等,方向有正有负;安装脚本在没有本机标定时,还会用包里样机的标定补齐,并标成「已标定」,状态显示运动就绪。你这台机器照着跑,第一下 HOME 就可能顶死。刷完先打开标定文件,换成自己的零位和方向,再碰 HOME。

调试工具用飞特官方的 FD,两个细节:URT-2 那根 USB 转串口线要先装驱动,设备管理器里没有 COM 口就是没装;FD 里波特率必须选 1000000,不然一颗都扫不到。型号读出来显示 unknown 不用管,HD-1910 是定制型号,型号表里没有它,寄存器读写完全正常。

这笔账怎么算:省下的钱,换成别的东西付出去

把数摆出来,但别当成省钱攻略看。飞特 HD-1910 按 95 元一颗,15 颗 1425 元。官方 BOM 是 14 颗 XL330,项目文档按国内约 299 元一颗记,14 颗就是 4200 元的量级(实价随渠道浮动,这里只对量级)。差价确实明显,这也是这条线能聚起人的原因。

但省下来的钱不是白省的,它换成了几样东西:8 个配合件要重打,两版打印件不能混;整机标定重做一遍,方向全取 -1、零位逐颗校;策略要么重标零位硬试,要么按新舵机重训;重量多 45 克;满电 8.4 V 零余量,电池管理上比原厂更没余地。

所以怎么选很清楚。目标是「让它跑起来看它走」,飞特这条线已经有人替你走通了,CAD、镜像、装配视频都是现成的,照着走就行。目标是「拿官方那 7 个动作直接玩」,那要先想清楚愿不愿意重标零位,甚至重训一遍——这不是拧螺丝的活,是标定加训练的活。

最后把边界再说一遍:microduck 的国产平替不是一个型号替换题,是一次接口重做。舵盘那一凸一凹,才是这条路上真正的分水岭。

这篇里的机械改动、8 个配合件清单和 -FT 命名,对着 fanhao375 的 CAD 仓库和主仓文档核过;舵机规格、三道电子保护和寄存器默认值取自飞特 HD-1910-C001 串型规格书与飞特官方产品页;方向、零位、校准那几条坑取自该仓库的踩坑记录,kissqy 的复刻仓库补了训练流程那一块;实机数据只有两段视频的时长,其余不引。


作者:云台四足控
链接:https://www.aiddithome.com/p/76700375a85aa.html
本作版权归作者所有,未经允许请勿转载。若存在违规行为,您可以点击 “举报”。


登录 后发表评论
0条评论
还没有人评论过~