基于ROS的移動(dòng)機(jī)器人室內(nèi)導(dǎo)航算法研究及實(shí)現(xiàn)分析研究 電氣工程及其自動(dòng)化專業(yè)_第1頁(yè)
基于ROS的移動(dòng)機(jī)器人室內(nèi)導(dǎo)航算法研究及實(shí)現(xiàn)分析研究 電氣工程及其自動(dòng)化專業(yè)_第2頁(yè)
基于ROS的移動(dòng)機(jī)器人室內(nèi)導(dǎo)航算法研究及實(shí)現(xiàn)分析研究 電氣工程及其自動(dòng)化專業(yè)_第3頁(yè)
基于ROS的移動(dòng)機(jī)器人室內(nèi)導(dǎo)航算法研究及實(shí)現(xiàn)分析研究 電氣工程及其自動(dòng)化專業(yè)_第4頁(yè)
基于ROS的移動(dòng)機(jī)器人室內(nèi)導(dǎo)航算法研究及實(shí)現(xiàn)分析研究 電氣工程及其自動(dòng)化專業(yè)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

摘要 移動(dòng)機(jī)器人作為機(jī)器人的重要分支,在工業(yè)、軍事、醫(yī)療、太空探索等眾多領(lǐng)域扮演著越來(lái)越重要的角色。自主導(dǎo)航作為移動(dòng)機(jī)器人的鮮明特征和基本功能,已成為近年來(lái)研究的熱點(diǎn)。移動(dòng)機(jī)器人自主導(dǎo)航主要包含三個(gè)方面的問(wèn)題:(1)地圖構(gòu)建,機(jī)器人需要在已知的環(huán)境地圖中設(shè)定移動(dòng)目標(biāo)并規(guī)劃路徑,而如何在未知的環(huán)境中創(chuàng)建地圖是自主導(dǎo)航首先要解決的問(wèn)題。(2)定位,移動(dòng)機(jī)器人要在全局坐標(biāo)系中找到自身精確的位置和方向信息,這是自主導(dǎo)航的前提。(3)路徑規(guī)劃,在完成地圖構(gòu)建與定位后,機(jī)器人需要規(guī)劃一條可以安全無(wú)碰撞抵達(dá)目的地的最優(yōu)路徑。其中前兩個(gè)問(wèn)題可由同時(shí)定位與地圖構(gòu)建(SimultaneousLocalizationandMapping,SLAM)技術(shù)解決。SLAM可解釋為機(jī)器人在未知環(huán)境中探索時(shí),依靠?jī)?nèi)部和外部傳感器確定自身位置和姿態(tài)的同時(shí)完成未知環(huán)境地圖的繪制。針對(duì)長(zhǎng)久以來(lái)相對(duì)隔離的機(jī)器人開(kāi)發(fā)與編程環(huán)境,本文采用更加開(kāi)放的ROS開(kāi)源機(jī)器人操作系統(tǒng)作為軟件平臺(tái),使用TurtleBot3Burger移動(dòng)機(jī)器人搭建了基于激光傳感器的室內(nèi)自主導(dǎo)航系統(tǒng)。本文所做具體工作如下:首先,對(duì)同時(shí)定位與地圖構(gòu)建技術(shù)進(jìn)行了論述,介紹其中所涉及的地圖表達(dá)方式及定位算法。并在ROS中搭建移動(dòng)機(jī)器人模型與SLAM系統(tǒng)框架,使用占據(jù)柵格地圖和基于粒子濾波器的蒙特卡羅定位算法完成仿真。其次,對(duì)路徑規(guī)劃中全局路徑規(guī)劃和局部路徑規(guī)劃兩個(gè)子問(wèn)題進(jìn)行研究。采用A*算法完成全局路徑規(guī)劃,得到當(dāng)前位置與目標(biāo)點(diǎn)之間的無(wú)碰撞最短路徑。當(dāng)機(jī)器人沿該條最短路徑前進(jìn)時(shí),使用DWA動(dòng)態(tài)窗口法進(jìn)行局部路徑規(guī)劃,實(shí)現(xiàn)實(shí)時(shí)避障。通過(guò)結(jié)合代價(jià)地圖,最終在ROS中完成導(dǎo)航仿真。最后,在ROS中將上述SLAM與導(dǎo)航系統(tǒng)進(jìn)行搭建,使用搭載了360°激光傳感器的TurtleBot3移動(dòng)機(jī)器人在實(shí)際室內(nèi)環(huán)境中完成了地圖構(gòu)建、自主定位、路徑規(guī)劃和實(shí)時(shí)避障的實(shí)驗(yàn),驗(yàn)證了本文設(shè)計(jì)的導(dǎo)航系統(tǒng)的可行性。關(guān)鍵詞:移動(dòng)機(jī)器人,自主導(dǎo)航,同時(shí)定位與地圖構(gòu)建,路徑規(guī)劃,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導(dǎo)航中各節(jié)點(diǎn)與話題關(guān)系圖在整個(gè)導(dǎo)航過(guò)程中包括了測(cè)位、坐標(biāo)變換、激光傳感器、地圖、目的指令及速度指令的話題及相對(duì)應(yīng)的話題消息類型。測(cè)位(‘/odom’,nav_msgs/Odometry):機(jī)器人的測(cè)位信息用于局部路徑規(guī)劃,使用接受的速度信息完成局部移動(dòng)以避開(kāi)障礙物。坐標(biāo)變換(‘/tf’,tf/tfMessage):配置傳感器相對(duì)機(jī)器人的相對(duì)位置,通過(guò)odom→base_footprint→base_link→base_scan變換后以話題發(fā)布。激光傳感器(‘/scan’,sensor_msgs):激光傳感器測(cè)量得到的距離值,用于自適應(yīng)蒙特卡洛定位(amcl)以估計(jì)當(dāng)前位置及規(guī)劃運(yùn)動(dòng)。地圖(‘/map’,nav_msgs):使用map_server功能包發(fā)布SLAM中獲取的占據(jù)柵格地圖。目的坐標(biāo)(‘/move_base_simple’,geometry):操作人員在可視化工具Rviz中指定目的坐標(biāo)(x,y,θ)。速度指令(‘/cmd_vel’,geometry_msgs/Twist):根據(jù)規(guī)劃的路徑發(fā)布機(jī)器人移動(dòng)的速度指令,驅(qū)動(dòng)機(jī)器人底部舵機(jī)運(yùn)轉(zhuǎn)。

4.3導(dǎo)航實(shí)驗(yàn)及結(jié)果分析4.3.1室內(nèi)導(dǎo)航環(huán)境介紹 本次實(shí)驗(yàn)設(shè)置在空曠且較長(zhǎng)的走廊內(nèi),走廊寬約2米,長(zhǎng)約30米。在走廊的盡頭分別有兩個(gè)房間,且中間有電梯間和一個(gè)平臺(tái)。實(shí)驗(yàn)場(chǎng)景如下圖所示:圖4.4室內(nèi)導(dǎo)航環(huán)境4.3.2實(shí)驗(yàn)過(guò)程與結(jié)果首先建立筆記本電腦和TurtleBot3的無(wú)線通信。在遠(yuǎn)程控制的筆記本電腦和移動(dòng)機(jī)器人硬件都已經(jīng)配置好的情況下,通過(guò)在終端中輸入ifconfig命令獲取兩者IP地址,并在~/.bashrc文件中進(jìn)行修改。 在建立兩者的實(shí)時(shí)通訊后,通過(guò)roscore命令啟動(dòng)電腦中的控制器,以保證SLAM與導(dǎo)航中所涉及的各個(gè)節(jié)點(diǎn)間數(shù)據(jù)傳輸和通信。接下來(lái)通過(guò)SSH遠(yuǎn)程控制樹(shù)莓派,并在樹(shù)莓派終端中通過(guò)roslaunch命令喚醒TurtleBot3移動(dòng)機(jī)器人以及頂端的HLS-LFCD激光傳感器。此時(shí)可以看出,TurtleBot3移動(dòng)機(jī)器人頂部的雷達(dá)開(kāi)始旋轉(zhuǎn),不斷接收周圍的環(huán)境信息。 之后運(yùn)行SLAM功能包,使用激光傳感器距離數(shù)據(jù)繪制地圖。其次使用Rviz可視化工具監(jiān)控SLAM創(chuàng)建的地圖以及機(jī)器人的實(shí)時(shí)位置,分別在兩個(gè)終端上運(yùn)行如下兩個(gè)命令: $roslaunchturtlebot3_slamturtlebot3_slam.launch $rosrunrvizrviz-d`rospackfindturtlebot3_slam`/rviz/turtlebot3_slam.rviz 最后啟動(dòng)基礎(chǔ)控制器節(jié)點(diǎn),使用鍵盤控制機(jī)器人的移動(dòng),使其在前進(jìn)的過(guò)程中可以不斷創(chuàng)建增量式地圖。下圖顯示了Rviz可視化工具中SLAM的實(shí)時(shí)過(guò)程,其中圖(b)左側(cè)終端中的控制器節(jié)點(diǎn)顯示了當(dāng)前機(jī)器人移動(dòng)的線速度及角速度:(a)(b)圖4.5SLAM地圖構(gòu)建過(guò)程 建圖完成后,使用$rosrunmap_servermap_saver命令保存地圖,作為后續(xù)自主導(dǎo)航的環(huán)境地圖,如圖4.6所示:圖4.6實(shí)際場(chǎng)景的占據(jù)柵格地圖相對(duì)于第二章中在模擬環(huán)境創(chuàng)建的地圖,本章在真實(shí)環(huán)境中創(chuàng)建的地圖由于激光傳感器精度限制以及各種干擾因素,地圖邊緣出現(xiàn)少量噪點(diǎn)。此外由于走廊過(guò)長(zhǎng),在機(jī)器人運(yùn)動(dòng)過(guò)程中出現(xiàn)的失步和打滑現(xiàn)象導(dǎo)致其里程計(jì)信息的誤差。最終使原本應(yīng)該是一條直線的走廊地圖出現(xiàn)微小彎曲,對(duì)后續(xù)的導(dǎo)航試驗(yàn)造成不利影響。完成SLAM后,在新的終端輸入命令運(yùn)行導(dǎo)航系統(tǒng),并同樣在Rviz可視化工具中顯示,運(yùn)行命令分別如下所示:$roslaunchturtlebot3_navigationturtlebot3_navigation.launch$rosrunrvizrviz-d`rospackfindturtlebot3_navigation`/rviz/turtlebot3_nav.rviz首先根據(jù)機(jī)器人的大致方位使用2DPoseEstimate綠色矢量箭頭進(jìn)行初始位置估計(jì),并使用控制器節(jié)點(diǎn)通過(guò)鍵盤移動(dòng)機(jī)器人。在整個(gè)過(guò)程中機(jī)器人不斷搜集周圍環(huán)境信息,其創(chuàng)建的局部代價(jià)地圖逐漸與已知地圖相重合,同時(shí)蒙特卡羅定位使用的粒子也不斷向機(jī)器人中心收縮,最終確定自己在地圖上的位置。過(guò)程如下列三圖所示: (a)(b)(c)圖4.7機(jī)器人初始化定位 機(jī)器人位姿初始化完成后,機(jī)器人已經(jīng)找到了自身先對(duì)于環(huán)境的精確位置。接下來(lái)通過(guò)使用工具欄中的2DNavGoal確定導(dǎo)航的目的地。在機(jī)器人知道“我要去哪”后,導(dǎo)航系統(tǒng)將使用A*全局路徑規(guī)劃算法規(guī)劃一條無(wú)碰撞的最優(yōu)路徑。由于使用全局代價(jià)并考慮了機(jī)器人的半徑,所生成的線路與兩個(gè)90°轉(zhuǎn)角都存在一定距離,避免了任何可能的碰撞發(fā)生,全局路徑如圖4.8所示:圖4.8全局路徑規(guī)劃 此時(shí)在機(jī)器人的行進(jìn)路線上放置兩個(gè)紙箱,以測(cè)試機(jī)器人能夠繞過(guò)障礙物的局部路徑規(guī)劃的能力:

圖4.9行進(jìn)過(guò)程添加障礙物圖4.10局部路徑規(guī)劃 從上圖可以看出,機(jī)器人在探測(cè)到前方存在未知障礙物后,首先生成了包括障礙物的局部代價(jià)地圖,圖中顯示了障礙物位置以及根據(jù)機(jī)器人半徑進(jìn)行膨脹的紫色區(qū)域。其次使用DWA算法進(jìn)行局部路徑規(guī)劃,重新規(guī)劃了一條從兩個(gè)障礙物之間穿過(guò)的路徑。最終機(jī)器人平穩(wěn)地繞過(guò)障礙物,達(dá)到目標(biāo)設(shè)定點(diǎn)。 值得注意的是,上述SLAM及導(dǎo)航過(guò)程都是在機(jī)器人移動(dòng)速度小于0.1m/s的情況下完成的。在機(jī)器人速度較快時(shí),由于激光傳感器信息未能及時(shí)更新與發(fā)布,在地圖構(gòu)建的過(guò)程會(huì)出現(xiàn)地圖缺失的現(xiàn)象,而導(dǎo)航中也會(huì)出現(xiàn)與墻壁和障礙物相撞的現(xiàn)象。此外,由于所有計(jì)算都是由遠(yuǎn)程控制筆記本完成,最后通過(guò)局域網(wǎng)將控制信息傳輸至機(jī)器人,在整個(gè)過(guò)程中會(huì)出現(xiàn)0.5到1秒的延遲,很大程度地影響了地圖構(gòu)建和導(dǎo)航精度。4.4本章小結(jié)本章在室內(nèi)環(huán)境中完成了基于ROS的導(dǎo)航實(shí)驗(yàn)。首先介紹了TurtleBot3Burger移動(dòng)機(jī)器人并完成其軟硬件配置,其次在ROS中搭建了完整的導(dǎo)航系統(tǒng)。接著在一條室內(nèi)走廊中完成了基于激光傳感器的導(dǎo)航實(shí)驗(yàn)。最后對(duì)實(shí)驗(yàn)中SLAM與自主導(dǎo)航的結(jié)果進(jìn)行分析,驗(yàn)證了本文所搭建的導(dǎo)航系統(tǒng)的可行性與穩(wěn)定性。第五章總結(jié)與展望5.1工作總結(jié) 移動(dòng)機(jī)器人在社會(huì)各領(lǐng)域扮演著重要角色,自主導(dǎo)航為其不可或缺的功能之一。本文以移動(dòng)機(jī)器人室內(nèi)導(dǎo)航為研究對(duì)象,對(duì)導(dǎo)航系統(tǒng)所涉及的地圖創(chuàng)建、自主定位、路徑規(guī)劃等問(wèn)題作出了研究。選用ROS開(kāi)源機(jī)器人操作系統(tǒng)作為實(shí)現(xiàn)導(dǎo)航系統(tǒng)的軟件平臺(tái),其分布式管理、多語(yǔ)言編程的特點(diǎn)使其成為目前最受歡迎的機(jī)器人軟件平臺(tái)。具體工作內(nèi)容如下: 1.闡述機(jī)器人自主導(dǎo)航發(fā)展現(xiàn)狀及常用的室內(nèi)導(dǎo)航方案。 2.對(duì)比多種室內(nèi)導(dǎo)航方式的優(yōu)缺點(diǎn),選取基于激光傳感器的導(dǎo)航方案。 3.研究同時(shí)定位與地圖創(chuàng)建算法,最終使用蒙特卡洛定位與柵格地圖完成占據(jù)柵格地圖的創(chuàng)建,并在ROS中建立移動(dòng)機(jī)器人模型后進(jìn)行仿真。 4.通過(guò)路徑規(guī)劃算法在SLAM創(chuàng)建的環(huán)境地圖中規(guī)劃一條最優(yōu)路徑,使機(jī)器人安全無(wú)碰撞地抵達(dá)目標(biāo)點(diǎn)。機(jī)器人通過(guò)A*算法完成全局路徑規(guī)劃,通過(guò)DWA動(dòng)態(tài)窗口法完成局部路徑規(guī)劃,并創(chuàng)建代價(jià)地圖避免與障礙物的碰撞。 5.基于ROS搭建了機(jī)器人SLAM和導(dǎo)航系統(tǒng)框架。使用TurtleBot3移動(dòng)機(jī)器人作為硬件平臺(tái)在室內(nèi)環(huán)境中完成導(dǎo)航系統(tǒng)的測(cè)試,驗(yàn)證了本文所搭建導(dǎo)航系統(tǒng)的可行性與穩(wěn)定性。5.2工作展望 本文搭建了激光導(dǎo)航系統(tǒng)并通過(guò)TurtleBot3移動(dòng)機(jī)器人完成室內(nèi)導(dǎo)航驗(yàn)證,但整個(gè)過(guò)程仍存在一些不足與需要改進(jìn)之處,具體內(nèi)容如下: 1.激光導(dǎo)航雖然涉及的算法與程序較為簡(jiǎn)單,但所使用的激光傳感器較為昂貴,難以大規(guī)模地使用。下一步可使用較為便宜的單目或者雙目視覺(jué)傳感器,通過(guò)視覺(jué)識(shí)別創(chuàng)建三維的環(huán)境地圖實(shí)現(xiàn)導(dǎo)航功能。 2.在創(chuàng)建增量式環(huán)境地圖的過(guò)程中,由于激光傳感器精度限制,地圖邊緣精度較差。且激光SLAM回環(huán)性較差,累積誤差較難消除。 3.在使用DWA進(jìn)行局部路徑規(guī)劃中,只關(guān)注了靜態(tài)障礙物的避障。面對(duì)動(dòng)態(tài)障礙物,其表現(xiàn)較差。 4.地圖創(chuàng)建與路徑規(guī)劃過(guò)程仍需手動(dòng)控制,接下來(lái)可研究完全自主化的導(dǎo)航過(guò)程。即將機(jī)器人放到完全陌生的環(huán)境中,無(wú)需任何指令就可以自己移動(dòng)實(shí)現(xiàn)SLAM及導(dǎo)航。參考文獻(xiàn)蔡自興,謝斌.機(jī)器人學(xué)[M].北京:清華大學(xué)出版社.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.馮曉.基于粒子濾波器的自主式水下機(jī)器人導(dǎo)航定位算法研究[D].中國(guó)海洋大學(xué),2013.N.J.Nilsson.Shakeytherobot.AICenter,SRIInternational,1984.邸凱昌.勇氣號(hào)和機(jī)遇號(hào)火星車定位方法評(píng)述[J].航天器工程,2009,(05):1-5."BigDog-TheMostAdvancedRough-TerrainRobotonEarth".BostonDynamics.Retrieved2011-02-22.徐國(guó)華,譚民.移動(dòng)機(jī)器人的發(fā)展現(xiàn)狀及其趨勢(shì)[J].機(jī)器人技術(shù)與應(yīng)用,2001(03):7-14.譚民,王碩.機(jī)器人技術(shù)研究進(jìn)展.自動(dòng)化學(xué)報(bào),2013,39(7):963?972.黃開(kāi)宏,楊興銳,曾志文等.基于ROS戶外移動(dòng)機(jī)器人軟件系統(tǒng)構(gòu)建[J].技術(shù)應(yīng)用,2013(8):37-44./wik

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論