当前位置:首页 > 系统教程 > 正文

Ubuntu 22.04 ROS2 Fast-LIO2复现教程从零开始搭建激光SLAM算法(小白友好)

Ubuntu 22.04 ROS2 Fast-LIO2复现教程从零开始搭建激光SLAM算法(小白友好)

本教程旨在帮助初学者在Ubuntu 22.04 ROS2环境下完整复现Fast-LIO2激光SLAM算法。Fast-LIO2是一种高效、鲁棒的激光惯性里程计算法,广泛应用于机器人定位与建图。通过本文,你将掌握ROS2 Humble复现流程,并亲手运行第一个数据集,深入理解激光SLAM算法实践。无论你是SLAM新手还是想迁移到ROS2,这篇教程都能帮助你快速上手。

1. 环境准备:Ubuntu 22.04与ROS2 Humble

首先确保你的系统是Ubuntu 22.04 LTS,并配置好软件源。打开终端,依次执行以下命令安装ROS2 Humble:

    sudo apt update && sudo apt install curl -ycurl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/nullsudo apt updatesudo apt install ros-humble-desktop python3-colcon-common-extensions -y  

安装完成后,设置环境变量:

    echo "source /opt/ros/humble/setup.bash" >> ~/.bashrcsource ~/.bashrc  

2. 安装依赖库

Fast-LIO2需要Eigen3、PCL、Sophus等库。执行以下命令安装:

    sudo apt install libeigen3-dev libpcl-dev libyaml-cpp-dev libfmt-dev# 安装Sophus(需从源码编译)cd ~git clone https://github.com/strasdat/Sophus.gitcd Sophusmkdir build && cd buildcmake ..make -j4sudo make install  

3. 下载Fast-LIO2源码

创建工作空间并克隆代码:

    mkdir -p ~/fastlio2_ws/srccd ~/fastlio2_ws/srcgit clone https://github.com/Livox-SDK/livox_ros_driver2.gitgit clone https://github.com/zhangyaoyi/fast_lio2.git  

注意:livox_ros_driver2需要切换到适配ROS2的分支:

    cd livox_ros_driver2git checkout ros2  

4. 编译工作空间

使用colcon编译:

    cd ~/fastlio2_wscolcon build --symlink-install --packages-up-to fast_lio2  

如果编译过程中出现找不到Sophus的错误,请在fast_lio2的CMakeLists.txt中添加find_package(Sophus REQUIRED),并确保Sophus安装路径被识别。

5. 运行示例数据集

下载测试数据包(如Livox提供的样例),并启动launch文件。在运行之前,别忘了source工作空间:

    source ~/fastlio2_ws/install/setup.bashros2 launch fast_lio2 mapping.launch.py  

同时打开另一个终端播放bag:

    ros2 bag play your_dataset.bag  

你将在Rviz中看到实时建图效果,如下图所示:

Ubuntu 22.04 ROS2 Fast-LIO2复现教程从零开始搭建激光SLAM算法(小白友好) ROS2安装  Fast-LIO2激光SLAM Humble复现 激光SLAM算法实践 第1张

6. 常见问题与解决

  • 问题1:编译时提示缺少livox_ros_driver2。确保已正确克隆并切换到ros2分支,且在工作空间src下。
  • 问题2:运行时找不到节点。检查是否source了install/setup.bash,或者使用--packages-select单独编译。
  • 问题3:点云显示异常。检查话题名称是否匹配,可在launch文件中调整参数。

7. 结语

通过本教程,你已成功在Ubuntu 22.04 ROS2上复现了Fast-LIO2,并实践了激光SLAM算法。后续可以尝试自己的数据包,或修改参数适应不同传感器。如果你在复现过程中遇到任何问题,欢迎在评论区留言交流!