机器人推断延迟是指从物理观测变得可用到相应命令生效的时间。神经网络运行时间仅是一个区间。曝光、传感器缓冲、传输、解码、预处理、队列、后处理、中间件、控制器调度和执行器应用同样重要。
一个有用的预算是跟踪一个帧或状态样本并同步时间戳。它区分处理时长与数据年龄,报告在定义工作负载下观察到的中位数、高百分位数和最大值。吞吐量和每秒帧数不回答机器人执行命令时,该命令生成至今已过去多久。
将本指南与 ROS 2 实时控制指南 和 机器人 VLA 评估指南一起使用。即使感知或策略路径延迟变化,也要保持有界的下层控制环路。
定义物理起始和停止时间戳
选择在相机曝光、激光雷达采集或机器人状态采样时起始,而非应用回调运行时。选择在接受或应用命令的控制器或驱动器事件处停止。软件录入和返回时间省略传输和硬件延迟。
使用共享时钟或刻画时钟偏移和漂移。如果有硬件时间戳,优先使用。保留从输入到输出的序列标识符,以便证明每个动作是哪帧产生的。如果没有身份,快速回调可能只是处理旧的缓冲帧。

推理开始前,传感器采集已经产生数据时延
滚动快门、曝光时间、帧读取和传感器端图像处理会增加延迟。以每秒30帧运行的相机可以呈现代表不同行时间的帧,并且在主机转移前已经在捕捉中花费了一小部分时间。
文档触发模式、曝光、缓冲区深度、丢弃策略和时间戳起源。仅保留最新帧的消费策略可以通过丢弃帧来保持低年龄,而队列消费者则保留每一帧,但在过载时会在过载时逐渐变得陈旧。这两种策略都不是普遍正确的;控制后果决定了这一点。
| 阶段 | 启动事件 | 事件结束 | 隐藏延迟 |
|---|---|---|---|
| 被捕 | 物理暴露 | 传感器框架准备就绪 | 读出与ISP |
| 转会 | DMA或分组发送 | 可用的主机缓冲区 | 复制和总线队列 |
| 预处理 | 已选定框架 | 输入张量准备 | 解码与调整大小 |
| 推断 | 请求队列 | 输出同步 | 主机与设备工作 |
| 应用 | 输出解码 | 驱动器接受指令 | 中间件与控制阶段 |
副本和队列数量可能超过模型计算
图像解码、颜色转换、调整大小、归一化、主机到设备复制和张量布局变化都可能创建缓冲区。零拷贝设计可以减少传输次数,但增加寿命和对齐约束。分析实际内存移动,而不是假设框架消除了它。
仪器队列与服务时间分开等待。 CPU 线程争用、回调执行器、 GPU 流和异步驱动程序可以隐藏可见函数之间的等待。限制队列深度,定义到达的输入是替换、跳过还是等待。
模型延迟需要显式同步
GPU启动API通常是异步的。仅测量主机调用可以记录队列时间,而非完成推断。使用适当的设备事件或在输出边界同步,同时保留围绕完整应用路径的实际时间测量。
当前 TensorRT 性能基准测试文档 将吞吐量、主机延迟、传输、 GPU 计算和队列时间区分开来。其仅推断指标有助于隔离,但除非应用测量机器人传感器和控制器阶段,否则不包括它们。

吞吐量和延迟回答了不同的问题
吞吐量是单位时间内完成的推断次数。延迟是单个请求的经过时间。批处理或并发流可能提升汇总吞吐量,同时增加单个机器人帧的等待时间或争用。在同一调度配置下报告两者。
如果生产超过消耗且队列增长,流水线还可以具有高吞吐量和无界年龄。在命令应用时绘制帧年龄与推理计数。在控制方面,较低速率的最新观测通常比按顺序交付的每一个陈旧观测更有用。
| 度规 | 答案是什么 | 统计量 | 机器人风险 |
|---|---|---|---|
| 模型计算 | 设备内核运行多长时间 | 中线和尾部 | 错过保单期 |
| 端到端延迟 | 一次观察需要多长时间 | P50, P95, P99,最高限度 | 晚期反应 |
| 数据时代 | 证据使用的年代有多久 | 分布 | 陈旧指挥 |
| 吞吐量 | 完成了多少请求 | 每秒 | 队列增长 |
| 抖动 | 时间变化 | 范围与百分位 | 控制不均 |
尾延迟决定了罕见的物理故障
平均延迟会隐藏调度器暂停、首次使用编译、缓存未命中、热限流、动态图形和网络重试。单独记录预热,然后运行足够长以观察罕见的争用。报告P95和P99时,样本计数足以解释这些百分位数。
跟踪最差观测值时,除非系统和分析支持该说法,否则不应称其为已被证明的上界。将离群值与功率、温度、时钟、 CPU负载、内存压力、网络和配置文件变化关联起来。少数延迟命令可以主导碰撞或抓取失效。
板上、边缘和云路径的预算不同
板载推断避免了广域网络的差异,但与机器人共享功率和热量限制。边缘服务器增加了无线、交换和排队功能,同时提供更多计算能力。云路径增加了路由和服务争用,并且需要明确的断线或响应延迟行为。
测量真实部署区域及漫游或干扰下的往返分布。不要发送基于已超过年龄限制帧的指令。在机器人中使用顺序和截止时间检查,确保延迟但经过有效认证的响应无法改变当前状态。
优化在准确性、负载和调度之间做出权衡
精度降低、量化、剪枝、降低分辨率和跳帧会减少计算,但这些都会改变模型输出。在目标硬件优化后验证任务准确性和失败模式。更快的引擎但校准偏移或不支持操作符,则不是等价的策略。
当前 TensorRT 最佳实践指南 建议控制时钟、功率、热状态、传输和软件配置以实现可复现的数值。将已构建的发动机钉在其硬件和驱动环境上,而不是将厂商基准与其他机器人进行比较。
策略费率和伺服费率应当解耦
视觉策略或VLA策略可能以数十赫兹的速度更新,而关节控制每秒运行数百甚至数千次。底层可以插值有界引用、监控跟踪并拒绝陈旧命令。它不应在硬时序路径内等待神经推断。
将视界与 机器人动作分区指南进行协调。日志预测时间、执行前缀和命令年龄。如果推理错过截止日期,选择测试过的备选方式,如暂停、减速或切换到更安全状态,而不是重放任意的旧动作。
在现实压力下验证时机
将代表性的摄像头、日志记录、网络、地图和用户界面工作负载协同运行。调整温度、功率模式、动态形状、对象数量和后台流量。在测量机器人响应的同时,注入丢帧、延迟数据包和推理超载。
保持版本管理延迟预算,为每个阶段设定目标和测量分布。模型、预处理、中间件、驱动、固件或计算变更后重新检查。阶段优化应仅在传感器到执行器路径和任务结果全面改善时被接受。
评估“机器人推理延迟:从相机曝光到执行器指令”时,还应保存模型版本、机器人配置、标定文件、测试日期和全部试验记录。把成功、失败、恢复与人工介入放在同一份数据中,才能区分模型能力、系统接口和现场流程造成的差异。
成本评估除了设备与算力,还要记录数据采集、工程调试、安全措施、维护、停机和人员培训。只有把这些持续投入与单位成功任务的价值比较,才能判断方案是否适合扩大。
上线后仍要持续检查分布变化、传感器漂移、机械磨损和人工接管原因。监测结果应能触发降级、停止与重新验证流程,并为下一轮数据采集和模型更新留下可追溯记录。
最终结论应明确写出已知限制、尚未验证的场景和下一项可证伪的实验,使后续团队能够沿着证据继续推进。
实际项目还应指定数据、模型、控制器和安全流程的负责人,并预先定义回滚条件。责任边界、审批记录与变更日志越清楚,故障发生后越容易停止扩散、定位原因并安全恢复。
- 时间戳、物理捕获和命令应用。
- 在每个阶段都保持序列身份。
- 分开队列等待,主机工作和设备工作。
- 报告延迟尾部、吞吐量和数据老化情况。
- 测试过载、发热、网络丢失和备用行为。
常见问题
如果模型运行10毫秒,机器人会在10毫秒内反应吗?
不。捕获、传输、预处理、队列、后处理、通信、控制器调度和执行器响应均不在模型计算范围内。
FPS和延迟是同一个指标吗?
不。帧数是吞吐量。管道每秒可以完成很多帧,而单个帧在队列中等待并迟到机器人。
为什么平均延迟不够?
罕见的停滞可能导致最重要的物理故障。报告百分位数、最大观测值、样本计数及异常值相关条件。
旧帧可以直接丢弃吗?
通常仅限最新策略会降低年龄,但丢弃会改变时间采样和模型行为。用任务和控制器验证丢弃规则。
云推断可以用在机器人上吗?
它可以支持那些截止日期和备用条件允许网络变异的任务。测量真实路径,并拒绝超出机器人指令年龄限制的响应。
推断时序证据边界
延迟数据适用于定义的传感器、模型、硬件、软件、负载和测量边界。仅凭推断基准测试并不能证明机器人反应时间有限制。