3. 延迟的定义与分类
在机器人控制器中,“延迟”并不是一个单一数字,而是一组沿信号路径分布的时间量。若把一次控制动作看成从传感器采样到执行器输出的完整链路,那么每个环节都会贡献时间开销。理解这些开销的定义、边界与叠加方式,是后续测试、定位和优化的前提。本节将延迟拆解为端到端延迟、控制延迟、通信延迟、计算延迟,并引入抖动与确定性两个关键概念。
核心结论:端到端延迟是用户可感知的总时间;控制延迟决定闭环稳定裕度;通信延迟与计算延迟是主要可分解项;抖动决定延迟的波动范围;确定性决定最坏情况是否可预测。优化时不能只看平均值,必须同时关注最大值与分布。
一、端到端延迟:从物理事件到物理动作
端到端延迟(End-to-End Latency)指从被控对象发生物理变化,到控制器输出真正作用于被控对象之间的总时间。以机械臂视觉抓取为例,其路径通常包括:相机曝光与读出、图像传输、视觉算法处理、轨迹规划、控制指令下发、总线传输、伺服驱动响应、电机力矩建立。每一段都消耗时间,且可能引入排队与等待。
端到端延迟的测量必须定义清晰的“起点”和“终点”。常见起点包括:传感器采样时刻、图像曝光开始时刻、外部触发信号上升沿;常见终点包括:执行器力矩输出时刻、关节实际开始运动时刻、末端执行器到达目标位置时刻。起点和终点定义不同,测得的数值可能相差数毫秒甚至数十毫秒。因此,在测试报告中必须写明测量边界,否则数据无法横向比较。
二、控制延迟:闭环中的“有效滞后”
控制延迟(Control Latency)通常指从控制器读取到反馈量,到控制量实际作用于被控对象之间的时间。它直接进入闭环传递函数,表现为相位滞后。对于高增益或高带宽控制器,控制延迟会显著降低相位裕度,导致超调、振荡甚至失稳。
控制延迟可进一步细分为:采样延迟、计算延迟、输出延迟和执行延迟。采样延迟来自采样周期与采样时刻的异步;计算延迟来自控制算法执行时间;输出延迟来自通信与驱动接口;执行延迟来自电机、液压阀或气动元件的物理响应。工程上常把控制延迟近似为“采样周期的一半 + 计算时间 + 通信时间 + 执行时间”,但该近似仅在特定条件下成立。
三、通信延迟与计算延迟:两个主要可分解项
通信延迟(Communication Latency)指数据从发送端到接收端所经历的时间,包括协议封装、排队、传输、交换、解包等。在机器人系统中,常见链路有 EtherCAT、CAN、Ethernet、Wi-Fi、5G 和串口。不同链路的延迟量级差异很大:EtherCAT 周期可低至 100 μs 级,而 Wi-Fi 在拥塞时可能达到数十毫秒。
计算延迟(Computation Latency)指处理器执行算法所消耗的时间,包括任务调度、内存访问、浮点运算、中断响应等。计算延迟不仅取决于算法复杂度,还受 CPU 负载、缓存命中率、操作系统调度策略影响。例如,同一段轨迹规划代码在空载与满载情况下,执行时间可能相差数倍。
下面给出一个典型的延迟分解清单,便于在测试中逐项排查:
| 延迟类型 | 典型来源 | 常见量级 | 主要影响 |
|---|---|---|---|
| 端到端延迟 | 传感器→算法→通信→驱动→执行 | 数 ms ~ 数百 ms | 用户可感知的响应速度 |
| 控制延迟 | 采样、计算、输出、执行 | 0.1 ms ~ 数十 ms | 闭环稳定性与带宽 |
| 通信延迟 | 协议栈、排队、传输、交换 | 10 μs ~ 数十 ms | 指令同步与反馈实时性 |
| 计算延迟 | 调度、运算、内存、中断 | 10 μs ~ 数十 ms | 控制周期抖动与吞吐 |
| 抖动 | 调度抖动、网络拥塞、缓存失效 | 数 μs ~ 数十 ms | 最坏情况延迟与确定性 |
四、抖动与确定性:从“平均快”到“最坏可控”
抖动(Jitter)指延迟围绕其平均值或标称值的波动。若某次控制周期为 1 ms,但实际在 0.8 ms 到 1.5 ms 之间变化,则抖动为 0.7 ms。抖动比平均延迟更危险,因为它会破坏采样与输出的时间一致性,使控制器等效于在未知时刻被扰动。
确定性(Determinism)指系统在最坏情况下仍能保证延迟上界可预测、可重复。一个确定性系统不一定延迟最低,但它的延迟分布收敛、上界明确。实时操作系统、时间敏感网络(TSN)、EtherCAT 分布式时钟等,都是为提升确定性而设计的技术手段。
理解要点:平均延迟决定“通常快不快”,抖动决定“偶尔慢多少”,确定性决定“最坏能有多慢”。在安全关键场景中,确定性往往比平均延迟更重要。
五、案例:视觉伺服抓取中的延迟分解
假设一台机械臂以 30 fps 相机进行视觉伺服抓取,控制周期为 1 ms。一次抓取中,各环节实测如下:
相机曝光与读出: 8.0 ms
图像传输与预处理: 3.5 ms
视觉位姿解算: 6.0 ms
轨迹规划: 1.2 ms
控制指令下发: 0.3 ms
EtherCAT 传输: 0.1 ms
伺服驱动响应: 0.4 ms
电机力矩建立: 1.5 ms
--------------------------------
端到端延迟合计: 21.0 ms
其中控制延迟: 2.0 ms
其中通信延迟: 0.4 ms
其中计算延迟: 7.2 ms
从该分解可见,视觉处理与相机读出占主导,而通信延迟占比很小。若盲目优化总线,收益有限;若降低图像分辨率或改用硬件触发同步,端到端延迟可显著下降。同时,若视觉处理时间在 5 ms 到 9 ms 之间波动,则抖动为 4 ms,这会直接恶化视觉伺服稳定性。
六、常见误区与复盘
- 误区一:只测平均延迟。平均值掩盖了长尾,最坏情况可能触发安全停止或碰撞。
- 误区二:混淆端到端延迟与控制延迟。端到端延迟包含感知与执行,控制延迟只覆盖闭环中的有效滞后,两者优化手段不同。
- 误区三:把通信延迟等同于网络带宽。带宽决定吞吐,延迟决定响应;高带宽链路仍可能因排队产生大延迟。
- 误区四:忽略时间同步。分布式系统中,若各节点时钟不同步,测得的延迟可能包含时钟偏差,导致数据失真。
- 误区五:认为确定性等于低延迟。确定性关注上界可预测,低延迟关注均值小,二者需分别评估。
复盘建议:在每次延迟测试前,先画出信号路径图,标注每个环节的起点、终点和预期量级;测试后同时记录平均值、最大值、标准差和抖动。只有把延迟拆开、测准、对齐边界,后续的优化才有可靠依据。
综上,延迟分类的价值在于把“慢”拆成可定位、可测量、可优化的具体环节。端到端延迟回答“用户等多久”,控制延迟回答“闭环稳不稳”,通信延迟与计算延迟回答“时间花在哪”,抖动与确定性回答“最坏会怎样”。只有同时掌握这五个视角,才能为后续的延迟测试与优化建立可靠基线。