论文部分内容阅读
近年来,随着移动机器人的逐步普及与广泛应用,作为其核心技术的同时定位与地图构建技术(Simultaneous Localization and Mapping,SLAM)也成为当前的研究热点,它解决了机器人在没有先验环境信息的情况下,在运动过程中借助自身传感器构建地图且实现自主定位的问题。本文在对SLAM基础理论深入研究的之后,提出视觉提供初值AMCL定位算法,针对路径规划中,传统JPS算法将过多内存与计算量浪费于无意义节点的问题,本文提出基于剪枝优化的改进JPS算法。本文结合当前SLAM研究中的主流算法开展研究工作,旨在实现AGV的自主定位与导航。本文的主要研究工作和成果如下:(1)分析传统SLAM系统的工作原理,针对传统激光SLAM由于信息较为简单且重复率较高,定位过程中,易于在重采样阶段丢失正确的位姿粒子,使得AGV在非指定地点重启后全局定位失效的情况,提出基于视觉ORB特征的初定位算法,初始建图阶段通过RGB-D相机提取ORB特征点,结合激光SLAM中AGV的位姿信息构建特征字典,重启后通过词袋模型将当前帧中特征与特征字典中历史关键帧的特征进行比对匹配,获取最相似历史关键帧,然后通过帧间的特征进行相对位姿估计,计算获得AGV重启后的位姿初值,最后通过粒子滤波算法在获得的位姿附近小范围散播粒子,收敛后获得AGV相对准确位姿。(2)介绍了由A*算法演变进化而来的JPS算法的实现原理,其在A*算法的基础上保留基本框架,提出“两个定义,三个规则”,有效去除了无意义节点对计算量与内存的占用,并举例叙述JPS算法的寻路过程,同时提出了基于剪枝优化的改进JPS算法,优化JPS算法中对中间拐点的存储计算,进一步避免冗余节点拓展运算;针对缺少中间拐点造成的路径不完整的情况,提出寻路后补齐路径中删去的中间拐点的策略,补齐完整的路径,并以实例说明改进后JPS算法优于JPS算法,成功减少了扩展节点过程对无意义节点的计算量及内存消耗,提升了寻路算法的效率。(3)设计仿真实验,获取开源环境数据,在Gazebo中运行AGV,激光雷达构建栅格地图,为视觉提供位姿信息,视觉传感器采集视觉信息,提取特征点,分类构建特征词袋库。在不同位姿下启动AGV,对比传统AMCL定位算法与改进AMCL定位算法各自的定位效果;并在不同规格地图中证明改进JPS寻路算法相较于传统JPS算法的优越性。构建真实场地实验,再次验证改进AMCL定位算法与改进JPS算法的有效性。