NDT_Mapping
使用日本名古屋大学和Tier IV主导的全栈开源自动驾驶系统Autoware提供的Mapping模块。
关于NDT原理详细的数学推倒,请参考AdamShan的博客无人驾驶汽车系统入门(十三)——正态分布变换(NDT)配准与无人车定位
或直接参考原论文The Normal Distributions Transform: A New Approach to Laser Scan Matching
Autoware的建图教程请参考:【Autoware入门教程】如何使用NDT构建点云地图
autoware-Mapping中遇到的一些问题:
- 退化场景中无法使用;
- 不能在地图中去除动态障碍物产生的噪声;
- 重定位需要给定初始值,最好使用IMU,NDT对角度比较敏感;
- 无回环检测,大环境建图会发生漂移。
LOAM算法
LOAM算法是一种的激光匹配slam方法,没有回环检测。
关于LOAM-SLAM原理深度解析请参考
https://zhuanlan.zhihu.com/p/111388877或者直接参考论文
https://www.ri.cmu.edu/pub_files/2014/7/Ji_LidarMapping_RSS2014_v8.pdf
优点:
- 新颖的特征提取方式(边缘点和平面点)
- 运动补偿(时间戳)
- 融合了scan-to-scan(odometry)和map-to-map(mapping)的思想
缺点:
- 没有后端优化,大环境建图会产生漂移
- 不能处理大规模的旋转变换(旋转向量的求解)
Lego_LOAM
LeGO-LOAM相对于LOAM的提升主要在于轻量级和地面优化。
算法分为四个模块:分割,特征提取,雷达里程计,雷达建图。
分割模块通过对一帧的点云重投影到图像中,进行地面分割,非地面点被分割出来;
特征提取模块基于分割后的点使用和LOAM一样的方法提取边缘点和平面点;
雷达里程计模块基于提取的特征点构建scan - to -scan 约束关系,使用两次LM优化,得到姿态变换矩阵;
雷达建图模块将得到的特征点进一步处理,构建 scan - map的约束关系,构建全局地图。
Lego_LOAM详细的解析可参考LeGO-LOAM和LOAM的区别与联系
或者直接参考论文LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain
Lego_LOAM与LOAM区别对比
优点:
- 在地面点丰富时比较稳定
- 轻量级
缺点:
- 在地面点缺乏时很容易崩溃
- 得到的地图比较稀疏
SC-Lego-LOAM
SC-Lego-LOAM是在Lego_LOAM的基础上新增了基于Scan_context的回环检测,其他流程完全一致,总体看来,scan context还是有一定的作用,主要是在回环检测的速度上有些许提升。
项目源码https://github.com/irapkaist/SC-LeGO-LOAM
ALOAM
LOAM的一个简化版本,没有IMU的信息,是入手激光SLAM非常简单的程序,初学者必备。其将原版LOAM代码中手写的求解旋转矩阵,欧拉角,推到LM及雅克比矩阵,改成了运用Eigen库和ceres库进行求解优化,极大的简化了代码的复杂性,非常适合初学者进行学习。
项目源码https://github.com/HKUST-Aerial-Robotics/A-LOAM
FLOAM
FLOAM是基于LOAM和ALOAM的修改版,其主要的原理和流程没有变化。首先是点云预处理、然后提取边缘和平面特征,分别进行匹配估计位姿,最后位姿融合。计算时间缩小3倍,精度也有一定提高。
源码https://github.com/wh200720041/floam
LIO-SAM
LIO-SAM是基于因子图构建的激光雷达惯性里程计,可以将大量的相对测量值、绝对测量值、回环等多种不同数据作为因子融入激光雷达惯性里程计系统中。IMU预积分的运动估计被用来去处激光雷达运动畸变,并为激光雷达惯性里程计的优化提供初值。获得的激光惯性里程计的结果反过来用作估计IMU的偏差。为了确保实时性与高性能,进行位姿优化时边缘化掉了一些旧的激光雷达数据,而不是将激光雷达点云与整个地图进行匹配。在局部范围而不是全局范围进行扫描匹配可以有效提高系统的实时性,选择性地引入关键帧和高效的滑动窗口也能提高实时性能。
代码的链接为:https://github.com/TixiaoShan/LIO-SAM
论文的链接为:https://github.com/TixiaoShan/LIO-SAM/blob/master/config/doc/paper.pdf
其他
hdl_graph_slam和BLAM测试的结果都不怎么理想。
总结
截图出自Tompson11的不同SLAM方案对比。