自动驾驶演示

该用户手册旨在帮助用户完成基于 Camera 感知的封闭园区自动驾驶。

前提条件

  1. 完成 基于摄像头的封闭园区自动驾驶搭建--感知设备集成。
  2. 完成 基于摄像头的封闭园区自动驾驶搭建--感知适配。
  3. 完成 封闭园区自动驾驶搭建--虚拟车道线制作。
  4. 完成 封闭园区自动驾驶搭建--规划适配。
  5. 确保在道路平整、车少人少等相对安全的情况下实验。
  6. 确保至少两人操作,一人操作车辆作为安全员,一人操作自动驾驶,安全员做好随时接管准备。

启动流程

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.sh

2. 启动所需模块

  1. 在浏览器中打开 (http://localhost:8888)。
  2. 根据实际情况选择模式。
  3. 根据车辆铭牌信息选择对应的车型,并选择相应高精地图。
  4. 在 module Controller 标签页启动 Canbus、Camera、GPS、Localization、Transform 模块。

camera_adaptation_dreamview

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 上查看障碍物信息:

camera_adaptation_dreamview

5. 感知验证

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

camera_demonstration_dreamview_obstacle

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

camera_demonstration_perception_obstacle1

camera_demonstration_perception_obstacle2

确保在 Dreamview 上能看到障碍物并且 /apollo/perception/obstacles 有障碍物信息。

6. 启动 Planning、Prediction、Routing、Control 模块

  1. 在 Module Controller 标签页启动 Planning、Prediction、Routing、Control 模块。

lidar_adaptation_dreamview1

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

lidar_adaptation_dreamview1

7. 验证 Planning、Prediction、Routing、Control 模块是否启动成功

从 DreamView 中查看,会出现一个蓝色的线以及一个红色的 stop 标志。如下图所示:

camera_demonstration_dreamview_planning1

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

camera_demonstration_dreamview_planning2

在 docker 环境中输入命令 cyber_monitor 并查看 Planning channel 信息:

camera_demonstration_planning_data

如果出现上图所示轨迹线和 topic 信息,表示规划模块适配和开环测试通过,否则继续查看 log 信息进行调试。

8. 启动自动驾驶

在附近没有人员和车的情况下,遥控器下放权限并在 Tasks 标签页中点击 Start Auto 使车进入自动驾驶状态,在车自动驾驶这个过程中做好随时用遥控器接管,确保安全的准备。

常见问题

自动驾驶过程中车轮来回摆动,有画龙现象

这种情况一般是车辆动力学标定没有做好,建议重新进行动力学标定。

车辆换道、停止等效果不理想

在保证感知、定位稳定的前提下,可以尝试修改 planning 配置文件中的相关参数进行调整,详情参见 封闭园区自动驾驶搭建--规划适配。

文档意见反馈

如果您在使用文档的过程中,遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。

感知适配数据格式