SLAM——综述
2021SC@SDUSC
SLAM是Simultaneous Localization and Mapping的缩写,中文译作“同时定位与地图构建 ” 。它是指搭载特定传感器 的主体,在没有环境先验信息 的情况下,于运动过程中 建立环境 的模型,同时估计自己的运动 [1]。因此SLAM问题可以描述为将一个机器人放入未知环境中的未知位置,是否有办法让机器人一边移动一边逐步描绘出此环境完全的地图,所谓完全的地图(a consistent map)是指不受障碍行进到房间可进入的每个角落。
SLAM的研究内容从硬件上主要分为两大类:激光SLAM和视觉SLAM(vSLAM)。以环境为分类标准又可以进行如下(图一)分类:
激光SLAM发展得已相对较为成熟,它的研究内容主要包括:传感器数据处理、前端配准方法、回环检测、后端优化、图优化、已知定位的建图、3D激光与视觉融合、多传感器融合。
视觉SLAM主要包括的内容则如下图所示(图二)
视觉SLAM整体流程大致可以概括为五步 [1] :
a.传感器信息读取。在视觉SLAM中主要为相机图像信息的读取和预处理。如果是在机器人中,还可能有码盘、惯性传感器等信息的读取和同步。
b.视觉里程计 (Visual Odometry,VO)。视觉里程计的任务是估算相邻图像间相机的运动,以及局部地图的样子。VO又称为前端(FrontEnd)。
c.后端优化(Optimization)。后端接受不同时刻视觉里程计测量的相机位姿,以及回环检测的信息,对它们进行优化,得到全局一致的轨迹和地图。由于接在VO之后,又称为后端(Back End)。
d.回环检测(Loop Closing)。回环检测判断机器人是否到达过先前的位置。如果检测到回环,它会把信息提供给后端进行处理。
e.建图(Mapping)。它根据估计的轨迹,建立与任务要求对应的地图。
其整体流程图大致如下(图三)
SLAM的应用很多,并且还在持续发展中:
a.室内机器人:室内机器人中的扫地机要算机器人里算是最早用到SLAM技术的一批,通过用SLAM算法结合激光雷达或者摄像头的方法,让扫地机可以高效绘制室内地图,智能分析和规划扫地环境,从而成功让自己步入了智能导航的阵列。
b.AR:一些AR公司开始整合SLAM技术,利用一个小摄像头实现VR头显空间定位。很多VR应用需要用到SLAM技术,定位只是一个feature,路径记录、3D重构、地图构建都可以是SLAM技术的输出。
c.无人机:“当然Slam能做的事情远远不止这些,包括灾区救援,包括探洞,包括人机配合甚至集群,所有的关于无人机的梦想都建立在Slam之上,这是无人机能飞(具有定位,姿态确定以后)的时代以后,无人机最核心的技术。”——一位大疆工程师徐枭涵在百度百家的撰文里坦率承认。
d.无人驾驶:Lidar Slam是指利用激光雷达作为外部传感器,获取地图数据,使机器人实现同步定位与地图构建。虽然成本高昂,但目前为止是最稳定、最可靠、高性能的SLAM方式。
Reference:
[1]高翔.视觉SLAM十四讲:从理论到实践[M].北京:电子工业出版社.2017