1. ROS2 Humble与rviz2地图显示概述
在机器人开发领域,实时可视化环境地图是算法调试和系统验证的关键环节。ROS2 Humble作为当前LTS版本,其rviz2工具链对三维地图的支持有了显著改进。最近在部署Fast LIO2等SLAM算法时,发现不少开发者卡在最终的地图可视化环节——明明已经成功建图,却无法在rviz2中正确显示点云或栅格数据。本文将基于Ubuntu 22.04环境,详解从地图生成到rviz2渲染的完整链路。
这个流程的核心在于理解ROS2中地图数据的生命周期:建图节点(如cartographer或Fast LIO2)发布PointCloud2或OccupancyGrid消息 → 通过TF树建立坐标系关联 → rviz2订阅话题并选择合适的显示插件。常见问题往往出在坐标系设置、消息类型匹配或QoS策略配置这三个环节。下面我们以最常见的点云地图为例,拆解每个步骤的技术细节。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与基础配置
2.1 系统环境要求
推荐使用纯净的Ubuntu 22.04系统,已经通过apt安装ROS2 Humble基础包:
bash复制sudo apt install ros-humble-desktop
验证rviz2能否正常运行:
bash复制ros2 run rviz2 rviz2
若出现黑屏或闪退,可能需要检查显卡驱动和OpenGL支持:
bash复制glxinfo | grep "OpenGL version"
2.2 建图功能包安装
以Fast LIO2为例,需要从源码编译安装:
bash复制mkdir -p ~/fastlio_ws/src
cd ~/fastlio_ws/src
git clone https://github.com/hku-mars/FAST_LIO.git
cd FAST_LIO
git checkout ros2
cd ../..
rosdep install --from-paths src --ignore-src -r -y
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
注意:不同建图算法输出的消息类型可能不同。Fast LIO2默认发布sens
