感知设备集成
该用户手册旨在帮助用户完成摄像头感知设备(Camera)的安装、集成及数据验证。
前提条件
完成了 循迹搭建--车辆循迹演示。
感知设备集成
1. 安装固定相机
相机应水平安装,俯仰角向下 0-2 度(向下倾斜小于 2 度,不能上仰),翻滚角误差 ±1 度(左右两侧的平齐程度),航向角误差 ±2 度,镜头保持清洁,避免影响图像采集。
2. 配置摄像头规则文件
摄像头规则文件的作用是,当 Linux 启动时,根据规则文件设置的规则,自动生成对应的软链接文件。
- 在 docker 环境外,执行如下命令,创建并编辑相机规则文件:
sudo vim /etc/udev/rules.d/99-webcam.rules - 根据自身情况,修改 rules 文件,摄像头的 rules 文件示例如下(这里只包含了 2 个摄像头的规则文件,如需用到 3 个摄像头,可参照格式自行添加):
SUBSYSTEM=="video4linux", SUBSYSTEMS=="pci", ATTR{name}=="FPD1-0100", ATTR{index}=="0", MODE="0666", SYMLINK+="camera/front_6mm", OWNER="apollo", GROUP="apollo"
SUBSYSTEM=="video4linux", SUBSYSTEMS=="pci", ATTR{name}=="FPD3-0300", ATTR{index}=="0", MODE="0666", SYMLINK+="camera/front_12mm", OWNER="apollo", GROUP="apollo"规则文件中的 ATTR{name} 值请您根据实际情况进行修改。
- 查看摄像头所接的 USB 属性信息。在 docker 环境外执行如下命令:
udevadm info --attribute-walk --name=/dev/video* - 在 docker 环境外,执行如下命令,使配置的规则文件在本地系统生效:
bash ~/apollo/docker/setup_host/setup_host.sh
sudo reboot //重启工控机3. 启动摄像头
- 检查摄像头是否被系统识别。
在摄像头与工控机正常连接的基础上,执行 ls /dev/video* 指令,查看摄像头是否被识别。
- 如果摄像头设备已经被识别,则会显示以
video开头的设备名称。 - 如果摄像头设备没有被识别,请检查摄像头与工控机的连线是否可靠。
-
检查是否存在摄像头软连接文件。
检查
/dev/camera目录是否存在,以及该目录下front_6mm、front_12mm两个软链接文件是否存在。注意:根据规则文件配置不同,可能有 1 个或多个软链接文件。
如果使用 ls /dev/video* 命令能显示摄像头设备,但不存在软链接文件或者没有 camera 文件夹,请参照上文 摄像头规则文件的配置 章节,检查规则文件是否配置正确。
- 编译项目,启动 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
```-
启动 Camera 模块。
1)在浏览器中打开
(http://localhost:8888)。2)根据实际情况选择模式。
3)根据车辆铭牌信息选择对应的车型。

4)在
Tasks标签栏下依次打开SimControl和Camera Sensor开关。注意:
Camera Sensor打开后,务必关闭SimControl。开关在 DreamView 界面的位置如下图所示:
- 验证 Camera 是否工作正常。
如果一切正常,则会在 DreamView 右下角出现摄像头采集的图像。
在 docker 环境内使用 cyber_monitor 工具,查看 /apollo/sensor/camera/front_6mm/image、/apollo/sensor/camera/front_12mm/image 是否有数据输出,且帧率是否稳定在 15 帧左右。关于 cyber_monitor 更详细使用,参见 CyberRT_Developer_Tools。
//输入如下命令启动cyber_monitor
budaoshi@in_dev_docker:/apollo$ cyber_monitorNEXT
现在,您已经完成摄像头感知设备集成,接下来可以开始 基于摄像头的封闭园区自动驾驶搭建--感知设备标定。
常见问题
规则文件修改后不显示软连接
规则文件修改后需要重启计算单元 (HW 3.0) 才能生效。
文档意见反馈
如果您在使用文档的过程中,遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。