使用Dreamview调试Apollo激光雷达感知实践

本文档旨在为开发者提供本地环境下,如何利用 Apollo 的仿真界面 Dreamview 运行 Apollo 激光雷达感知模块的说明。通过本文档,您可以学习到:

  • 如何通过 Apollo 开发环境和 Dreamview 运行激光雷达感知模块。
  • 如何进行点云和障碍物信息可视化。

步骤一:进入 Apollo 环境并启动 Dreamview

  1. 进入 Apollo Docker 环境。
./apollo.sh
  1. 在 Docker 环境里启动 Dreamview。
bash scripts/bootstrap.sh

如果需要关闭 Dreamview,请您执行以下命令:

./scripts/bootstrap.sh stop

步骤二:选择车型和地图

  1. 在浏览器中输入网址 http://localhost:8888,打开 Dreamview。
  2. 选择相应的模式、车辆和地图信息。

    2021-07-13 16-50-59屏幕截图.png

步骤三:启动所需模块

  1. 修改 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"

2021-07-08 14-20-17屏幕截图.png

  • 修改 /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

2021-07-13 16-58-02屏幕截图.png

  1. Module Controller 标签页启动 Perception 模块。

    2021-07-13 17-02-39屏幕截图.png

    Perception 模块启动一般需要 2 分钟左右时间。如需确定感知模块是否已启动成功,您可以在 Docker 环境下,命令行输入:

    tail -f /apollo/data/log/mainboard.INFO

    该命令表示实时显示 cyber 日志的尾部。当屏幕中该日志显示如下信息时,则可以确定感知模块已启动完毕。

    Screenshot from 2021-06-25 17-02-23_bed4020.png

步骤四:下载并使用 Cyber 播放数据包

  1. 下载数据包。

    在您本地电脑上下载 Apollo 的传感器原始数据包 demo_sensor_data.tar.xz

  2. 解压下载好的数据包。

    tar -xvf demo_sensor_data.tar.xz

    解压后的 record 的大小为 7.6 GB。

  3. 将数据包复制到 /apollo/data/bag 目录下。

    为了在 Docker 中可以访问 record,将下载的数据包复制到 /apollo/data/bag 目录下`。

  4. 进入 docker 环境后,播放数据包。

    cyber_recorder play -f /path/to/your_record
  5. 查看 channel 信息。

    在 docker 环境下,用 cyber_monitor 命令,查看激光雷达相关 channel 是否正常输出,并使用上下方向键选择 channel,使用右方向键查看 channel 详细数据:

    cyber_monitor

    启动之后,请检查如下 channel 是否正常输出,绿色代表正常输出:

    2021-07-09 19-06-23屏幕截图.png

    如果激光雷达感知模块启动成功,检测的障碍物信息会输出在 /apollo/perception/obstacles 通道里面,并在 Dreamview 上面可视化障碍物信息:

    2021-06-17 20-24-42屏幕截图.png

    2021-06-17 20-25-20屏幕截图.png

    如果以上步骤都正常执行,则可以在 Dreamview 中看见下面的画面。

    Screenshot from 2021-07-14 12-42-23.png

步骤五:点云可视化

如果您想对点云进行可视化的查看,可以利用 CyberVisualizer 工具。CyberVisualizer 是基于 Cyber 开发的传感器原始数据可视化工具。

  1. 在进入 Docker 环境后,在 terminal 输入如下命令启动 CyberVisualizer。

    cyber_visualizer
  2. 点击左上角的 Show PointCloud
  3. 在左侧 Title 中,双击 PointCloud2,出现 ChannelNameAction
  4. 点击 Action 后的 Play

    点击 Play 后,可以看见以下画面。

    Screenshot from 2021-07-13 21-18-12.png

    您可以利用鼠标对点云的视角进行放大、缩小等操作,来仔细查看点云的变化。激光雷达的感知就是对这些点云进行处理,最终实现目标识别。

文档意见反馈

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

Apollo激光雷达感知介绍上机实践Apollo感知融合能力