耿志文 邱慧丽 姜飞
本文简述了移动机器人运动同步定位与地图构建(Simultaneous Localization AndMapping,SLAM)模块的基本原理,介绍了几种常用的算法,并对现在最常用的Gammping算法进行了解释和优化,提出了对Gammping算法的优化方案,使用Robot Operation System(ROS)软件平台,使移动机器人拥有了更高的建图效率和更加准确的路径规划。
Perface
SLAM在移动机器人地图构建中被经常使用,使用类型和算法主要有激光和视觉2种。二者原理不同,激光SLAM依赖于激光雷达通过对周围环境进行探测从而通过珊格建图;视觉SLAM依靠前端视觉里程计,本文研究的主要是激光SLAM建图算法。Gamappmg算法相对于其他算法的优势在于可以依靠里程计更精准的建图,并且对激光传感器频率要求相对较低。当移动机器人构建现实空间较小场景时拥有高计算精度且计算量不大,所以本文重点研究对Gamapping的调优改进方案。
SLAM建图常用算法
Gmapping算法
Gmapping算法由Giorgio等人首次提出,关于算法求解的主要问题在由map坐标系计算得到odom坐标系并推算出base link坐标系与laser坐标系。Gmapping算法相较于其他算法的特点表现在其利用里程计位姿信息来减少构建小场景地图时的计算量。其中最常见的算法之一就是粒子滤波算法(Rao-Blackwelised Particle Filter,RBPF),把定位与建图时的整个过程进行了分离,直接进行定位然后再建图。RBPFSLAM的一个核心理念就是如何利用激光雷达检测信息。
Gmapping算法依靠激光雷达和里程计获取环境位姿信息,优化粒子分布并且引入自适应重采样机制,提高了算法效率。
Karto SLAM算法
Karto SLAM是Karto Robotics开发,主要思想是图优化方法。……