总线、同步与实时网络:让全身在同一拍子上工作
机器人通信网络的核心是把正确数据在截止期限前送到正确节点,并让不同节点知道这些数据对应同一个物理时刻。
原理组成
板内常见 SPI、I²C、UART;整机常见 CAN/CAN FD、CANopen、EtherCAT、工业以太网与普通以太网。SPI 由时钟、数据和片选组成,速度高、距离短、缺少统一高层设备语义;I²C 两线共享总线,接入方便,电容、地址冲突与错误恢复限制其在长线和强干扰环境中的应用;UART 简单,点对点且时钟异步。它们适合板内或邻近模块。
CAN 使用差分线、仲裁和错误检测,多节点共享总线。标识符同时参与优先级仲裁,高优先级帧在竞争时先发送;总线负载过高会增加低优先级帧等待。CAN FD 扩大数据段并可提高数据阶段速率。CANopen 在 CAN 上定义对象字典、过程数据、服务数据、网络管理与设备配置;CiA 402 为驱动器和运动控制提供常见状态与模式语义。可靠性来自物理层、协议和状态机共同设计,不能只靠“CAN 很抗干扰”。
EtherCAT 把一个以太网帧依次穿过多个从设备,各节点在帧经过时读写属于自己的过程数据。硬件转发与分布式时钟使多轴能在亚微秒级别对齐采样或输出;拓扑、帧周期、工作计数器、状态机和主站实时性仍需正确配置。普通 TCP/IP 适合大数据、诊断和远程服务,拥塞重传使最坏时延难以界定。UDP 避免连接与重传开销,应用层要处理丢包、乱序和新旧数据。
网络性能至少有带宽、延迟、抖动和丢包四个维度。带宽预算可粗算为:
\(f_i\) 是消息频率,\(s_i\) 是有效载荷,\(h_i\) 是协议与链路开销。实际还要考虑仲裁、帧间隔、编码、重传和保守余量。控制数据常很小却要求确定到达;相机数据很大却可能允许丢掉旧帧。把两类流量塞进没有服务质量隔离的同一链路,会让“平均带宽足够”仍出现控制抖动。
同步有两种基本思路:用同一硬件触发各传感器,或让分布式时钟对齐后各自在约定时刻采样。时间戳要尽量靠近测量产生处。收到数据才在应用层盖时间戳,会把传输和排队延迟混入测量时间。PTP/IEEE 1588、EtherCAT 分布式时钟和相机硬触发都能提供工具;最终要测整链的偏差与抖动。
机内也可能使用 Wi-Fi、Bluetooth Low Energy 或超宽带等无线链路。它们适合调试、遥测、手柄、资产识别和部分低速传感,可减少穿壳接口与活动线缆;共享频谱、遮挡、天线方向、漫游、加密握手和重传使最坏时延更难保证。金属机身会屏蔽或改变天线方向图,电机和高速数字电路又抬高噪声底。高速闭环与安全停止应使用经过风险评估的确定性路径,无线链路失效时机器人需要有本地安全状态。
参数与取舍
选总线需写出节点数、线长、拓扑、消息大小与周期、最坏时延、同步精度、故障隔离、热插拔、冗余、连接器、线缆重量、EMC、工具链和成本。高带宽协议不会自动带来高确定性;低速 CAN 在正确负载和优先级下可以稳定控制许多节点。菊花链布线简洁,中间节点或线缆故障可能影响下游;星形易隔离,交换机和线束更多。
安全相关数据需要端到端措施,例如序号、时间戳、超时、源/目的标识和校验,防止重复、延迟、插入或错序被当作新命令。网络故障状态要定义:短暂丢一帧时保持上一力矩可能合理,持续丢帧仍保持会危险。每个节点应有心跳、总线状态、错误计数与同步质量监控。
CAN 的位速率与线长、支线和收发器延迟共同受约束。终端电阻应位于主干两端,星形分叉和过长支线会产生反射;示波器看到的差分幅度正常,也可能在阈值附近存在振铃和采样裕量不足。EtherCAT 虽使用标准以太网物理层,节点处理、拓扑冗余、从站状态和工作计数器仍需监控。连接器瞬断、某节点掉电或交换端口重协商时,恢复策略必须防止旧目标在链路重建后突然执行。
带宽估算要落到最坏帧调度。例如 30 个关节每周期各上传位置、速度、力矩、温度和状态,主站再下发目标与使能;把每个字段字节数、协议头、校验和周期列清后,才能得到总线占用。诊断日志若以突发方式传输,应限制令牌或放到低优先级窗口。相机等大流量设备还要核对交换机缓冲、上行聚合和时间同步报文在拥塞时的优先级。
验证分为物理层、协议层和时间层。物理层在最大线长、最差连接器和电磁干扰下看眼图或波形、错误计数;协议层注入节点掉线、重复地址、错误帧和重启;时间层用共同硬件信号同时触发节点并记录实际采样偏差,验证长期漂移和恢复。示波器量到的同步脉冲、驱动器内部时间戳与应用日志应能互相对应。
典型失效包括终端电阻错误、支线过长造成反射、屏蔽层回流不当、连接器针脚退缩、接地电位差、总线负载饱和、高优先级消息饿死低优先级诊断、分布式时钟失锁以及网络恢复后旧命令重放。示波器、协议分析仪、错误计数器和端到端时间测量要同时使用。
无线选型还要给出频段、发射功率、天线位置、吞吐、覆盖、并发设备、认证、安全更新和掉线恢复。测试要让机器人处于不同姿态,遮挡天线并同时运行电机、GPU 与邻近无线设备,记录信号强度、重传、漫游时延和业务截止期限。对远程维护接口还需验证身份认证、密钥更新和禁用策略,避免调试链路成为未受控的运动入口。
工程例子
一台 30 轴机器人可让 EtherCAT 以 1 kHz 交换关节位置、速度、力矩和状态,分布式时钟在各驱动器同步采样;头部相机用千兆或更高速以太网把图像送到 GPU;电池、风扇和灯带用 CAN FD;板内温度传感器用 I²C。不同网络通过带时间戳的网关汇聚。紧急停止链保持硬接线或经过认证的安全通信,不依赖普通应用消息。
维修平板可通过 Wi-Fi 读取日志并下发经过授权的配置,遥控急停仍保留独立且符合适用安全要求的链路。机器人进入运动模式后,可限制无线接口只读或关闭高风险服务;无线完全中断时,底层实时网继续控制关节,上层按预定超时完成降速和停车。这样的分区让便利通信与确定性控制各自承担合适任务。
以 1 kHz 关节网为例,一次周期只有 1 ms,要从中分配主站唤醒、帧发送、各节点读写、输入锁存、控制计算和输出生效。平均往返 200 μs 仍不足以证明可用,应在最大节点数、最长电缆、诊断流量和电磁干扰下测最大值与抖动。可用同一硬件边沿触发多个节点采样,再把实际输出引脚接入逻辑分析仪,直接量出时钟偏差与控制生效差;持续数小时观察重新同步和温漂,避免短时测试漏掉偶发失锁。
深入阅读
EtherCAT Technology 详述帧处理、分布式时钟与诊断;CAN in Automation 提供 CAN、CAN FD 与 CANopen 的知识入口;无线局域网标准范围可从 IEEE 802.11 Working Group 进入,ROS 2 的实时要求可配合 pendulum_control 实时演示 阅读。采用具体协议时还需核对 IEC/IEEE 标准、无线电法规、设备一致性和供应商实现限制。