基于激光传感器的轮式移动机器人定位导航技术研究毕业论文
2020-02-19 14:54:52
摘 要
移动机器人是一种可以自动执行任务,帮助或替换人工任务从而提高工作效率和质量的机器。为了完成任务,移动机器人必须在工作环境中准确地找到自己的姿势。因此,如何在运行环境中实现移动机器人的自主精确定位和导航是移动机器人技术的关键问题之一。然而,在许多情况下,移动机器人的工作环境是未知的,这要求机器人获得关于工作环境的信息并在环境中找到自己的位置。这是移动机器人的同时定位和地图创建(SLAM)问题,由Smith,Self和Cheeseman于1988年首次提出。它被认为是实现真正自主移动机器人的关键。 SLAM问题可以描述为:机器人从未知环境中的未知位置移动,在移动期间基于位置估计和传感器数据定位自身,并构建增量地图。
介绍了贝叶斯滤波的两个基本模型:运动模型和观测模型,粒子滤波和SLAM算法Fast-SLAM的基本原理以及Gmapping在其基础上作出的改进。针对Gmapping算法存在的粒子耗尽问题,提出了一种结合了萤火虫算法和Gmapping的SLAM算法。萤火虫算法提高了滤波器的估计能力,将采样后的粒子群向高似然区域移动,改善了建议分布,降低了粒子耗尽的风险,同时保留了粒子的多样性。通过实验验证表明,改进算法能够建立更为精确的栅格地图。
关键词:移动机器人 同时定位与地图创建 粒子滤波 Fast-SLAM 萤火虫算法Gmapping
Abstract
A mobile robot is a machine that can perform work automatically, helping or replacing human work to improve work efficiency and quality. In order to complete the task, the mobile robot must be able to accurately locate in the work environment. Therefore, how to realize the autonomous accurate positioning and navigation of mobile robots in the operating environment is one of the key issues of mobile robot technology. However, in many cases, the working environment of the mobile robot is unknown, which requires the robot to obtain information about the working environment and to find its own position in the environment. This is the simultaneous positioning and map creation (SLAM) problem of mobile robots, first proposed by Smith, Self and Cheeseman in 1988, and is considered to be the key to realizing truly autonomous mobile robots. The SLAM problem can be described as: the robot moves from an unknown location in an unknown environment, performs its own positioning based on position estimation and sensor data during the movement, and constructs an incremental map.
The motion model and observation model of Bayesian filtering, the basic principles of particle filtering and SLAM algorithm Fast-SLAM and the improvements made by Gmapping are introduced. Aiming at the problem of particle depletion in Gmapping algorithm, a SLAM algorithm combining firefly algorithm and Gmapping is proposed. The firefly algorithm improves the estimation ability of the filter, moves the sampled particle group to the high likelihood region, improves the proposed distribution, reduces the risk of particle depletion, and preserves the particle diversity. Experimental verification shows that the improved algorithm can establish a more accurate raster map.
Keyword: mobile robot SLAM particle filter Fast-SLAM Firefly algorithm Gmapping
目 录
第1章 绪论 1
1.1 研究背景及意义 1
1.2 国内外研究现状 2
1.3 文章结构安排 4
第2章 机器人环境交互和模型建立 5
2.1 机器人环境交互 5
2.1.1 状态 5
2.1.2 环境交互 5
2.1.3 概率生成定律 6
2.1.4 置信分布和贝叶斯滤波 7
2.2 运动模型 8
2.2.1 运动学构型 8
2.2.2 概率运动学 9
2.2.3 里程计运动模型 10
2.3 观测模型 10
2.3.1 激光雷达测距原理 10
2.3.2 光束模型 11
2.3.3 似然场模型 12
第3章 SLAM算法 14
3.1 粒子滤波 14
3.1.1 状态传播 15
3.1.2 权重评估 16
3.1.3 重采样 17
3.2 Fast-SLAM 18
3.3 Gmapping 19
3.3.1 建议分布的优化 19
3.3.2 选择性重采样 21
3.4 基于萤火虫算法优化的Gmapping 21
3.4.1 萤火虫算法 21
3.4.2 Gmapping优化 22
第4章 实验与结果分析 24
第5章 总结与展望 27
5.1 工作总结 27
5.2 未来展望 27
参考文献 29
致 谢 30
第1章 绪论
1.1 研究背景及意义
移动机器人是集环境感知,动态决策与规划于一体的多功能综合系统,它是一个人工智能学科(AI),集计算机工程、电子工程、信息处理、传感器技术和自动化技术于一体。目前移动机器人是科学技术发展领域非常活跃的一个领域。移动机器人具有在其环境中移动的能力,并且不能固定到一个物理位置。移动机器人可以是“自主的”(AMR-自主移动机器人),这意味着它们能够在不需要物理或机电引导装置的情况下导航不受控制的环境。或者移动机器人可以依靠引导装置,这些引导装置允许它们在相对受控的空间(AGV-自主引导车辆)中行进预定义的导航路线。相比之下,工业机器人通常或多或少是静止的,由连接到固定表面的连接臂(多连杆操纵器)和夹持器组件(或末端执行器)组成。移动机器人技术的关键问题之一就是实现移动机器人在操作环境中的自主准确定位和导航。移动机器人的自主定位导航需要先在参考坐标系中确定自身位置,然后为同一参考系下的目标位置规划相应的移动路径。随着机器人技术的发展和应用领域的扩展,移动机器人在商业和工业环境中越来越普遍,因此也需要移动机器人具有更高的自主性水平。对于没有GPS或离线地图信息的各种未知环境,移动机器人需要能够建立具有初始位置的本地参考系统并实现对环境的探索。
传统工业机器人受限于固定的工位或路径,而移动机器人则可以通过对周围环境的感知来定义工作任务,同时自主决策产生完成任务所需的动作。为了完成一项任务,移动机器人需要做的是通过感知和分析复杂环境,在一致参考坐标系下完成当前位姿的获取,搜索并定义目标位置,决定并规划自己可行的目标路径,最后快速安全地运动到目标位置。除了太空探索,海洋开发和原子能等领域之外,移动机器人还用于工厂自动化。 风险管理、建筑、采矿、农业、军事、服务等方面也有广阔的应用前景。随着移动机器人的使用越来越多,世界各地的研究机构都参与了移动机器人的研究。
目前在自主移动机器人领域,移动机器人的同时定位与地图构建问题已经成为了关键性的研究课题,只有解决了移动机器人的同时定位与地图创建问题,移动机器人才能实现真正的自主。在已知机器人位姿的地图创建和已知环境地图的机器人位姿估计两个方面基本上已经有了相对应的成熟的解决方案。但是在许多陌生环境中,机器人无法使用全球定位系统进行定位,并且难以或甚至不可能预先获得机器人工作环境的地图。这个时候机器人就要在环境地图未知即陌生环境估计自己在环境中的位姿,同时根据估计出的自身位姿来创建环境的地图。这就是移动机器人实现真正自主的关键,在1988年首次由Smith,Self和Cheeseman [1]提出了移动机器人的同时定位和地图创建(SLAM)问题。
SLAM问题可以描述为:在一个陌生环境中,机器人从未知位置移动,在移动期间基于位置估计和传感器数据定位自身,并构建增量地图。在SLAM中,机器人使用自己的传感器(如激光雷达、相机等)来识别未知环境中的地标,从而根据地标和自身之间的相对位置以及里程表的读数估计机器人和地标在全局坐标系下的位置。此在线定位和地图创建需要维持移动机器人和地标之间的详细信息。
1.2 国内外研究现状
SLAM需要同时估计配备有车载传感器的机器人的状态以及构造传感器正在感知的环境的模型(地图)。 在一般情况下,机器人状态由其位姿(位置和方向)描述,但是状态中可以包括其他例如校准参数、传感器偏差和机器人速度等量。 另外,该地图是对机器人操作环境的某些特征(障碍物,地标的方位)的表示。
环境地图的作用通常有两种。第一,有些工作任务需要环境地图的支持;例如,地图可以给路径规划提供信息或为操作员提供直观的可视化。 第二,估计机器人状态时可能会产生误差,而有了环境地图后可以对误差进行校正从而减少定位误差。 在没有地图的情况下,轨迹预测会随着时间的推移而迅速发生变化;此外,使用地图,例如一组特征不同能够区别的地标,机器人可以通过重新访问已知区域来“重置”其定位误差(所谓的环闭合)。 因此,SLAM在先前的地图不可用并且需要构建的场景中得以应用。
对于SLAM问题前20年所研究的内容,Durrant-Whyte和Bailey进行了彻底的历史回顾[2][3]。这些主要涵盖了大家所谓的经典典时代(1986-2004),Rao-Blackwellized粒子滤波器(RBPF)、基于扩展卡尔曼滤波器(EKF)和最大似然估计的方法等主要概率公式就出现在这个时代。此外,它还描述了与效率和强大数据关联相关的基本挑战。Thrun,Burgard和Fox [4]以及Stachniss等人的文章[5]介绍了上述时期SLAM的三种重要公式化的方法。Dissanayake等人[6]则领导了SLAM一个新的时代即人们所谓的算法分析时代(2004-2015),算法分析期间研究了SLAM的可观察性,收敛性和一致性等基本属性。与此同时Dissanayake等人还了解了稀疏性对高效SLAM求解器的关键作用,并开发了主要的开源SLAM库。
迄今为止的主要SLAM研究如表1.1所示,可以发现近几年对SLAM的研究只限于特定领域。 如果考虑SLAM涉及的多方面,SLAM在过去30年中的流行并不令人惊讶。在较低级别(即前端),SLAM自然地与信号处理和机器视觉等其他研究领域相交;SLAM在较高级别(即后端),是概率估计、优化、图论和几何的吸引人的组合。最后,SLAM研究者务必解决从传感器校准到系统集成等各方面的问题。
目前,SLAM系统主要分为基于滤波(Grid-based)和基于图优化(Graph-based)两个方向。基于粒子滤波器的SLAM的想法是假设机器人知道当前时刻自身的位姿并且可以通过使用诸如编码器或里程计等传感器来计算下一时刻的位姿。但是这种运动传感器具有累积误差,因此将每个粒子当前建立的图中的特征与激光传感器数据或图像特征进行比较,选择和映射要素以匹配最佳粒子姿势作为当前姿势,因此往复运动。相比之下,在基于图优化的SLAM方法中,前端任务是:机器人的姿势充当节点或顶点,位姿之间的关系构成边缘;后端任务为:调整机器人的位姿以尝试满足这些边缘施加的约束。在滤波方面,传统的扩展卡尔曼滤波器(EKF)、Rao-Blackwellized粒子滤波器(RBPF)以及改进的RBPF(FastSLAM)都取得了一定的成果,基于图优化方面的SLAM系统也有相应的解决方案。
表1.1 SLAM研究方向
年份 | 研究方向 | 代表人物 |
2006 | 概率方法和数据关联 | Durrant–Whyte and Bailey |
2008 | 滤波方法 | Aulinas等 |
2011 | SLAM后端 | Grisetti等 |
2012 | 可观测性,一致性和融合性 | Dissanayake等 |
2016 | 视觉里程计 | Scaramuzza and Fraundofer |
2016 | 多机器人SLAM | Saeedi等 |
2016 | 视觉地点识别 | Lowry等 |
2016 | 机器人手册SLAM | Stachniss等 |
2016 | 理论方面 | Huang and Dissanayake |
SLAM系统中使用的传感器正在从早期声纳扩展到后来的2D/3D激光雷达。它还可用于各种相机,如单目,双目,RGBD和ToF,以及惯性测量单元IMU等传感器。激光雷达的优势在于它的测量精确,可以提供相对精确的角度和距离信息。缺点是价格相对昂贵(目前市场上较便宜的机械旋转单线激光雷达也有几千元),安装和部署都有结构要求(要求扫描平面畅通无阻)。与激光雷达相比,视觉SLAM传感器的相机更便宜,更轻,并且随处可用(例如每个人都可以在手机上使用相机)。此外,图像可以提供更丰富的信息,并且特征识别度更高。Visual-SLAM目前使用三种类型的传感器:单目相机,双目相机和RGBD相机。它还通过投影红外图案和使用双目红外相机(例如英特尔实感R200)或TOF相机(例如Kinect2代)来计算。
前谷歌副总裁、谷歌无人驾驶车辆领导人 Sebastian Thrun 、现任Udacity首席执行官2005年经典著作《概率机器人》中详细阐述了2D激光雷达基于概率方法的地图构建和定位的理论基础。描述了基于RBPF粒子滤波器的FastSLAM方法,该方法成为GMapping [7] [8]的基础,这是2D激光雷达测绘的标准方法之一。 该算法也被集成到机器人操作系统( Robot Operation System,ROS)中。Gmapping基于最近的传感器信息,里程计和扫描匹配过程的观察可能性来计算高度准确的提议分布。这使得可以以更精确的方式绘制颗粒,从而大大减少了所需的样品数量。此外,Gmapping根据有效样本量应用选择性重采样策略。该方法减少了粒子滤波器中不必要的重采样动作的数量,从而大大降低了粒子耗尽的风险。
ROS上还有一些其他的2D-SLAM算法,如HectorSLAM、KartoSLAM、LagoSLAM和CoreSLAM。HectorSLAM仅依赖于扫描匹配,并且它不使用里程计。KartoSLAM和LagoSLAM都是基于图形的SLAM方法,但它们的结果明显不同。KartoSLAM生成了具有较低CPU负载的精确地图,而LagoSLAM生成了具有较高错误和CPU负载的地图。CoreSLAM使用一个简单的PF,它需要更多的粒子,但与每个粒子相关的计算能力较低,这可能导致错误的位姿估计。[9]
1.3 文章结构安排
本文以移动机器人为对象,采用同步定位映射方法(SLAM)作为理论基础,提高移动机器人在陌生环境中的映射效果,开展了论文的主要研究工作。具体结构安排如下:
第1章:移动机器人及其功能的概念性介绍,以及同时定位和映射(SLAM)问题的简要描述。回顾了SLAM的发展历史,简要介绍了国内外SLAM系统的类型和主要的SLAM算法。
第2章:介绍了机器人中贝叶斯滤波的基本思想,将之作为一种手段来估算环境和机器人的状态。描述了实现贝叶斯滤波算法必不可少的两个组件:运动模型和观测模型。运动模型与控制信息有关,一般由里程计提供,实现了贝叶斯滤波的预测部分;观测模型与传感器测量有关,实现了贝叶斯滤波的测量更新部分。
第3章:介绍了贝叶斯滤波的一种非参数实现方式——粒子滤波,粒子滤波用从后验提取的状态的随机样本来表示后验,这样的样本叫作粒子群。然后介绍了基于粒子滤波的一种SLAM算法Fast-SLAM,Fast-SLAM将同时定位与建图分割成机器人的定位和基于已知机器人位姿的建图两个问题。同时介绍了ROS上的SLAM算法Gmapping对Fast-SLAM作出的改进。最后介绍了萤火虫算法以及将萤火虫算法与Gmaaping结合提出了一种基于萤火虫优化的Gmapping算法。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: