基于ROS的室内机器人定位与导航研究毕业论文
2020-02-19 19:02:56
摘 要
同时定位与地图构建是智能机器人发展的一个重要研究方向,它解决了当机器人进入陌生环境时“我是谁”“我在哪”的关键问题。通过对传感器信息(激光信息、里程计信息、惯性传感器信息等)的融合处理,实现对自己定位的实现和地图的构建,是智能机器人在陌生环境展开工作的前提。本文的主要工作是对现有经典的激光SLAM算法进行研究并进行实验对比分析。本文主要工作包括:
1.经典算法在同时定位与地图构建中的对比分析。1)文中研究的算法包含Hector-SLAM、Gmapping和Cartographer 3种经典SLAM算法,分析了它的原理与方法。2)在ROS系统中构建仿真环境和真实环境进行建图实验,并对结果进行分析比较。3)分析结果表明,三种算法中Cartographer建图与评价基准图匹配度为0.9823,建图效果最好;其次为Gmapping和Hector-SLAM。
2.Hector-SLAM和Gmapping算法的改进研究。1)在Hector-SLAM中加入了里程计信息,消除了原算法容易出现得漂移现象。2)改进了Gmapping算法中提议分布,相较于原算法提高了计算效率,在相同的粒子数目下,可以实现更加精确的建图,建图效率提升约为0.5%。
关键词:同时定位与地图构建;Hector-SLAM;Gmapping;Cartographer
Abstract
Simultaneous Localization and Mapping is an important research direction for the development of intelligent robots. It solves the key question of "Who am I" and "Where am I" when the robot enters in a strange environment. The realization of self-positioning and the construction of maps are the premise of intelligent robots working in unfamiliar environments,its implementation depends on the fusion of sensor information (laser , odometer, IMU, etc.). The main work of this paper is to study and analyze the existing classical laser SLAM algorithm. The main work of this paper includes:
1. The comparative analysis of classical algorithms in simultaneous location and map construction. 1) The algorithm studied in this paper includes three classical SLAM algorithms, Hector-SLAM, Gmapping and Cartographer, and analyzes its principle and method. 2)The simulation environment and real environment are built in the ROS system to construct the graph experiments, and comparing and analyzing the. 3) The results show, the match between the map of Cartographer and Standard pattern is 0.9823, which is the best ; the second is Gmapping , Hector-SLAM is the last.
2. Improved research on Hector-SLAM and Gmapping algorithms. 1)The odometer information is added to the Hector-SLAM, which eliminates the drift phenomenon of the original algorithm. 2)The proposed distribution in the Gmapping algorithm is improved. Compared with the original algorithm, the calculation efficiency is improved. With the same number of particles, more accurate mapping can be achieved, and the efficiency of drawing is improved by about 0.5%.
Key Words:Simultaneous Location and Mapping;Hector-SLAM;Gmapping;Cartographer
目录
第一章 绪论 1
1.1 研究背景和意义 1
1.2 移动机器人发展现状 1
1.2.1 国外现状 1
1.2.2 国内现状 2
1.3 同时定位与地图创建研究现状 3
1.4 论文主要研究内容 3
第二章 移动机器人系统模型 5
2.1 SLAM问题的一般描述 5
2.2 移动机器人的运动模型 6
2.3 传感器观测模型 7
2.4 SLAM地图描述方法 7
2.5 经典SLAM算法 8
2.5 本章小结 8
第三章 Gmapping算法 9
3.1 粒子滤波原理介绍 9
3.1.1 贝叶斯估计 9
3.1.2 蒙特卡洛方法 10
3.1.3 序贯重要性采样 11
3.1.4 重采样 13
3.1.5 标准的粒子滤波 13
3.2 Gmapping中对粒子滤波的优化 14
3.2.1 提议分布函数的改进 14
3.2.2 选择性重采样 15
3.3 Gmapping算法实验 16
3.3.1 仿真实验 16
3.3.2 真实环境实验 17
3.4 本章小结 18
第四章 Hector-SLAM算法 19
4.1 系统概述 19
4.2 2D SLAM子系统 20
4.2.1 地图获取 20
4.2.2 扫描匹配(Scan Matching) 21
4.2.3 地图的多分辨率表示 23
4.3 Hector-SLAM算法实验 23
4.3.1 仿真实验 23
4.3.2 真实环境实验 23
4.4 本章小结 24
第五章 Cartographer算法 25
5.1 系统概述 25
5.2 局部 2D SLAM 25
5.3 回环检测 27
5.4 Cartographer算法实验 29
5.4.1 仿真实验 29
5.4.2 真实环境实验 29
5.4 Hector-SLAM、Gmapping和Cartographer算法对比分析 30
5.4.1 仿真实验对比分析 30
5.4.2 真实实验对比分析 31
5.5 本章小结 32
第六章 SLAM算法的优化设计 33
6.1 Hector-SLAM算法优化 33
6.1.1 Hector-SLAM原算法与优化后对比实验 33
6.1.2 Hector-SLAM总结分析 35
6.2 Gmapping算法优化 35
6.2.1 Gmapping提议分布的优化 35
6.2.2 Gmapping原算法与优化后对比实验 37
6.2.3 Gmapping算法总结分析 40
6.3 本章小结 40
第七章 总结与展望 41
参考文献: 42
致 谢 44
第一章 绪论
1.1 研究背景和意义
在科技飞速发展的今天,智能机器人逐渐走进人们的生活,各式各样的服务型机器人已经成为家庭、军事、办公、工业、服务、医疗等领域内不可或缺的角色[1]。机器人的工作环境复杂多变,包括室内室外环境,已知与未知环境,还有其他各种恶劣环境,比如航天机器人、水下机器人的工作环境等。针对不同的工作环境,需要设计相应的机器人来适应,其底层硬件设计、控制系统设计、软件设计都需要特别的定制,使得机器人的开发尤为困难,普通用户难以涉入这一领域。针对这一问题,ROS[2](Robot Operating System)应运而生,2007年,斯坦福大学人工智能实验室与机器人技术公司Willow Garage之间进行了机器人项目(Personal Robots Program)的合作,共同开发了这一系统。Willow Garage公司于2010年发布了ROS的开源代码,从此为机器人开发提供了一个通用的框架结构,使得普通开发人员也可进行机器人的开发,极大的促进了机器人技术的发展。现如今,ROS已经普遍应用在实体机器人中,PR2机器人作为其中的代表产品,其可以自主完成能开门,充电,取饮料,打台球等操作,具有极高的智能性。
机器人在实际应用中,对于自身工作的环境极大可能是未知的,要使得机器人在陌生环境中进行工作,首先要解决的问题便是定位、构图和导航。同时定位与地图构建技术(Simultaneous Localization and Mapping[3]),即SLAM,是指机器人利用自身传感器获取自身和外界数据,完成对自身的位姿进行估计,同时构建环境地图的过程。这是移动机器人在陌生环境展开工作的首要前提,也是实现自主导航的必要保障,因此SLAM技术随着机器人的深入发展得到了极大的推动。
此外,机器人代表着高新技术的发展,成为我国重点重视的项目之一。本课题结合ROS机器人操作系统,对室内机器人进SLAM技术的应用,对同时定位和地图构建方法和技术进行研究。
1.2 移动机器人发展现状
1.2.1 国外现状
美国斯坦福研究院(SRI),于20世纪60年代,研制出智能移动机器人Shakey,其拥有视觉算法和语音识别功能,开启了机器人研究的道路。之后,机器人开始在科研领域大肆发展,前苏联研究出的第一辆月球无人车和美国研制出的新一代月球车阿波罗号均被应用在航天领域,为人类服务。随着科研技术的发展,机器人研究方向扩展到日常生活人类服务中,
机器人逐渐走近人们的生活,从科研领域慢慢渗透到日常生活。日本索尼公司在1999年展出名为爱宝(AIBO)的犬型机器人,紧接着美国iRobot公司在2002年推出了吸尘器机器人Roomba,这些机器人的发布表明移动机器人进入人们的日常生活。随后,利用人体运动学,法国公司研发出人形机器人NAO,该机器人是目前全球最著名的人形机器人,广受欢迎,能够独立行走、跳舞、与人互动等,在教育、科研、医疗等各个方面被广泛应用[4]。
从移动机器人被创建到现在,经过科技长足的发展,其已经拥有很高的智能化水平,被应用在现实生活的各个方面。
图1.1 移动机器人Shakey 图1.2 人形机器人NAO
1.2.2 国内现状
我国虽然在机器人领域起步相对比较晚,但在国家的大力扶植下,科研人员经过不懈努力,在机器人方面取得了不错的成果。其中,清华大学率先研发THMR无人车系统,在相机、激光等传感器,可以实现避障、定位、导航等功能,在校园中实现自主驾驶。中国科学院自动化研究所在这方面也取得了丰硕的成果,于2016年4月15日,展出了其研制的人形美女机器人[5],可以根据情绪实现对应的面部表情,以及在复杂环境中的自主导航,是我国机器人发展的杰出代表作品。
图1.3 THMR-5 图1.4 中科大美女机器人
1.3 同时定位与地图创建研究现状
自主性是移动机器人最基本的要求,对自身位姿的估计和环境地图的构建是实现自主性关键技术。1987,Smith、Self 和 Cheeseman[6]等人提出了对SLAM 问题的研究,问题定义为机器人与环境之间的不确定性。之后相关学者提出了基于卡尔曼滤波的解决方法,成为解决SLAM问题的基本方法之一。1993年,基于蒙特卡洛思想,Gordon[7]提出了基于粒子滤波器的SLAM算法,适用于任何非线性系统。2003年, Doh N L 提出了一种基于图优化的SLAM算法,利用高度优化和非迭代cholesky矩阵进行稀疏系统解耦合作为图优化的解决方法,使用均值表示地图,一系列的节点表示机器人的轨迹,实现了SLAM。在2016年ICRA会议上,Google开源了Cartographer算法,引入了扫描匹配的新技术,成为目前为止最优化的开源算法。
国内SLAM的研究相对较晚,在理论研究方面相较于国外比较薄弱,一般偏向于工程型的研究。目前国内的研究人员主要分布在研究所和高校,在对算法的改进方面也有不小的成就,如洪炳熔、历茂海等人,将进化策略应用在粒子滤波中,并结合自适应重采样[8],进一步优化了算法。
1.4 论文主要研究内容
同时定位与地图构建是智能机器人研究的一个重要方向,本课题主要是基于ROS系统,搭建机器人工作平台,对三种经典的SLAM算法进行实验分析。本文共分为七个章节,每一章具体内容如下:
第一章 介绍了移动机器人同时定位和地图构建的国内外研究现状,项目的研究背景与意义,由此确定了本文的研究内容。
第二章 结合SLAM算法的基本框架,对SLAM问题进行了基本描述,并展开介绍了移动机器人的运动模型和观测模型,为之后SLAM算法的分析奠定了理论基础。
第三章 对Gmapping算法进行了理论分析,并搭建机器人仿真模型和真实实验环境,分别在仿真环境和真实环境中完成建图。
第四章 对Hector-SLAM算法进行了理论分析,进行仿真环境和真实环境的建图实验。
第五章 对谷歌开源的Cartographer算法进行理论分析,并完成仿真环境和真实环境的实验建图,并综合之前的两种算法对所建图进行对比分析,比较三种算法的优劣之处。
第六章 对现有的Hector-SLAM和Gmapping算法进行优化改进,并完成优化之后的建图实验,与原算法进行分析比较。
第七章 对本文所进行的研究进行整体性的总结,并介绍了SLAM算法几个未来可能发展的方向。
第二章 移动机器人系统模型
2.1 SLAM问题的一般描述
SLAM问题来源于当机器人进入一个陌生的环境面对的两个难题,在什么地方,周围环境是什么样,即定位与建图,这便是SLAM算法研究的两个重要方向。同时定位和地图构建可以描述为:移动机器人利用自身的内部传感器和外部传感器,获取自身的运动信息和环境信息,从而对自身位姿进行估计,完成定位,同时进行地图的构建,利用地图对自身位姿进行更新。简言之,SLAM问题就是对位姿与观测信息的不断预测和更新,其模型图如图2.1[9]。
图2.1 SLAM问题模型
其中,三角形代表机器人移动的位姿,四角形代表地图,白色代表真实值,黑色代表估计值。表示机器人姿态和位置的向量,表示输入控制变量,表示构建的地图,表示观测向量。由图2.1模型观察可知,SLAM的概率模型是一个不断迭代的过程,求解该模型所需概率分布:
(2.1)
3.1式的概率分布表明了SLAM的过程和结果,在给定的输入、观察以及初始位置的情况下,对机器人位姿和和地图的联合分布密度进行估计。
机器人位姿概率模型可表示为,该式运用了马尔可夫假设的基本原理,即当前时刻的状态只与上一个时刻的状态有关。表明机器人当前状态知与上一时刻的机器人状态和机器人的控制变量有关,与其他变量无关。
机器人的观测模型可表示为,该式表示观测值知与当时刻的观测值只与当时刻的机器人状态与当时刻的地图信息有关,与其他变量无关。
SLAM算法实现过程主要包含了预测和更新两个过程,依据马尔可夫的基本原理,其是一个不断迭代的过程,根据上一时刻的状态对此时刻的状态进行预测,再利用观测值进行更新,如此循环。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: