宇树 GO-M8010-6 标称 15bit 电机编码器和 1:6.33 减速比,但国产关节如果只靠电机端角度推输出角,会导致负载换向时位置漂移
首发于公众号「如是有为」 · 查看原文

桌上摊着三份国产关节/执行器资料。
第一份是宇树 GO-M8010-6。公开参数里写得很清楚:型号 GO-M8010-6,最大扭矩 23.7N·m,减速比 1:6.33,通信控制频率 6000Hz,Motor Encoder Resolution 为 15bit。第二份是机器人 MS 系列,手册里写着 16/19 位 Biss 反馈,输入端和输出端分别各有一个编码器。第三份是泰科智能 RJSII 系列,手册里写着 17/19 位 Biss 反馈,输入端和输出端分别各有一个编码器,用双编码器实现全闭环控制。
先把事实边界说清楚:我不是说宇树 GO-M8010-6 做错了,也不是武断判定它“没有输出端编码器”。我只说一件公开资料能支撑的事:宇树这份资料突出的是电机编码器、减速比、扭矩和通信频率;而 MS、泰科 RJSII 这两份资料,则明确把“输入端和输出端分别各有一个编码器”写进了产品描述。把这三份资料放在一起看,问题就来了:未来人形机器人和协作机器人关节,反馈架构到底会继续押注“一颗电机端编码器做到极致”,还是会越来越多地走向“两颗”——电机端一颗,输出端再加一颗?
我想在 2026 年 6 月这一天立个 flag:到 2027 年中,主流的人形和协作机器人高精度关节,会明显从“一颗”走向“两颗”。不是所有关节都会无脑上双编码器,但在高精度定位、力控交互、安全停机、减速器健康监测这些场景里,输出端反馈会越来越难被省掉。
一颗编码器的天花板,不在编码器本身
很多人讨论关节精度,第一反应是把电机端那颗编码器做得更好:15bit 不够就 17bit,17bit 不够就 19bit;噪声再低一点,温漂再小一点,通信再快一点。这条路当然有价值,尤其对电流环、速度环、换向控制和高速响应来说,电机端编码器永远是核心传感器。
但这里有个容易被忽略的天花板:电机端编码器测到的是电机轴,或者说减速器前面的角度;而机器人真正要控制的是减速器后面的输出端角度。
理想情况下,控制器会做一个很简单的换算:
θ_motor 是电机端角度,N 是减速比,θ̂_out 是控制器估算出来的关节输出角。比如 GO-M8010-6 的公开资料里写减速比 1:6.33,那么理论上电机侧转过 6.33 圈,输出侧转过 1 圈。听起来很干净。
但真实机械系统不是这样。
更接近真实世界的关系应该写成:
这一串 Δ,才是单颗电机端编码器的天花板。
第一个 Δ:传动误差,不是所有误差都叫背隙
以前我会偷懒,把这里统称成“背隙”。但如果文章要经得住工程师看,必须说得更准一点。
对行星减速器来说,齿隙、齿形误差、轴承间隙、装配偏心,都可能让正反转之间出现回差。对谐波减速器来说,不能简单说“背隙很大”,因为谐波减速器厂家通常会强调 zero-backlash gear mesh。Harmonic Drive 官方资料也明确说,strain wave gear 的齿啮合可以形成 zero-backlash gear mesh。
但“零背隙”不等于“输出端角度永远等于电机角度除以减速比”。Harmonic Drive 自己在角度测量资料里也说,即使是 zero backlash 的 Harmonic Drive Gear,也不能避免不同负载在输出侧产生相应扭转;为了补偿这种负载相关扭转,他们提供把高分辨率输出侧编码器集成到伺服驱动里的方案,并且让编码器通过中空轴直接连接到输出法兰。
这句话非常关键。它等于把争论掰开了:问题不只是“有没有背隙”,而是只要中间有减速器、有柔性件、有负载变化,电机端角度和输出端角度之间就不会永远是一个理想减速比。
所以更严谨的说法是:关节里的误差不只来自齿隙,还来自传动误差、回差、滞回、柔性变形和负载相关扭转。
第二个 Δ:扭转柔度,位数堆不上去
减速器、输出法兰、轴承座、壳体、连接螺钉,都不是无限刚。负载扭矩一上来,输出端会相对电机端“拧过去”一个角度。这个角度近似可以理解成:
τ 是负载扭矩,K_t 是等效扭转刚度。这个公式背后的意思很残酷:如果误差来自机械结构被负载扭弯了,那你把电机端编码器从 15bit 做到 19bit,也只能更精细地知道电机轴在哪里,不能直接知道输出端被负载拧走了多少。
这就是很多关节空载看起来很漂亮,一上负载、一换方向、一做低速高力矩动作,末端就开始漂的原因。不是电机端编码器“分辨率不够”,而是它站在减速器前面。它能看见电机转子,不能看见输出法兰。
第三个 Δ:滞回和方向相关误差,最难靠查表补干净
如果误差只是一个固定偏移,那很好办,标定一次就行。麻烦的是,关节里的很多误差不是固定偏移,而是方向相关、负载相关、历史相关。
同一个输出角,从正向逼近和从反向逼近,路径可能不一样;同样的位置,轻载和重载不一样;同样的负载,冷机和热机又不一样。这类误差有滞回特性,不能简单用一张“电机角度到输出角度”的静态表补干净。
你可以做模型补偿,可以做温度补偿,可以做力矩前馈,也可以做回差补偿。这些都有效。但它们的前提是:你的模型足够准,装配一致性足够好,温度场足够可控,负载谱也足够可预测。
机器人现场最不喜欢“足够”这两个字。
第四个 Δ:装配和热漂,是慢变量,但不是小变量
关节模组量产以后,编码器磁环偏心、PCB 安装偏差、轴承预紧、输出法兰端跳、壳体热膨胀,都会把误差折到角度里。它们不一定每一项都很大,但会叠加,而且很多是慢慢变的。
更麻烦的是,这些慢变量经常刚好发生在用户最在意的场景里:机器人热机运行半小时以后,机械臂从轻载切到重载以后,关节频繁换向以后,或者末端做小范围精密定位的时候。
这时候,电机端编码器看到的世界依然很完美:电机轴到了,速度闭环稳了,电流也没爆。但输出端到底有没有到,单靠电机端角度已经说不清了。
一颗只能告诉你电机转到哪儿,两颗能告诉你关节真在哪儿
这就是输出端编码器的第一层价值:它不是为了单纯把位数堆得更高,而是把测量点从减速器前面挪到减速器后面。
电机端编码器告诉你:电机转子现在在哪里。
输出端编码器告诉你:负载、连杆、法兰、末端真正被带到了哪里。
两颗一对比,就会得到一个很有意思的量:
这个 δ 不能粗暴地说成“减速器状态”,因为里面混着很多东西:零位偏差、坐标系误差、采样时间差、编码器自身非线性、装配偏心、扭转变形、回差、热漂。但它至少打开了一扇窗。以前减速器中间发生了什么,你只能靠模型猜;现在你有了一个实时差值,可以把模型和现场重新对上。
大象机器人 MS 手册和泰科智能 RJSII 手册里都有类似思路:通过比较输入端和输出端两个编码器的位置和速度反馈,再参考驱动电流和电机扭矩输出,可以判断关节受到外界作用力的大小,从而辅助安全控制。
这才是双编码器真正有意思的地方。它不只是“多一个角度传感器”,而是让关节从“只知道电机侧”变成“同时知道电机侧、输出侧,以及中间传动链正在发生什么”。
但双编码器不是两颗一焊就赢
很多文章讲双编码器,会讲得像加一颗料就解决所有问题。这是不负责任的。
双编码器的难点不是装上去,而是融得好。因为机器人关节不是一个刚体,而是一个典型的两惯量系统:电机转子是一端,负载和连杆是另一端,中间夹着减速器的等效刚度和阻尼。
你可以把它想成这样:
电机端很快,但它隔着减速器。输出端很真,但它离控制内环远。
电机端编码器离电流环、速度环最近,采样快、延迟低、适合高速换向和阻尼控制。输出端编码器直接看负载,最适合修正低频位置误差、静态定位误差、负载变形和热漂。但如果你把输出端角度不加处理地塞进高带宽速度环,可能会把采样延迟、安装偏心、量化噪声、结构振动一起带进去,甚至激发减速器弹性模态。
所以双编码器融合的核心不是“谁精度高就信谁”,而是按频段分工。
一个更工程化的表达是:
低频部分信输出端,因为低频位置真值、负载变形、热漂、回差,最终都体现在输出端;高频部分信电机端,因为快速动态、换向瞬间、速度估计和内环阻尼更依赖电机侧的低延迟反馈。
这里的 LPF 和 HPF 不是为了显得高级,而是为了避免一个常见错误:把两颗编码器简单平均。简单平均在静态看起来好像更平滑,动态时可能两边都不讨好。输出端慢一点,你把它平均进去,高频环路就被拖慢;电机端看不到负载变形,你给它太大权重,低频真值又会漂。
100Hz 不是标准答案,交叉频率要躲开弹性模态
前面有人建议我补一句“100Hz 以下信输出端”。这个方向可以讲,但不能写成铁律。
更稳的说法是:几十 Hz 到 100Hz 可以作为讨论起点,但真正的交叉频率要看关节的扭转共振频率、减速器刚度、负载惯量、输出端编码器噪声、采样同步精度和控制环带宽。原则上,输出端校正不要去硬碰高频弹性模态;电机端高频控制也不要假装自己能看到低频负载变形。
如果这个关节负载惯量大、减速器刚度低、输出端编码器噪声高,那交叉频率就应该更保守。如果这个关节刚度高、同步做得好、输出端信号质量高,交叉频率可以往上走。工程上不是背一个频点,而是拿频响、阶跃、扫频、负载扰动去调。
这就是我最想强调的一句:
双编码器不是让输出端编码器替代电机端编码器,而是把“高速控制”和“真实位置”拆成两个测量任务。双编码器有三个坑,比成本更容易翻车
第一个坑是零位。两颗编码器的零位必须严格对齐,否则 δ 里面永远带着一个假误差。你以为自己看到的是减速器扭转,实际可能只是装配零位偏了 0.1°。这类偏差如果不标定,后面滤波再漂亮也没用。
第二个坑是坐标系。电机端角度乘减速比以后,方向、相位、机械零点、电子零点、输出侧定义,都必须统一。尤其是中空关节、模组化关节,多供应商一起做的时候,最容易出现“每个人都觉得自己坐标系是对的”的灾难。
第三个坑是采样同步。两颗编码器如果不是同一时刻采样,动态过程里 δ 会混入时间差误差。近似看,时间不同步带来的角度误差是:
速度越高,Δt 越大,这个假误差越明显。你以为自己在比较“同一瞬间的电机端和输出端”,实际上可能是在比较“上一毫秒的输出端”和“这一毫秒的电机端”。在低速静态看不出来,一做高速换向就露馅。
所以双编码器拼的不是“装得下两颗”,而是“标得准、采得齐、融得稳”。
那单编码器是不是就没前途?不是
我不认为所有关节都会上双编码器。低成本、轻载、低精度、轨迹重复性强、负载变化小的关节,单颗电机端编码器加模型补偿,仍然可能是最优解。尤其是成本敏感场景,少一颗输出端编码器,不只是少一个物料,还少掉结构空间、线束、接口、标定工时和失效点。
但在人形机器人和协作机器人里,很多关节正在走向另一个方向:负载变化更复杂,力控交互更重要,安全要求更高,末端定位更敏感,减速器健康状态也越来越像一个必须在线监测的变量。
在这些场景里,真正的问题不是“电机有没有转到”,而是:
负载有没有真的到?
这个问题,电机端编码器回答得越来越吃力。
国产关节的分叉,已经写进公开手册里了
宇树 GO-M8010-6 这种高度集成的关节电机,把电机、减速器、驱动、编码器、通信和控制指令封装成一个很好用的动力单元,这条路线的价值非常明确:集成度高、使用门槛低、动态性能强。公开资料里也能看到,它把 15bit 电机编码器、1:6.33 减速比、23.7N·m 最大扭矩、6000Hz 通信控制频率这些参数摆在台面上。
大象MS 和泰科 RJSII 则代表另一种公开样本:不只看输入端,也明确看输出端。MS 手册写 16/19 位 Biss 反馈,输入端和输出端分别各有一个编码器;RJSII 手册写 17/19 位 Biss 反馈,并明确用双编码器实现全闭环控制。
这不是谁先进、谁落后的简单对比。不同产品定位、成本目标、控制架构、应用场景不同,反馈方案当然会不一样。但它确实说明:国产关节模组已经开始在公开产品资料里分叉了。
一边继续把电机端编码器、电机控制、通信频率、集成度做到更强。
另一边开始把输出端真实角度拿回来,把减速器之后的世界也纳入闭环。
我赌后者会越来越多。
到 2027 年中,看三条判据
为了让这个判断不是一句空话,我给自己定三条到 2027 年 6 月可以回看的判据。
第一条,看规格书。主流人形和协作机器人关节,尤其是面向高精度定位、力控交互、安全协作的产品,公开资料里“输出端编码器 / 双编码器 / dual encoder / output-side feedback”是不是从少数高端选配,变成更常见的默认项。
第二条,看供给。市场上是不是出现更多专门针对输出端场景的国产绝对位置编码器方案:大孔径、薄型、中空走线友好、抗偏心能力更强、标定流程更标准化,而且成本不至于让 BOM 失控。
第三条,看规范。整机厂是不是把输出端反馈写进关节精度、安全控制、碰撞检测或健康监测要求里。也就是从“工程师觉得该加”,变成“采购标准里必须有”。
三条里中两条,我这个 flag 就算赌对方向;都不中,那说明单颗电机端编码器加模型补偿这条路,比我现在判断的更能打,我回来认。
那现在,不用等 2027,能做什么?
如果你正在选关节,别只问编码器多少 bit,也别只看空载重复定位精度。你应该直接问供应商三个问题:有没有输出端反馈?没有的话,负载扭转、方向滞回和热漂靠什么补?补偿模型有没有在你的负载、速度、温度范围内验证过?
再对着自己的应用算一笔账:你要的末端精度,是不是已经小到会被减速器之后那一串 Δ 吃掉。如果答案是肯定的,再漂亮的电机端编码器参数也救不了你,至少应该在结构、电气、协议和标定流程上,给输出端编码器留位置。
一颗编码器能把电机控制得很好。
两颗编码器,才有机会把关节真实位置控制清楚。
两颗。


关注公众号「如是有为」
微信扫一扫,新文章先在公众号发出。