docs/应用实践/车辆集成教程/基于激光雷达的封闭园区自动驾驶搭建/感知设备集成.md
该用户手册旨在帮助用户完成激光雷达感知设备的安装、集成及数据验证。
完成 循迹搭建--车辆循迹演示。
激光雷达要牢靠固定安装在车顶部,建议激光雷达对地高度 1.5~1.8 米,水平放置,精度在 2 度以内。安装位置如下图:
修改工控机 IP 地址:
192.168.1.100 ,子网掩码设置为 255.255.255.0 。192.168.1.201 ,确认激光雷达的 Destination Lidar Port 为 1368,Destination Gps Port 为 10110。如果您使用的是包管理,请您按照以下步骤操作:
打开命令行终端,切换路径到 Apollo:
cd ~/apollo
输入以下命令进入 Apollo Docker 环境:
aem start #创建容器
aem enter #进入容器
buildtool build
注意:首次进入容器用
buildtool build;如果是只编译更新的模块,使用以下命令buildtool build -p 模块名。
如果您的终端如下面所示,说明您成功进入了 Apollo 的运行容器:
如果您使用的是源码,请您按照以下步骤进入 docker 环境:
打开命令行终端,切换路径到 Apollo:
cd ~/apollo #切换路径到apollo,注意cd与~/apollo之间有一个空格
输入以下命令启动 Apollo Docker 环境:
bash docker/scripts/dev_start.sh
启动 docker 环境:
bash docker/scripts/dev_into.sh
如果您的终端如下面所示,说明您成功进入了 Apollo 的运行容器:
[user@in-runtime-docker:/apollo]$
您可以通过包管理或源码方式启动 Dreamview+,请您选择一种方式按照相应命令启动 Dreamview+。
方式一:包管理方式
通过包管理方式进入 docker 环境中,在 docker 环境中执行以下命令启动 Dreamview+:
aem bootstrap start --plus
注意:
- 如果您想要停止 Dreamview+,请输入
aem bootstrap stop --plus,- 如果您想要重启 Dreamview+,请输入
aem bootstrap restart --plus。
方式二:源码方式
通过源码方式进入 docker 环境,在 docker 环境中执行以下命令启动 Dreamview+:
bash scripts/bootstrap.sh start_plus
注意:
- 如果您想要停止 Dreamview+,请输入
bash scripts/bootstrap.sh stop_plus,- 如果您想要重启 Dreamview+,请输入
bash scripts/bootstrap.sh restart_plus。
启动成功后,在浏览器输⼊ localhost:8888 ⽹址打开 Dreamview+ 界面。
(http://localhost:8888) 。GPS 、 Localization 、 Transform 模块。定位模块启动后,需要接收定位数据,需要等待约 1 分钟左右。
5)打开新的终端并进入 docker 环境。
6)在新终端中输入 cyber_monitor 命令查看 tf、tf_static、/apollo/localization/pose 数据,这三个数据在 cyber_monitor 中均显示为绿色代表定位模块启动成功。
7)在 DreamView+ 中启动 lidar 模块。
使用 cyber_monitor,查看激光雷达数据是否正常输出。
单激光雷达用户,请检查如下 channel 是否正常输出:
| 序号 | channel | 帧率 |
|---|---|---|
| 1 | /apollo/sensor/hesai40p/PointCloud2 | 10Hz |
| 2 | /apollo/sensor/hesai40p/Scan | 10Hz |
| 3 | /apollo/sensor/hesai40p/compensator/PointCloud2 | 10Hz |
注意:在目前的感知方案中,没有融合毫米波雷达数据,对于没有二次开发需求的用户可以不配置毫米波;如果您有二次开发需求,可按照本章节内容配置毫米波雷达。
毫米波雷达型号:continental AS 408-21
continental AS 408-21简介:ARS408-21 是大陆 40X 毫米波雷达传感器系列中最新推出的高端产品,可以适用于不同的应用场景。ARS 408-21 很好的处理了测量性能与高安全性之间的矛盾,可实时检测目标的距离并根据当前车速判断是否存在碰撞风险可靠;具有自动故障检测功能,可识别传感器问题,并自动输出故障码鲁棒、轻量化设计;通过使用相对简单的雷达测量技术,以及在汽车行业的深度研发和批量生产基础,可以保证产品鲁棒和轻量化性能。
continental AS 408-21传感器采用 12V 直流供电,使用 CAN 通信接口。使用时,通过如下图所示的连接线缆将传感器 CAN 通信接口与 Apollo 的 CAN1 口连接,电源接口接入12V直流电源(车辆上提供 12V 电源接线盒),注意正负极。
传感器接口及定义如下图所示:其中,
端口 1 接 12V 直流电源;
端口 8 接 GND;
端口 4 接 CAN_L;
端口 7 接 CAN_H;
毫米波雷达 CAN 接口与工控机的毫米波雷达 CAN 接口连接。
毫米波雷达要牢靠固定在车身上,连接到毫米波雷达的接头要牢靠接插。离地面高 0.5 米,不能向下倾斜,向上仰 0-2 度以内,高度误差 ±0.2 米,俯仰角误差 0-2 度(向上仰小于 2 度,不能向下倾斜),翻滚角误差 ±2 度(radar 左右两侧的平齐程度),航向角误差 ±2 度(radar 是否正对前方)。
由于只使用了前向毫米波,需要在配置文件 modules/drivers/radar/contiradar/dag/conti_radar.dag 中删除后向毫米波雷达(rear components)的相关配置。否则,由于后向毫米波雷达使用的 can 2,而我们的 socket can 没有 can 2,会导致 canbus 无法正常启动。修改后的 conti_radar.dag 文件内容如下:
module_config {
module_library : "/apollo/bazel-bin/modules/drivers/radar/conti_radar/libconti_radar.so"
components {
class_name : "ContiRadarCanbusComponent"
config {
name: "conti_radar_front"
config_file_path: "/apollo/modules/drivers/radar/conti_radar/conf/radar_front_conf.pb.txt"
}
}
}
正确启动 Apollo 及 DreamView。
根据实际情况选择模式。
根据车辆铭牌信息选择对应的车型,并打开 radar 模块开关。
使用 cyber_monitor 工具,查看 /apollo/sensor/radar/front 数据。
主要参数的含义如下表所示:
| 参数 | 含义 |
|---|---|
longitude_dist | 距目标的纵向距离 |
lateral_dist | 距目标的横向距离 |
longitude_vel | 目标的纵向速度 |
lateral_vel | 目标的横向速度 |
纵向距离(longitude_dist)/横向距离(lateral_dist)的验证:该传感器默认使用 长距离 模式,检测距离为 0.2~250m,在车辆正前方检测距离范围内,分别放置障碍物,查看 /apollo/sensor/conti_radar 话题中的 longitute_dist、lateral_dist 数据是否正常(单位:m)。下图中红色部分为长距离模式下传感器检测范围,误差在 +/-0.4m 内为正常。
纵向速度(longitude_vel)/横向速度(lateral_vel)的验证:使得目标物体以固定速度在检测范围内运动,检测数据是否在误差允许有范围内。
该传感器各项参数的测量范围及分辨率如下图所示:
现在,您已经完成激光雷达感知设备集成,接下来可以开始 基于激光雷达的封闭园区自动驾驶搭建--感知设备标定。
一般情况下只要 Lidar IP、计算单元(HW3.0)与 Lidar 连接的网口 IP 处于相同号段就可以在浏览器中打开配置网页,如果确认本地IP已经正确修改还不能打开配置页面,请确认 Lidar 的 IP 地址是否被修改,可以下载 wireshark 来查看 Lidar IP。