论文部分内容阅读
即时定位与建图技术(SLAM,Simultaneously Localization and Mapping)是完成移动机器人自主导航任务的核心技术,机器人在未知的场景中通过传感器获取数据,并根据场景数据进行自身位姿估计,在机器人自主定位和导航时同时进行场景建图的过程。由于SLAM过程会受到传感器累积误差和环境条件的影响,闭环检测(Loop Closing)被用来判断机器人是否返回已经探索过的区域,为全局校正提供控制信息,进而提高建图的质量。由于视觉数据存在对光照条件敏感、在视觉弱特征区域难以提取出有效特征的问题,而激光点云数据可以弥补这两点不足,因此本文采用三维激光点云数据进行闭环检测研究。本文借鉴机器学习的思想,把闭环检测问题看作是一种分类问题,基于机器学习中的AdaBoost分类思想,提出一种新的三维激光点云闭环检测算法。首先,综合点云数据的几何特性和测距直方图,提出一种具有旋转不变性的三维激光点云特征向量。在对现有的三维激光点云几何特征研究的基础上,综合多项点云的几何统计特征,构成点云的第一类特征,并推导每一个特征分量的计算公式。另外引入测距直方图,根据测量环境的具体情况设置合理的测距间隔,构成点云的第二类特征,综合这两类特征构建具有旋转不变性的三维激光点云特征向量,用于生成供分类器训练和预测的样本。使用C++语言在Visual Studio平台下编写三维激光点云特征提取代码,并用Matlab完成特征分量相关性分析实验。其次,提出一种基于机器学习的三维激光点云闭环检测算法。把闭环检测问题看作是一个分类问题,借鉴机器学习中的分类思想,采用AdaBoost算法,其思想是将一系列训练完毕的弱分类器进行组合得到最终的强分类器,使用决策树模型作为弱分类器,构建决策树的算法使用CART算法。根据提取到的三维激光点云特征生成样本,进行分类器的训练和测试。采用开源数据集对基于三维激光点云的闭环检测算法进行验证。首先通过分析特征之间的相关性,剔除与其他特征分量相关性高的特征分量。然后通过实验分析选择最优迭代次数,即组成强分类器的弱分类器个数。根据处理之后的特征生成样本,采用实验所得的最优迭代次数,使用真实数据验证算法的可行性。采用检测准确率、误检率和漏检率三个指标对检测结果进行评价,并把检测结果与当前的三维激光点云闭环检测算法进行对比,分析算法的优劣性。另外对算法的时间复杂度进行分析,并提出改进方向,以达到实时闭环检测的目的。闭环检测作为SLAM过程中一个必不可少的环节,对最终成图的质量起到重要的纠正作用,保证地图生成的一致性。本文通过对三维激光点云闭环检测的系统研究,希望能够为实时闭环检测的研究起到抛砖引玉的作用。