关节电机的采购占整机预算的七八成,选错型号的代价不仅是退货,机械接口、电池电压与主控协议都将随之重做。第一篇已经完成需求定义:整机 12 kg、站高 0.40 m、trot 目标 1.5 m/s、越障 0.12 m(四足开发实战(一):需求与总体方案——先定需求,再买电机),机械篇确定了腿型与连杆参数(四足开发实战(二):机械篇——一条腿的设计与刚度)。本篇的任务,是把这些需求转化为两个硬性指标——关节峰值扭矩与最大转速,再用它们对比两款候选模组,并逐段解析控制帧的 17 个字节。选型的正确顺序是先计算需求、再选择参数、最后采购;顺序颠倒,代价通常很高。

从需求反推:扭矩由计算得出

扭矩的入门公式只有一个:$\tau = F \cdot a$,力乘力臂。四足最省力的姿态是静态站立,trot 是两条对角腿交替支撑,每条支撑腿大约分担半个体重,$F = mg/2 \approx 59,\text{N}$。足端通常落在髋关节前方 0.03 m 左右,髋关节的力臂就是这 0.03 m,计算得到髋关节仅需 1.8 N·m;膝关节的力臂稍大,约 3 N·m。静止站立时,这台 12 kg 的四足所需扭矩并不大,这也是一些开发者"推得动腿就以为够用"的错觉来源——静态能够支撑,与落地不失稳、上坡不失效之间,还存在数倍的差距。

四足并非只用于站立,动态工况才是选型的真正输入。匀速 trot 时重心在两条支撑腿之间来回转移,动态系数需取 1.5~2 倍,膝关节升至 5~6 N·m;真正关键的是落地冲击——从 0.1 m 高度跌落时足端速度瞬间归零,冲击载荷为静态的 3~5 倍,膝关节直接达到 9~15 N·m,这一项才是设计工况,因为机器人必然存在跌落情形,跌落瞬间反而是结构受力最大的瞬间。这两项还只是平地,15° 上坡时整机要多出 $mg\sin15° \approx 30$ N 的前向力分摊到对角腿上,摆动相把腿加速出去又需要 $J\alpha \approx 0.15 \times 40 = 6$ N·m,腿绕髋的惯量按 0.15 kg·m²、角加速度按 40 rad/s² 估算。将所有工况合并,再纳入静态一项,即得到完整的反推表:

工况 怎么算 结果
静止站立(trot 对角支撑) F = mg/2 = 59 N,足端在髋前 0.03 m 髋 1.8,膝 3 N·m
匀速 trot 1.5 m/s 静态 ×1.5~2 髋 3~4,膝 5~6 N·m
落地冲击(0.1 m 跌落) 静态 ×3~5 髋 5~9,膝 9~15 N·m
15° 上坡 加 mg·sin15° ≈ 30 N 前向力,分到对角腿 膝 +5~8 N·m
摆动相加速 J·α,0.15 kg·m² × 40 rad/s² 髋 +6 N·m

至此可以得出:膝关节峰值需求约 20 N·m,髋关节 10~15 N·m,持续扭矩在 8 N·m 量级。20 N·m 是及格线,低于它的模组不必再考虑;远高于它,则意味着为用不到的扭矩付出成本并背负额外重量。持续扭矩另有含义——它由散热而非电磁结构决定,模组官方只公布峰值,额定值需自行上台架测定(标注:待实测),这也是选型应保留 20% 峰值余量而非按线采购的原因:预留的余量中,一部分正是为"额定值低于峰值"这一事实准备的。

估算所得的数据,最好在采购前通过独立口径核对。三种办法按成本从低到高排列:一是查找同类机型的公开资料——Go1 就是 12 kg 级使用同款电机,其步态视频本身就是"20 N·m 足够"的实证;二是将腿的 CAD 模型导入 MuJoCo,用仿真中的关节力矩曲线与手算结果比对,量级不一致即说明遗漏了工况(四足开发实战(九):仿真篇——MuJoCo 与 sim2sim);三是在单腿样件上贴应变片或借用力传感器,直接测量落地冲击的真实峰值。三种办法至少采用一种,尤其是落地冲击项——3~5 倍的动态系数是经验取值,足端材料、步态与机身刚度都会改变该数值。

转速同样需要计算,所用原理与中学物理一致。速度等于步长乘步频,$v = S \cdot f$,1.5 m/s 配 2 Hz 步频意味着步长 0.75 m;trot 的占空比 β 约 0.5,摆动相只有半个周期 0.25 s,足端在这段时间内要划过 0.75 m,平均速度 3 m/s,摆线轨迹的峰值再乘 1.5 倍至 4.5 m/s。除以 0.22 m 的小腿长度,膝关节转速需求约 20 rad/s;髋关节的力臂是整条腿 0.44 m,10 rad/s 即可满足。因此选型的两条及格线为:峰值扭矩 ≥ 20 N·m、转速 ≥ 25 rad/s 量级——后者比需求多留两成半,是为步频、急停以及电池临近耗尽时保留的裕量。

扭矩与转速两项合并,即得到功率:关节峰值功率 = 20 N·m × 20 rad/s ≈ 400 W,12 个关节不会同时达到峰值,整机母线侧的平均功率与峰值功率如何估算,是下一篇电源篇的第一道计算题(四足开发实战(四):电源篇——6S 电池、配电与安全)。此处先明确:扭矩决定电机选型、功率决定电池选型,两者不应混用。

将余量定为 20% 而非 50% 或 5%,也是一项权衡。扭矩余量过大,电机会更重、更贵,腿末端惯量随之增大,冲击反而更大,形成"越重越易跌落、越易跌落越需要更重电机"的循环;余量过小,第一次跌落就可能触及保护限值。对教学机而言,20% 的峰值余量,配合"先仿真、再单腿、后整机"的渐进式验证,是性价比最高的组合,这也是整个系列一贯强调的节奏。

电机的内部结构:从电流到扭矩

需求一侧的计算完成后,还需理解电机如何将电流转化为扭矩。GO-M8010-6 采用无刷电机中的外转子结构:转子在外圈,永磁磁钢直接贴在转子壳内侧,定子与绕组在内。该结构看似反直觉,但扭矩的力臂就是半径——转子半径越大,相同电磁力对应的扭矩越大,因此外转子电机天然具备高扭矩密度,四足关节模组几乎清一色采用外转子,正是此原因。反之,内转子电机细长、转动惯量小、转速高,适合无人机桨叶与主轴,不适合承受冲击载荷的腿部关节。

磁钢牌号决定磁链的基础。N35、N52 中的数字是磁能积,牌号越高磁钢越强,同等体积能建立的磁通越大;磁通还需穿过定转子之间的气隙,气隙越小磁密越高、扭矩越大,但工艺难度越高,稍有偏心即可能扫膛——"气隙小"与"耐摔打"是一对矛盾,量产电机给定的气隙是权衡后的结果。极对数同理:极对数越多,扭矩常数越大,但电气频率随之升高,铁损与发热也随之增大,因此并非极数越多越好。

将这些物理量归纳为一个工程常数,即扭矩常数 Kt。GO-M8010-6 的 Kt = 0.63895 N·m/A,这是输出端的口径——40 A 相电流对应约 25.6 N·m,与标称峰值 23.7 N·m 之间的差值,即为损耗与磁路饱和所致。磁路饱和是第二个上限:电流增大到一定程度,铁芯磁密饱和,Kt 不再线性,继续增大电流只会增加发热而不再提升出力。因此一台电机的峰值扭矩受三个因素限制:驱动器的电流能力、磁钢的退磁阈值(大电流、高温与反向磁场共同作用,会使钕铁硼永久退磁)、磁路的饱和;而持续扭矩受第四个因素限制——散热,铜损 I²R 是主要热源,额定值通常只有峰值的一半到三分之一。这正对应前文 20% 余量的真正依据,也解释了官方只公布"峰值"、额定值需自行上台架测定的原因。

外转子电机内部还有一项隐含的取舍:同样尺寸下,绕组往"多匝数"方向调整,Kt 增大、转速上限降低,属于扭力型;往"少匝数"方向调整,转速上限高、扭矩小,属于速度型。四足关节需要的是前者——经过 6.33:1 减速器后,转速不再是瓶颈,扭矩才是。这也是不应以无人机电机替代关节电机的原因:后者属于速度型,Kt 仅为关节电机的很小一部分,接入减速器后仍无法带动 12 kg 的腿。

采购模组时,官方给出的 TN 曲线也需会读:横轴为转速、纵轴为扭矩,额定转速以下为恒扭矩区,超过额定转速进入恒功率区,弱磁将扭矩下压。读图时应关注两条曲线——连续工作区(热限制)与短时峰值区(电流限制)之间相距较大,实际运行工况在两条曲线之间来回变化。选型时将上文算出的五个工况点标注到图上,落点接近峰值曲线的那几项,就是今后最先需要保护、最可能过热的位置。

GO-M8010-6 与 IM6014:以及格线为衡量标准

两款候选均为宇树的关节模组,参数对比如下:

维度 GO-M8010-6 IM6014(N6014B-12.6)
定位 Go1 四足关节,成熟量产 R1-7a 机械臂/人形关节,新一代
峰值扭矩 23.7 N·m 34.4 / 31.7 N·m @60 V
额定扭矩 官方未公布 官方未公布
最高转速 30 rad/s @24 V 54.2 rad/s @60 V
减速比 6.33:1 38:3 ≈ 12.66:1
重量 / 外形 530 g,96.5×92.5×42.3 mm 方盒 535 g,φ65×60 mm 圆柱
电压范围 12~30 V 24~75 V
编码器 15 bit 单绝对值 15 bit 双绝对值(转子 + 输出端)
通信 RS485 4 Mbps,17/16 B,CRC16 RS485 4/6 Mbps,20/26 B,CRC32
控制频率上限 6000 Hz 未证实
超时保护 协议中未体现 模式字节带独立 timeout 位
官方价(2026-10 官网) $369 $269
单位扭矩价格 ≈$15.6 / N·m ≈$7.8 / N·m
生态 Go1 同款,教程/开源项目多 较新,资料少

先比较电压,这一项几乎可以决定取舍。GO 的允许范围为 12~30 V,6S 电池从满电 25.2 V 到放电截止 19.8 V,全程落在其中;IM6014 的下限为 24 V——电池放到剩余三分之一时,电压跌破 24 V,电机可能欠压失效。反过来,8S 满电 33.6 V 又超出 GO 的 30 V 上限,因此"6S 配 GO、8S 配 IM6014"并非偏好选择,而是由电压窗口决定的硬性约束,这也是下一篇电源篇的开篇(四足开发实战(四):电源篇——6S 电池、配电与安全)。

再看转速。GO 标称 30 rad/s @24 V,按 6S 平台电压 22.2 V 折算约 $30 \times 22.2/24 \approx 27.8$ rad/s,对上 20 rad/s 的需求还有四成余量,换算成足端线速度即 6.6 m/s,比整机 1.5 m/s 的目标宽裕得多;IM6014 的 54.2 rad/s 是 60 V 供电的数据,按同样比例折算到 22.2 V 只剩约 20 rad/s,恰好接近及格线,步频升高即达到上限。扭矩方面则相反:IM6014 的 34.4 N·m 是 60 V 口径,在 24 V 系统中的真实表现官方未公布(标注:待实测),而 GO 的 23.7 N·m 对上 20 N·m 的需求有明确的 20% 余量。

减速比也值得单独说明。6.33:1 位于"准直驱"路线的合适区间:扭矩放大 6.33 倍即可满足需求,转子惯量反射回输出端仅 $6.33^2 \approx 40$ 倍,背驱性仍然保留——腿落地时能够顺应外力,力控才可实现;12.66:1 的 IM6014 扭矩更强,但反射惯量达到 160 倍,关节更"硬",依靠其双编码器将背隙误差挡在闭环之外来弥补。两种路线均可行,只是取向不同:GO 依靠背驱换取柔顺,IM 依靠双编码器换取精度。

再加上生态因素,选择明显倾向 GO:Go1 整机即由 12 个 GO-M8010-6 组成,12 kg 级、trot 3.7 m/s 均为公开验证过的先例,而 IM6014 的足式冲击寿命数据尚未公开。对教学机而言,"已有公开验证"具有很高价值——这意味着调参遇到困难时,可在网络上找到同型号的参数起点。但也不应完全否定 IM6014:其官方价低四分之一,单位扭矩价格仅为 GO 的一半,$269 \times 12$ 比 $369 \times 12$ 少一千多美元(以实际采购为准),圆柱外形使腿部可以做得更窄,愿意将系统升级到 8S/48 V 的开发者选择它更划算。整机超过 15 kg 或需要上 20° 坡时,这两款均不足,应转向 A1(33.5 N·m)。

若整机规格继续提升,还有两档备选值得了解。A1 电机峰值 33.5 N·m、重量 605 g、电压 20~40 V,是 15~20 kg 级的成熟型号,但其减速比 9.1 仅有论文口径、官方产品页未写明(标注:未证实),下单前需与官方确认;B1 系列的 B1-16 是 140 N·m 的防水关节,IP68、1.74 kg,面向工业巡检整机,单颗价格三千美元,教学机仅作了解即可。IM6014 还有一项附加信息:官方商店写明学生价需邮件申请,学生若需制作机器人,可尝试发送邮件申请(以官方回复为准)。

预算也可在此阶段算清:GO 按官方价 12 个约 4400 美元,IM6014 约 3200 美元,另加一个备件,折算人民币时乘汇率并预留运费与关税(以实际采购为准)。这笔支出是整机中最大的一笔,因此第 2 节的参数核算每多算一遍,下单时的把握就更充分。若需节省,应先从结构件着手,不应在电机上削减预算——电机是唯一能够复用、转卖、并支撑下一代整机的资产。

上述推理可归纳为一张决策树,如下所示——首先判断母线电压,电压确定之后,扭矩、转速与价格均为次要因素:

flowchart TD
A["整机母线电压是多少?"] -->|"6S 22.2 V"| B["GO-M8010-6"]
A -->|"8S / 48 V 以上"| C["IM6014"]
B --> D["12 kg 级:峰值 23.7 N·m<br/>22.2 V 下转速约 27.8 rad/s"]
C --> E["34.4 N·m + 54.2 rad/s @60 V<br/>双编码器,配 48 V 以上母线"]
F["整机超过 15 kg 或要上 20° 坡?"] -->|"是"| G["A1 电机 33.5 N·m"]
F -->|"否"| B

选型中最常见的四个错误,也可对照此树自查。第一个是只看扭矩密度即下单,忽略数字背后的电压口径——34.4 N·m 是 60 V 供电下的数据,迁移到 24 V 平台能否兑现并无保证,这正是"未证实"需要书面记录的原因。第二个是追求大减速比换取扭矩,惯量按减速比的平方反射回来,扭矩虽然增大,关节响应也变得僵硬。第三个是忽略模组重量——530 g 看似不多,12 个合计 6.4 kg,且它们位于腿部末端,摆动时体现为惯量、跌落时成为冲击。第四个是把峰值当作额定值使用,连续爬坡十分钟后,过热降额会比预期更早出现。

协议环节:17 字节控制帧的易错点

首先澄清一个流传较广的误解:宇树电机的"MIT 模式"指位置、速度、Kp、Kd、前馈力矩这五个量的控制律,并非那个 8 字节的 CAN 帧。电机级物理层是 RS485,4 Mbps,控制帧 17 字节、反馈帧 16 字节,单总线最多挂接 15 个电机,通信频率上限 6000 Hz。模组内部装有一台完整的 FOC 驱动:外转子无刷电机加 6.33:1 行星减速器加 15 bit 绝对值编码器,再加一块 40 A 的驱动板,过压 45 V 保护、超 90 °C 停机,扭矩常数 Kt = 0.63895 N·m/A——40 A 堵转电流对应约 25 N·m,与 23.7 N·m 的标称峰值一致。如需了解 FOC 内部的坐标变换,可参考 四足机器人控制理论(公式推导汇总),本篇仅讨论使用方法。

17 个字节逐段拆解如下表,注意字段顺序为"力矩→速度→位置→Kp→Kd",与常见的 MIT 顺序不同,不应按惯性拼接:

偏移 长度 字段 编码
0–1 2 包头 以官方 SDK 头文件为准(TODO(核对))
2 1 模式字节 bit0–3 电机 ID(0~14,15=广播);bit4–6 模式(0 锁定 / 1 FOC 闭环 / 2 编码器校准 / 3 保留);bit7 保留
3–4 2 前馈力矩 tor_des int16,q8(÷256),范围 ±128 N·m
5–6 2 目标速度 spd_des int16,q7(÷128),范围 ±256 rad/s
7–10 4 目标位置 pos_des int32,q15(÷32768),范围 ±65536 rad
11–12 2 刚度 Kp uint16,q15(÷32768),0~1 归一化
13–14 2 阻尼 Kd uint16,q15(÷32768),0~1 归一化
15–16 2 CRC16-CCITT 覆盖前 15 字节

反馈帧 16 字节采用相同的结构:包头、模式字节,然后是力矩、速度、位置、温度、错误与足端力,末尾两字节 CRC。反馈帧中的温度与错误位是附加的传感器信息:温度 int8 直接进入监控任务,超过 80 °C 即降额,相比等待模组自身 90 °C 停机,多出十度缓冲;错误位与足端力先记入日志再决定动作——足端力将在接触检测与步态切换中再次出现(四足开发实战(八):步态篇——状态估计与 trot 行走)。反馈帧 CRC 校验失败时,正确的处理是丢弃该帧并计数,而不是沿用旧数据:连续丢帧本身就是故障信号,总线篇将详细说明这套超时逻辑(四足开发实战(五):电子篇——DM-MC02 主控与 RS485 总线)。三个易错点需要单独说明。

仅看表仍不够,实际打包时最容易出错的是缩放。q8、q7、q15 是定点小数的三种刻度:q8 表示"乘 256 再取整",q7 是乘 128,q15 是乘 32768。写一帧的算例如下——注意控制量全部按转子侧:

/* GO-M8010-6 控制帧打包算例(转子侧:rad / rad/s / N·m) */
cmd.tor_des = (int16_t)( 10.0f * 256); /* 前馈力矩 10 N·m → 2560 */
cmd.spd_des = (int16_t)( 5.0f * 128); /* 目标速度 5 rad/s → 640 */
cmd.pos_des = (int32_t)( 1.0f * 32768); /* 目标位置 1 rad → 32768 */
cmd.k_pos = (uint16_t)( 0.30f * 32768); /* 刚度 30% → 9830 */
cmd.k_spd = (uint16_t)( 0.02f * 32768); /* 阻尼 2% → 655 */

力矩字段是 int16,量程 ±128 N·m,而电机峰值仅 23.7 N·m——量程保留如此大的余量,是为"数值溢出"提供保护:一旦单位换错(例如把输出端扭矩当作转子侧直接发送),系统不会返回报错,只会得到一条扭矩满偏的腿。这也解释了台架第一步为何始终是零力矩使能、并比对反馈与目标位置,而非直接下发轨迹。

第一个易错点是 Kp/Kd 的单位。它们是 0~1 的无量纲归一化值,不是 N·m/rad——写 0.2 表示"刚度的两成",真实增益由电机固件内部映射。调参时应直接按比例调整,不必换算物理单位,这一易错点曾在台架调试中耗费大量时间。第二个易错点是转子侧:协议中的位置、速度全部按电机转子侧计,输出端需要乘以减速比 6.33,令输出端转 1 rad 时位置应写 6.33 rad,反馈回来的位置同样要除以 6.33 才是关节角——正运动学正确而整机姿态错误时,应当首先检查此项。第三个易错点代价最高:不要热插拔。官方明确警告热插拔可能烧毁总线上的 10 Ω 限流电阻,改线、增减电机之前应先断电。

IM6014 采用相同的思路、不同的协议:控制帧 20 字节、反馈 26 字节,校验升级为 CRC32(覆盖前 16 字节),反馈中增加了驱动温度、绕组温度、电压(原始值除以 2 才是伏特)与 32 位错误码。其模式字节与 GO 一样是三合一的,bit0–3 是 ID,bit4–6 是模式(0 停机 / 1 FOC / 6 清障 / 7 复位),bit7 是超时保护位——比 GO 增加了一项"通信中断自动处理"的保护。缩放公式按各自关节的减速比 ratio 折算,官方源码注释原文是这五条:

tor_des = round(torque   / ratio         * 2560)
spd_des = round(speed * ratio * 64 / (π/2))
pos_des = round(position * ratio * 32768 / (π/2))
k_pos = round(Kp / ratio² * 12800)
k_spd = round(Kd / ratio² * 51200)

对应的物理范围:Kp 0~410.7 N·m/rad、Kd 0~102.7 N·m·s/rad、扭矩 ±162 N·m、速度 ±254 rad/s。注意 ratio 随关节 ID 变化——ID 2~4 是 38/3≈12.67,ID 0~1 是 32(6010 模组)、ID 5~6 是 16(5010 模组),混装关节时每个 ID 都要用对减速比,否则同一帧在不同关节上解读出的物理量全部错误。

关于通信频率,还需提前说明:模组支持最高 6000 Hz 的轮询,但整机仅使用 1 kHz,一条总线上挂接 6 个电机、两路并行——为何挂接 6 个而非 15 个、为何使用 1 kHz 而非 6 kHz,计算留待总线篇详述(四足开发实战(五):电子篇——DM-MC02 主控与 RS485 总线),此处只需记住结论:电机标称的能力上限,与整机能够稳定使用的档位,是两回事。

批量采购前,先完成单台验收

台架验收才是选型的真正收尾。所需的设备为一个 24 V/5 A 电源、一个 USB 转 RS485 模块与一个电机,按顺序完成六步:

  1. 用 MotorTools 确认或修改 ID——同一条总线上的 ID 不能重复,0~14 之外 15 是广播地址,不应把电机设为 15;
  2. 发一帧零力矩使能(tor=0、spd=0、pos=当前位置、kp=kd=0),电机应呈"松弛"状态,可被手动转动;
  3. 位置阶跃 0.5 rad、kp=0.3、kd=0.01,上升时间 50 ms 内、无超调、无啸叫;
  4. 恒力矩 10 N·m 加载,读回力矩误差 0.5 N·m 以内;
  5. 连续正反转 10 min,温升 40 K 以内、无过热报错;
  6. 快速正反转制动,电压表监测母线,确认回灌不会把开关电源抬过 30 V。

第六步需单独说明:急停、快速换向时,转子的动能会通过发电效应送回母线,电池天然能够吸收这部分能量,普通开关电源则可能被抬高的母线电压损坏——因此台架期要么使用电池供电,要么使用带能量回灌能力的双向电源,不应使用实验室常用的 30 V 稳压电源直接供电,这层关系将在电源篇进一步说明(四足开发实战(四):电源篇——6S 电池、配电与安全)。

六项全部通过后,再采购其余 11 个,并额外准备 1 个作为备件——驱动损坏、轴断裂时先用备件顶替,调试不中断。验收完成前不应批量采购,这是本篇最重要的结论:单个电机的损失是数百美元,十二个电机的损失则是整机预算。台架期最容易出错的情形还有两处:发送帧无响应,多为 A/B 接反、未共地或波特率错误;位置持续偏差,多为忽略了转子侧 6.33 的换算,可回看上述第二个易错点。

这两个易错点各有快速定位方法。发送帧无响应时,先用万用表测量 A/B 之间的直流电阻,约 120 Ω 说明终端与接线正常,再对调 A/B 验证;位置不对时,将反馈位置乘以 6.33,若结果恰好等于下发的目标值,即可确认是转子侧换算问题。台架期在这两项检查上多花十分钟,可避免后续长时间排查整机姿态异常。

最后补充采购策略。宇树的官方价格会浮动,国内经销商、二手市场与学生价各有口径,下单前应逐一询问三个渠道(以实际采购为准);备件至少准备一个,轴断裂、驱动损坏时先用备件顶替,调试不中断。这一原则在实践中避免了多次调试中断。

至此,两条及格线、一张对比表与一帧 17 字节协议,共同构成选型的完整闭环。下一篇将讨论电池:6S 电源的来源、峰值 200 A 的布线方式,以及预充与急停为何不可省略(四足开发实战(四):电源篇——6S 电池、配电与安全)。