ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

openpilot replay回放工具完全指南:不碰真车也能调试自动驾驶

openpilot replay回放工具完全指南:不碰真车也能调试自动驾驶 openpilot replay回放工具完全指南不碰真车也能调试自动驾驶【免费下载链接】openpilotopenpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars.项目地址: https://gitcode.com/GitHub_Trending/op/openpilotopenpilot 是一个面向 300 车型的自动驾驶操作系统而它内置的replay 回放工具是官方调试自动驾驶的核心利器把真实驾驶中录制的整段数据摄像头画面、CAN 总线信号、各进程间的所有消息原封不动地在你的电脑上重新播放一遍就像实时在跑一样。无需实车、无需硬件一台笔记本即可完成复现问题、观察模型输出、调参分析的全部流程。一、为什么需要 replay 回放工具openpilot 在每次通电启动后都会把驾驶数据按1 分钟一个 segment的方式记录成路线route包含数据文件内容rlog.zst所有进程间的消息日志车辆状态、模型输出、控制指令等fcamera.hevc/ecamera.hevc/dcamera.hevc窄角道路 / 广角道路 / 驾驶舱三路摄像头视频qlog.zstqcamera.ts体积更小的降采样版本适合快速下载分析replay 工具会读取这些文件按原始时间戳把所有消息重新发布出去让 openpilot 的各组件UI、PlotJuggler、甚至 CAN 回放以为自己正在实时收数据。这正是官方开发团队日常调试自动驾驶系统用的同一套工具完整原理见 docs/concepts/logs.md。二、快速上手3 步回放 demo 路线1. 获取代码git clone https://gitcode.com/GitHub_Trending/op/openpilot cd openpilot2. 认证账号回放远程路线需要如果你要回放自己设备上传的路线先运行认证脚本获取访问权限python3 openpilot/tools/lib/auth.py3. 一键播放官方 demo 路线零硬件、零配置直接跑openpilot/tools/replay/replay --demo看到消息开始滚动说明回放已成功 ✅回放你账号下的任意路线只需把路线名传给 replayopenpilot/tools/replay/replay 5beb9b58bd12b691/0000010a--a51155e496三、replay 常用参数速查表运行replay -h可查看完整帮助以下是新手最常用的选项参数作用--demo使用官方 demo 路线无需提供路线名--auto自动从内部源、CI 源、comma API 等多个来源寻找路线--data_dir 路径回放本机存放的路线文件-x 速度调节播放速度范围 0.23 倍速-s 秒从路线的指定秒数开始播放-a/-b白名单 / 黑名单只发送或屏蔽指定服务--cabin/--wide-road额外加载驾驶舱 / 广角道路摄像头--no-loop路线播到结尾就停止默认循环播放ZMQ1环境变量改用 ZMQ 发消息UI 等组件跨进程/跨机订阅时需要回放本地路线的完整示例openpilot/tools/replay/replay 5beb9b58bd12b691/0000010a--a51155e496 \ --data_dir/path_to_routes四、可视化回放亲眼看见自动驾驶在想什么回放只是发消息真正有趣的是配合可视化工具观察。1. 调试 UI摄像头 模型输出 实时曲线replay 自带一个 pyray 写的调试界面 ui.py可以同时显示窄角摄像头实时画面神经网络模型的车道线、预测轨迹叠层雷达点与目标车辆俯视视图方向盘角、车速、加减速等 4 组实时曲线图两个终端分别运行即可openpilot/tools/replay/replay route-name cd openpilot/selfdrive/ui ./ui.py2. watch3三路摄像头同屏想同时看前方、广角和车内画面加上--cabin --wide-road参数回放再启动 watch3.pycd openpilot/tools/replay ./replay --demo --cabin --wide-road cd openpilot/selfdrive/ui ./watch3.py3. PlotJuggler专业时序数据分析tools/plotjuggler/ 提供了现成的插件把 replay 流式数据导入做图表分析openpilot/tools/replay/replay route-name openpilot/tools/plotjuggler/juggle.py --stream还支持--demo --layoutlayouts/tuning.xml直接加载官方调参布局对车辆纵向调参非常有帮助详见 tools/plotjuggler/README.md。五、进阶把 CAN 信号回放到真车上如果你手上有panda jungle硬件还可以用 can_replay.py 把录制好的 CAN 总线消息原样发给真实的 panda 设备——设备会像真的坐在车里一样工作这是做车辆移植car porting时的关键手段。流程PC 连接 jungle → 通过 OBD-C 接上设备 → 运行openpilot/tools/replay/can_replay.py route-name没有硬件的读者可以直接跳过这一节前四步已经覆盖了绝大多数调试场景。六、新手常见问题Q为什么回放不了自己上传的路线先确认执行过python3 openpilot/tools/lib/auth.py认证或用--data_dir指向本地路线目录。QUI 订阅不到 replay 发出的消息设置环境变量ZMQ1后再运行 replay让消息走 ZMQ 通道。Q只想看某一秒开始的部分用-s 秒数定位起点配合-x 2二倍速快速跳过无关路段。七、核心文件导航回放工具源码与说明openpilot/tools/replay/官方文档openpilot/tools/replay/README.md新手教程docs/how-to/replay-a-drive.md日志格式原理docs/concepts/logs.md调试 UIopenpilot/tools/replay/ui.pyCAN 回放脚本openpilot/tools/replay/can_replay.py时序分析工具openpilot/tools/plotjuggler/juggle.py一行命令replay --demo你就拥有了一个可以随时穿越回任何一段真实驾驶时光的自动驾驶沙盒——调试自动驾驶从此不需要碰真车。️【免费下载链接】openpilotopenpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars.项目地址: https://gitcode.com/GitHub_Trending/op/openpilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进