本科毕业设计 题目:
学 院: 专 业: 学 号: 学生姓名: 指导教师: 日 期:
移动机器人FastSLAM算法研究
武汉科技大学本科毕业设计
摘 要
移动机器人同时定位与地图创建是实现未知环境下机器人自主导航的关键性技术,具有广泛的应用前景,也是目前机器人研究的热门课题之一。基于卡尔曼滤波器的SLAM算法有计算的复杂性以及对数据融合误差非常敏感的缺点,使其不能再实际环境中得到广泛应用。
为解决传统SLAM算法的缺陷,介绍了一种基于Rao-Blackwellized粒子滤波器的FastSLAM方法,该方法将SLAM问题分解为对机器人姿态和路标在地图中的位置的递归算法。每一粒粒子都有对应的地图,再将地图估计分解成N个独立的特征估计,路径估计采用粒子滤波器,地图估计采用扩展卡尔曼滤波器。
FastSLAM有机地将粒子滤波器与卡尔曼滤波器集成在一起,鲁棒性地解决数据关联和多目标跟踪问题,其时间消耗与路标的数量成对数关系,计算量小,用时短。
基于Rao-Blackwellized粒子滤波器的FastSLAM算法是一种高效的机器人同步定位和绘制地图的算法,其具有高效性和准确性,该方法使用提高了机器人地图创建的实时性,增强了避障能力。
关键词: 移动机器人; FastSLAM算法; 路径估计; 地图估计
I
武汉科技大学本科毕业设计
Abstract
Mobile robot localization and mapping the key technologies of the robot autonomous navigation in unknown environment, has broad application prospects, is currently a hot research topic of the robot. The Kalman filter-based SLAM algorithm to calculate the complexity and the error is very sensitive to the shortcomings of the data fusion, so that it can not be widely applied in the actual environment.
FastSLAM based on Rao-Blackwellized particle filter SLAM problem is decomposed into the position of the robot pose and landmarks on the map recursive algorithm to solve the defects of the traditional SLAM algorithm. A particle has a corresponding map, and then map the estimated decomposed into N independent characteristics estimated path estimation using particle filter, map estimated using extended Kalman filter.
The FastSLAM organic particle filter and Kalman filter integrated, robust solution to data association and multi-target tracking, the time consumption and the number of landmarks logarithmic small amount of calculation, with short.
FastSLAM algorithms based on Rao-Blackwellized particle filter is an efficient robot simultaneous localization and mapping algorithm, its efficiency and accuracy, the method to improve the robot map created real-time, and enhance the ability to obstacle avoidance.
Key words: Mobile robot; The FastSLAM algorithm; The path estimation;
The map estimation
II
武汉科技大学本科毕业设计
目 录
1 绪论 ...................................................................................................................................... 1 1.1 移动机器人定位和地图创建问题 ................................................................................... 2
1.1.1 移动机器人国内外发展状况 ................................................................................. 2 1.1.2 移动机器人的地图构建问题 ................................................................................. 3 1.1.3 机器人的定位方法 ................................................................................................. 5 2 基于粒子滤波器的SLAM算法 ......................................................................................... 7
2.1 SLAM的通用框架和理论模型 ................................................................................ 7 2.2 粒子滤波器定位的基本原理 .................................................................................... 8 2.3 扩展卡尔曼滤波器算法 ............................................................................................ 9 2.3 粒子重采样 .............................................................................................................. 10 2.4 移动机器人SLAM问题描述 ................................................................................. 10
2.4.1 SLAM计算复杂度 ........................................................................................ 10 2.4.2 SLAM的联合估计 ........................................................................................ 11 2.4.3 SLAM的后验估计表示 ................................................................................ 11 2.4.4 SLAM公式推导 ............................................................................................ 13 2.4.5 有效的数据关联 ............................................................................................ 14 2.4.6 FastSLAM的粒子表示形式 ......................................................................... 15 2.4.7 FastSLAM的计算时间复杂度 ..................................................................... 16
3 模型建立 ............................................................................................................................ 17
3.1 运动模型 .................................................................................................................. 17 3.2 观测模型 .................................................................................................................. 18 4 FastSLAM算法步骤 ......................................................................................................... 19
4.1 FastSLAM算法步骤 ............................................................................................... 19 4.2 新位姿采样 .............................................................................................................. 20 4.3 环境特征估计的更新 .............................................................................................. 20 5 算法流程图和代码 ............................................................................................................ 21
5.1 FastSLAM算法伪代码 ........................................................................................... 21 5.2 FastSLAM算法流程 ............................................................................................... 21 6 仿真环境建立和仿真结果 ................................................................................................ 23
6.1 仿真环境介绍 .......................................................................................................... 23 6.2 仿真结果 .................................................................................................................. 23 7 总结和展望 ........................................................................................................................ 28 参考文献 .................................................................................................................................. 29 致谢 .......................................................................................................................................... 30
III
武汉科技大学本科毕业设计
1 绪论
移动机器人的同时定位与地图创建(SLAM)问题有重要的理论与应用价值,被很多学者认为是实现真正全自主移动机器人的关键。在火灾、地震或者极地考察现场存在一些潜在危险,可能会对进入人员生命构成危险,就需要移动机器人来代替人进入这些环境,进行探测地形和检查是否有伤员的工作。民用方面可以用于自主行驶车辆或者车辆辅助驾驶系统,还有服务机器人,智能机器人,智能玩具等。军用方面可以用于对敌方控制区侦查和对危险易爆炸物的搜索和拆除。科学方面可以用于外星探索和采矿等。SLAM问题研究是实现机器人完全自主以及服务人类的关键,因此,对移动机器人SLAM的研究具有重要的理论意义和应用价值,由于自主移动机器人具有广泛的应用、巨大的经济利益和深远的科学价值,各国家和科研工作者对其相关技术发展都投入了大量的研究。在20世纪70年代末期,法国的系统分析与架构实验室(LAAS)研制了HILARE机器人,这是欧洲的第一个移动机器人研究项目,HILARE安装了视觉传感器、激光测距仪和超声波传感器等设备,用二维多边形环境模型和全局坐标系统实现导航和路径规划功能。多年来国内外有大量的科技工作致力于这方面的研究工作,对许多问题的认识和求解都取得了长足的进步,但是仍然有很多问题需要解决。由于移动机器人系统运动模型难以精确建模,再加上其他传感器感知误差存在高度不确定性和外界干扰因素等,从而造成了机器人系统的高度复杂性和不确定性。由于在很多情况下,环境的信息是部分、甚至是完全未知的,此时必须将定位和地图构建结合起来,使得移动机器人利用对自身的定位来构建地图,同时利用构建地图来定位,在这一问题中,移动机器人定位与地图构建是密切相关的,地图创建过程依赖于精确的机器人位姿信息,任何一方都无法单独实现,必须同时加以考虑,近年来,SLAM算法越来越受到人们的重视,针对移动机器人的SLAM问题,主要有基于粒子滤波器的SLAM方法和基于扩展卡尔曼滤波以及EKF的各种变种SLAM方法。SLAM(Simultaneous Localization And Mapping)问题是指把移动机器人放在未知环境中,机器人增量式地创建未知环境的连续地图,同时确定它在地图中的位置,由于SLAM问题的解法使机器人实现了真正的自主导航,所以在过去几十年中逐渐成为了移动机器人领域的研究热点。SLAM一方面为了实现精确定位,机器人需要利用位置相对确定的环境特征不断校正自身位置,一方面为了确定环境特征的位置,机器人需要了解自身所在的精确位姿。机器人的定位与地图构建有利于进一步协助运动规划和躲避障碍物,体现机器人对环境探测效率的同时又体现出对环境地图信息描述的精准程度。SLAM也称CML(Concurrent Mapping and Localization),最初于上世界80年代早期由Smith Self和Cheeseman给出了基础概率方法的解决方案[1], SLAM 问题的解决方法大致分为两类:基于概率估计的方法和非概率估计的方法。基于概率模型的方法占主导地位[2]。
1