视觉SLAM主要是以视觉为传感器,解决定位与建图的问题,其主要可以分为前端、后端、回环检测和建图等四个部分,其中各个部分的作用分别为:
(1)前端:前端也称为视觉里程计,其作用是接受相机的数据,通过计算得到两帧图像之间相机的位姿变化,并将此变化传递给后端进行优化。
(2)后端:后端的作用是接受前端传过来的位姿数据,从一系列带噪声的位姿数据中估计最优的轨迹与地图。
(3)回环检测:由于后端的估计总避免不了误差,经过较长一段的时间还是会有漂移,为了保证相机在经过同一点的时候,预测的轨迹点与之前是重合的,所以需要通过回环检测检测图像的相似性,将相同的位姿点约束到同一点,减少漂移的误差。
(4)建图:建图部分是为了构建周围环境的地图,表达“我周围的环境如何”。
经过上述的四个部分,机器人就能在一个陌生的环境中知道“我在哪”以及“我周围的环境如何”,这样机器人就能完成一些高层次的任务,如导航、规划等。