关节模组是机器人的"关节本体",把无框力矩电机、谐波或行星减速器、抱闸、驱动器、编码器塞进一个不到拳头大的壳体内。过去五年,国内做协作机器人和人形机器人的团队几乎都碰到了同一个问题:电机端一个编码器已经不够用了。
于是"双编码器"成了产品介绍里的高频词。但真正把它讲清楚的文章并不多,多数停留在"一个测电机、一个测输出、精度更高"的层面。这篇文章从工程实现的角度,把双编码器到底解决了什么、怎么解决、代价是什么、边界在哪里讲透。
先给结论:双编码器的本质,是把"减速器输出端的真实角度"从一个只能靠减速比推算的间接量,变成一个可以直接测量的物理量。由此派生出四项作用——输出端位置闭环、传动误差可观测、关节力矩可估算、运动安全有冗余。它是一项传感架构的升级,不是精度指标的自动提升,更不是力矩传感器的平价替代。

两者分别提供电机侧与负载侧的位置反馈,构成双位置反馈结构。但"装了两个编码器"并不自动等于有效双编码器,工程上更关键的是它们分别承担什么职责。
架构一:全闭环(负载侧位置环)
这是最彻底的做法。控制器仍采用位置—速度—电流的三环级联结构,但各环的反馈源被重新分配:
位置环 ← 输出端编码器(负载侧真实位置) 速度环 ← 电机端编码器(电机转速) 电流环 / 换向 ← 电机端编码器(电角度、换相)
外层位置环把设定位置与负载实际位置比较,输出速度指令;内层速度环再与电机实际转速比较,输出转矩指令。这种分配的好处很直观:内环依靠高速端的电机编码器快速稳定电机本身,外环负责修正电机之后的全部环节——减速器回差、柔轮弹性变形、联轴器柔性。
有一点容易被忽略:当位置反馈取自输出端时,所有速度量的参考系都变成输出轴。如果驱动器的减速比或电子齿轮比配置有误,位置环看起来"能跑",实际会引入一个恒定的比例偏差,表现为绝对定位精度系统性超差。这类问题在调试现场经常被误判为机械精度不足。
架构二:半闭环 + 输出端监测(国内更常见的折中方案)
很多量产关节模组走的是另一条路:位置环仍然闭环在电机端编码器上,输出端编码器主要用于三件事——多圈位置计算、安全工作范围限制、传动误差监测。
这种做法的合理性在于:位置环放在电机端,反馈链路短、相位滞后小、响应快、易整定;输出端编码器则负责那些电机端"看不到"的信息。但它也意味着关节最终的定位精度仍然受减速器传动误差支配——从电机端角度乘减速比推算出来的输出角度,包含了齿轮啮合变形、输出端弹性变形以及负载扰动带来的偏差,而且负载越大,两个编码器的读数偏离越大。有研究把谐波减速关节的输出角误差写成三项叠加的形式:
δθ_r = θ₀ / n + Δr₁ + Δr₂ + Δr₃ δθ_r 关节输出角误差 θ₀ 电机端角度 n 减速比 Δr₁ 齿轮啮合变形引起的精度误差 Δr₂ 转矩输出弹性变形引起的精度误差 Δr₃ 其他扰动引起的精度误差
后三项是电机端编码器无法感知的。这也是为什么近年来"把位置环挪到输出端"的架构在高精度关节上越来越普遍。
这篇里不少结论是从往年文章里提炼的。这些免费及付费文章现在统一收在 Zane Hub 星球,按主题分栏,可以顺着读。星球 259 元一年,前 100 名 199 元。
Zane Hub的知识星球
行业里存在几种名义上是双编码器、实质上没有输出端独立测量的做法:
判断标准只有一条:输出端是否存在一个独立的高精度位置传感器,且其信号真正参与闭环控制或传动误差补偿。 只做粗略定位参考的,多数情况下起不到双编码器应有的作用。
任何带减速器的传动系统,电机与负载之间都存在机械"脱耦",主要来源有四类:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
谐波减速器以接近零背隙著称,单级减速比可达 30:1 至 320:1,结构紧凑、扭矩密度高,是精密关节的首选。但"零背隙"不等于"零误差"——柔轮本身是弹性体,受力必然产生扭转弹性变形,这部分误差随负载变化,且不可通过机械装配消除。工程上的正确做法不是假装它不存在,而是在输出端直接测出来。
输出端位置环的意义就在于:无论减速器内部发生了什么,位置环看到的都是负载的真实位置,传动误差不再进入位置环的误差传递路径。此时关节的末段定位精度主要由输出端编码器的测量精度、结构刚性及其热稳定性决定。

两个编码器同时存在,就产生了一个极具工程价值的中间量——传动偏差:
Δθ = θ_motor / n − θ_output θ_motor 电机端角度(rad 或 °) θ_output 输出端角度(同一参考系) n 减速比 Δθ 传动偏差,包含回差、弹性变形、速比误差与热漂移
这个 Δθ 可以做三件事:
其一,用于前馈补偿。 在关节运动轨迹规划阶段,根据历史 Δθ 与负载转矩的关系建立传动误差模型,把补偿量加在指令上,可以在不牺牲控制带宽的前提下降低定位误差。
其二,用于回差与迟滞的在线量化。 回差(迟滞)按国内谐波减速器相关标准(GB/T 35089)的定义,是在输出端堵转、施加约 3% 额定转矩的条件下测得的角度差。整机出厂测试时用双编码器读一次 Δθ 的滞环曲线,就能拿到这台关节的回差实测值,而不必依赖减速器供应商的标称值。这类数据对装配工艺的一致性分析尤其有用——同样是标称 15 角秒级回差的模组,装配质量差的个体可能翻倍。
其三,用于寿命与健康趋势判断。 回差与摩擦特性会随磨损缓慢变化。把 Δθ 的历史包络记录下来,可以在精度劣化到影响作业之前就预警减速器更换,而不是等到噪声、振动明显异常才停机。
这是双编码器最被看重、也最容易被打折扣的能力。
当减速器输出端与电机端之间可以视为一个弹性环节时,扭转形变量与输出转矩近似成正比:
T ≈ K_θ · ( θ_motor / n − θ_output ) T 关节输出转矩(Nm) K_θ 关节(含减速器、输出法兰)的等效扭转刚度(Nm/rad)
也就是说,双编码器可以在不做结构改动的前提下,让关节具备一定的力矩感知能力。这带来了三个实际用途:基于关节的拖拽示教(人推着机械臂走,控制器靠 Δθ 判断推动方向与大小)、关节空间阻抗控制、以及基于位置偏差的碰撞检测。对协作机器人而言,这意味着不必在每一个关节里都塞一个力矩传感器,就能获得可用的柔顺交互能力。
但必须把话说清楚,这里的"力矩估计"与"力矩传感器"不是同一件事,差异来自三处:
因此行业里比较一致的看法是:双编码器可以承担"够用的力感知",但无法完整取代关节力矩传感器。 对以末端六维力传感器完成核心力控任务的机型(例如洁净、装配、打磨类应用),关节本身未必需要高精度力矩估计,双编码器的价值就回到位置精度与安全监测上。
两个独立位置通道的存在,天然形成了一种诊断冗余:
需要提醒的是,双编码器本身不自动构成安全功能。是否满足安全相关控制系统的要求,取决于通道独立性、诊断覆盖率、故障响应策略等一系列系统设计问题,而不是"装了两个编码器"这一事实。把传感冗余直接等同于功能安全等级,是产品定义阶段常见的误判。
选型的核心是分工明确:电机端的要求是"快而稳",输出端的要求是"准而绝对"。
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
值得注意的是,双编码器并不必然等于"一绝对一增量"。业内有一种常见说法是"绝对值编码器提供位置、增量编码器负责实时校正",这更多是对早期方案的概括。当前高集成度关节的主流做法是两个绝对式编码器(甚至在同一颗定子上同时读出电机端与输出端转子,共用一组接口),既能掉电保持位置,又能同时满足速度环的高分辨率要求。选型时不必被"必须一绝一增"的说法限制。
编码器位数与每圈可分辨的角度直接对应,做方案时建议直接背下这张表:
单圈分辨率: θ_LSB = 360° / 2^n n = 17 位 → 2^17 = 131 072 → 2.747×10⁻³ ° ≈ 9.89″ n = 18 位 → 2^18 = 262 144 → 1.373×10⁻³ ° ≈ 4.94″ n = 19 位 → 2^19 = 524 288 → 6.866×10⁻⁴ ° ≈ 2.47″ n = 20 位 → 2^20 = 1 048 576 → 3.433×10⁻⁴ ° ≈ 1.24″ n = 24 位 → 2^24 = 16 777 216 → 2.146×10⁻⁵ ° ≈ 0.077″ (″ = 角秒,1″ = 1/3600 °)
需要注意的是,分辨率不是精度。分辨率是"最小可分辨量",精度是"测量值与真实值的偏差",重复性是"多次回到同一位置时读数的一致性"。两枚同为 19 位的编码器,实际精度可能相差数倍——码盘刻划质量、安装偏心补偿、信号插值算法、温度补偿策略都会影响最终表现。在机器人关节控制中,重复定位精度往往比绝对精度更关键,因为它直接决定轨迹的稳定性和作业一致性。
一个常见误区是认为"输出端要 19 位,电机端也必须 19 位"。由于减速比的存在,电机端的纯分辨率需求要低得多:
电机端每圈所需计数 = 360° / (输出端角度步长 × 减速比) 例:输出端要求 2.47″(6.866×10⁻⁴ °),减速比 n = 100 电机端步长 = 6.866×10⁻⁴ ° × 100 = 0.0687° 每圈计数 = 360° / 0.0687° ≈ 5 241 ≈ 2^12.4 即:12~13 位分辨率在数学上已满足传递关系。
那为什么实际产品普遍采用 17 位以上的电机端编码器?因为电机端编码器的分辨率并不只是为了"传递位置"。它还决定:
所以电机端编码器的位数选择,本质上是被控制性能而不是被位置传递精度决定的。
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
工程上,关节模组体积紧张、要求中空走线时,磁式方案在结构上更友好;而追求最高绝对精度、对成本不敏感的场合,光电式仍是首选。 "感知结构刚度、进而直接读出关节转矩" 是当前磁式双编码器的一个重要演进方向——通过双编码器测量输出端在负载下的微小角位移,配合标定好的刚度曲线,让关节在不增加力矩传感器的前提下具备转矩读取能力,这对压缩模组轴向长度、提高集成度意义很大。
前面提到了力矩估计的量化误差,这里给出一个可以直接套用的估算方法。
① 输出端角度量化步长 Δθ_LSB = 360° / 2^n (°,n 为输出端位数) ② 换算为弧度 Δθ_rad = Δθ_LSB × π / 180 ③ 力矩量化步长 ΔT = K_θ × Δθ_rad (Nm,K_θ 为等效扭转刚度 Nm/rad) ④ 给定负载下的扭转角(用于判断信噪比) θ_wind = T_load / K_θ 量化台阶数 ≈ θ_wind / Δθ_rad
代入一组典型参数做估算(以下为示例计算,实际数值需以具体关节的标定结果为准):
工况:力控关节,K_θ = 2×10⁴ Nm/rad,额定输出转矩 20 Nm 【输出端 19 位】 Δθ_LSB = 6.866×10⁻⁴ ° → 1.1985×10⁻⁵ rad ΔT = 2×10⁴ × 1.1985×10⁻⁵ ≈ 0.24 Nm (约为额定转矩的 1.2%) 满载扭转角 = 20 / 2×10⁴ = 1.0×10⁻³ rad = 206″ 量化台阶数 ≈ 206″ / 2.47″ ≈ 83 级 【输出端 24 位】 Δθ_LSB = 2.146×10⁻⁵ ° → 3.746×10⁻⁷ rad ΔT = 2×10⁴ × 3.746×10⁻⁷ ≈ 0.0075 Nm (约为额定转矩的 0.04%) 满载量化台阶数 ≈ 206″ / 0.077″ ≈ 2 676 级
这组数字说明两件事:
第一,19 位输出端编码器用于位置闭环是够的,但用于高精度力矩估计偏紧。0.24 Nm 的量化台阶对 20 Nm 级关节意味着约 1.2% 量程的分辨率,做碰撞检测和拖拽示教没问题,做精细装配力控就不够。
第二,要提高力矩估计分辨率,位数只是其中一条路。同样的 19 位编码器,如果关节等效扭转刚度提高到 1×10⁵ Nm/rad,量化台阶可以压到 1.2 Nm 分之一的量级;反之,低刚度大速比关节即使配上 24 位编码器,力矩估计精度仍会被滞后和摩擦吃掉。刚度、位数、速比是三个必须一起权衡的变量,只盯位数是常见的选型误区。
另外要补充一句:上表中的 K_θ 只反映准静态关系。实际力控中还叠加了柔轮滞回、齿面与密封摩擦、以及温度引起的刚度漂移。这些误差在小信号工况下往往大于量化误差本身——这也是双编码器力矩估计常在"大扭矩、慢变化"场景表现好,而在"小扭矩、快变化"场景表现差的原因。
输出端编码器装在关节末端,它的读数里包含编码器本身的误差与安装误差两部分。典型的安装误差有三类:径向偏移、轴向偏移、倾斜。三者都会造成周期性的角度测量误差,且误差频率与旋转周期相关,用常数零点补偿无法修正。
高集成度方案通常通过公差配合把误差压到最低:转子与轴之间采用螺纹锁紧加内孔公差配合保证同轴度,定子外径与壳体之间采用公差配合保证位置,三个零件各自独立控制同轴度而不是靠累积装配。
编码器出厂前会完成标定与对齐,但装到整机之后,装配引入的偏心与倾斜仍会影响测量精度。因此"出厂标定"与"整机可用精度"之间有一段差距,需要通过装机后的重标定来弥合。
主流做法是:让关节手动或通过无感驱动完成整周旋转,编码器采集一整圈的数据,由标定算法辨识出径向、轴向、倾斜三类空间误差,补偿角度偏差后写入编码器。如果省掉这一步,输出端编码器的实际精度可能远低于其数据手册指标——而这一点在样机阶段很难被发现,因为样机常常是在工装上以理想姿态装配的。
这是全闭环架构最容易被低估的代价。输出端的反馈路径更长、机械柔顺更大,柔轮本身还存在数十到数百赫兹量级的固有共振。位置环放在输出端后,外环带宽必须显著低于机械共振频率,否则轻则产生跟随滞后与过冲,重则出现极限环振荡。
实践中的处理方式:外环增益保守整定,必要时加入陷波滤波器抑制共振峰;速度环继续依靠电机端编码器保持足够刚度。把位置环放到输出端并不等于"控制更简单",它改变了整个环路的相位裕度预算。
双编码器能让回差被观测、被补偿、被监测,但无法让齿面间隙消失。前馈补偿只在重复性好的工况下有效;当负载方向频繁变化、或存在不可重复的外部扰动时,补偿效果会明显下降。把回差补偿当成"算法解决机械问题"的万能手段,最终往往以控制振荡收场。
关节连续工作后温升可达数十度。温升会同时改变编码器读数、结构尺寸与传动刚度,形成缓慢的位置漂移。对绝对精度要求高的场合,需要在结构上做热对称设计、在算法上做温度补偿,或者接受"冷态标定、热态精度下降"的现实,并在工艺上规定开机预热时间。
磁式编码器对附近磁场敏感。电机相电流走线、抱闸线圈、磁钢本身都可能成为干扰源。工程上的通用做法是:编码器信号线使用屏蔽双绞线、与动力线分开走线并保持距离、屏蔽层单端接地、驱动器侧做差分接收。中空走线的模组尤其要注意隔磁设计,否则会看到随电流变化的、周期性的位置读数波动。
一项技术的作用边界,往往比它的能力更值得写清楚。
它不能替代关节力矩传感器。 双编码器给出的力矩估计,本质上是通过位置偏差推断弹性形变,其精度受分辨率、刚度、滞后与摩擦共同限制;力矩传感器(应变式)直接测量形变,在分辨率、带宽和滞后指标上有结构性优势。真正需要高频、高分辨力反馈的力控(例如精细装配、恒力打磨、外科手术机器人)仍然依赖专用传感器。合理的分工是:双编码器承担交互级力感知与安全监测,力矩传感器承担核心力控。
它不能消除机械缺陷。 回差、刚度不足、装配偏心属于机械问题;传感升级只能让问题可见,不能让它消失。先解决机械精度,再用传感架构放大已有精度,是正确的顺序。
它不能自动构成安全功能。 冗余传感是手段,安全等级是系统级结论。
它有成本与复杂度代价。 增加一枚输出端编码器,直接带来传感器本体、接口电路、线束、装配工时与标定工时的增加;对关节模组整体成本的影响,业内常见的量级估计在 20%~50% 之间,小体积高精度方案的增幅更靠上。同时,输出端的布线要穿过旋转结构、占用宝贵的轴向空间,中空走线的设计难度显著上升。
它的故障模式需要单独考虑。 输出端编码器与电机端编码器若共用同一供电、同一通信链路、同一处理器,两者同时失效的风险并不低。真正的冗余要求在设计阶段就处理好独立性。
有些场景确实不需要它。 传动链刚性好、回差小(精密减速器可做到 1 角分以内)、末端定位精度要求宽松(±0.1 mm 级)、力控由末端六维力传感器完成、且成本敏感的通用工业关节,单编码器加高质量减速器是成熟且经济的选择。

把上面的讨论收敛成一份可执行的判断清单,按顺序过一遍即可:
ΔT = K_θ × Δθ_LSB 反推所需位数,并核对刚度与速比是否合适。双编码器在关节模组里承担的作用,可以用一句话概括:它让关节第一次"知道自己真正在哪里",而不只是"知道电机转了多少"。
由此带来的输出端闭环、传动误差可观测、关节力矩可估算、运动安全冗余,正在重塑协作机器人与人形机器人的关节设计。但它不是精度指标的自动保险,也不是力矩传感器的廉价替身。真正决定关节性能的,仍然是机械精度、结构刚度、装配工艺与标定水平;双编码器的价值,是把这些已有的东西准确地测出来,并让控制系统有机会去补偿它。
对工程师而言,更值得记住的是三个判断:分辨率不等于精度;位数不等于力矩精度;装了第二枚编码器不等于有了双编码器。 把这几件事分清,双编码器才可能从一个产品标签,变成一个真正用得上的传感架构。
邮箱:15236061639@163.com
QQ:60298351
微信:a18137798589
今年,一批人形机器人的落地标杆集中对外露出:3台Figure 03在美国某物流仓库进行昼夜不间断包裹
刷短视频、看科技发布会,几乎所有人形机器人的宣传片,场景永远是家里:收拾客厅、叠衣服、给老人递水杯、
这个问题在饭桌上问出来,十个做机器人的人会给出十一种答案。整机厂的结构工程师多半会说是手,因为手是唯