2. 机器人通信基础
机器人安全通信测试与验证的第一步,不是直接去抓包或写测试用例,而是先建立一张“通信地图”:数据从哪个传感器产生,经过哪条总线或网络,最终到达哪个控制器或云端,中间又经过哪些协议转换与安全边界。只有把系统架构、通信介质和协议栈看清楚,后续的时延、抖动、丢包、完整性与功能安全测试才有明确的观测点。
一、机器人系统架构:分层与通信域
典型机器人系统可以按“感知—决策—执行—交互”划分为四层,每层对应不同的通信需求。感知层包含激光雷达、深度相机、编码器、力矩传感器和IMU,数据量大、周期性强;决策层由工控机、运动规划器和安全PLC组成,强调确定性与实时性;执行层包括伺服驱动器、关节电机、夹爪和液压阀,要求微秒到毫秒级的同步;交互层则涵盖HMI、示教器、MES/WMS以及云端运维平台,更关注互操作性与远程可观测性。
从通信视角看,这四层天然形成多个“通信域”:实时控制域、传感数据域、人机交互域和外部信息域。安全通信测试必须区分这些域,因为不同域的失效后果不同——控制域丢一帧可能导致急停失效,而交互域短暂断连通常只影响监控显示。
二、通信总线:从现场总线到实时串行链路
机器人内部大量使用现场总线与实时串行链路。CAN/CANopen成本低、抗干扰强,常见于移动机器人底盘和电池管理系统;EtherCAT以“飞读飞写”方式实现高同步,广泛用于多轴伺服;PROFINET IRT和POWERLINK提供等时同步实时能力;RS-485/Modbus RTU则多用于简单传感器与执行器。它们共同的特点是:周期通信、主从或生产者-消费者模型、对抖动敏感。
测试这类总线时,关键参数包括周期时间、抖动、同步偏差、总线负载率和错误帧计数。例如EtherCAT的分布式时钟同步偏差通常要求小于1微秒,而CAN总线负载率超过70%后错误帧概率会显著上升。
# EtherCAT 主站周期与同步检查示例(伪代码)
cycle_time = 1000 us
dc_sync_window = 1 us
bus_load = 42 %
working_counter = 0x0000 # 正常
# 若 working_counter 异常,优先检查从站供电与拓扑
三、工业以太网与无线通信:有线确定性与无线灵活性
工业以太网在机器人中承担“骨干”角色。标准TCP/IP适合非实时数据,如日志、配置和视觉图像;TSN通过时间感知调度和帧抢占,把以太网推向确定性传输;EtherCAT、PROFINET等则直接在以太网物理层上构建实时协议。测试时要区分“协议实时”与“物理层实时”,因为交换机排队、网卡中断合并和CPU调度都会引入额外抖动。
无线通信为移动机器人、AGV和远程操控提供了灵活性,但代价是链路质量波动。Wi-Fi 6在低时延和并发方面有改进,5G URLLC面向工业低时延场景,蓝牙和ZigBee多用于低带宽传感。无线测试必须关注RSSI、信噪比、重传率、漫游切换时间和信道干扰,而不能只看平均吞吐量。
| 通信方式 | 典型周期/时延 | 确定性 | 典型机器人场景 |
|---|---|---|---|
| CAN/CANopen | 1–10 ms | 中 | 底盘、BMS、低轴数控制 |
| EtherCAT | 0.1–1 ms | 高 | 多轴伺服、分布式IO |
| PROFINET IRT | 0.25–1 ms | 高 | 产线机器人、安全PLC |
| 标准以太网/TCP | 1–100 ms | 低 | 视觉图像、日志、配置 |
| Wi-Fi 6 | 5–50 ms | 低–中 | AGV、远程监控 |
| 5G URLLC | 1–10 ms | 中–高 | 远程操控、云化控制 |
四、主流协议概览与安全通信关注点
机器人通信协议可分为三类:实时控制协议(EtherCAT、PROFINET、POWERLINK、CANopen)、消息中间件(ROS 2 DDS、MQTT、OPC UA)和安全协议(CIP Safety、PROFIsafe、FSoE)。ROS 2基于DDS,提供发布/订阅与QoS策略,适合研究与非硬实时场景;OPC UA over TSN正在成为工业互操作与安全传输的重要方向;MQTT轻量,适合云端遥测,但默认不保证实时与强安全。
安全通信测试的核心关注点包括:完整性(帧是否被篡改)、新鲜性(是否重放)、真实性(身份是否可信)、时效性(是否超时)以及降级行为(链路断开后是否进入安全状态)。例如FSoE在EtherCAT上传输安全数据时,使用看门狗和连接ID来检测超时与错连。
五、案例场景:AGV通信链路排查
某AGV在产线运行中偶发急停,日志显示安全PLC与驱动器之间的EtherCAT从站短暂失联。排查发现,无线AP切换导致上层调度指令延迟,进而使安全PLC看门狗超时。复盘结论是:安全通信测试不能只测有线段,必须把无线漫游、上层调度和安全看门狗纳入同一条时间线。测试时应记录从“无线切换开始”到“安全状态触发”的完整时序,并验证切换时间是否小于安全超时阈值。
把这张图作为测试设计的起点:先定位被测通信所在的层与域,再确认它使用的协议族,最后针对该协议的安全机制设计异常注入与边界测试。这样,后续的时延测试、丢包测试、重放测试和故障注入才不会变成零散的操作,而是围绕同一张通信地图展开的系统验证。