视觉SLAM(小白版)

视觉slam从根本上其实就是为了回答两个问题:

1. 我在什么地方?——定位。

2. 周围环境是什么样?——建图。

整体视觉 SLAM 流程图如下:

视觉SLAM(小白版)_第1张图片 整体视觉 SLAM 流程图

1. 传感器信息读取。在视觉 SLAM 中主要为相机图像信息的读取和预处理。如果在机器人中,还可能有码盘、惯性传感器等信息的读取和同步。
2. 视觉里程计 (Visual Odometry, VO)。视觉里程计任务是估算相邻图像间相机的运动, 以及局部地图的样子。VO 又称为前端(Front End)。简而言之,第一是要根据摄像头回传的图像计算相机帧间运动的旋转矩阵R和平移向量t(相机是怎么运动的);第二就是估计路标点大致的空间位置坐标(深度信息)。
3. 后端优化(Optimization)。后端接受不同时刻视觉里程计测量的相机位姿,以及回环检测的信息,对它们进行优化,得到全局一致的轨迹和地图。由于接在 VO 之后, 又称为后端(Back End)。
4. 回环检测(Loop Closing)。回环检测判断机器人是否曾经到达过先前的位置。如果检测到回环,它会把信息提供给后端进行处理。当摄像头在环境中到达了自己曾经先前到达过的位置后,因为传感器和计算过程存在误差,所以通常建立出的点云图都不能做到曲线闭合。回环检测的功能便是判断相机是否回到过先前位置,从而修正误差,保证点云图与实际空间的理想。
5. 建图(Mapping)。它根据估计的轨迹,建立与任务要求对应的地图。 

 

可以把slam问题建模成一个状态估计问题,而状态估计问题的求解,与slam基本方程的具体形式,以及噪声服从哪种分布有关。

你可能感兴趣的:(slam)