自动驾驶演示
该用户手册旨在帮助用户完成基于 Camera 感知的封闭园区自动驾驶。
前提条件
- 完成 基于摄像头的封闭园区自动驾驶搭建--感知设备集成。
- 完成 基于摄像头的封闭园区自动驾驶搭建--感知适配。
- 完成 封闭园区自动驾驶搭建--虚拟车道线制作。
- 完成 封闭园区自动驾驶搭建--规划适配。
- 确保在道路平整、车少人少等相对安全的情况下实验。
- 确保至少两人操作,一人操作车辆作为安全员,一人操作自动驾驶,安全员做好随时接管准备。
启动流程
1. 编译项目,启动 DreamView
进入 docker 环境,用 GPU 编译项目,启动 DreamView。
cd /apollo
bash docker/scripts/dev_start.sh
bash docker/scripts/dev_into.sh
bash apollo.sh build_opt_gpu
bash scripts/bootstrap.sh2. 启动所需模块
- 在浏览器中打开
(http://localhost:8888)。 - 根据实际情况选择模式。
- 根据车辆铭牌信息选择对应的车型,并选择相应高精地图。
- 在 module Controller 标签页启动 Canbus、Camera、GPS、Localization、Transform 模块。

3. 检查各模块 channel 是否正确
在 docker 中输入 cyber_monitor 命令并检查以下 channel。
- 使用
上下方向键选择 channel, - 使用
右方向键查看 channel 详细信息。
关于 cyber_monitor 更详细使用,参见 [CyberRT_Developer_Tools](Apollo_Doc_CN_6_0/上机使用教程/实时通信框架CyberRT的使用/CyberRT介绍.md "_self"))。
|channel_name | 检查项目 |
|---|---|
| /apollo/localization/pose| 确保能正常输出数据 |
|/apollo/sensor/gnss/best_pose | 确保能正常输出数据、sol_type: 选项显示为NARROW_INT |
| /apollo/sensor/camera/front_6mm/image | 确保能正常输出数据、帧率在15帧左右|
|/tf|确保能正常输出数据|
|/tf_static|确保能正常输出数据|
|/apollo/canbus/chassis|确保能正常输出数据|
|/apollo/canbus/chassis_detail|确保能正常输出数据|
4. 启动 Camera 感知
在 DreamView 中启动 Camera Perception 模块,使用 cyber_monitor 查看/apollo/perception/obstacles是否正常输出,并在 DreamView 上查看障碍物信息:

5. 感知验证
使用 cyber_monitor 查看 /apollo/perception/obstacles 是否正常输出,并在 DreamView 上查看障碍物信息:查看车前方 10 米处运动的人或者自行车(自行车上要有人),在 DreamView 上查看障碍物颜色以及位置速度信息(自行车青蓝色,行人黄色,车辆绿色),如下图所示:

/apollo/perception/obstacles 的数据如下图所示:


确保在 Dreamview 上能看到障碍物并且 /apollo/perception/obstacles 有障碍物信息。
6. 启动 Planning、Prediction、Routing、Control 模块
- 在
Module Controller标签页启动 Planning、Prediction、Routing、Control 模块。

- 在 Routing Editor 标签中点击 Add Point of Interest 添加一个 point.
- 选择 Send Routing Request,发送添加的 routing 点。

7. 验证 Planning、Prediction、Routing、Control 模块是否启动成功
从 DreamView 中查看,会出现一个蓝色的线以及一个红色的 stop 标志。如下图所示:

在车前方存在人或者自行车(车上有人)时,在 Tasks 标签页查看 Planning 轨迹线,如下图所示:

在 docker 环境中输入命令 cyber_monitor 并查看 Planning channel 信息:
如果出现上图所示轨迹线和 topic 信息,表示规划模块适配和开环测试通过,否则继续查看 log 信息进行调试。
8. 启动自动驾驶
在附近没有人员和车的情况下,遥控器下放权限并在 Tasks 标签页中点击 Start Auto 使车进入自动驾驶状态,在车自动驾驶这个过程中做好随时用遥控器接管,确保安全的准备。
常见问题
自动驾驶过程中车轮来回摆动,有画龙现象
这种情况一般是车辆动力学标定没有做好,建议重新进行动力学标定。
车辆换道、停止等效果不理想
在保证感知、定位稳定的前提下,可以尝试修改 planning 配置文件中的相关参数进行调整,详情参见 封闭园区自动驾驶搭建--规划适配。
文档意见反馈
如果您在使用文档的过程中,遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。