使用Dreamview调试Apollo激光雷达感知实践
本文档旨在为开发者提供本地环境下,如何利用 Apollo 的仿真界面 Dreamview 运行 Apollo 激光雷达感知模块的说明。通过本文档,您可以学习到:
- 如何通过 Apollo 开发环境和 Dreamview 运行激光雷达感知模块。
- 如何进行点云和障碍物信息可视化。
步骤一:进入 Apollo 环境并启动 Dreamview
- 进入 Apollo Docker 环境。
./apollo.sh
- 在 Docker 环境里启动 Dreamview。
bash scripts/bootstrap.sh
如果需要关闭 Dreamview,请您执行以下命令:
./scripts/bootstrap.sh stop
步骤二:选择车型和地图
- 在浏览器中输入网址
http://localhost:8888
,打开 Dreamview。 -
选择相应的模式、车辆和地图信息。
步骤三:启动所需模块
- 修改 channel 信息。
-
修改
/apollo/modules/perception/production/dag
目录下dag_streaming_perception.dag
文件。vim /apollo/modules/perception/production/dag/dag_streaming_perception.dag
用文本编辑工具 vim 将
channel: "/apollo/sensor/lidar128/compensator/PointCloud2"
修改为channel: "/apollo/sensor/velodyne64/compensator/PointCloud2"
。
-
修改
/apollo/modules/perception/production/conf/perception/lidar
目录下velodyne128_segmentation_conf.pb.txt
文件。用文本编辑工具 vim 将
lidar2novatel_tf2_child_frame_id: "velodyne128"
修改为channel: lidar2novatel_tf2_child_frame_id: "velodyne64"
。vim /apollo/modules/perception/production/conf/perception/lidar/velodyne128_segmentation_conf.pb.txt
-
在 Module Controller 标签页启动 Perception 模块。
Perception 模块启动一般需要 2 分钟左右时间。如需确定感知模块是否已启动成功,您可以在 Docker 环境下,命令行输入:
tail -f /apollo/data/log/mainboard.INFO
该命令表示实时显示 cyber 日志的尾部。当屏幕中该日志显示如下信息时,则可以确定感知模块已启动完毕。
步骤四:下载并使用 Cyber 播放数据包
-
下载数据包。
在您本地电脑上下载 Apollo 的传感器原始数据包 demo_sensor_data.tar.xz。
-
解压下载好的数据包。
tar -xvf demo_sensor_data.tar.xz
解压后的 record 的大小为 7.6 GB。
-
将数据包复制到
/apollo/data/bag
目录下。为了在 Docker 中可以访问 record,将下载的数据包复制到
/apollo/data/bag
目录下`。 -
进入 docker 环境后,播放数据包。
cyber_recorder play -f /path/to/your_record
-
查看 channel 信息。
在 docker 环境下,用 cyber_monitor 命令,查看激光雷达相关 channel 是否正常输出,并使用上下方向键选择 channel,使用右方向键查看 channel 详细数据:
cyber_monitor
启动之后,请检查如下 channel 是否正常输出,绿色代表正常输出:
如果激光雷达感知模块启动成功,检测的障碍物信息会输出在
/apollo/perception/obstacles
通道里面,并在 Dreamview 上面可视化障碍物信息:如果以上步骤都正常执行,则可以在 Dreamview 中看见下面的画面。
步骤五:点云可视化
如果您想对点云进行可视化的查看,可以利用 CyberVisualizer 工具。CyberVisualizer 是基于 Cyber 开发的传感器原始数据可视化工具。
-
在进入 Docker 环境后,在 terminal 输入如下命令启动 CyberVisualizer。
cyber_visualizer
- 点击左上角的 Show PointCloud。
- 在左侧 Title 中,双击 PointCloud2,出现 ChannelName 和 Action。
-
点击 Action 后的 Play。
点击 Play 后,可以看见以下画面。
您可以利用鼠标对点云的视角进行放大、缩小等操作,来仔细查看点云的变化。激光雷达的感知就是对这些点云进行处理,最终实现目标识别。
文档意见反馈
如果您在使用文档的过程中,遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。