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

LIO-SAM 运行全攻略(Ubuntu 20.04 实测填坑指南)

LIO-SAM 运行全攻略(Ubuntu 20.04 实测填坑指南)

在自动驾驶和机器人定位导航领域,LIO-SAM 是一款非常经典的紧耦合激光惯性里程计 SLAM 算法。但在 Ubuntu 20.04ROS Noetic 环境下跑通它,往往会遇到不少依赖库冲突和代码编译问题。本文将带你手把手避坑,快速实现算法落地。

关键词:Ubuntu 20.04, LIO-SAM, SLAM算法, ROS Noetic

一、 环境准备与基础依赖安装

首先,确保你的系统是 Ubuntu 20.04,并且已经安装了 ROS Noetic。接着安装必要的系统级依赖:

sudo apt-get install -y ros-noetic-navigationsudo apt-get install -y ros-noetic-robot-localizationsudo apt-get install -y ros-noetic-robot-state-publisher

二、 安装关键依赖:GTSAM

LIO-SAM 强烈依赖 GTSAM。这里是第一个大坑:千万不要直接通过 apt 安装,建议从源码编译 4.0.2 版本,以避免兼容性错误。

git clone https://github.com/borglab/gtsam.gitcd gtsammkdir build && cd buildcmake -DGTSAM_USE_SYSTEM_METIS=OFF -DGTSAM_WITH_TBB=OFF ..make install -j$(nproc)
LIO-SAM 运行全攻略(Ubuntu 20.04 实测填坑指南) Ubuntu  SLAM算法 ROS Noetic 第1张

图:LIO-SAM 系统架构示意图

三、 源码下载与编译

在你的 ROS 工作空间下克隆代码并编译:

cd ~/catkin_ws/srcgit clone https://github.com/TixiaoShan/LIO-SAM.gitcd ..catkin_make

四、 踩坑记录与解决方案

  • 坑1:OpenCV 版本冲突。 Ubuntu 20.04 自带 OpenCV 4,而 LIO-SAM 部分代码可能指向 OpenCV 3。解决方法:在 CMakeLists.txt 中明确指定 find_package(OpenCV 4 REQUIRED)
  • 坑2:C++ 标准报错。 建议在 CMakeLists.txt 中添加 set(CMAKE_CXX_STANDARD 14) 以保证对 GTSAM 的良好支持。
  • 坑3:PCL 报错。 若出现关于 PCL 的编译错误,检查是否安装了 libpcl-dev

五、 运行测试

下载官方提供的 Demo 数据集,运行 launch 文件:

roslaunch lio_sam run.launch# 另开终端播放数据包rosbag play casual_walk.bag

如果一切顺利,你将在 Rviz 中看到实时生成的点云地图和运动轨迹。这款 SLAM算法Ubuntu 20.04 上的表现非常稳健。

—— 本教程由 SLAM 实战爱好者整理提供