机器人推理延迟:从相机曝光到执行器指令

机器人推断延迟是指从物理观测变得可用到相应命令生效的时间。神经网络运行时间仅是一个区间。曝光、传感器缓冲、传输、解码、预处理、队列、后处理、中间件、控制器调度和执行器应用同样重要。

一个有用的预算是跟踪一个帧或状态样本并同步时间戳。它区分处理时长与数据年龄,报告在定义工作负载下观察到的中位数、高百分位数和最大值。吞吐量和每秒帧数不回答机器人执行命令时,该命令生成至今已过去多久。

将本指南与 ROS 2 实时控制指南机器人 VLA 评估指南一起使用。即使感知或策略路径延迟变化,也要保持有界的下层控制环路。

定义物理起始和停止时间戳

选择在相机曝光、激光雷达采集或机器人状态采样时起始,而非应用回调运行时。选择在接受或应用命令的控制器或驱动器事件处停止。软件录入和返回时间省略传输和硬件延迟。

使用共享时钟或刻画时钟偏移和漂移。如果有硬件时间戳,优先使用。保留从输入到输出的序列标识符,以便证明每个动作是哪帧产生的。如果没有身份,快速回调可能只是处理旧的缓冲帧。

TurtleBot3汉堡,配备车载激光雷达、计算机电机控制器及布线
机载机器人在运动变化前通过处理器、内存和控制器传输传感器数据,因此必须在整个路径中测量时序。来源:Kuscu0,维基共享资源。许可:CC BY-SA 4.0

推理开始前,传感器采集已经产生数据时延

滚动快门、曝光时间、帧读取和传感器端图像处理会增加延迟。以每秒30帧运行的相机可以呈现代表不同行时间的帧,并且在主机转移前已经在捕捉中花费了一小部分时间。

文档触发模式、曝光、缓冲区深度、丢弃策略和时间戳起源。仅保留最新帧的消费策略可以通过丢弃帧来保持低年龄,而队列消费者则保留每一帧,但在过载时会在过载时逐渐变得陈旧。这两种策略都不是普遍正确的;控制后果决定了这一点。

阶段启动事件事件结束隐藏延迟
被捕物理暴露传感器框架准备就绪读出与ISP
转会DMA或分组发送可用的主机缓冲区复制和总线队列
预处理已选定框架输入张量准备解码与调整大小
推断请求队列输出同步主机与设备工作
应用输出解码驱动器接受指令中间件与控制阶段

副本和队列数量可能超过模型计算

图像解码、颜色转换、调整大小、归一化、主机到设备复制和张量布局变化都可能创建缓冲区。零拷贝设计可以减少传输次数,但增加寿命和对齐约束。分析实际内存移动,而不是假设框架消除了它。

仪器队列与服务时间分开等待。 CPU 线程争用、回调执行器、 GPU 流和异步驱动程序可以隐藏可见函数之间的等待。限制队列深度,定义到达的输入是替换、跳过还是等待。

模型延迟需要显式同步

GPU启动API通常是异步的。仅测量主机调用可以记录队列时间,而非完成推断。使用适当的设备事件或在输出边界同步,同时保留围绕完整应用路径的实际时间测量。

当前 TensorRT 性能基准测试文档 将吞吐量、主机延迟、传输、 GPU 计算和队列时间区分开来。其仅推断指标有助于隔离,但除非应用测量机器人传感器和控制器阶段,否则不包括它们。

五级机器人推断延迟预算
中位数、尾部延迟和数据年龄必须在代表性争用和热值下报告。来源:Physical AI Lab。

吞吐量和延迟回答了不同的问题

吞吐量是单位时间内完成的推断次数。延迟是单个请求的经过时间。批处理或并发流可能提升汇总吞吐量,同时增加单个机器人帧的等待时间或争用。在同一调度配置下报告两者。

如果生产超过消耗且队列增长,流水线还可以具有高吞吐量和无界年龄。在命令应用时绘制帧年龄与推理计数。在控制方面,较低速率的最新观测通常比按顺序交付的每一个陈旧观测更有用。

度规答案是什么统计量机器人风险
模型计算设备内核运行多长时间中线和尾部错过保单期
端到端延迟一次观察需要多长时间P50, P95, P99,最高限度晚期反应
数据时代证据使用的年代有多久分布陈旧指挥
吞吐量完成了多少请求每秒队列增长
抖动时间变化范围与百分位控制不均

尾延迟决定了罕见的物理故障

平均延迟会隐藏调度器暂停、首次使用编译、缓存未命中、热限流、动态图形和网络重试。单独记录预热,然后运行足够长以观察罕见的争用。报告P95和P99时,样本计数足以解释这些百分位数。

跟踪最差观测值时,除非系统和分析支持该说法,否则不应称其为已被证明的上界。将离群值与功率、温度、时钟、 CPU负载、内存压力、网络和配置文件变化关联起来。少数延迟命令可以主导碰撞或抓取失效。

板上、边缘和云路径的预算不同

板载推断避免了广域网络的差异,但与机器人共享功率和热量限制。边缘服务器增加了无线、交换和排队功能,同时提供更多计算能力。云路径增加了路由和服务争用,并且需要明确的断线或响应延迟行为。

测量真实部署区域及漫游或干扰下的往返分布。不要发送基于已超过年龄限制帧的指令。在机器人中使用顺序和截止时间检查,确保延迟但经过有效认证的响应无法改变当前状态。

优化在准确性、负载和调度之间做出权衡

精度降低、量化、剪枝、降低分辨率和跳帧会减少计算,但这些都会改变模型输出。在目标硬件优化后验证任务准确性和失败模式。更快的引擎但校准偏移或不支持操作符,则不是等价的策略。

当前 TensorRT 最佳实践指南 建议控制时钟、功率、热状态、传输和软件配置以实现可复现的数值。将已构建的发动机钉在其硬件和驱动环境上,而不是将厂商基准与其他机器人进行比较。

策略费率和伺服费率应当解耦

视觉策略或VLA策略可能以数十赫兹的速度更新,而关节控制每秒运行数百甚至数千次。底层可以插值有界引用、监控跟踪并拒绝陈旧命令。它不应在硬时序路径内等待神经推断。

将视界与 机器人动作分区指南进行协调。日志预测时间、执行前缀和命令年龄。如果推理错过截止日期,选择测试过的备选方式,如暂停、减速或切换到更安全状态,而不是重放任意的旧动作。

在现实压力下验证时机

将代表性的摄像头、日志记录、网络、地图和用户界面工作负载协同运行。调整温度、功率模式、动态形状、对象数量和后台流量。在测量机器人响应的同时,注入丢帧、延迟数据包和推理超载。

保持版本管理延迟预算,为每个阶段设定目标和测量分布。模型、预处理、中间件、驱动、固件或计算变更后重新检查。阶段优化应仅在传感器到执行器路径和任务结果全面改善时被接受。

评估“机器人推理延迟:从相机曝光到执行器指令”时,还应保存模型版本、机器人配置、标定文件、测试日期和全部试验记录。把成功、失败、恢复与人工介入放在同一份数据中,才能区分模型能力、系统接口和现场流程造成的差异。

成本评估除了设备与算力,还要记录数据采集、工程调试、安全措施、维护、停机和人员培训。只有把这些持续投入与单位成功任务的价值比较,才能判断方案是否适合扩大。

上线后仍要持续检查分布变化、传感器漂移、机械磨损和人工接管原因。监测结果应能触发降级、停止与重新验证流程,并为下一轮数据采集和模型更新留下可追溯记录。

最终结论应明确写出已知限制、尚未验证的场景和下一项可证伪的实验,使后续团队能够沿着证据继续推进。

实际项目还应指定数据、模型、控制器和安全流程的负责人,并预先定义回滚条件。责任边界、审批记录与变更日志越清楚,故障发生后越容易停止扩散、定位原因并安全恢复。

  • 时间戳、物理捕获和命令应用。
  • 在每个阶段都保持序列身份。
  • 分开队列等待,主机工作和设备工作。
  • 报告延迟尾部、吞吐量和数据老化情况。
  • 测试过载、发热、网络丢失和备用行为。

常见问题

如果模型运行10毫秒,机器人会在10毫秒内反应吗?

不。捕获、传输、预处理、队列、后处理、通信、控制器调度和执行器响应均不在模型计算范围内。

FPS和延迟是同一个指标吗?

不。帧数是吞吐量。管道每秒可以完成很多帧,而单个帧在队列中等待并迟到机器人。

为什么平均延迟不够?

罕见的停滞可能导致最重要的物理故障。报告百分位数、最大观测值、样本计数及异常值相关条件。

旧帧可以直接丢弃吗?

通常仅限最新策略会降低年龄,但丢弃会改变时间采样和模型行为。用任务和控制器验证丢弃规则。

云推断可以用在机器人上吗?

它可以支持那些截止日期和备用条件允许网络变异的任务。测量真实路径,并拒绝超出机器人指令年龄限制的响应。

推断时序证据边界

延迟数据适用于定义的传感器、模型、硬件、软件、负载和测量边界。仅凭推断基准测试并不能证明机器人反应时间有限制。