网上对于ROS2复现Fast_livo2的教程很少,本人也是历尽挫折才成功,特此记录下复现过程以及一些关键细节。
系统环境:Ubuntu22.04、ROS2 humble、cmake 3.27
一、ROS2的安装
参考上面文档,进入文档后,不需要管第一步的配置软件源,直接跳到第二步 安装ROS 接着按照提示一步一步完成即可。
wget http://fishros.com/install -O fishros && . fishros
检验ROS2是否安装成功:
ros2 run turtlesim turtlesim_node
新建终端:
ros2 run turtlesim turtle_teleop_key
可以实现对小海龟的控制即可。
二、Fast_livo2的安装与复现
由于先前复现了3DGS,配置了Conda环境,Conda处于自动激活状态,先对Conda进行关闭
conda config –set auto_activate_base false #关闭自动激活状态
打开 .bashrc文件,将下面代码加在最后面保存后退出
export PATH=/usr/bin:$PATH
conda操作方法合集
1、安装驱动livox_ros_driver2和Livox SDK2
首先打开终端,创建工作空间fast_ws
mkdir fast_ws/src
cd fast/src
# git clone二者的文件
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
sudo make install
最好安装 cmake3.27 版本,后续对fast_livo的安装以及整个过程的安装都更友好,不易报错
cmake –version # 查看cmake版本
sudo apt remove –purge cmake # 卸载旧版本
sudo apt autoremove
cmake –version # 确认卸载干净,若提示 command not found,说明已卸载成功
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
然后打开 .bashrc文件,将cmake文件安装目录写入文件
export PATH="/usr/local/cmake/bin:$PATH"
source ~/.bashrc
ubuntu 22.04 — cmake安装
2、Fast_livo2的安装
安装Sophus
sudo apt install ros-$ROS_DISTRO-sophus
克隆 rpg_vikit 和 Fast_livo2 源码
cd ~/fast_ws/src
git clone https://github.com/integralrobotics/rpg_vikit.git
git clone https://github.com/integralrobotics/FAST-LIVO2.git –recursive
对于 Fast_livo2 、livox_ros_driver2 和 Livox SDK2 的代码需要使用git clone的方式完整克隆,不能用下压缩包的方式,否则后续运行launch文件会出现错误,下面这个error搞了好久都没弄好,原因看来就是使用了压缩包的方式导致有分支缺失。


倘若 git clone 很慢或者用不了,建议重装 git 或者参考下面文档
git clone 问题
克隆好代码后即可进行构建
cd ~/fast_ws/src/livox_ros_driver2/
source /opt/ros/humble/setup.sh
./build.sh humble
出现下面这段即算成功

还可以用下面办法检测功能包是否存在,若出现fast_livo和 livox_ros_driver2就算成功
source ~/fast_ws/install/setup.bash
ros2 pkg list | grep livo

3、Fast_livo2的复现
通过 OneDrive(FAST-LIVO2-Dataset)下载 rosbag 文件,选择Retail_Street.bag进行下载
dataset数据集新链接https://pan.baidu.com/s/13W2VAEBCVJi7PF210r_nSA?pwd=wxit

将 ROS1 rosbag 转换为 ROS2 rosbag
pip install rosbags
rosbags-convert –src Retail_Street.bag –dst Retail_Street
转换完成后将 metadata.yaml 中的 msg type 修改为:

随后运行launch文件
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 # space bar controls play/pause
rviz上出现点云地图即为成功

参考链接:
Fast_livo2_ros2复现教程
FAST-LIVO2 ROS2 HUMBLE
Livox ROS Driver 2
Livox SDK2