基于ubuntu20.04 环境跑通LIO_SAM重定位

link

序言

作为LOAM重要的一个变种,LIO_SAM基本上算是这个系列里面知识点最全面。这个软件框架包含了去畸变、特征点提取(角点、平面点)、前端、后端、回环,同时软件框架还融合了IMU信息,可以配置融合GPS信息。当然这种紧耦合方式也有一些缺点,要求传感器的时间同步做的比较好。另外还有一些问题,比如大场景建图还是需要用submap这种形式;还比如建图需要对于动/静态的障碍物需要进行过滤等。

环境配置

我配置前已经安装好ros系统,因此默认大家也都已经安装好ros系统。

步骤1:安装依赖环境

powershell 复制代码
sudo apt-get install -y ros-noetic-navigation
sudo apt-get install -y ros-noetic-robot-localization
sudo apt-get install -y ros-noetic-robot-state-publisher

步骤2:安装gtsam库

text 复制代码
wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.2.zip
cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
cd ~/Downloads/gtsam-4.0.2/
mkdir build && cd build
cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..
sudo make install -j8

问题:进行'cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..'时,出现下图问题

解决:1、修改文件gtsam/wrap/CMakeLists.txt文件;2、修改文件gtsam/CMakeLists.txt文件


步骤3:安装LIO_SAM

text 复制代码
mkdir -p catkin_ws/src && cd ~/catkin_ws/src
git clone https://github.com/Gaochao-hit/LIO-SAM_based_relocalization.git
cd ..
catkin_make

步骤4、下载对应的数据,数据百度网盘链接(BAG_LIO_SAM)提取码:G0Y3

步骤5、运行程序LIO_SAM

text 复制代码
source devel/setup.bash
roslaunch lio_sam run.launch;

问题:运行时出现[lio_sam_imuPreintegration-2] process has died、[lio_sam_mapOptmization-5] process has died

解决:解决实际问题是库文件libmetis.so 的位置。它是一个运行时库,但是当应用程序查找它时,它的位置不在预期的目录中。在通过运行命令sudo make install -j8安装库gtsam 时,文件libmetis.so安装在/usr/local/lib/的默认位置,但是当我们启动 ros 工作区时,运行时库查看位置/opt/ros/noetic/lib/

text 复制代码
cd /usr/local/lib/
sudo mv libmetis.so /opt/ros/melodic/lib/

问题:IMU坐标系配置问题、topic名字配置出现问题

解决:按照下载数据不同配置IMU坐标系

text 复制代码
extrinsicRot: [-1, 0, 0,
                  0, 1, 0,
                  0, 0, -1]
  extrinsicRPY: [0, -1, 0,
                 1, 0, 0,
                 0, 0, 1] # casual_walk.bag
  # extrinsicRot: [1, 0, 0,
  #                 0, 1, 0,
  #                 0, 0, 1]
  # extrinsicRPY: [1, 0, 0,
  #                 0, 1, 0,
  #                 0, 0, 1] # 其他bag包

topic名称配置可以

text 复制代码
rosbag info ***.bag # 下载的bug包,将对应的topic名称写入配置文件即可。

步骤6、PCB全局地图保存,修改配置文件config/params.yaml

text 复制代码
# Export settings
savePCD: true
savePCDDirectory: "/map/" # 根据需要,配置自己的路径,路径前后都需要加"/" 

问题:对应路径下保存不了地图;

解决 :修改配置文件/opt/ros/noetic/lib/python3/dist-packages/roslaunch/nodeprocess.py

text 复制代码
# DOUBLE_TIMEOUT_SIGINT=15.0
DOUBLE_TIMEOUT_SIGINT=60.0

步骤7:运行重定位

text 复制代码
roslaunch lio_sam run_relocalize.launch

最后,经历了以上步骤后运行程序,建图效果如下:


重定位效果如下:


参考链接如下:

链接1:Ubuntu 中 gtsam 安装问题:CMake Error at wrap/CMakeLists.txt:32 (target_link_libraries): The "debug" ...

链接2:运行LIO-SAM,[lio_sam_imuPreintegration-2] process has died,[lio_sam_mapOptmization-5] process has died

链接3:LIO_SAM怎么保存地图_海的精灵的博客-CSDN博客

相关推荐
火星机器人life1 天前
ubuntu20使用自主探索算法explore_lite实现机器人自主探索导航建图
slam
Perishell5 天前
无人机避障——感知部分(Ubuntu 20.04 复现Vins Fusion跑数据集)胎教级教程
无人机·slam·建图感知
xMathematics11 天前
ORB-SLAM2学习笔记:ORBextractor::operator()函数的逐行解析
人工智能·计算机视觉·机器人·无人机·slam
大鹅同志12 天前
ROS合集(七)SVIn2声呐模块分析
slam·sonar·rov·水下slam
清 澜12 天前
《三维点如何映射到图像像素?——相机投影模型详解》
计算机视觉·机器人·自动驾驶·slam·三维重建·三维视觉·投影变换
点云SLAM21 天前
PCL点云库点云数据处理入门系列教材目录(2025年5月更新....)
计算机视觉·slam·点云配准·点云数据处理·pcl点云库·点云分割·点云识别
simple_whu25 天前
Ubuntu24.04编译ORB_SLAM的一系列报错解决
ubuntu·slam
Livan.Tang25 天前
LIO-SAM框架理解
人工智能·机器学习·slam
charlee441 个月前
详解SLAM中的李群和李代数(中)
slam·李群·李代数
ergevv1 个月前
3DGS-slam:splatam公式
slam·公式·3dgs·splatam·链式求导