视觉SLAM十四讲-第二讲:初识SLAM

本文主要介绍视觉SLAM十四讲中第二讲的关键内容。

第二讲:初识SLAM

一类传感器是携带于机器人本体上的,例如机器人的轮式编码器、相机、激光等等 ——通过间接测量数据推算位置,好处是对环境没有提出要求,适用于位置环境。

一类是安装于环境中的,例如前面讲的导轨、二维码标志等等。 —— 约束了外界环境,限制了使用范围

📌

单目相机是三维空间的二维投影,因此,如果想恢复三维结构,必须移动相机的视角。

因此,单目相机平移之后才能计算深度,并且无法确定真实尺度,问题的本质在于通过单张图像无法确定深度。

📌双目相机深度相机,目的在于通过某种手段测量物体距离我们的距离,回复距离信息,因此场景的三维结构可以通过单张图线回复,也就消除了尺度不确定性。

双目相机测量到的深度范围与基线相关。基线距离越大,能够测量到的就越远

双目或多目相机的缺点是配置与标定均较为复杂,其深度量程和精度受双目的基线与分辨率限制,而且视差的计算非常消耗计算资源

深度相机(又称 RGB-D 相机)右开始兴起的一种相机,它最大的特点是可以通过红外结构光或 Time-of-Flight(ToF)原理,像激光传感器那样,通过主动向物体发射光并接收返回的光,测出物体离相机的距离。区别于双目相机是采用计算的方式获得深度,深度相机是通过物理方式,避免了大量的计算。

视觉里程计只计算相邻时刻的运动,而和再往前的过去的信息没有关联。仅通过视觉里程计估计轨迹,将不可避免的出现累积漂移。每次估计都会有一定的误差,由于里程计只估计相邻时刻的运动,先前时刻的误差将会传递到下一时刻,导致一段时间后估计的轨迹不再准确。

后端优化主要指处理 SLAM 过程中噪声的问题。后端优化要考虑的问题,就是如何从这些带有噪声的数据中,估计整个系统的状态,以及这个状态估计的不确定性有多大——这称为最大后验概率估(Maximum-a-Posteriori,MAP)。

为了实现回环检测,我们需要让机器人具有识别曾到达过的场景的能力。

📌SLAM问题的数学表述

SLAM运动和观测方程.png

方程1是运动方程,方程2是观测方程

其中uk代表传感器输入,z代表传感器观测,y代表路标。

运动方程: 相机是六自由度姿态,两次位姿之间的关系相差一个旋转矩阵。

观测方程:z是在xk位置观测到yj所产生的观测数据。例如,在xk看到一个特征点,获得他的像素坐标[u,v],由三维空间点获得像素坐标,这是相机模型。