# 基于激光雷达的封闭园区自动驾驶搭建--感知适配 - [基于激光雷达的封闭园区自动驾驶搭建--感知适配](#基于激光雷达的封闭园区自动驾驶搭建--感知适配) - [概览](#概览) - [前提条件](#前提条件) - [配置文件的修改](#配置文件的修改) - [启动Lidar感知](#启动lidar感知) - [1. 启动can卡](#1-启动can卡) - [2. 编译项目,启动Dreamview](#2-编译项目启动dreamview) - [3. 启动所需模块](#3-启动所需模块) - [4. 检查lidar数据是否正确](#4-检查lidar数据是否正确) - [5. 启动Lidar感知](#5-启动lidar感知) - [验证Lidar感知效果](#验证lidar感知效果) - [NEXT](#next) - [常见问题](#常见问题) - [1. 感知的输出帧率达不到10帧](#1-感知的输出帧率达不到10帧) - [2. 感知的障碍物位置与实际障碍物误差较大](#2-感知的障碍物位置与实际障碍物误差较大) ## 概览 该用户手册旨在帮助用户完成激光雷达感知适配,实现Lidar感知 ## 前提条件 1. 正确完成了[循迹搭建--车辆循迹演示](../Waypoint_Following/start_waypoint_following_cn.md) 2. 正确完成了[基于激光雷达的封闭园区自动驾驶搭建--感知设备集成](sensor_integration_cn.md) 3. 正确完成了[基于激光雷达的封闭园区自动驾驶搭建--感知设备标定](sensor_calibration_cn.md) ## 配置文件的修改 |序号 | 待修改文件 | 修改内容 | |---|---|---| | 1 | `modules/common/data/global_flagfile.txt` | 添加`--half_vehicle_width=0.43` | ## 启动Lidar感知 把车辆开到户外,启动lidar感知 ### 1. 启动can卡 进入can卡目录启动can卡,用以下命令启动 cd ~/SocketCan/ bash start.sh ### 2. 编译项目,启动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 ### 3. 启动所需模块 - 在浏览器中打开`(http://localhost:8888)`,选择模式为`Dev Kit Debug`, 根据车辆铭牌信息选择对应的车型(详情见下表),在Module Controller标签页启动Canbus、GPS、Localization、Transform模块。 | 铭牌信息 | 车型选择 | |---|---| | Apollo D-KIT Lite | dev_kit | | Apollo D-KIT Standard | dev_kit_standard | | Apollo D-KIT Advanced(NE-S)| dev_kit_advanced_ne-s | | Apollo D-KIT Advanced(SNE-R) | dev_kit_advanced_sne-r | ![lidar_adaptation_dreamview1](images/lidar_adaptation_dreamview4.png) - 定位模块启动后,需要接收定位数据,需要等待约1分钟左右。打开新的终端,并使用`bash docker/scripts/dev_into.sh`命令进入docker环境,在新终端中输入`cyber_monitor`命令查看`tf`、`tf_static`、`/apollo/localization/pose`数据,这三个数据在cyber_monitor中均显示为绿色代表定位模块启动成功 ![lidar_integration_localization_check](images/lidar_integration_localization_check.png) - 在dreamview中启动`lidar`模块 ![lidar_integration_start_lidar](images/lidar_integration_start_lidar.png) ### 4. 检查lidar数据是否正确 - 使用`cyber_monitor`,查看激光雷达相关channel是否正常输出,并使用上下方向键选择channel,使用右方向键查看channel详细数据。(关于cyber_monitor更详细使用,请参考[CyberRT_Developer_Tools](../../cyber/CyberRT_Developer_Tools.md)) - 单激光雷达用户用户,请检查如下channel是否正常输出 |序号 | channel | 帧率 | |---|---|---| | 1 | `/apollo/sensor/lidar16/PointCloud2` | 10Hz | | 2 | `/apollo/sensor/lidar16/Scan` | 10Hz | | 3 | `/apollo/sensor/lidar16/compensator/PointCloud2` | 10Hz | ![lidar_integration_cyber_monitor](images/lidar_integration_cyber_monitor.png) - 三激光雷达用户用户,请检查如下channel是否正常输出 |序号 | channel | 帧率 | |---|---|---| | 1 | `/apollo/sensor/lidar16/back/PointCloud2` | 10Hz | | 2 | `/apollo/sensor/lidar16/left/PointCloud2` | 10Hz | | 3 | `/apollo/sensor/lidar16/right/PointCloud2` | 10Hz | | 4 | `/apollo/sensor/lidar16/fusion/PointCloud2` | 10HZ | | 5 | `/apollo/sensor/lidar16/compensator/PointCloud2` | 10Hz | ### 5. 启动Lidar感知 在dreamview中启动`lidar perception`模块,使用`cyber_monitor`查看`/apollo/perception/obstacles`是否正常输出,并在dreamview上查看障碍物信息: ![lidar_adaptation_dreamview3](images/lidar_adaptation_dreamview3.png) ## 验证Lidar感知效果 查看车前方10米处运动的人或者自行车(自行车上要有人),在DreamView上查看障碍物颜色以及位置速度信息(自行车青蓝色,行人黄色,车辆绿色),如下图所示: ![lidar_adaptation_dreamview2](images/lidar_adaptation_dreamview2.png) `/apollo/perception/obstacles`的数据如下图所示: ![lidar_adaptation_obstacles1](images/lidar_adaptation_obstacles1.png) ![lidar_adaptation_obstacles2](images/lidar_adaptation_obstacles2.png) 如果在dreamview上能看到障碍物并且`/apollo/perception/obstacles`有障碍物信息,则开环测试通过。 ## NEXT 现在,您已经完成激光雷达感知适配,接下来可以开始[封闭园区自动驾驶搭建--规划适配](planning_configuration_cn.md) ## 常见问题 ### 1. 感知的输出帧率达不到10帧 * 建议使用 `bash apollo.sh build_opt_gpu` 编译Apollo工程 ### 2. 感知的障碍物位置与实际障碍物误差较大 * 确认localization信号状态,保证`/apollo/sensor/gnss/best_pose`中`sol_type` 选项显示为`NARROW_INT` * 保证各个传感器外参文件准确