Skip to the content.

一、实验背景与目的 本次实验基于 ROS2 的 RViz 可视化工具,加载并解析自动驾驶领域经典的KITTI 数据集,实现三维激光雷达点云与多视角相机图像的同步可视化。实验目的是理解自动驾驶感知系统的多传感器数据融合逻辑,掌握 ROS2 中 RViz 工具的使用方法,以及 KITTI 数据集的结构与数据解析流程。 二、实验环境与过程

  1. 实验环境 操作系统:Windows 11 + WSL2(Ubuntu 24.04) ROS 版本:ROS 2 Humble 核心工具:RViz 可视化工具、ros2_kitti_publishers节点、KITTI 数据集(含激光雷达点云、彩色 / 灰度相机图像数据)
  2. 实验步骤 准备数据集与工作空间:将 KITTI 数据集(包含点云文件、相机图像序列)放入 ROS2 工作空间,并配置数据解析节点。 启动数据发布节点:运行ros2_kitti_publishers节点,将 KITTI 数据集中的激光雷达点云、相机图像数据以 ROS 话题的形式发布。 配置 RViz 可视化环境:打开 RViz,添加以下显示模块: PointCloud2模块,关联激光雷达点云话题,设置点云颜色按高度 / 强度映射。 Image模块,分别关联左 / 右彩色、左 / 右灰度相机图像话题,实现多视角图像同步显示。 运行并观察效果:启动数据发布节点后,RViz 中实时显示三维点云场景与相机图像,验证多传感器数据的同步性与可视化效果。 三、实验现象与原理分析
  3. 核心现象 三维激光雷达点云可视化:RViz 主窗口中显示了带有高度颜色映射的三维点云,不同颜色代表不同高度(红 / 黄为高处,绿 / 蓝为低处),清晰还原了道路、车辆、树木、建筑物等环境要素,点云的环形分布反映了激光雷达的扫描特性。 多相机图像同步显示:右侧面板同时显示了左 / 右彩色、左 / 右灰度相机图像,图像与点云场景的视角一致,验证了 KITTI 数据集的多传感器时间同步特性。 坐标系与数据匹配:RViz 中的蓝色立柱代表机器人的本体坐标系,点云与相机图像均以该坐标系为基准,实现了多传感器数据的空间对齐。
  4. 原理分析 KITTI 数据集结构:KITTI 数据集包含激光雷达点云(Velodyne HDL-64E)、彩色 / 灰度立体相机图像、GPS/IMU 数据等多源信息,所有数据均经过时间同步与空间标定,可直接用于多传感器融合算法开发。 ROS 话题数据发布:ros2_kitti_publishers节点读取数据集文件,将点云数据转换为sensor_msgs/PointCloud2消息,将图像数据转换为sensor_msgs/Image消息,并通过 ROS 话题发布,实现了数据集的 ROS 化适配。 RViz 可视化机制:RViz 通过订阅 ROS 话题,接收并解析点云与图像数据,利用 OpenGL 实现三维点云渲染与二维图像显示,同时支持坐标系变换、颜色映射等配置,为感知算法开发提供直观的调试界面。 四、实验结论 ROS2 的 RViz 工具可高效实现多传感器数据的可视化,帮助开发者直观理解激光雷达点云与相机图像的场景信息,是自动驾驶感知算法调试的核心工具。 KITTI 数据集的多传感器时间同步与空间标定特性,为多传感器融合算法的开发提供了高质量的数据基础,其数据格式与 ROS 消息的适配性良好。 激光雷达点云与相机图像的同步可视化,验证了多传感器数据融合的可行性,为后续目标检测、语义分割、SLAM 等算法的开发奠定了基础。 五、实验心得(补充版) 对自动驾驶感知系统的具象化理解:通过 RViz 同时观察点云与相机图像,我第一次直观感受到自动驾驶中 “激光雷达 + 相机” 多传感器融合的场景。点云提供了精准的三维空间信息,相机图像则提供了丰富的纹理与色彩信息,两者结合才能实现对环境的全面感知。 ROS2 在自动驾驶开发中的优势:ROS2 的话题通信机制实现了多传感器数据的解耦发布与订阅,RViz 的可视化功能则降低了算法调试的难度,这种模块化的开发方式非常适合复杂的自动驾驶系统开发。 数据预处理的重要性:实验中需要将 KITTI 数据集转换为 ROS 消息格式,这让我意识到真实自动驾驶项目中,数据预处理(如时间同步、空间标定、格式转换)是算法开发的前提,高质量的数据处理直接影响后续算法的效果。 后续拓展方向:本次实验仅实现了数据的可视化,后续可基于该数据集开发点云目标检测算法、相机 - 点云融合目标检测算法,或结合 SLAM 算法实现场景建图与定位,进一步探索自动驾驶感知系统的开发流程。