SLAM学习笔记1:历史与现状

来源:互联网 发布:.com域名注册 编辑:程序博客网 时间:2024/06/05 15:33

即时定位与地图构建(Simultaneous Localization and Mapping, 即SLAM)的目的是让机器人在未知环境中持续地构建环境地图,并同时在地图中给自己定位。它可以解决机器人的两个基本问题:

1. Where am I? 

2. What can I do right here? 

这是移动机器人的基础,因为只有知道当前环境及自身状态,机器人才可以进行下一步的任务计划,执行等操作。

定位和建图两个问题相互依赖,准确的定位依赖于正确的地图,而构建正确的地图又需要准确的定位,这是一个迭代的过程。



追本溯源,先回顾一下SLAM技术发展的历史,有点琐碎,可以忽略。


概率SLAM(probabilistic SLAM)起源于1986年在旧金山举行的 IEEE Robotics and Automation Conference,这是机器人领域与人工智能领域研究结合的开端。

一致性是构建地图mapping的基本问题。Cheesman [2] 和Durrant-Whyte [3] 构建了一个统计学框架去描述landmarks之间的相关性,用于解决几何上的不确定性。他们证明了landmarks的估计位置之间具有高度相关性,并且会随着连续的观测而相关性增加。

Ayache 和 Faugeras [4] 从事了视觉导航( visual navigation ) 的早期研究。而Crowley [5] , Chatila 和 Laumond [6] 进行了基于卡尔曼滤波的声呐导航研究。这两项工作之后,里程碑式的文章被Smith等人提出 [7] 。该文章提出移动机器人在未知环境中获取landmarks的观测值,因为相同的location估计误差,这些landmarks的估计值一定是相关的。它的实现非常复杂,一致的定位和地图构建需要一个机器人pose与每一个landmark位置的联合状态(joint state),在每一次landmark观测之后更新。这需要大量的状态向量(landmark数量的平方)。

文章[7]的问题在于,忽略地图的收敛性质。假设估计的地图误差不收敛,而是无限增加的,所以研究者们只能强制令landmarks之间的相关性最小甚至没有,于是把完整的filter简化成了机器人filter上一系列解耦的landmarks。同样的,因为这些问题,当时基本上是把定位问题与地图构建问题分开处理的。

当把定位与地图构建问题结合在一起,成为单一估计问题时,理论有了新的突破。并且新理论证明了,之前研究者们所试图最小化的landmark之间的相关性,恰恰是最重要的东西,换句话说,landmark之间的相关性越强,结果表现越好。收敛性概念与即时定位建图的概念都是1995年International Symposium on Robotics中的综述文章 [8] 提出的, SLAM之前又被称为concurrent mapping and localization(CML).

目前的工作主要着眼于提升计算效率,信息融合及循环控制上。ISRR99上,Thrun把基于Kalman filter的SLAM与概率定位建图结合[9].

 之前的SLAM工作大多以激光测距仪作为主要的传感器。

进入2000年以后,随着计算机处理性能的大幅提升,以各种摄像头为传感器的SLAM逐渐成为研究新热点,并在近年开始有市场化的迹象。

视觉传感器主要分为三种:

1. 单目摄像头(Monocular Camera)

2. 双目摄像头(Binocular Camera)

3. 深度摄像头(RGB-D Camera)


深度摄像头可以通过time of flight等方法来直接获得图像及对应的深度信息,优点在于方便获得深度数据,缺点在于成本高,体积大,室外环境基本报废。

双目摄像头可以通过三角方法计算出深度信息,市面上有一些深度摄像头也是直接基于双摄像头来做的。然而双目摄像头在目标距离较远的时候会退化成单目。因此近年来大量的研究都是围绕单目进行的。

单目SLAM可以通过临近图像匹配计算出摄像头位姿的变换,在两个视角上进行三角测距又可以得出对应点的深度信息。通过这样迭代的过程可以实现定位及建图。


原理听起来很直观,然而现实环境中大量的测量噪声,计算误差造成了SLAM问题的无限复杂。于是解决不确定性问题是SLAM的核心。

不确定性问题是很多研究领域的核心,但其实并没有很多的解决办法。大多数不确定性问题都用贝叶斯网络进行建模的,所以早期的SLAM问题主要都是在贝叶斯框架下进行讨论的,在该框架下主要有两种计算方案:

1. EKF-SLAM ( extended kalman filters ). 利用拓展卡尔曼滤波器对机器人位置进行估计。

2. FastSLAM ( Rao-Blackwellized particle filters). 利用粒子滤波器进行位置的估计。

但由于基于Filter的SLAM采用了markov假设,仅考虑最近两组数据的递推关系,会导致误差累加不可恢复,因此近年来基于filter的SLAM已经基本被考虑了全局数据的Graph-based所取代:


3. Graph-Based SLAM。把SLAM问题建模成优化问题,大多采用最小二乘法进行求解。

早期的Graph based SLAM认为如果所有的landmark和所有的state都有连接,那么状态矩阵的规模将非常巨大,无法求解。但后来研究发现其实每一个state只与少量的landmark有链接,整个状态矩阵其实是稀疏(sparse)的,求解可以非常快。基于Gprah的模型不像Filter仅考虑最近的两个状态,进行局部优化,而是对之前的所有状态一起做优化,相当于一个全局优化。于是越来越多的SLAM系统转而使用Graph进行建模求解。通用的Graph SLAM求解器有GTSAM, g2o等。


关于这两种模型的深入分析网上已经有大神们写出来了,之后有时间我再加上自己的理解吧。


基于视觉传感器的地图通常分三类:

1. feature map

2. semi-dense map

3. dense map


Monocular SLAM的起源是Andrew Davision基于EKF模型的MonoSALM,随后他在oxford的师父David Murray发表了Keyframe based的PTAM,是现在大多数SLAM系统的基石。

最近两年比较流行的单目SLAM有两个,一个是TU Munich的LSD-SLAM,该工作不基于图像特征点匹配,做运动估计,而是直接提取对比图像中梯度变化明显的区域,建立semi-dense的地图。

第二个是University of Zaragoza的ORB-SLAM,该工作本质上与PTAM区别不大,但是作者通过很强的代码实现能力把该系统做成了目前功能最完善最稳定的SLAM系统。ORB-SLAM采用高速的ORB图像特征点,加入了SLAM系统中很重要的re-localizing和loop closure模块,并使用g2o进行全局误差最小化。该系统在多个公开dataset上取得了非常好的效果,经测试,在自然环境下也有一定的实用性。最近作者又放出了ORB-SLAM2,精简了环境配置的繁琐过程,安装更方便,工作更稳定,且可以不依赖ROS工作。


关于这几种SLAM的详细分析,之后再分别写出。


目前SLAM的主要问题在于:

1. 视觉特征点的稳定性与计算复杂度之间的矛盾。理论上ORB特征的质量肯定比不上SIFT/SURF,但尺度不变特征的高计算复杂度很难满足视觉SLAM的实时性需要,需要GPU进行加速计算。

2. 目前的SLAM系统建立的地图都是无意义的散点,位置不准确且并没有被很好地利用。近年来deep learning在object detection, recognition, semantic segmentation等方面大显神威,让语义地图的实现成为了可能。语义地图可以实现更稳定的data association,有希望在地图中区分出静态与动态物体,并可以在语义层面进行更高层次的场景识别。总体来说语义地图的建立是突破当前SLAM系统性能瓶颈的关键要素。


[1] Durrant-Whyte, Hugh, and Tim Bailey. "Simultaneous localization and mapping: part I." Robotics & Automation Magazine, IEEE 13.2 (2006): 99-110.

[2] Smith, Randall C., and Peter Cheeseman. "On the representation and estimation of spatial uncertainty." The international journal of Robotics Research 5.4 (1986): 56-68.

[3] Durrant-Whyte, Hugh F. "Uncertain geometry in robotics." Robotics and Automation, IEEE Journal of 4.1 (1988): 23-31.

[4] Ayache, Nicholas, and Olivier D. Faugeras. "Building, registrating, and fusing noisy visual maps." The International Journal of Robotics Research 7.6 (1988): 45-65.

[5] Crowley, James L. "World modeling and position estimation for a mobile robot using ultrasonic ranging." Robotics and Automation, 1989. Proceedings., 1989 IEEE International Conference on. IEEE, 1989.

[6] Chatila, Raja, and Jean-Paul Laumond. "Position referencing and consistent world modeling for mobile robots." Robotics and Automation. Proceedings. 1985 IEEE International Conference on. Vol. 2. IEEE, 1985.

[7] Smith, Randall, Matthew Self, and Peter Cheeseman. "Estimating uncertain spatial relationships in robotics." Autonomous robot vehicles. Springer New York, 1990. 167-193.

[8] H. Durrant-Whyte, D. Rye, and E. Nebot, “Localisation of automaticguided vehicles,” in Robotics Research: The 7th International Symposium(ISRR’95), G. Giralt and G. Hirzinger, Eds. New York: Springer Verlag,pp. 613–625, 1996.

[9] Thrun, Sebastian, Wolfram Burgard, and Dieter Fox. "A probabilistic approach to concurrent mapping and localization for mobile robots." Autonomous Robots5.3-4 (1998): 253-271.

3 1
原创粉丝点击