1 引言(Introduction)
SLAM是指利用机器人自身传感器在未知环境中同时实现自身定位与环境地图构建,其主要思想是:一方面,依靠已创建的地图信息进行自定位;另一方面,根据定位结果对地图进行更新.SLAM技术是移动机器人自主导航的核心和关键,是机器人自主导航领域研究的热点问题[1].随着计算机视觉设备及方法的快速发展,近年来视觉SLAM问题引起了学者的广泛关注[2-3].
依据所采用方法的不同,SLAM可分为基于概率框架的方法和基于图优化的方法.基于概率框架的方法出现较早,其典型代表是基于卡尔曼滤波器的 SLAM 算法 [4-5],此类方法实现简单,但存在计算量较大和误差累积的问题,因而主要用于中小场景的SLAM应用,近年出现的基于随机有限集的方法[6-7]非常具有代表性.基于图优化的方法近年来成为研究热点,最具代表性的算法包括PTAM-SLAM(parallel tracking and mapping SLAM)[8]、ORB-SLAM(orientedbrief-SLAM)[9]等,在大型场景中获得了较好效果.为了减小累积误差,闭环检测(loop closure detection)已成为视觉 SLAM 研究的热点问题[10].此外,基于深度相机的视觉 SLAM 算法 [11] 也成为近年来 SLAM 研究的重点之一.
依据所采用特征的不同,可对视觉 SLAM 算法重新进行分类.点特征[12] 在视觉 SLAM 中被广泛使用[4-5,13].点特征匹配算法成熟,适用面广.基于点特征的 SLAM 算法仍然是目前的主流研究方向.然而,基于点特征的 SLAM 算法计算量较大,以 3维点云作为环境地图描述,精度不高且存储地图所需空间较大.此外,基于点特征构建的环境地图不利于后续的场景理解及人机交互等应用,而且点特征更容易受到光线变化及阴影等环境因素的影响.在结构化的人造环境中,线段特征丰富.与点特征相比,线段特征同样易于提取 [14] 但受环境影响更小,线段特征不仅能够更好地刻画环境的结构信息,建立更高层次的环境地图,而且能够有效减少特征数量,降低计算复杂度.因此,基于线特征的SLAM 算法日益受到关注[15-18].图像中线段端点的不确定性以及线段匹配问题往往会给基于线特征的SLAM 算法带来挑战.平面特征也被一些学者用于SLAM 算法中 [19-20].上述研究均表明,线段、平面等高层次特征在 SLAM 应用中越来越受到重视.总的来说,点、线段、平面等特征在视觉 SLAM 中各有特点,点特征匹配算法稳定,适用面广.而在诸如室内或者城市等人造环境中,线段和平面特征能以相对较小的时间和空间复杂度完成 SLAM 任务.然而,目前基于线特征和平面的 SLAM 算法大都将特征单独看待,没有深入挖掘特征之间的关联和约束关系.文 [21] 提出基于点线相合的 SLAM 算法,使用线段特征描述环境信息,将点线相合的增量式地图构建方法引入粒子滤波中.文 [22]将线段、直线、消失点等特征融合用于图像解析,然而该方法还未被用于视觉 SLAM 工作中.
针对特征提取与描述子计算耗时等问题,近年来出现了直接法 SLAM 方案.随着 SVO(semidirect monocular visual odometry) [23]、LSD-SLAM(large-scale direct SLAM) [24] 等直接法 SLAM 方案的流行,直接法本身也受到越来越多的关注.与基于特征的 SLAM 方法相比,直接法可以省去计算特征和描述子的时间,只要求有像素梯度即可,无须特征点.因此,直接法可以在特征缺失的场合下使用.但因其完全依靠梯度搜索,降低目标函数来计算相机位姿,所以只适用于运动很小的应用中.
本文针对人造环境这类特定的应用场景,提出了一种基于点、线段、平面特征融合的视觉 SLAM算法——PLP-SLAM,这是一种基于特征的 SLAM方法.本文的算法将点、线段、平面特征充分融合,点特征用于对机器人当前位姿进行初始估计,线段和平面特征用来描述环境信息,同时平面特征可为线段特征提供共面的几何约束.与基于点特征的SLAM 方法相比,PLP-SLAM 计算量小,机器人的定位精度较高,环境信息更加丰富且存储所需空间更小.
2 SLAM 问 题 定 义(Definition of SLAM problem)
基于点、线、面特征融合的移动机器人单目视觉 SLAM 问题定义包括坐标系定义、状态向量、运动模型和观测模型.
2.1 坐标系定义
定义 {W} 为 3 维直角世界坐标系,{Ck} 和 {Ik}分别为 k 时刻的摄像机坐标系和图像坐标系,
{C0}与 {W} 重合.
2.2 状态向量
系统状态被定义为
暂无评论内容