引言
你认为自动驾驶开发工程师的工作环境是什么样子的?是需要每天都待在车上调试吗?
以上三幅图分别表示:自动驾驶车辆的全貌、安全员视角、测试工程师视角
并非所有自动驾驶工程师都需要在车上进行工作
1. 自动驾驶的开发流程
自动驾驶路测工程师在执行道路测试过程中,发现自动驾驶车辆在红绿灯路口存在偶发性停车不启动的问题,那么他应该怎么办?
- 在路测工程师做路测时会开启录制数据包的功能,因此当测试工程师发现问题的时候,车辆已经把存在问题的工况所对应的数据存储下来了,测试工程师需要将数据提取并进行简单分析,之后将问题反馈给开发工程师;
- 开发工程师根据问题的实际情况一般存在两种解决方式:第一种通过数据分析(例如:硬件问题或简单的逻辑问题)直接定位问题所对应的部分进行功能调试,调试结束后就可以继续完成路测任务;第二种则是经过分析之后发现存在的问题较难解决或之前未出现,那么需要深度开发与还原,即虚拟仿真测试,在仿真层面功能测试成功后再进行路测。
2. Apollo 调试工具的使用
使用流程:
2.1 启动Dreamview
Dreamview是Apollo提供的可视化交互界面,开发者可通过Dreamview对车辆硬件、各个自动驾驶模块的状态进行实时监测与操作。同时提供PnC monitor、Console等调试工具可以快速帮助开发者实现对自动驾驶开发过程的调试。
启动步骤:
# 前提:已经安装本地Apollo-edu版本
$ cd apollo-edu
$ bash scripts/apollo_neo.sh start
$ bash scripts/apollo_neo.sh enter
$ bash scripts/bootstrap_neo.sh bootstrap
2.2 播放数据包
$ cyber_recorder play -f demo_3.5.record -l
- cyber_recorder:Apollo cyber RT提供的记录/回放工具
- play:播放数据包
- -f:后面指文件的绝对路径地址
- demo_3.5.record:Record文件用于记录从Cyber RT中的Channel发送/接收的消息
- -l:指的是循环播放
2.3 PnC Monitor
PnC Monitor 是Dreamview中内置的数据监视器,它能够将规划、控制、延迟等相关数据信息以图表的形式展示,为开发者提供友好的数据可视化体验。
2.4 Cyber Monitor
2.5 日志
3. Apollo 仿真工具的使用
使用流程:
3.1 启动Dreamview
3.2 进入SimControl模式
3.3 选择调试模块
3.4 选择仿真路径
4. Apollo仿真场景的同步
使用流程: