SLAM学习笔记1:SLAM概述

前言:

        “智能车辆SLAM理论与技术”是我大三的专业选修课。出于好奇心驱使,我选了这门课。(虽然这门课和“仿生机械学”互为二选一关系,但我把它俩都选了)实际上对于我们机械和车辆专业的学生来说,SLAM是研究生阶段才会去研究的内容,32个学时只能说是浅尝辄止。尽管是入门级别的学习,出于把一种新事物弄明白的态度,我还是打算将老师所讲授的知识以及自己对《视觉SLAM十四讲:从理论到实践》这本教材的一些内容作一个梳理。

一、SLAM是什么:

1.SLAM含义:

        SLAM全称Simulation Localization and Mapping(同时定位与地图构建),它是指搭载特定传感器的主体,在没有环境先验信息的条件下,于运动过程中建立环境的模型,同时估计自己的运动如果传感器主要为相机,那就称为视觉SLAM。

        也就是说,SLAM的目的是解决两个问题:一是估计传感器自身的位置(定位),二是建立周围环境的模型(建图)。

二、其它定位技术:

        超声波定位,红外线定位,RFID定位,蓝牙定位,Zigbee定位,地磁定位,WIFI定位......

三、经典的视觉SLAM框架:

SLAM学习笔记1:SLAM概述_第1张图片

1.传感器数据:

        在视觉SLAM中主要是相机图像信息的读取和预处理。传感器可以是携带于机器人本体上的,也可以是安装于环境中的。对于相机,按照工作方式的不同,分为单目相机、双目相机和深度相机(RGB-D)三类。

(1)单目相机:

        单目相机拍摄的图像是三维空间的二维投影,丢失了场景中的一个维度(深度或距离)。要想恢复三维结构,必须改变相机的视角。我们都知道,近处的物体移动快,远处的物体移动慢,极远处的物体看上去是不动的。因此当相机移动时,物体在图像上的运动就形成了视差,通过视差就可以定量判断物体远近。

        单目SLAM估计的轨迹和地图与真实的轨迹和地图相差一个因子,即尺度,由于单目SLAM无法仅凭图像确定这个尺度,因此又称为尺度不确定性

        平移后才能计算深度以及尺度不确定性限制了单目SLAM的使用。

(2)双目相机:

        双目相机测量到的深度与基线(两个相机间的距离,类似于人的瞳距)有关,基线距离越大,能测量到的物体就越远。

        双目相机的缺陷在于需要大量的计算才能估计每一个像素点的深度。

(3)深度相机:

        深度相机可以通过红外结构光或ToF原理,像激光传感器那样,通过主动向物体发射光并接收返回的光,测出物体与相机间的距离。存在测量范围窄、噪声大、视野小、易受日光干扰等问题。

2.前端视觉里程计(VO):

        视觉里程计的任务是估算相邻图像间相机的运动以及局部地图的样子。

        视觉里程计能通过相邻帧间的图像估计相机运动,并恢复场景的空间结构。但仅凭视觉里程计估计轨迹,会不可避免地出现累积漂移,这是由于视觉里程计在最简单的情况下只估计两个图像间的运动造成的。每次估计产生的误差会传递到下一时刻,累积下来的误差会造成估计的轨迹不再准确。

        为了解决漂移问题,引入后端优化回环检测两种技术。回环检测负责把“机器人回到原始位置”这件事检测出来,后端优化则根据该信息校正整个轨迹的形状。

3.后端(非线性)优化:

        后端接受不同时刻视觉里程计测量的相机位姿以及回环检测的信息,对它们进行优化,得到全局一致的轨迹和地图。

        后端优化主要指处理SLAM过程中的噪声(测量仪器术语,指“关于被测量和供给量的不希望有的偏移“)问题。后端优化要考虑的问题是如何从这些带有噪声的数据中估计整个系统的状态,以及这个状态估计的不确定性有多大(最大后验概率估计)。

4.回环检测:

        回环检测判断机器人是否到达过先前的位置。如果检测到回环,它会把信息提供给后端进行处理。

        回环检测又称闭环检测,主要解决位置估计随时间漂移的问题。所谓回环检测,通俗地理解就是用某种手段,让机器人知道“回到了原点”这件事,或者把“原点”识别出来,再把位置估计值拉过去,就可以消除漂移了。

5.建图:

        根据估计的轨迹,建立与任务要求对应的地图。

        建图指构建地图的过程。地图是对环境的描述,地图的形式随SLAM的应用场合而定,大体上可以分为度量地图拓扑地图两类。

(1)度量地图:

        度量地图强调精确地表示地图中物体的位置关系,通常用稀疏稠密对其分类。稀疏地图进行了一定程度的抽象,仅表达一部分具有代表意义的东西(称之为路标),稀疏地图是由路标组成的地图。相对地,稠密地图着重于建模所有看到的东西。

        定位时常使用稀疏地图,导航时需要使用稠密地图。

(2)拓扑地图:

        拓扑地图强调地图元素之间的关系,由节点和边组成,只考虑节点间的连通性。

SLAM学习笔记1:SLAM概述_第2张图片

你可能感兴趣的:(SLAM初学者笔记,学习,人工智能,计算机视觉)