SLAM,是指同步定位与建图,定位与建图是两个相辅相成的技术,定位依赖成熟正确的地图构建,建图依赖准确的定位技术。SLAM主要包括激光雷达传感器为核心的激光SLAM和以各类相机传感器为核心的视觉 SLAM两类。
其中激光SLAM的发展时间较为悠长,其又分为2D和3D激光SLAM,2D激光试用于像扫地机器人这样的室内环境,3D激光主要通过点云实现对物体的定位,多用于无人驾驶领域。激光SLAM的定位精度较高,但是造价较贵,容易受到激光雷达探测范围干的扰而使定位丢失。激光SLAM使用最常见的算法是Gmapping,其采用粒子滤波器将进程为分解定位与建图2个线程,但是它仅包含前端设计,时间较为古老;LOAM(Lidar Odometry and Mapping in Real-time)是一种双线程设计,它包括高频率低精确度的里程计和低频率高精度的点云;Le GO-LOAM是在LOAM的基础上增加了后端模块,在原有基础上优化了地图参数。
视觉SLAM通过摄像头获取图片来实现定位与建图,按照按相机数分类,可以分为单目视觉SLAM、双目视觉SLAM、多目视觉SLAM,区别就是相机的数量不同,但是使用率较高的还是单目视觉SLAM。视觉SLAM擅长在纹理丰富的动态环境中稳定工作,但是相机由于受到光照强度影响过大,容易出现各种模糊相片的拍摄进而导致无法提取特征点而使得定位困难。视觉SLAM由视觉前端、视觉后端、回环检测组成,其中视觉前端是根据图像信息估计出相机运动初值,有基于特征点的间接法(光流法),也包括基于灰度信息的直接法(原理为根据帧间灰度值变化计算相机位姿变化获取信息);视觉后端主要是指在更大的尺度对前端参数优化,包括滤波器