感知设备集成

该用户手册旨在帮助用户完成摄像头感知设备(Camera)的安装、集成及数据验证。

前提条件

完成了 循迹搭建--车辆循迹演示。

感知设备集成

1. 安装固定相机

相机应水平安装,俯仰角向下 0-2 度(向下倾斜小于 2 度,不能上仰),翻滚角误差 ±1 度(左右两侧的平齐程度),航向角误差 ±2 度,镜头保持清洁,避免影响图像采集。

2. 配置摄像头规则文件

摄像头规则文件的作用是,当 Linux 启动时,根据规则文件设置的规则,自动生成对应的软链接文件。

  1. 在 docker 环境外,执行如下命令,创建并编辑相机规则文件:
sudo vim /etc/udev/rules.d/99-webcam.rules 
  1. 根据自身情况,修改 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} 值请您根据实际情况进行修改。

  1. 查看摄像头所接的 USB 属性信息。在 docker 环境外执行如下命令:
udevadm info --attribute-walk --name=/dev/video* 
  1. 在 docker 环境外,执行如下命令,使配置的规则文件在本地系统生效:
bash ~/apollo/docker/setup_host/setup_host.sh  
sudo reboot  //重启工控机

3. 启动摄像头

  1. 检查摄像头是否被系统识别。

在摄像头与工控机正常连接的基础上,执行 ls /dev/video* 指令,查看摄像头是否被识别。

  • 如果摄像头设备已经被识别,则会显示以 video 开头的设备名称。
  • 如果摄像头设备没有被识别,请检查摄像头与工控机的连线是否可靠。
  1. 检查是否存在摄像头软连接文件。

    检查 /dev/camera 目录是否存在,以及该目录下 front_6mm、front_12mm 两个软链接文件是否存在。

    注意:根据规则文件配置不同,可能有 1 个或多个软链接文件。

如果使用 ls /dev/video* 命令能显示摄像头设备,但不存在软链接文件或者没有 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.sh 
```
  1. 启动 Camera 模块。

    1)在浏览器中打开(http://localhost:8888)。

    2)根据实际情况选择模式。

    3)根据车辆铭牌信息选择对应的车型。

    1.png

    4)在 Tasks 标签栏下依次打开 SimControl 和 Camera Sensor 开关。

    注意:Camera Sensor 打开后,务必关闭 SimControl。开关在 DreamView 界面的位置如下图所示:

    1.png

  2. 验证 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_monitor

NEXT

现在,您已经完成摄像头感知设备集成,接下来可以开始 基于摄像头的封闭园区自动驾驶搭建--感知设备标定。

常见问题

规则文件修改后不显示软连接

规则文件修改后需要重启计算单元 (HW 3.0) 才能生效。

文档意见反馈

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

基于激光雷达的封闭园区自动驾驶搭建感知设备标定