论文部分内容阅读
SLAM(同步定位和制图)算法在机器人科学中具有重要地位。在机器人导航领域,需要实时获取机器人和环境中特征物体的相对位置关系,进而建立包含机器人和环境物体的坐标系,这正是SLAM算法需要解决的问题。近年来,持续升温的AR/VR领域也需要SLAM算法来确定使用者的位置,也使得SLAM问题成为研究的热点。 在真实环境中,机器人自带的传感器总是有误差的,这导致了获取一个高精度的定位信息是困难的,通常需要对传感器数据做融合、滤波和优化处理;并且传感器数据和机器人的运动之间的关系通常并不是显而易见的;随着时间的延长,需要优化的数据也会线性增长,而优化的计算量增加更为迅速,实时获取信息的需求使SLAM问题变得更难解决;最后,在长时间使用中,误差会不断积累,需要检测运动轨迹中存在的回环来消除累计误差。 本文研究的是基于轮廓特征的单目视觉SLAM算法。在目前的视觉SLAM算法上,基本都是使用特征点作为视觉特征,但是点特征会有一些缺点,如需要特征点周围像素颜色变化有足够的复杂度,提取图像特征点计算量大等;而以轮廓作为特征可以在一定程度上缓解这些问题。和上述问题相对应,图像中的轮廓数量比特征点数量少很多,轮廓尺度变化时通常保持很多特性不变,通常不需要建图像金字塔,所以在计算量上轮廓提取会比特征点提取小很多;轮廓特征并不要求局部区域的色彩复杂度,只要有梯度差异提取出轮廓即可。 本文以轮廓为特征实现了SLAM算法。包括轮廓做帧间匹配,求解摄像机运动;以轮廓为特征,建立环境地图,并做回环检测;基于图优化框架,实现SLAM算法后端优化,求取摄像机运动轨迹。