Ubuntu 22.04 环境下 ROS2 Humble 复现 FAST-LIVO2 实战指南
在 Ubuntu 22.04 系统上基于 ROS2 Humble 版本部署 FAST-LIVO2,涉及 CMake 版本控制、Livox 驱动编译及数据集转换等关键环节。以下是经过验证的完整流程与避坑细节。
环境准备
- 操作系统:Ubuntu 22.04
- ROS 版本:Humble Hawksbill
- CMake 版本:建议 3.27(后续编译更稳定)
1. 安装 ROS2
直接运行 Fishros 安装脚本即可,无需手动配置源。
wget http://fishros.com/install -O fishros && . fishros
安装完成后,通过海龟仿真器验证环境:
# 启动海龟节点
ros2 run turtlesim turtlesim_node
# 新开终端控制移动
ros2 run turtlesim turtle_teleop_key
若能看到小海龟响应,说明 ROS2 基础环境正常。
2. 工作空间配置
由于之前可能配置过 Conda 环境,需先关闭自动激活,避免依赖冲突。
conda config --set auto_activate_base false
编辑 ~/.bashrc,将系统路径优先加入环境变量:
echo 'export PATH=/usr/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
2.1 安装 Livox SDK2 与驱动
创建工作空间并克隆源码。注意:必须使用 git clone 递归下载,压缩包会导致分支缺失从而无法运行 launch 文件。
mkdir -p ~/fast_ws/src
cd ~/fast_ws/src
git clone https://github.com/Livox-SDK/Livox-SDK2.git --recursive
git clone https://github.com/Livox-SDK/livox_ros_driver2.git --recursive
单独编译 Livox SDK2:
cd ~/fast_ws/src/Livox-SDK2
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
2.2 升级 CMake 至 3.27
旧版 CMake 可能导致编译报错,建议手动升级。
cmake --version
sudo apt remove --purge cmake
sudo apt autoremove
cd ~
wget https://github.com/Kitware/CMake/releases/download/v3.27.9/cmake-3.27.9.tar.gz
tar -zxvf cmake-3.27.9.tar.gz
cd cmake-3.27.9
./bootstrap --prefix=/usr/local/cmake
make -j$(nproc)
sudo make install
更新环境变量以指向新版本:
echo 'export PATH="/usr/local/cmake/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
3. 编译 FAST-LIVO2
安装 Sophus 依赖并克隆主项目代码:
sudo apt install ros-humble-sophus
cd ~/fast_ws/src
git clone https://github.com/integralrobotics/rpg_vikit.git
git clone https://github.com/integralrobotics/FAST-LIVO2.git --recursive
开始构建 driver 和主程序:
cd ~/fast_ws/src/livox_ros_driver2
source /opt/ros/humble/setup.sh
./build.sh humble
编译成功后,检查功能包是否存在:
source ~/fast_ws/install/setup.bash
ros2 pkg list | grep livo
若输出包含 fast_livo 和 livox_ros_driver2,则依赖安装无误。
4. 数据复现与运行
从官方资源获取测试数据集(如 Retail_Street.bag),并进行格式转换。
4.1 数据包转换
将 ROS1 bag 转换为 ROS2 格式。转换后需修改生成的 metadata.yaml 中的消息类型定义,确保与当前 ROS2 环境兼容。
4.2 启动映射
在终端中执行以下命令启动 mapping 任务:
source ~/fast_ws/install/setup.bash
ros2 launch fast_livo mapping_avia.launch.py use_rviz:=True
新开终端播放 bag 包:
source ~/fast_ws/install/setup.bash
ros2 bag play -p Retail_Street
此时 Rviz 中应能实时显示点云地图,即表示复现成功。
参考资源:


