你了解牛气冲天的SLAM技术吗?
作者:网友投稿 时间:2018-07-13 21:44
SLAM概述
SLAM:SimultaneousLocalizationandMapping,即时定位与地图构建技术。它指的是:机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的环境特征定位自身位置和姿态,再根据自身位置构建周围环境的增量式地图,从而达到同时定位和地图构建的目的。
SLAM技术的发展推动了定位(Localization)、跟踪(Tracking)以及路径规划(PathPlanning)技术的发展,进而对无人机、无人驾驶、机器人等热门研究领域产生重大影响。
我们来看看SLAM技术都在哪些领域发挥作用吧。

图1SLAM应用领域
VR/AR方面:辅助增强视觉效果。SLAM技术能够构建视觉效果更为真实的地图,从而针对当前视角渲染虚拟物体的叠加效果,使之更真实没有违和感。VR/AR代表性产品中微软Hololens、谷歌ProjectTango以及MagicLeap都应用了SLAM作为视觉增强手段。
无人机领域及机器人定位导航领域:地图建模。SLAM可以快速构建局部3D地图,并与地理信息系统(GIS)、视觉对象识别技术相结合,可以辅助无人机识别路障并自动避障规划路径,还可以辅助机器人执行路径规划、自主探索、导航等任务。曾经刷爆美国朋友圈的Hovercamera无人机,正是应用SLAM技术。国内的科沃斯、塔米扫地机通过用SLAM算法结合激光雷达或者摄像头的方法,让扫地机可以高效绘制室内地图,智能分析和规划扫地环境,从而成功让自己步入了智能导航的阵列。
无人驾驶领域:视觉里程计。SLAM技术可以提供视觉里程计功能,并与GPS等其他定位方式相融合,从而满足无人驾驶精准定位的需求。例如,应用了基于激光雷达技术LidarSlam的Google无人驾驶车以及牛津大学MobileRoboticsGroup11年改装的无人驾驶汽车野猫(Wildcat)均已成功路测。
SLAM框架
自从上世纪80年代SLAM概念的提出到现在,SLAM技术已经走过了30多年的历史。SLAM技术采用的硬件、算法也在“与时俱进”,SLAM技术框架逐渐丰富。在硬件方面,SLAM系统使用的传感器从早期的声呐,逐渐演变到后来的2D/3D激光雷达,再到单目、双目摄像机,RGBD、ToF等深度摄像机,以及与惯性测量单元(IMU)等传感器的融合。在软件算法方面,也从开始的基于滤波器的方法,如扩展卡尔曼滤波器(EKF)、粒子滤波器(PF)等,向基于优化的方法转变。
SLAM系统一般分为五个模块,系统框架如图2所示,包括:
传感器数据:主要用于采集实际环境中的各类型原始数据。包括激光扫描数据、视频图像数据、点云数据等。
视觉里程计:主要用于不同时刻间移动目标相对位置的估算。包括特征匹配、直接配准等算法的应用。
后端:主要用于优化视觉里程计带来的累计误差。包括滤波器、图优化等算法应用。
建图:用于三维地图构建。
回环检测:主要用于空间累积误差消除

图2SLAM系统框架
其工作流程大致为:
传感器读取数据后,视觉里程计估计两个时刻的相对运动(Ego-motion),后端处理视觉里程计估计结果的累积误差,建图则根据前端与后端得到的运动轨迹来建立三维地图[1],回环检测考虑了同一场景不同时刻的图像,提供了空间上约束来消除累积误差。
SLAM技术的发展
依据传感器的特点不同,SLAM技术也分为激光和视觉两个技术路线,其特点如图4所示。
激光雷达传感器
激光雷达利用激光在同一空间参考系下获取物体表面每个采样点的空间坐标,可得到一系列表达目标空间分布和目标表面特性的海量点的集合。由于激光雷达距离测量比较准确,误差模型简单,在强光直射以外的环境中运行稳定,因此点云的处理也比较容易。同时,点云信息本身包含直接的几何关系,使得机器人的路径规划和导航变得直观。激光SLAM理论研究也相对成熟,落地产品更丰富。
视觉传感器
早期的视觉SLAM基于滤波理论,其非线性的误差模型和巨大的计算量成为了它实用落地的障碍。近年来,随着具有稀疏性的非线性优化理论(BundleAdjustment)以及相机技术、计算性能的进步,实时运行的视觉SLAM已经不再是梦想。

图3SLAM两大类传感器

图4SLAM两大传感器特点
1、激光雷达SLAM发展


