经典的SLAM框架图
基本流程
- 传感器信息读取。在视觉 SLAM 中主要为相机图像信息的读取和预处理。如果在机器人中,还可能有码盘、惯性传感器等信息的读取和同步。
- 视觉里程计 (Visual Odometry, VO)。视觉里程计任务是估算相邻图像间相机的运动,以及局部地图的样子。VO 又称为前端(Front End)。
- 后端优化(Optimization)。后端接受不同时刻视觉里程计测量的相机位姿,以及回环检测的信息,对它们进行优化,得到全局一致的轨迹和地图。由于接在 VO 之后,又称为后端(Back End)。
- 回环检测(Loop Closing)。回环检测判断机器人是否曾经到达过先前的位置。如果检测到回环,它会把信息提供给后端进行处理。
- 建图(Mapping)。它根据估计的轨迹,建立与任务要求对应的地图。
相机介绍
- 单目相机:是三维空间的二维投影,无法通过单张照片恢复三维结构,必须移动相机视角。
缺点 :平移之后才能计算深度,以及无法确定真实尺度。 - 双目相机:类似人眼,缺点是计算需要大量的计算才能够估计每个像素的深度。
- RGB-D相机:可以通过红外结构光或 Time-of-Flight(ToF)原理,像激光传感器那样,通过主动向物体发射光并接收返回的光,测出物体离相机的距离。
目前常用的 RGB-D 相机包括 Kinect/Kinect V2、Xtion live pro、R