论文部分内容阅读
随着智能移动机器人在社会生活中的广泛应用,其自主完成导航任务的能力变得尤为重要。为了能够实现智能机器人的自主导航,同步定位和地图构建(Simultaneous Localization and Mapping,SLAM)技术成为了首要的研究重点。目前,SLAM系统已能够达到实时对周围空间环境进行采集和构建,并以点云数据集加以展示呈现。然而,很明显的不足就是点云数据集的数量之大,难以让目前能力相对有限的智能机器人完成实时处理。因此,寻求一种简单且易于智能移动机器人存储、传输和处理的数据模型是亟待解决的问题。基于OcTree的三维空间地图OctoMap作为一个开源项目,提供了一种以栅格技术为前提,以OcTree数据结构为基础的实现方案。它从Uniform Grid、Grid Based、BVH和Kd-Tree中寻求最优提高射线相交测试的方法,将基于OcTree的三维空间地图OctoMap实现成为便于智能移动机器人自行导航的策略方案。本文针对基于OcTree的SLAM系统三维空间地图算法进行研究与实现。从以下三个部分分别阐述分析。它们分别是SLAM系统生成点云数据集的处理算法优化、三维空间光束遍历体素算法重建和基于OcTree的节点三维空间更新算法改进。SLAM系统生成点云数据集的处理算法优化部分实现对点云数据集的集中优化处理。其中,内容包括基于离群噪声点的移除滤波和基于物体形状特征的降采样滤波。三维空间光束遍历体素算法重建部分采用全新的三维空间光束遍历体素思想,提升了执行效率,同时,为了节省空间冗余,将算法过程生成的空间空闲拐点加以剔除。基于OcTree的节点三维空间更新算法改进部分考虑到系统资源损耗和时间效率问题,将原始基于OcTree的递归调用更新方式改进优化为以循环迭代方式。本文基于标准数据集、室内大厅和室外车辆三类点云数据集针对算法的各个实现阶段加以分析评估。从SLAM系统生成点云数据集的处理优化算法、三维空间光束遍历体素重建算法和基于OcTree的结点三维空间更新改进算法这三个层面出发,从时间效率上对实现前后加以比较,并以图表的形式进行剖析。