一、安装LIO-SAM
1.环境配置
默认已经安装过ros
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
安装 gtsam(如果是18.04的ubuntu直接按照官网配置,20.04见下面的链接)
sudo add-apt-repository ppa:borglab/gtsam-release-4.0
sudo apt install libgtsam-dev libgtsam-unstable-dev
catkin_make in ROS Noetic [Error] · Issue #206 · TixiaoShan/LIO-SAM · GitHub
2.下载编译代码
cd ~/catkin_ws/src
git clone https://github.com/TixiaoShan/LIO-SAM.git
cd ..
catkin_make
二、 lidar和imu的外参标定以及imu的内参标定
外参标定见我的上一个文章,这里只说一下imu内参标定
Ubuntu20.04编译并运行imu_utils,并且标定IMU-CSDN博客
这篇文章里面的第二章imu数据采集,其实就是运行imu驱动,然后录制一个bag包。其他的他都讲的很详细这里就不说了。
三、热室地图重建
修改lio-sam的config里面的params.yaml里面的lidar和imu话题以及imu内参,lidar_imu的外参等
针对密闭热室空间的重建这几个参数至关重要(因为空间里面好多相似的管道,所以对于点面特征的匹配要求很高)
实验发现:
mappingCornerLeafSize从0.1变成0.2,地图并不会发生大幅度飘逸,但是在局部区域对不齐,会有翻转和微量飘移。
mappingSurfLeafSize从0.2变为0.4,地图会直接飞走。
odometrySurfLeafSize从0.2变为0.4,效果和0.2差不多,但是会存在一定的拖影。