在伺服使能、抱闸释放、机器人进入可运行状态之前,控制系统需要完成一套完整的位置可信度建立与验证流程——从传感器数据有效性校验,到机械关节位置的唯一确定,再到运动控制器与安全控制器的状态同步。
这一过程在不同厂商的技术文档中有诸多命名:绝对位置初始化、转数计数器同步、安全位置同步、Mastering校验等,但其目标高度一致:在上电瞬间确认机械臂每个关节的真实物理位置,确保后续伺服控制、运动学计算与安全监控都建立在可信的位置基础之上

一、整体框架

上电位置检测是完成“编码器原始码值 → 电机电角度 → 关节机械角度”的映射,并通过多层校验证明该映射结果真实、唯一、连续、合理。

  1. 传感器数据有效:确认编码器通信正常、数据无错误;
  2. 电机绝对位置确定:获取单圈角度与多圈圈数,确定电机轴的绝对位置;
  3. 关节机械位置确定:结合减速比、零位偏置、标定参数,换算出关节输出端的机械角度;
  4. 控制器与安全系统一致:运动控制器与安全控制器完成位置同步,建立共同的位置基准;
  5. 允许建立力矩、释放抱闸与运动:所有校验通过后,才允许进入闭环控制状态。

不同厂商对这一过程的命名存在差异:Fanuc称为绝对位置初始化与Mastering校验,ABB称为转数计数器更新与安全位置同步,Universal Robots称为关节位置初始化与安全系统位置同步,KUKA称为零点标定(Mastering)校验与安全位置同步。但无论命名如何,其底层逻辑均遵循上述五阶段流程。

二、位置检测的物理本质:从编码器码值到机械关节角的映射链

从编码器读取的原始码值到最终的关节机械角度,需要经过一长串的参数转换,每一个参数的偏差都会直接导致位置误差。转换公式如下:

θjoint=(θenc_single+N×360∘)×signR−θoffset−θcalib \theta_{\text{joint}} = \frac{(\theta_{\text{enc\_single}} + N \times 360^\circ) \times \text{\(\text{sign}\)}}{R} - \theta_{\text{offset}} - \theta_{\text{calib}} θjoint=R(θenc_single+N×360)×signθoffsetθcalib

其中:

  • θenc_single\theta_{\text{enc\_single}}θenc_single 为编码器单圈角度,范围通常为 0∘∼360∘0^\circ \sim 360^\circ0360
  • NNN 为多圈圈数计数器值,代表电机轴转过的整圈数;
  • sign\text{\(\text{sign}\)}sign 为传动方向系数(+1 或 -1),由减速箱安装方向决定;
  • RRR 为关节减速比,例如谐波减速器常见的 1:100、1:160 等;
  • θoffset\theta_{\text{offset}}θoffset 为机械零位偏置,即编码器零位与机械零位之间的夹角;
  • θcalib\theta_{\text{calib}}θcalib 为精细标定补偿量,用于修正加工、装配引入的系统误差。

零位偏置与减速比误差是影响机器人绝对定位精度的最主要因素,二者贡献了约60%的系统误差。这也意味着,上电时仅仅读取编码器数值是远远不够的,必须结合出厂标定的零位、减速比等参数,才能得到真正有物理意义的关节位置。

三、为什么上电必须重新确认位置?

位置是机器人所有控制行为的基础,上电时的位置可信度直接决定了后续所有运动、力控与安全功能的可靠性。其必要性体现在四个维度:

1. 位置闭环的初始状态一致性

伺服系统的位置环、速度环、电流环均为闭环控制,控制器需要明确的初始位置作为积分项起点。若上电初始位置与实际位置存在偏差,位置环积分会迅速累积误差,导致启动瞬间出现冲击、飞车或过流报警。

Universal Robots C205A00(位置初始化失败)会直接禁止关节进入闭环模式,其原因就是防止初始位置错误引发的失控风险。

2. 重力补偿与抱闸交接的姿态依赖

机械臂大臂、小臂等负载关节在抱闸释放瞬间,需要伺服电机立即输出对应重力矩,实现“抱闸-电机”的平稳交接。重力矩是关节角度的函数:
τgravity=f(θ1,θ2,…,θn) \tau_{\text{gravity}} = f(\theta_1, \theta_2, \dots, \theta_n) τgravity=f(θ1,θ2,,θn)
若上电位置错误,重力补偿力矩就会计算错误,抱闸释放瞬间会出现明显下坠或上冲,严重时会触发过载报警甚至损坏机械结构。

3. 空间位姿的准确性

机器人末端位姿由所有关节角度通过正运动学计算得到:
Ttool=fFK(θ1,θ2,…,θ6) T_{\text{tool}} = f_{\text{FK}}(\theta_1, \theta_2, \dots, \theta_6) Ttool=fFK(θ1,θ2,,θ6)
任何一个关节的上电位置偏差,都会通过DH参数矩阵逐级传递到末端,导致笛卡尔空间位姿完全错误。对于码垛、焊接等依赖绝对位置的工艺场景,这种偏差会直接造成工件报废或设备碰撞。

4. 永磁同步电机的换相需求

伺服电机多采用永磁同步电机(PMSM),磁场定向控制(FOC)需要精确的转子电角度来计算UVW三相电压。编码器位置是电角度的直接来源,若上电位置错误,电机换相失败,会出现出力不足、抖动、反转甚至过流烧毁驱动器的风险。

四、上电位置检测的流程

工业机械臂上电后,位置检测并非单一动作,而是按严格时序执行的链式校验流程。通用六轴工业机器人的典型执行流程如下:

控制器上电 → 控制器自检 → 驱动器上电 → 编码器通信建立 → 读取单圈位置 → 读取多圈圈数 → 加载零位/Mastering参数 → 计算关节机械角度 → 范围校验 → 连续性校验 → 双通道一致性校验 → 与掉电保存位置对比 → 伺服初始化与FOC换相 → 安全控制器位置同步 → 建立力矩 → 释放抱闸 → 位置检测完成,允许运动

这是通用流程,不同厂商、不同编码器方案会有所裁剪。例如增量式编码器方案需要额外执行回零(Homing)动作,部分机型在静态位置可信度不足时,会执行受控微动来辅助确认位置。

五、上电位置检测流程

1. 控制器与驱动器自检

这是位置检测的前置条件。主控制器完成操作系统启动、外设枚举、参数加载;各关节伺服驱动器完成硬件自检、电容预充、软件初始化。任何硬件故障都会在此阶段触发报警,直接终止后续流程。

2. 编码器通信完整性检查

控制器通过EnDat、BiSS、Hiperface、CANopen等协议与编码器建立通信,校验通信帧的CRC、状态位、错误标志,确认数据传输可靠。Renishaw功能安全型编码器的设计规范中明确要求,通信链路必须具备错误检测机制,单次通信错误率需低于安全标准允许阈值。若通信超时、数据异常或编码器报故障,控制器会立即判定位置不可信。

3. 单圈位置确定

读取编码器单圈绝对角度,分辨率通常为17~24位,对应电机轴一圈内的精确位置。单圈值是所有位置计算的基础,其精度直接决定了角度分辨率。

4. 多圈位置确定

读取多圈圈数计数器,确定电机轴总共转过了多少整圈。多圈数据的存储方案分为两类:

  • 电池备份多圈:依靠编码器内部纽扣电池维持计数,断电后仍可记录圈数变化,是绝大多数工业机器人的主流方案;
  • 齿轮式多圈(无电池):通过机械齿轮结构记录圈数,无需电池,寿命更长但成本更高。

ABB机器人的“转数计数器更新”操作就是重新确认多圈圈数的正确性——当电池耗尽、编码器更换或机械脱开后,多圈数据丢失,必须通过手动对齐零位标记来重新设定圈数基准。

5. 机械零位与Mastering参数加载

从控制器参数区加载每个关节的零位偏置、减速比、方向系数、标定补偿量等参数,将电机侧位置换算为关节输出侧的机械角度。这些参数通常在出厂标定或现场Mastering时写入,属于机器人的核心校准数据。

6. 关节位置合理性与范围校验

将计算得到的关节角度与软件限位、机械限位范围进行对比,确认位置在物理可达区间内。如果计算结果超出合理范围,说明多圈圈数、零位参数或编码器数据存在错误。

ISO 10218-1工业机器人安全标准明确要求,机器人必须具备位置范围监控功能,防止关节超出机械极限造成结构损坏。

7. 位置连续性与突变检测

对比本次上电位置与上一次掉电时保存的位置,判断差值是否在合理范围内。正常断电情况下,机械臂处于静止抱闸状态,两次位置应当基本一致。若差值过大(例如超过几度),说明断电期间关节发生了非预期移动(如外力推动、抱闸打滑),或者编码器数据出现跳变。

8. 双通道/双编码器一致性校验

对于带安全功能的机型,电机端与关节输出端通常各有一个编码器,形成双通道冗余。控制器会校验两个编码器的位置是否在允许误差范围内,若差值超差,说明传动链可能存在打滑、断轴等机械故障。

9. 与掉电保存位置的对比校验

控制器将当前计算得到的位置,与非易失性存储器中保存的上一次掉电位置进行对比。若偏差在允许阈值内,说明断电期间位置未发生变化,可信度最高;若偏差较大但仍在合理范围内,会记录警告但允许运行;若偏差超出阈值,则判定位置不可信,禁止使能。

六、位置检测与抱闸释放的强耦合

位置检测与关节抱闸的控制深度绑定,共同决定了上电启动的安全性。

1. 抱闸的作用

关节抱闸是失电制动型安全部件:断电时自动抱死,防止关节下坠;通电时由控制器控制释放。它的核心作用是在伺服无力矩时维持机械姿态,属于被动安全装置。

2. 控制权的平稳交接

抱闸释放必须满足一个前提:伺服电机已经建立起足够的力矩,能够承接关节负载。这个过程的时序为:
位置检测通过 → 伺服使能 → 建立电流环 → 输出对应重力矩 → 确认力矩建立 → 释放抱闸 → 进入位置闭环

如果在电机未建立力矩时提前释放抱闸,大负载关节会直接下坠;如果位置检测未通过就建立力矩,可能导致电机失控。二者的时序配合是机器人启动安全的关键。

3. 两种启动模式

根据编码器方案与安全等级的不同,位置检测与抱闸的配合分为两种模式:

静态绝对位置启动:多见于带多圈绝对编码器的机型。上电后无需任何运动,仅凭编码器数据即可确定绝对位置,校验通过后直接建立力矩、释放抱闸。这是绝大多数现代工业机器人的标准启动方式,启动速度快,无需运动空间。

受控微动式启动:部分增量式编码器或单圈绝对编码器方案,上电后无法直接确定唯一的多圈位置或绝对零位。此时控制器会先保持抱闸闭合,以微小力矩微动关节,寻找索引信号(Index)或零位标记,完成位置初始化后再正常释放抱闸。

无论哪种模式都遵循同一个原则:在位置可信度得到确认之前,绝不允许关节进入自由运动状态

七、功能安全:安全控制器的独立位置同步

现代工业机器人普遍采用“运动控制器 + 安全控制器”的双控制器架构,二者在上电位置检测中各司其职,且安全控制器拥有独立的位置校验逻辑。

1. 双控制器的分工

  • 运动控制器:负责轨迹规划、运动学计算、伺服控制、工艺逻辑,追求高性能与实时性;
  • 安全控制器:独立运行安全功能,如安全位置限制、安全速度限制、安全停止、安全力矩监控等,追求高可靠性与故障安全。

2. 为什么需要独立同步

功能安全的原则是“单一故障不导致危险”。如果位置数据只在运动控制器中有效,一旦运动控制器出现故障导致位置错误,安全功能将失去判断依据。因此安全控制器必须拥有独立的位置采集、校验与监控通道。

安全位置监控(Safe Position)使用独立的安全编码器接口,上电时必须完成安全侧的位置同步(Safety Position Synchronization),所有安全限位、安全区域功能才会生效。同步失败时,安全系统会触发停止类别0(STO,安全扭矩关闭),禁止任何动力输出。

八、不同传感器方案的启动特性

编码器类型直接决定了上电位置检测的流程、速度与可靠性。工业机器人主流的四种传感器方案各有特点:

1. 增量式编码器(Incremental Encoder)

仅输出A/B正交脉冲与索引信号,上电后不知道绝对位置,必须执行回零(Homing)动作——关节低速运动,碰到零点开关或捕获索引脉冲后建立位置基准。启动慢、需要运动空间,但成本低、结构简单,早期低端机器人与部分外部轴使用较多。

2. 单圈绝对编码器(Single-turn Absolute)

上电后可直接读取一圈内的绝对角度,但不知道转过了多少圈。对于带减速比的关节,单圈值无法唯一确定关节位置,通常需要配合微动或首次标定来确定圈数,断电后若关节被移动则需要重新确认。

3. 多圈绝对编码器(Multi-turn Absolute)

同时记录单圈角度与多圈圈数,上电后直接输出电机轴的绝对位置,是当前工业机器人的主流方案。配合零位标定参数,上电静态即可确定关节绝对角度,启动速度快、可靠性高。

海德汉、雷尼绍等主流厂商的高端绝对编码器均支持功能安全认证,可直接用于安全回路。

4. 旋转变压器(Resolver)

通过电磁感应原理检测角度,抗震动、耐高温、可靠性极高,但分辨率较低。旋变本身没有绝对位置记忆,上电后需要通过励磁激励读取当前角度,通常配合驱动器内部的多圈计数电路使用,在重载、高温、高震动的特种机器人中较为常见。

九、从回零到标定的层次区分

概念解决的问题是否需要运动执行频率
上电位置读取从编码器获取原始位置数据不需要每次上电
上电位置检测验证位置数据的有效性、合理性、一致性通常不需要,特殊方案微动每次上电
Homing(回零)为增量式编码器建立零位基准需要运动找零点每次上电或故障后
Mastering(零点标定)确定编码器零位与机械零位的偏置关系需要对准机械标记更换电机/编码器/皮带后
转数计数更新修正多圈圈数的正确性手动对准零位标记电池耗尽/脱轴后
精细标定修正DH参数、零位、减速比系统误差需要专用设备与多姿态测量出厂/年度校准/碰撞后
安全同步安全控制器与运动控制器位置基准对齐通常不需要每次上电,安全系统启动时
TCP标定确定工具中心点相对于法兰的位姿需要多点碰标更换工具后

十、能动不等于位置正确

很多现场调试人员有一个经验性判断:机器人能正常运动、不报警,就说明位置是对的。这个判断只对了一半——它只能证明位置闭环是稳定的,不能证明绝对位置是正确的。

这里涉及两个不同的精度概念:

  • 重复定位精度:机器人多次运动到同一指令位置的一致性。只要零位偏差是固定的系统偏差,重复精度就不会受影响;
  • 绝对定位精度:机器人实际到达位置与理论坐标的吻合程度。零位偏差会直接反映为绝对位置误差。

换句话说,如果上电时零位偏了2°,机器人依然可以平稳运动、重复精度很好,但每个关节的绝对角度都偏了2°,末端在空间中会偏出几十毫米甚至上百毫米。这也是为什么很多机器人“重复精度很高,但绝对精度一般”——重复精度靠伺服闭环保证,绝对精度靠标定与零位准确性保证。

未经过精细标定的工业机器人,绝对定位误差通常在5~10mm量级;而经过完整零位标定与DH参数补偿后,绝对误差可降至1mm以内。上电位置检测只能保证位置闭环的稳定性,无法修正标定本身的系统误差。

十一、典型故障

上电位置检测过程中,不同环节的故障会触发不同的报警与处理逻辑,以下是五种最典型的故障:

1. 编码器通信故障

现象:控制器无法读取编码器数据,或数据CRC校验错误。
处理:直接禁止伺服使能,报编码器通信故障。属于严重故障,必须排查线缆、接头、编码器硬件后才能复位。

2. 多圈数据丢失/电池耗尽

现象:单圈值正常,但多圈圈数无效或与预期偏差极大,计算出的关节位置超出行程范围。
处理:报转数计数器未更新/绝对位置未设定故障,禁止使能。需要执行手动转数更新或重新Mastering操作。ABB、Fanuc机器人更换编码器电池后,都必须执行该操作。

3. 零位/Mastering参数错误

现象:位置在行程范围内,但与实际机械位置明显不符,运动方向或行程异常。
处理:通常不会立即报警,但会表现为绝对位置偏差、碰撞风险高。需要重新执行零点标定。

4. 双编码器位置不一致

现象:电机侧编码器与关节侧编码器的换算位置差值超差。
处理:报传动链故障/位置不一致故障,触发安全停止。通常意味着减速箱打滑、同步带断裂或编码器故障,属于机械类严重故障。

5. 抱闸释放失败

现象:位置检测通过,但抱闸反馈信号异常,或释放后位置出现异常下坠。
处理:立即切断伺服力矩,重新闭合抱闸,报抱闸故障。防止关节失控坠落。

十二、实例:六轴机械臂J2轴的上电检测过程

以典型六轴工业机器人的第二关节(大臂关节,带重力负载)为例,完整的上电位置检测过程如下:

  1. 读取原始数据:控制器从J2轴多圈绝对编码器读取到单圈角度125.372°,多圈圈数+48圈;
  2. 换算电机位置:电机轴绝对位置 = 125.372° + 48 × 360° = 17405.372°;
  3. 加载标定参数:减速比1:121,方向系数-1,零位偏置15.230°,标定补偿-0.045°;
  4. 计算关节角度
    θJ2=17405.372∘×(−1)121−15.230∘−(−0.045∘)=−159.123∘ \theta_{\text{J2}} = \frac{17405.372^\circ \times (-1)}{121} - 15.230^\circ - (-0.045^\circ) = -159.123^\circ θJ2=12117405.372×(1)15.230(0.045)=159.123
  5. 范围校验:J2轴软件限位为-170°~+65°,-159.123°在范围内,校验通过;
  6. 连续性校验:与掉电保存的-159.118°对比,差值0.005°,远小于阈值,校验通过;
  7. 双通道校验:关节侧编码器换算值为-159.126°,差值0.003°,在允许范围内,校验通过;
  8. 伺服初始化:驱动器根据电机位置计算电角度,完成FOC换相初始化;
  9. 重力矩计算:根据各关节角度计算J2轴重力矩,输出对应电流建立力矩;
  10. 释放抱闸:确认力矩建立后,释放J2轴抱闸,进入闭环控制;
  11. 安全同步:安全控制器独立采集安全编码器位置,完成安全位置基准同步,激活安全限位功能。

至此,J2轴上电位置检测全部完成,关节进入正常可运行状态。

十三、工程问题判断原则

结合上述原理与流程,在工程现场判断上电位置相关问题时,可遵循四个原则:

  1. 有绝对编码器 ≠ 不做上电检测:绝对编码器只是提供了原始位置数据,依然要经过零位换算、范围校验、一致性校验、安全同步等完整流程,才能成为控制系统认可的可信位置。
  2. 位置读取正常 ≠ 机械零位正确:编码器读数正常只能说明传感器本身没问题,零位偏置、减速比、标定参数错误同样会导致机械位置错误,且这种错误往往不会触发报警。
  3. Mastering ≠ 完整运动学标定:Mastering只是确定了单个关节的零位偏置,完整的运动学标定还包括DH参数、减速比、关节耦合等多项误差补偿,二者不在一个精度层级。
  4. 运动控制器位置有效 ≠ 安全控制器同步:双控制器架构下,运动侧与安全侧是独立的两条链路。上电后即使机器人可以运动,也不代表安全位置监控已经生效,必须确认安全同步完成。

总结

工业机械臂的上电位置检测,是一个从“传感器原始数据”到“可信机械关节绝对位置”的建立过程,它包含读取、解释、校准、控制、安全五个层面的验证,而非简单的“读一下编码器”。其最终目的,是向整个控制系统证明:当前读到的位置真实对应机械臂的物理姿态、是唯一解、在合理范围内、与安全系统一致,足以支撑后续的伺服控制、运动规划与安全监控。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐