一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN博客
二.激光SLAM框架学习之A-LOAM框架---介绍及其演示_goldqiu的博客-CSDN博客
三.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---1.项目文件介绍(除主要源码部分)_goldqiu的博客-CSDN博客
四.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---2.scanRegistration.cpp--前端雷达处理和特征提取_goldqiu的博客-CSDN博客
五.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---3.laserOdometry.cpp--前端雷达里程计和位姿粗估计_goldqiu的博客-CSDN博客
六.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---4.laserMapping.cpp--后端建图和帧位姿精估计(优化)_goldqiu的博客-CSDN博客
七.激光SLAM框架学习之A-LOAM框架---速腾Robosense-16线雷达室内建图_goldqiu的博客-CSDN博客
LeGO-LOAM是Tixiao Shan提出的⼀种基于LOAM的改进激光SLAM框架,主要是为了实现小车在多变地形下的定位和建图,其针对前端和后端都做了⼀系列的改进。
前端的改进有:
1. 对地⾯点进⾏分类和提取,避免⼀些异常边缘点的提取
2. 应⽤点云聚类算法,剔除了⼀些可能产生的outlier
3. 两次迭代求解前端帧间⾥程记,在不影响精度的情况下减轻计算负载,保障了嵌⼊式平台的实时性。
后端的改进有:
1. 使⽤slam关键帧的概念对后端部分进⾏了重构
2. 引⼊回环检测和位姿图优化概念,使得地图的全局⼀致性更好
框架和实物如下:
1. 首先要安装 ROS
Ubuntu 64-bit 16.04 or 18.04. ROS Kinetic or Melodic
2.安装gtsam
wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip
cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
cd ~/Downloads/gtsam-4.0.0-alpha2/
mkdir build && cd build
cmake ..
sudo make install
3.下载编译LeGO-LOAM
cd ~/catkin_ws/src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd ..
catkin_make -j1
4. 播放 bag 包运行
roslaunch lego_loam run.launch
rosbag play *.bag --clock --topic /velodyne_points /imu/data
效果如下:
5.报错解决
error: static assertion failed: Error: GTSAM was built against a different version of Eigen static_assert
说明GTSAM默认编译并没有使用系统eigen
解决办法:在CMakeLists.txt文件中if(GTSAM_USE_SYSTEM_EIGEN)判断的前边添加如下代码:
set(GTSAM_USE_SYSTEM_EIGEN ON)