定位技术是机器人实现自主定位导航的最基本环节,是机器人在二维工做环境中相对于全局坐标的位置及其自己的姿态。目前SLAM (Simultaneous Localization and Mapping即时定位与地图构建)是业内主流的定位技术,有激光SLAM和视觉SLAM之分。前端
什么是激光SLAM?算法
激光SLAM脱胎于早期的基于测距的定位方法(如超声和红外单点测距)。激光雷达(Light Detection And Ranging)的出现和普及使得测量更快更准,信息更丰富。激光雷达采集到的物体信息呈现出一系列分散的、具备准确角度和距离信息的点,被称为点云。一般,激光SLAM系统经过对不一样时刻两片点云的匹配与比对,计算激光雷达相对运动的距离和姿态的改变,也就完成了对机器人自身的定位。后端
激光雷达距离测量比较准确,偏差模型简单,在强光直射之外的环境中运行稳定,点云的处理也比较容易。同时,点云信息自己包含直接的几何关系,使得机器人的路径规划和导航变得直观。激光SLAM理论研究也相对成熟,落地产品更丰富。app
什么是视觉SLAM?性能
眼睛是人类获取外界信息的主要来源,视觉SLAM也具备相似特色,它能够从环境中获取海量的、富于冗余的纹理信息,拥有超强的场景辨识能力。早期的视觉SLAM基于滤波理论,其非线性的偏差模型和巨大的计算量成为了它实用落地的障碍。近年来,随着具备稀疏性的非线性优化理论(Bundle Adjustment)以及相机技术、计算性能的进步,实时运行的视觉SLAM已经再也不是梦想。优化
一般,一个视觉SLAM系统由前端和后端组成。前端负责经过视觉增量式计算机器人的位姿,速度较快。后端,主要负责两个功能:spa
一是在出现回环(即断定机器人回到了以前访问过的地点附近)时,发现回环并修正两次访问中间各处的位置与姿态;图片
二是当前端跟踪丢失时,根据视觉的纹理信息对机器人进行从新定位。简单说,前端负责快速定位,后端负责较慢的地图维护。get
视觉SLAM的优势是它所利用的丰富纹理信息。例如两块尺寸相同内容却不一样的广告牌,基于点云的激光SLAM算法没法区别他们,而视觉则能够轻易分辨。这带来了重定位、场景分类上无可比拟的巨大优点。同时,视觉信息能够较为容易的被用来跟踪和预测场景中的动态目标,如行人、车辆等,对于在复杂动态场景中的应用这是相当重要的。第三,视觉的投影模型理论上可让无限远处的物体都进入视觉画面中,在合理的配置下(如长基线的双目相机)能够进行很大尺度场景的定位与地图构建。产品
一直以来,业内对激光SLAM与视觉SLAM到底谁更胜一筹,谁是将来主流趋势都有本身的见解,如下将简单从几个方面进行对比。
应用场景
从应用场景来讲,视觉SLAM 的应用场景要丰富不少。视觉SLAM 在室内外环境下均能开展工做,可是对光的依赖程度高,在暗处或者一些无纹理区域是没法进行工做的。而激光 SLAM 目前主要被应用在室内,用来进行地图构建和导航工做。
定位和地图构建精度
在静态且简单的环境中,激光SLAM定位整体来说优于视觉SLAM,但在较大尺度且动态的环境中,视觉SLAM由于其具备的纹理信息,表现出更好的效果。在地图构建上,激光 SLAM精度较高,国内思岚科技的 RPLIDAR 系列构建的地图精度可达到 2cm 左右。而视觉SLAM,好比你们常见的,也用的很是多的深度摄像机 Kinect,(测距范围在 3-12m 之间),地图构建精度约 3cm;因此激光 SLAM 构建的地图精度通常来讲比 视觉SLAM 高,且能直接用于定位导航。
易用性
激光 SLAM 和基于深度相机的 视觉SLAM 均是经过直接获取环境中的点云数据,根据生成的点云数据,测算哪里有障碍物以及障碍物的距离。可是基于单目、双目、鱼眼摄像机的 视觉SLAM 方案,则不能直接得到环境中的点云,而是造成灰色或彩色图像,须要经过不断移动自身的位置,经过提取、匹配特征点,利用三角测距的方法测算出障碍物的距离。
除了上面几点以外,在探测范围、运算强度、实时数据生成、地图累计偏差等方面,激光 SLAM 和视觉 SLAM 也会存在必定的差距。
注:左为 Lidar SLAM,右为 视觉SLAM,数据来源:KITTI
能够明显看出,对于同一个场景,视觉SLAM 在后半程中出现了误差,这是由于累积偏差所引发的,因此 视觉SLAM 要进行回环检验。
整体来讲,激光 SLAM 是目前比较成熟的机器人定位导航技术,而视觉 SLAM是将来研究的主流方向。将来,多传感器的融合是一种必然的趋势。取长补短,优点结合,为市场打造出真正好用的、易用的 SLAM 方案。
本文来来源于:http://www.slamtec.com/cn/New...