2. 机器人系统基础

要做好机器人故障诊断与安全降级,第一步不是记住某个报警代码,而是建立“机器人是一套由感知、决策、执行、通信四条链路耦合而成的实时系统”这一整体认知。只有知道一个异常信号从哪来、经过谁、最终影响哪个动作,才能在故障发生时快速定位,并判断应该降级到何种安全状态。本节从典型机器人组成入手,逐层拆解传感器、执行器、控制器与通信架构,并给出可用于诊断的结构化视角。

一、典型机器人系统的五层组成

无论工业机械臂、移动机器人还是协作机器人,其硬件与软件大体可归入五个层次:

  • 感知层:编码器、IMU、力/力矩传感器、视觉相机、激光雷达、接近开关等,负责把物理世界转换为电信号或数据帧。
  • 执行层:伺服电机、减速器、驱动器、气动/液压执行器、夹爪等,把控制指令转换为机械运动或力输出。
  • 控制层:运动控制器、PLC、工控机、实时内核,负责轨迹规划、闭环调节、逻辑联锁与安全监控。
  • 通信层:EtherCAT、CANopen、Modbus、Ethernet/IP、ROS 2 DDS 等总线与协议,承担周期数据与控制命令的传输。
  • 安全与供电层:安全继电器、安全 PLC、急停回路、抱闸电源、UPS,决定故障时系统能否进入安全状态。

这五层不是简单堆叠,而是存在明确的信号流向与依赖关系。下图给出典型机器人系统的信号链与通信拓扑,可作为后续故障定位的“地图”。

典型机器人系统:感知—控制—执行—通信—安全 感知层 编码器 / IMU 力/力矩传感器 视觉 / 激光雷达 接近 / 限位开关 控制层 运动控制器 / PLC 轨迹规划与闭环调节 逻辑联锁 / 状态机 实时内核(1ms 周期) 执行层 伺服电机 + 驱动器 减速器 / 关节 夹爪 / 气动执行器 抱闸 / 制动器 反馈数据 控制指令 通信层:EtherCAT / CANopen / Modbus TCP / EtherNet-IP / ROS 2 DDS 周期帧(PDO)承载指令与反馈 · 非周期帧(SDO)承载参数与诊断 安全与供电层:安全 PLC / 安全继电器 / 急停回路 / 抱闸电源 / UPS 故障触发 → 切断动力 → 抱闸锁止 → 进入安全降级状态(STO / SS1 / SLS) 安全信号独立于普通通信链路,避免单点失效 安全控制 ● 为常用诊断观察点:反馈值、指令值、总线状态、安全回路状态

二、传感器:诊断的第一信息来源

传感器是故障诊断的“眼睛”。在机器人系统中,传感器可分为内部状态传感器与外部环境传感器两类。内部传感器包括关节编码器、电机霍尔、电流采样、温度传感器、母线电压检测,它们直接反映执行器与驱动器的健康状态;外部传感器包括视觉、激光雷达、力/力矩、触觉、接近开关,用于感知工件、障碍物与人机距离。

诊断时最值得关注的是传感器的有效性与一致性。例如编码器信号出现跳变、IMU 零偏漂移、力传感器零点偏移,都会导致控制层做出错误决策。常见做法是对关键传感器做多源交叉校验:编码器位置与视觉位姿比对、电流估算力矩与力矩传感器比对、双编码器冗余比对。一旦偏差超过阈值,就应触发降级而非继续闭环运行。

诊断提示:传感器故障往往表现为“缓慢漂移”而非“突然失效”。建立基线数据与趋势记录,比单次阈值报警更早发现问题。

三、执行器与控制器:指令链上的关键节点

执行器把控制指令转化为物理动作,其故障通常表现为无力、抖动、过热、异响、定位偏差或抱闸失效。控制器则是整个系统的“大脑”,负责周期性的采样—计算—输出。控制器的健康度取决于 CPU 负载、周期抖动、内存占用、任务超时等指标。当控制周期从 1ms 抖动到 3ms,轨迹跟踪就会明显变差,严重时触发跟随误差报警。

下面是一段典型的控制器周期任务伪代码,用于说明诊断观察点应插入在哪些位置:

loop every 1ms:
    feedback = read_encoders()        # 观察点1:反馈有效性
    cmd      = trajectory_step()      # 观察点2:规划输出
    torque   = pid(cmd, feedback)     # 观察点3:调节量饱和
    write_driver(torque)              # 观察点4:总线写成功
    check_safety()                    # 观察点5:安全条件
    if cycle_overrun:
        log_and_degrade()             # 降级:降低速度或停止

四、通信架构:故障传播的高速通道

通信架构决定了故障是“局部”还是“扩散”。以 EtherCAT 为例,主站周期发送过程数据帧,从站依次读写;若某个从站掉线或帧校验错误,整条链路都可能进入错误状态。CANopen 则通过心跳与节点保护监控从站,节点丢失会触发总线报警。ROS 2 使用 DDS 做发布订阅,QoS 配置不当会导致消息丢失或延迟,表现为“控制指令时有时无”。

诊断通信问题时,应重点关注:总线错误计数、帧丢失率、周期抖动、从站状态字、心跳超时。下表给出常见通信故障与典型现象对照,便于快速排查。

通信故障 典型现象 优先检查点 建议降级动作
EtherCAT 从站掉线 对应关节失控、报警 0x0A 网线、端子、从站供电 停止运动,抱闸锁止
CAN 心跳超时 节点离线、总线错误帧增加 终端电阻、波特率、线束 切换备用节点或停机
DDS QoS 不匹配 指令断续、延迟抖动 QoS 配置、网络拥塞 降低速度,切换可靠传输
周期抖动过大 轨迹跟踪误差增大 CPU 负载、中断优先级 降速运行,关闭非实时任务

五、案例与复盘:一次典型的“假传感器故障”

某协作机器人在装配工位频繁触发“关节 3 位置偏差过大”报警。初步排查怀疑编码器故障,但更换编码器后问题依旧。进一步检查发现,EtherCAT 该从站的周期帧偶尔延迟 2 个周期,导致控制器使用的反馈值滞后,PID 输出震荡,最终触发跟随误差报警。真正根因是通信线束在拖链中长期弯折,屏蔽层破损引入干扰。

这个案例说明:故障现象在传感器,根因可能在通信或控制器。诊断时必须沿信号链逐段验证,而不是直接更换最显眼的部件。复盘时应记录:报警时间、总线错误计数、周期抖动曲线、更换部件前后的对比数据,形成可复用的诊断路径。

常见误区:把“报警指向的部件”等同于“故障根因”。在机器人系统中,传感器、控制器、执行器、通信、安全五层相互耦合,任何一层异常都可能在其他层表现为报警。降级策略应基于信号链整体判断,而非单点替换。