1. 课程导入

在自动驾驶与机器人系统的研发过程中,车辆或机器人每天都会产生海量的运行数据。这些数据既包含传感器原始输入,也包含规划控制指令、系统状态与故障信息。如何把这些数据完整地"录下来"、稳定地"放回去"、并从中"挖出"有价值的信息,是每一个工程团队都必须解决的核心问题。Cyber RT 作为面向自动驾驶场景的高性能运行时框架,提供了一套完整的记录(Record)与回放(Replay)机制,配合数据分析工具链,构成了研发闭环中不可或缺的一环。

本课程的目标,是带领大家从零建立"记录—回放—分析"的完整工程能力。学完本课程后,你应当能够:理解 Cyber RT 记录文件的结构与通道模型;熟练使用录制与回放命令完成数据采集与复现;掌握基于记录数据的离线调试、算法回归与性能评估方法;并能够搭建一套可复用的数据分析流水线。

核心概念:通道、记录文件与回放

Cyber RT 的数据流转围绕"通道(Channel)"展开。每个通道对应一类消息,例如激光雷达点云、摄像头图像、底盘状态或规划轨迹。节点通过 Reader/Writer 在通道上收发消息,而记录模块则像一个"旁路监听器",把指定通道上的消息按时间顺序写入记录文件。

记录文件本质上是一个按时间戳组织的事件序列,每个事件包含通道名、消息类型、时间戳和序列化后的消息体。回放时,系统按照原始时间戳重新发布这些消息,使下游节点仿佛"重新经历"了一遍当时的运行过程。这种"时间可重放"的特性,是离线调试与算法回归的基础。

三个关键概念:

  • 录制(Record):将实时通道消息持久化为记录文件,强调完整性与低侵入性。
  • 回放(Replay):按原始时间轴重新发布消息,强调时序保真与可控速率。
  • 分析(Analysis):对记录数据进行解析、统计、可视化与对比,强调可量化与可复现。

整体框架:从数据采集到分析闭环

下图展示了 Cyber RT 记录回放与数据分析工程的整体框架。左侧是数据产生与录制,中间是记录文件与回放引擎,右侧是分析与应用。理解这张图,就理解了本课程的主线。

Cyber RT 记录回放与数据分析整体框架 数据源与录制 传感器通道 规划控制通道 系统状态通道 cyber_recorder record / split 记录文件与回放 .record 文件 通道 + 时间戳 + 消息 回放引擎 按时间轴重发 速率控制 暂停 / 步进 / 倍速 数据分析与应用 离线调试 复现问题场景 算法回归 版本对比验证 性能评估 时延 / 频率统计 数据挖掘 场景提取标注 分析流水线 解析 → 统计 → 可视化 → 报告 分析结论反哺采集策略与算法迭代

典型应用场景

记录回放与分析能力在实际工程中有着广泛的应用。下面通过一个表格梳理常见场景、对应手段与关注指标。

应用场景 主要手段 关注指标
路测问题复现 录制原始数据,回放至算法节点 时序一致性、消息完整性
算法版本回归 同一记录文件回放不同版本 轨迹偏差、成功率、误报率
系统性能分析 统计通道频率与处理时延 丢帧率、端到端时延
场景数据挖掘 批量解析记录,筛选关键片段 场景覆盖率、样本均衡性
仿真回灌测试 回放数据注入仿真环境 闭环稳定性、接管次数

方法流程:一次完整的记录回放分析

为了让抽象概念落地,我们用一个最小可运行的流程串起整条链路。假设你已经有一个可用的 Cyber RT 环境。

# 1. 查看当前系统中的通道
cyber_channel list

# 2. 录制指定通道到记录文件
cyber_recorder record -c /lidar/front /camera/front /chassis/status -o demo.record

# 3. 查看记录文件信息
cyber_recorder info demo.record

# 4. 按原始速率回放
cyber_recorder play -f demo.record

# 5. 以 2 倍速回放并循环
cyber_recorder play -f demo.record -r 2 -l

录制完成后,记录文件就是一份"可反复使用的实验样本"。你可以把它交给算法同学复现问题,也可以交给测试同学做回归,还可以交给数据同学做统计分析。这正是记录回放工程的价值所在:把一次性的路测,变成可复用的数据资产。

实践建议:录制时尽量明确通道清单,避免全量录制导致文件过大;回放前先用 cyber_recorder info 确认通道与时间范围,避免"放了半天没数据"。

常见误区与复盘

初学者在接触记录回放时,容易陷入几个典型误区,提前了解可以少走弯路。

  • 误区一:认为回放就是简单重发。实际上回放涉及时间轴重建、消息顺序保证和速率控制,时序错乱会直接导致算法行为异常。
  • 误区二:录制时通道越多越好。无关通道会显著增大文件体积,拖慢回放与分析效率,应按需选择。
  • 误区三:忽略消息类型与版本兼容。记录文件中的消息结构若与当前代码不一致,回放会解析失败,需保持接口版本一致。
  • 误区四:只回放不分析。回放只是手段,真正的价值在于通过分析得到可量化的结论并驱动迭代。

注意:记录文件往往包含真实道路数据,涉及隐私与合规问题。在存储、传输和共享时,应遵守团队与法规的数据管理要求。