论文总字数:26047字
摘 要
随着机器人技术的不断发展,越来越多智能化机器人应用于各行各业中,代替人工完成一些危险、繁琐的工作。开源机器人操作系统ROS(Robot Operating System)甫一问世,就由于其具有诸多优点,很快便在机器人研究领域兴起了ROS学习和使用的热潮。
同时定位与建图(Simultaneous Localization and Mapping,SLAM)问题是说将移动机器人放置在未知环境中的未知位置,机器人能否增量式地构建环境地图,并同时确定其在该地图中的位置。Gmapping即Grid Mapping,是SLAM的一种,它基于Rao-Blackwellized粒子滤波器,利用激光数据和机器人位姿信息建立栅格地图。
本文基于ROS,通过在Gazebo中搭建复杂程度不同的3D仿真场景,运用移动机器人对Gmapping算法进行仿真实验,并对比其建图的效果。然后基于构建好的地图,运用ROS中的导航功能包集,设置不同距离的起始点和目标点,测试移动机器人的自主导航。使用ROS下的可视化工具RViz来查看实验过程中一些数据的可视化展示效果。
关键词:ROS,SLAM,Gmapping仿真,机器人,建图,自主导航。
Simulation of Gmapping Algorithm Based on ROS
71113431 Cheng Wei
Advisor Kong Youyong
Chen Lijun
ABSTRACT
With the continuous development of robot technology, more and more intelligent robot used in all walks of life, instead of artificial to complete some dangerous, cumbersome work. Open source robot operating system ROS (Robot Operating System) just come out, because of its many advantages, and soon rise of a boom that ROS learnt and used in the field of robot research ROS.
The problem, Simultaneous Localization and Mapping (SLAM), is that the mobile robot is placed in an unknown location in an unknown environment, and the robot can build an environment map incrementally and at the same time determine its location in the map. Gmapping (Grid Mapping), which is a kind of SLAM, is based on Rao-Blackwellized particle filter, which uses laser data and robot pose information to build grid map.
Based on ROS, this paper uses the mobile robot to simulate the Gmapping algorithm by comparing the 3D simulation scene with different complexity in Gazebo, and contrast the effect of the building. Then, based on the built map, using the navigation stack in ROS, set the starting point and target point of different distance, and test the autonomous navigation of mobile robot. Use the visualization tool RViz under ROS to see the visualization of some of the data during the experiment.
KEY WORDS: ROS, SLAM, simulation of Gmapping, robot, mapping, autonomous navigation.
目 录
摘要 I
ABSTRACT II
第一章 绪论 1
1.1 引言 1
1.2 本文研究内容 1
第二章 ROS简介 2
2.1 ROS的基本概念及特点 2
2.1.1 基本概念 2
2.1.2 特点 2
2.2 ROS的发展 3
2.3 ROS的总体框架 3
2.3.1 系统维护 3
2.3.2 系统层级 4
第三章 SLAM简介 8
3.1 SLAM概述 8
3.2 SLAM问题的概率形式 8
3.3 SLAM问题的解决方案 9
第四章 系统详细设计 10
4.1 系统环境选择 10
4.2 系统方案设计 11
4.2.1 方案一 11
4.2.2 方案二 13
4.3 系统方案分析 15
4.3.1 方案一 15
4.3.2 方案二 15
4.4 最终方案确定 16
第五章 系统实现 17
5.1 仿真场景编写 17
5.1.1 SDF标记语言简介 17
5.1.2 仿真场景框架构建 17
5.1.3 世界(world)构建 19
5.2 机器人模型准备 21
5.2.1 URDF简介 21
5.2.2 Turtlebot描述 22
第六章 系统测试运行 24
6.1 机器人建图 24
6.1.1 消息录制(record) 24
6.1.2 消息回放(play) 26
6.2 机器人自主导航 32
6.2.1 代价地图(costmap) 32
6.2.2 规划器(planner) 33
6.2.3 简单场景自主导航 34
6.2.4 较复杂场景自主导航 35
6.2.5 复杂场景自主导航 36
第七章 总结 39
7.1 实验中的问题 39
7.1.1 建图中的问题 39
7.1.2 导航中的问题 40
7.2 展望 40
致 谢 41
参考文献 42
绪论
引言
随着机器人技术的不断发展,越来越多智能化机器人应用于各行各业中,代替人工完成一些危险、繁琐的工作。为了进一步提高机器人的智能程度,各种各样的机器人开发平台和机器人相关的算法与技术也随之出现,而当前最为热门的平台与技术无疑是ROS平台和SLAM技术。
2010年Willow Garage公司发布了开源机器人操作系统ROS(Robot Operating System),由于其具有点对点设计、不依赖编程语言、开源等优点,很快在机器人研究领域展开了学习和使用ROS的热潮[1]。
剩余内容已隐藏,请支付后下载全文,论文总字数:26047字
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。