1. 视觉SLAM
优势:结构简单、成本低廉、可提取语义信息
劣势:移动累计误差,空旷环境及强光敏感
方法代表算法场景概述直接法LSD-SLAM(2014), DSO(2017)使用特征稀疏、实时性要求高的场景直接使用像素块计算关键点,不计算描述子,利用像素块的移动计算相机移动,避免计算每个特征点的描述子,简化计算特征点法ORB-SLAM(2015), ORB-SLAM2(2017) , ORB-SLAM3(2021)适用于特征丰富、需要高鲁棒性的场景获取图像特征点并计算特征点的描述子实现自动匹配,计算精度高但耗时长半直接法改进ORB-SLAM(2019)一般场景融合直接法和特征点法,结合ORB-SLAM和DSO,构建全局一致性地图深度学习法DeepVIO计算资源有限且环境复杂的场景使用CNN直接从原始图像中提取关键特征、预测位姿2. 雷达SLAM
激光 SLAM 按照维度可分为 2DSLAM和 3D-SLAM。激光雷达能够提供高
精度的距离数据,使得激光 SLAM 在复杂环境下的定位和建图具有较高的准确性
和稳定性。
2.1 2D-SLAM
2D-SLAM 构建的地图主要形式为栅格地图,将环境分割成网格,每个网格表
示一个特定区域的状态。
2D-SLAM方法代表算法概述扩展卡尔曼滤波EKF-SLAM(199x)非线性优化及估计轨迹和环境地图粒子滤波Fast-SLAM(2003)通过粒子集合来估计机器人轨迹,适用于复杂环境粒子滤波GMapping根据环境特则会那个和机器人的运动情况,动态调整粒子数量图优化Karto使用非迭代Cholesky求解器和回环检测点云配准Hector将当前帧与已有地图数据构建误差函数图优化Cartographer基于Hector基础上,引入submap概念,并采用分支界限法实现搜索优化2.2 3D-SLAM
3D-SLAM 以点云数据的形式表示环境,地图主要由激光雷达采集到的点云构建而成。
3D-SLAM方法代表算法概述特征点法LOAM(2014)将定位和见图分开处理,根据点的曲率计算平面光滑度作为特征信息指标特征点法LeGO-LOAM(2018)基于LOAM增加回环检测,并拆分为分割、特征提取、激光里程计、建图四部分因子图LIO-SAM(2020)基于LeGO-LOAM增加IMU和GPS信息深度学习法SegMap, SuMa利用点云的语义分割剔除动态点,并生成带语音标签的点云地图3. 多传感器融合
基于激光雷达、视觉模块、 IMU 模块,通过紧耦合与松耦合的方式提高SLAM算法的鲁棒性。在耦合系统的数据融合相对
独立,每个模块独立运行不过度依赖其他模块;在紧耦合系统中,传感器数据互相之间融合的更加密切和复杂,也同时也提供了更高的精度和鲁棒性。
算法概述改进GMapping引入深度学习的闭环检测,例子退化问题选择性重采样和KLD采样交替进行LVI-SAM(2021)基于平滑化和映射实现的激光-视觉-惯导紧耦合的里程计框架,相当于在LIO-SAM基础上耦合了视觉,即耦合LIS(Lidar-IMU子系统)和VIS(Vision-IMU子系统),其中VIS采用VINS-MONO传感器算法时间开源Lidar + IMUFast-LIO22022是Fast-LIO2021是One Thing One Click2020否Lidar + Odometry + IMUGR-LOAM2020否Lidar + IMU + GPS + RGBDPLD-VINS2020否3D Lidar + GPS + IMUNes-AD2020否Lidar + Infrared CameraDvl-slam2020否Lidar + Camera + IMUR3LIVE2021是R2LIVE2021是LVI-SAM2020否Lidar + Camera + IMU + GPSRtms-AL3D2020否Camera + IMUDM-VIO2022是Vins-Mono2021否