1.概述
SLAM(机器人同时定位与建图):本质上是一个系统,主要分为四部分:传感器数据输入,i前端数据处理(关键帧匹配),后端数据优化(滤波器),和闭环检测。
SLAM理论中,主要解决三大问题:定位,建图,路径规划。
通过红外传感器配合深度传感器接收到的数据和预先的标定结果,可以得到环境的景深数据,以kinect为例,通过深度摄像机kinetic采集并经过一系列数据得到的深度数据,可以得到每一个像素点的三维坐标(x,y,z)。
2.定位
定位通过比较两帧图片中关键像素点之间的位移来实现。此处为相机相对姿态估计,解决这个问题最经典的方法是ICP(迭代最近点)方法。使用这个方法之前,需要,得到两帧图像之间的一组匹配点。即两帧图像上的同一个点。这就涉及到了特征点的提取和匹配。原则上,找到四组匹配点,就可以使用openCV的SolvePnPRANSAC函数或者PCL的ICP算法来求解。
R为相机的姿态,C为相机的标定矩阵。R是不断运动的,而C是每一个相机的固有参数。然后可以找到匹配点。
3.slam端优化理论
定位部分,基于相邻帧之间的匹配,一旦其中一个帧出现了偏移,由于后面帧的计算都依赖于前一个帧,这样就会有累积误差的存在。为了解决这个问题,可以多对比几个特征点并且对前几个特征点进行比较。