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

下載本文檔

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

文檔簡介

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論