2D激光雷达和视觉相结合的同步定位与建图概述
1. 2D激光SLAM
由于激光雷达精度高、范围广,早期的 SLAM 研究往往以激光 雷达为主要的传感器。另外,早期的 SLAM采用扩展卡尔曼滤波方法估计机器人的位姿,但效果不好,对于某些强非线性系统,该方法会带来更多的截断误差,从而导致无法精准地实现定位与建图。而后基于粒子滤波的 SLAM 逐渐成 为主流,粒子采样方法可有效避免非线性问题, 但同样引出了随着粒子数增多,计算量增大的问题。
2007年,Grisetti 等提出了基于改进粒子滤波的 SLAM 方法(Gmapping),该方法通过改进的建议分布及自适应重采样技术有效地 提高了定位精度并降低了计算量,是激光 SLAM 的一个里程碑。
Konolige 等在 2010 年提出了 Karto SLAM,该方法采用图优化代替粒子滤波, 并采用稀疏点调整来解决非线性优化中矩阵直接 求解难的问题。Kohlbrecher 等在 2011年提出了 Hector SLAM,该方法不需要里程计信息,通过利用高斯牛顿方法来解决扫描匹配问题,但对传感器要求较高,需要高精度的激光雷达才能运行。
谷歌于 2016 年提出的 Cartographer。该方法将获得的每 一帧激光数据,利用扫描匹配在最佳估计位置处插入子图(Submap)中,且扫描匹配只与当前 图有关。在生成一个子图后,会进行一次局部的 回环(Loop Close),而在所有子图完成后,利用 分支定位和预先计算的网格进行全局的回环。相比于 Gmapping 和 Hector,该方案具有累积误差较低,且不需要高成本