基于ROS的移动机器人室内导航算法研究及实现分析研究 电气工程及其自动化专业_第1页
基于ROS的移动机器人室内导航算法研究及实现分析研究 电气工程及其自动化专业_第2页
基于ROS的移动机器人室内导航算法研究及实现分析研究 电气工程及其自动化专业_第3页
基于ROS的移动机器人室内导航算法研究及实现分析研究 电气工程及其自动化专业_第4页
基于ROS的移动机器人室内导航算法研究及实现分析研究 电气工程及其自动化专业_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 移动机器人作为机器人的重要分支,在工业、军事、医疗、太空探索等众多领域扮演着越来越重要的角色。自主导航作为移动机器人的鲜明特征和基本功能,已成为近年来研究的热点。移动机器人自主导航主要包含三个方面的问题:(1)地图构建,机器人需要在已知的环境地图中设定移动目标并规划路径,而如何在未知的环境中创建地图是自主导航首先要解决的问题。(2)定位,移动机器人要在全局坐标系中找到自身精确的位置和方向信息,这是自主导航的前提。(3)路径规划,在完成地图构建与定位后,机器人需要规划一条可以安全无碰撞抵达目的地的最优路径。其中前两个问题可由同时定位与地图构建(SimultaneousLocalizationandMapping,SLAM)技术解决。SLAM可解释为机器人在未知环境中探索时,依靠内部和外部传感器确定自身位置和姿态的同时完成未知环境地图的绘制。针对长久以来相对隔离的机器人开发与编程环境,本文采用更加开放的ROS开源机器人操作系统作为软件平台,使用TurtleBot3Burger移动机器人搭建了基于激光传感器的室内自主导航系统。本文所做具体工作如下:首先,对同时定位与地图构建技术进行了论述,介绍其中所涉及的地图表达方式及定位算法。并在ROS中搭建移动机器人模型与SLAM系统框架,使用占据栅格地图和基于粒子滤波器的蒙特卡罗定位算法完成仿真。其次,对路径规划中全局路径规划和局部路径规划两个子问题进行研究。采用A*算法完成全局路径规划,得到当前位置与目标点之间的无碰撞最短路径。当机器人沿该条最短路径前进时,使用DWA动态窗口法进行局部路径规划,实现实时避障。通过结合代价地图,最终在ROS中完成导航仿真。最后,在ROS中将上述SLAM与导航系统进行搭建,使用搭载了360°激光传感器的TurtleBot3移动机器人在实际室内环境中完成了地图构建、自主定位、路径规划和实时避障的实验,验证了本文设计的导航系统的可行性。关键词:移动机器人,自主导航,同时定位与地图构建,路径规划,ROSAbstractAsanimportantbranchofrobots,mobilerobotsplayanincreasinglyimportantroleinmanyfieldssuchasindustry,military,medicalandspaceexploration.Autonomousnavigation,asadistinctivefeatureandbasicfunctionofmobilerobots,hasbecomeahottopicinrecentyears.Autonomousnavigationofmobilerobotsmainlyincludesthreeproblems:(1)Mapping,therobotneedstosetthetargetandplanthepathinthemap.Howtocreateamapinanunknownenvironmentisthefirstproblemtosolvefortheautonomousnavigation.(2)Localization,themobilerobotmustfinditsownprecisepositionandorientationintheglobalcoordinatesystem.Thisisthepremiseofautonomousnavigation.(3)Pathplanning,aftersettingthetargetinthemap,therobotneedstoplanashortestpaththatcanbesafelyandcollision-freetoreachthedestination.ThefirsttwooftheproblemscanbesolvedbySimultaneousLocalizationandMapping(SLAM)technology.SimultaneousLocalizationandMappingisthecomputationalproblemofconstructingorupdatingamapofanunknownenvironmentwhilesimultaneouslykeepingtrackoftherobot'slocationwithinit.Forarelativelylong-termisolatedrobotdevelopmentandprogrammingenvironment,thispaperusesROSopensourcerobotoperatingsystemasasoftwareplatform,andusesTurtleBot3Burgermobilerobottobuildanindoorautonomousnavigationsystembasedonlasersensors.Thispaperhascompletedtheworkasfollows:Firstly,theSimultaneousLocalizationandMappingisdiscussed,alsorelatedmaprepresentationmethodandlocalizationalgorithmsareintroduced.ThispaperbuildsamobilerobotmodelandtheSLAMsystemframeworkinROS,thenusesoccupancygridmapandMonteCarlolocalizationcompletethesimulation.Secondly,twosub-problemsofglobalpathplanningandlocalpathplanninginpathplanningarestudied.TheA*algorithmisusedtocompletetheglobalpathplanningandobtainthecollision-freeshortestpathbetweenthecurrentpositionandthetargetpoint.Whentherobotmovesalongtheglobalpath,theDWAalgorithmisusedtoperformlocalpathplanningtoachievereal-timeobstacleavoidance.Bycombiningthecostmap,thenavigationsimulationisfinallycompletedinROS.Finally,aSLAMandthenavigationsystemarebuiltintheROS.ByusingTurtleBot3mobilerobotequippedwitha360°lasersensor,completedthemapconstruction,autonomouspositioning,pathplanning,andreal-timeobstacleavoidanceexperimentsinanactualindoorenvironment.Thefeasibilityandreliabilityofthenavigationsystemareconfirmed.Keywords:mobilerobots,autonomousnavigation,SLAM,pathplanning,ROS目录第一章绪论 [24]:图4.3导航中各节点与话题关系图在整个导航过程中包括了测位、坐标变换、激光传感器、地图、目的指令及速度指令的话题及相对应的话题消息类型。测位(‘/odom’,nav_msgs/Odometry):机器人的测位信息用于局部路径规划,使用接受的速度信息完成局部移动以避开障碍物。坐标变换(‘/tf’,tf/tfMessage):配置传感器相对机器人的相对位置,通过odom→base_footprint→base_link→base_scan变换后以话题发布。激光传感器(‘/scan’,sensor_msgs):激光传感器测量得到的距离值,用于自适应蒙特卡洛定位(amcl)以估计当前位置及规划运动。地图(‘/map’,nav_msgs):使用map_server功能包发布SLAM中获取的占据栅格地图。目的坐标(‘/move_base_simple’,geometry):操作人员在可视化工具Rviz中指定目的坐标(x,y,θ)。速度指令(‘/cmd_vel’,geometry_msgs/Twist):根据规划的路径发布机器人移动的速度指令,驱动机器人底部舵机运转。

4.3导航实验及结果分析4.3.1室内导航环境介绍 本次实验设置在空旷且较长的走廊内,走廊宽约2米,长约30米。在走廊的尽头分别有两个房间,且中间有电梯间和一个平台。实验场景如下图所示:图4.4室内导航环境4.3.2实验过程与结果首先建立笔记本电脑和TurtleBot3的无线通信。在远程控制的笔记本电脑和移动机器人硬件都已经配置好的情况下,通过在终端中输入ifconfig命令获取两者IP地址,并在~/.bashrc文件中进行修改。 在建立两者的实时通讯后,通过roscore命令启动电脑中的控制器,以保证SLAM与导航中所涉及的各个节点间数据传输和通信。接下来通过SSH远程控制树莓派,并在树莓派终端中通过roslaunch命令唤醒TurtleBot3移动机器人以及顶端的HLS-LFCD激光传感器。此时可以看出,TurtleBot3移动机器人顶部的雷达开始旋转,不断接收周围的环境信息。 之后运行SLAM功能包,使用激光传感器距离数据绘制地图。其次使用Rviz可视化工具监控SLAM创建的地图以及机器人的实时位置,分别在两个终端上运行如下两个命令: $roslaunchturtlebot3_slamturtlebot3_slam.launch $rosrunrvizrviz-d`rospackfindturtlebot3_slam`/rviz/turtlebot3_slam.rviz 最后启动基础控制器节点,使用键盘控制机器人的移动,使其在前进的过程中可以不断创建增量式地图。下图显示了Rviz可视化工具中SLAM的实时过程,其中图(b)左侧终端中的控制器节点显示了当前机器人移动的线速度及角速度:(a)(b)图4.5SLAM地图构建过程 建图完成后,使用$rosrunmap_servermap_saver命令保存地图,作为后续自主导航的环境地图,如图4.6所示:图4.6实际场景的占据栅格地图相对于第二章中在模拟环境创建的地图,本章在真实环境中创建的地图由于激光传感器精度限制以及各种干扰因素,地图边缘出现少量噪点。此外由于走廊过长,在机器人运动过程中出现的失步和打滑现象导致其里程计信息的误差。最终使原本应该是一条直线的走廊地图出现微小弯曲,对后续的导航试验造成不利影响。完成SLAM后,在新的终端输入命令运行导航系统,并同样在Rviz可视化工具中显示,运行命令分别如下所示:$roslaunchturtlebot3_navigationturtlebot3_navigation.launch$rosrunrvizrviz-d`rospackfindturtlebot3_navigation`/rviz/turtlebot3_nav.rviz首先根据机器人的大致方位使用2DPoseEstimate绿色矢量箭头进行初始位置估计,并使用控制器节点通过键盘移动机器人。在整个过程中机器人不断搜集周围环境信息,其创建的局部代价地图逐渐与已知地图相重合,同时蒙特卡罗定位使用的粒子也不断向机器人中心收缩,最终确定自己在地图上的位置。过程如下列三图所示: (a)(b)(c)图4.7机器人初始化定位 机器人位姿初始化完成后,机器人已经找到了自身先对于环境的精确位置。接下来通过使用工具栏中的2DNavGoal确定导航的目的地。在机器人知道“我要去哪”后,导航系统将使用A*全局路径规划算法规划一条无碰撞的最优路径。由于使用全局代价并考虑了机器人的半径,所生成的线路与两个90°转角都存在一定距离,避免了任何可能的碰撞发生,全局路径如图4.8所示:图4.8全局路径规划 此时在机器人的行进路线上放置两个纸箱,以测试机器人能够绕过障碍物的局部路径规划的能力:

图4.9行进过程添加障碍物图4.10局部路径规划 从上图可以看出,机器人在探测到前方存在未知障碍物后,首先生成了包括障碍物的局部代价地图,图中显示了障碍物位置以及根据机器人半径进行膨胀的紫色区域。其次使用DWA算法进行局部路径规划,重新规划了一条从两个障碍物之间穿过的路径。最终机器人平稳地绕过障碍物,达到目标设定点。 值得注意的是,上述SLAM及导航过程都是在机器人移动速度小于0.1m/s的情况下完成的。在机器人速度较快时,由于激光传感器信息未能及时更新与发布,在地图构建的过程会出现地图缺失的现象,而导航中也会出现与墙壁和障碍物相撞的现象。此外,由于所有计算都是由远程控制笔记本完成,最后通过局域网将控制信息传输至机器人,在整个过程中会出现0.5到1秒的延迟,很大程度地影响了地图构建和导航精度。4.4本章小结本章在室内环境中完成了基于ROS的导航实验。首先介绍了TurtleBot3Burger移动机器人并完成其软硬件配置,其次在ROS中搭建了完整的导航系统。接着在一条室内走廊中完成了基于激光传感器的导航实验。最后对实验中SLAM与自主导航的结果进行分析,验证了本文所搭建的导航系统的可行性与稳定性。第五章总结与展望5.1工作总结 移动机器人在社会各领域扮演着重要角色,自主导航为其不可或缺的功能之一。本文以移动机器人室内导航为研究对象,对导航系统所涉及的地图创建、自主定位、路径规划等问题作出了研究。选用ROS开源机器人操作系统作为实现导航系统的软件平台,其分布式管理、多语言编程的特点使其成为目前最受欢迎的机器人软件平台。具体工作内容如下: 1.阐述机器人自主导航发展现状及常用的室内导航方案。 2.对比多种室内导航方式的优缺点,选取基于激光传感器的导航方案。 3.研究同时定位与地图创建算法,最终使用蒙特卡洛定位与栅格地图完成占据栅格地图的创建,并在ROS中建立移动机器人模型后进行仿真。 4.通过路径规划算法在SLAM创建的环境地图中规划一条最优路径,使机器人安全无碰撞地抵达目标点。机器人通过A*算法完成全局路径规划,通过DWA动态窗口法完成局部路径规划,并创建代价地图避免与障碍物的碰撞。 5.基于ROS搭建了机器人SLAM和导航系统框架。使用TurtleBot3移动机器人作为硬件平台在室内环境中完成导航系统的测试,验证了本文所搭建导航系统的可行性与稳定性。5.2工作展望 本文搭建了激光导航系统并通过TurtleBot3移动机器人完成室内导航验证,但整个过程仍存在一些不足与需要改进之处,具体内容如下: 1.激光导航虽然涉及的算法与程序较为简单,但所使用的激光传感器较为昂贵,难以大规模地使用。下一步可使用较为便宜的单目或者双目视觉传感器,通过视觉识别创建三维的环境地图实现导航功能。 2.在创建增量式环境地图的过程中,由于激光传感器精度限制,地图边缘精度较差。且激光SLAM回环性较差,累积误差较难消除。 3.在使用DWA进行局部路径规划中,只关注了静态障碍物的避障。面对动态障碍物,其表现较差。 4.地图创建与路径规划过程仍需手动控制,接下来可研究完全自主化的导航过程。即将机器人放到完全陌生的环境中,无需任何指令就可以自己移动实现SLAM及导航。参考文献蔡自兴,谢斌.机器人学[M].北京:清华大学出版社.2015.M.W.M.GaminiDissanayake,PaulNewman,StevenClark,HughF.Durrant-Whyte,M.Csorba.ASolutiontotheSimultaneousLocalizationandMapBuilding(SLAM)Problem[J].IEEETransactionsonRoboticsandAutomation.2001,17(3).229-241.SMITHR,SELFM,CHEESEMANP.Estimatinguncertainspatialrelationshipsinrobotics[M].WILFONGGT.Autonomousrobotvehicles.NewYork:Springer-Verlag,1990:167-193.冯晓.基于粒子滤波器的自主式水下机器人导航定位算法研究[D].中国海洋大学,2013.N.J.Nilsson.Shakeytherobot.AICenter,SRIInternational,1984.邸凯昌.勇气号和机遇号火星车定位方法评述[J].航天器工程,2009,(05):1-5."BigDog-TheMostAdvancedRough-TerrainRobotonEarth".BostonDynamics.Retrieved2011-02-22.徐国华,谭民.移动机器人的发展现状及其趋势[J].机器人技术与应用,2001(03):7-14.谭民,王硕.机器人技术研究进展.自动化学报,2013,39(7):963−972.黄开宏,杨兴锐,曾志文等.基于ROS户外移动机器人软件系统构建[J].技术应用,2013(8):37-44./wik

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论