感知适配
更新时间:2022-05-05
该用户手册旨在帮助用户完成摄像头感知适配,实现 Camera 感知。
前提条件
步骤一:配置文件的修改
| 序号 | 待修改文件 | 修改内容 |
|---|---|---|
| 1 | modules/common/data/global_flagfile.txt |
添加--half_vehicle_width=0.43 |
步骤二:启动 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 |
确保能正常输出数据,帧率稳定在15HZ左右 |
/apollo/sensor/camera/front_12mm/image |
确保能正常输出数据,帧率稳定在15HZ左右 |
/tf |
确保能正常输出数据 |
/tf_static |
确保能正常输出数据 |
/apollo/canbus/chassis |
确保能正常输出数据 |
/apollo/canbus/chassis_detail |
确保能正常输出数据 |
4. 启动 Camera 感知
在 DreamView 中启动 Camera Perception 模块,使用 cyber_monitor 查看 /apollo/perception/obstacles 是否正常输出,并在 DreamView 上查看障碍物信息:

5. 验证 Camera 感知效果
查看车前方运动的人或者自行车(自行车上要有人),在 DreamView 上查看障碍物颜色以及位置速度信息(自行车青蓝色、行人黄色、车辆绿色),如下图所示:

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


如果在 DreamView 上能看到障碍物并且 /apollo/perception/obstacles 有障碍物信息,则开环测试通过。
NEXT
现在,您已经完成摄像头感知适配,接下来可以开始 封闭园区自动驾驶搭建--规划适配
常见问题
感知的输出帧率达不到 10 帧
建议使用 bash apollo.sh build_opt_gpu 编译 Apollo 工程。
感知的障碍物位置与实际障碍物误差较大
- 确认 localization 信号状态,保证
/apollo/sensor/gnss/best_pose中sol_type选项显示为NARROW_INT。 - 保证各个传感器外参文件准确。
文档意见反馈
如果您在使用文档的过程中,遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。