国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ROS的移動機器人多目標路徑規(guī)劃

2019-09-24 06:03周蘭蘭
電腦知識與技術(shù) 2019年21期
關(guān)鍵詞:移動機器人算法

周蘭蘭

摘要:機器人越來越受到廣泛應(yīng)用,而機器人巡檢、執(zhí)行配送等都不可或缺的需要移動機器人自主實現(xiàn)多目標導(dǎo)航規(guī)劃。首先建立其運動學(xué)和動力學(xué)模型;在建模的基礎(chǔ)上,分析A*算法并將其應(yīng)用于導(dǎo)航任務(wù)中;針對多目標點導(dǎo)航,研究ROS系統(tǒng)中自主導(dǎo)航平臺,搭建多目標點導(dǎo)航平臺,并在平臺上完成多目標點自主導(dǎo)航任務(wù)。實驗表明,程序給定多個導(dǎo)航目標點時,通過A*算法能夠?qū)崿F(xiàn)多目標導(dǎo)航規(guī)劃,為移動機器人進行多目標點導(dǎo)航提供了可行性方案。

關(guān)鍵詞:移動機器人;多目標點;A*算法

中圖分類號: TP311? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2019)21-0176-02

開放科學(xué)(資源服務(wù))標識碼(OSID):

Abstract: Robot is more and more widely application, the inspection robot, execution, delivery are indispensable to mobile robot autonomous navigation realize multi-objective planning. Firstly, the kinematics and dynamics models are established. On the basis of modeling, A* algorithm is analyzed and applied to navigation tasks. Aiming at multi-target point navigation, the autonomous navigation platform in ROS system is studied to build a multi-target point navigation platform and complete multi-target point autonomous navigation tasks on the platform. The experiment shows that when the program is given multiple navigation target points, the multi-objective navigation planning can be realized through A* algorithm, which provides A feasible scheme for mobile robot to conduct multi-objective navigation.

Key words: mobile robot;mutil-targets;A* algorithm.

近幾年,隨著計算機技術(shù)的快速發(fā)展,移動機器人在諸多生活領(lǐng)域發(fā)揮著越來越重要的作用,特別是在航空航天、工業(yè)、災(zāi)難救援等方面。隨著硬件技術(shù)和機器人平臺的復(fù)雜化,為了提高軟件代碼的復(fù)用性和模塊化需求,斯坦福大學(xué)人工智能實驗室與機器人技術(shù)公司W(wǎng)illow Garage于2007年在合作的個人機器人項目中產(chǎn)生了ROS(Robot Operating System)[1]。ROS被設(shè)計為分布式框架,集成了大量的工具、庫、協(xié)議,提供了硬件抽象、底層驅(qū)動、消息傳遞、程序管理和機制幫助用戶完成機器人應(yīng)用的建立、編寫和多機集成[2]。

ROS中功能模塊都封裝獨立的功能包,便于進行共享和分發(fā)。ROS功能包主要包含gmapping、cartographer、導(dǎo)航功能包等。其中,路徑規(guī)劃技術(shù)是機器人自主導(dǎo)航的核心技術(shù),受到了國內(nèi)外學(xué)者的廣泛關(guān)注。機器人路徑規(guī)劃主要是指機器人能夠在靜態(tài)環(huán)境或動態(tài)環(huán)境均能規(guī)劃出一條最優(yōu)的抵達目標點的無碰撞路徑[3];它主要包括環(huán)境信息已知的全局規(guī)劃和信息未知的局部路徑規(guī)劃。常見的局部路徑規(guī)劃主要包括人工勢場法、動態(tài)窗口法等。全局路徑規(guī)劃方法包括可視圖法、拓撲圖法、A*等方法。針對多目標導(dǎo)航,本文建立四輪全向移動機器人模型,并在搭建的ROS的平臺上完成基于A*的多目標點導(dǎo)航任務(wù)。實驗結(jié)果證明,基于ROS的多目標導(dǎo)航平臺能夠完成從起始點依次到達設(shè)定的各個目標點任務(wù)。

1全向移動機器人模型

1.1? 運動學(xué)模型

在建立移動機器人運動學(xué)模型時,假設(shè)機器人滿足如下條件:

(1) 機器人自身參數(shù)通常不會改變,如車輪半徑、輪間距等;

(2) 機器人在水平地面上運動且不會與地面發(fā)生嚴重的摩擦;

(3) 機器人僅在運動方向上滾動且不會發(fā)生側(cè)滑現(xiàn)象。

圖1所示為四輪全向移動機器人的運動學(xué)關(guān)系圖。機器人導(dǎo)航中存在三大坐標系:世界坐標系、傳感器坐標系及機器人坐標系,圖中,XwOYw表示機器人世界坐標系,xroyr表示機器人自身的坐標系,[w1]、[w2]、[w3]、[w4]分別表示機器人的四個車輪。

圖中,[θ]為機器人的前進方向,[ω]為機器人的角速度,[v1]、[v2]、[v3]、[v4]分別為[w1]、[w2]、[w3]、[w4]車輪的線速度,[δ1]、[δ2]、[δ3]、[δ4]分別為四個車輪與機器人坐標系中X軸的夾角,且[δ=δ1=δ2=δ3=δ4],四個車輪到車體中心距離相等, [L]為全向輪到機器人車體中心的距離。

通過分析圖1的幾何關(guān)系可知,機器人四個車輪的線速度與車體質(zhì)心速度間的關(guān)系,即其運動學(xué)方程為[4]:

式中,令[q=(xw,yw,θw)T],[q]為世界坐標系下的機器人的位姿,[v=(v1,v2,v3,v4)T]為四輪全向移動機器人的車輪線速度,轉(zhuǎn)換矩陣為

假設(shè)[S(q)=J-1(θ)],則機器人運動學(xué)模型簡化如下:

1.2 動力學(xué)模型

將圖1中四個車輪線速度[v1]、[v2]、[v3]、[v4]分別替換為四個車輪所受的力[f1]、[f2]、[f3]、[f4]形成四輪全向移動機器人動力學(xué)示意圖。假設(shè)機器人總質(zhì)量為[m],[I]為移動機器人繞底座中心旋轉(zhuǎn)的轉(zhuǎn)動慣量,而機器人所受摩擦等其他干擾條件不被考慮,分析圖1中的受力情況可知,四輪全向移動機器人的加速度與各力的關(guān)系為:

2 A*算法

A*算法是一種啟發(fā)式搜索算法,會評估在狀態(tài)空間中對當(dāng)前點附近的每個搜索位置,得到最佳位置,在依次搜索直至目標[6]。A*算法的基本思想是:引入當(dāng)前節(jié)點n的代價函數(shù)[f(n)],其定義為:

其中,[g(n)]、[h(n)]分別為在狀態(tài)空間中從起點到節(jié)點n的真實值、節(jié)點n到目標點的最佳路徑的估值,[h(n)]通常為節(jié)點n到目標點間的歐幾里得距離或曼哈頓距離來估計。本文中的[h(n)]是當(dāng)前節(jié)點[(xn,yn)]與目標節(jié)點[(xG,yG)]間的歐幾里得距離:

在柵格地圖中應(yīng)用A*算法路徑規(guī)劃時,移動機器人根據(jù)車體大小被視為地圖中與單個柵格尺寸匹配的質(zhì)點。

3 實驗平臺

在基于Ubuntu Kinetic的系統(tǒng)下安裝ROS。ROS系統(tǒng)自主導(dǎo)航主要包有三個功能包:gmapping、amcl和move_base包[6]。Gammping包會根據(jù)激光雷達獲取環(huán)境信息結(jié)合里程計數(shù)據(jù)完成基于概率的二維柵格地圖的創(chuàng)建;amcl包會根據(jù)已知的環(huán)境地圖信息自主定位與導(dǎo)航;move_base包會根據(jù)激光獲取的環(huán)境信息和機器人自身的運動信息來規(guī)劃機器人的下一步運動軌跡,最終完成抵達目標位置的任務(wù)。本文假定環(huán)境信息是已知的,因此主要用到amcl包和move_base包。

在移動機器人的自主導(dǎo)航中,tf包用于轉(zhuǎn)換三個坐標系信息。在導(dǎo)航中,將激光獲取的信息和里程計數(shù)據(jù)通過tf轉(zhuǎn)換傳輸?shù)絤ove_base包,然后結(jié)合柵格地圖信息依據(jù)目標點將經(jīng)過move_base包處理后形成的速度和角速度信息驅(qū)動機器人運動。

針對多目標點導(dǎo)航,需要在一次導(dǎo)航完成后,將下一個目標點的信息自動發(fā)布到move_base包中。目標點位姿包括位置信息和航向四元數(shù),位置信息為目標點坐標值,航向四元數(shù)為該點后機器人朝向信息。每到達一個目標點,會顯示“RESULT SUCCEED”,然后機器人接收到下一目標點后開始下一次導(dǎo)航。

4 仿真實驗

實驗中機器人車體長寬高分別為0.25m,0.16m,0.05m,車輪半徑為0.025m,車輪寬度為0.02m。整個機器人由四個全向輪支撐,可以使機器人在原地360°旋轉(zhuǎn)。地圖長為31.2米,寬為23米,移動機器人起始點為(-5.0,-4.0,0),導(dǎo)航目標點共四個,位置信息分別為(10.155,11.605)、(11.881,14.532)、(16.761,15.211)、(18.470,11.730)。在move_base.launch文件中配置移動機器人、激光雷達等相關(guān)參數(shù),并在終端通過命令roslaunch simulation_launch move_base.launch打開rviz可視化窗口,為后續(xù)多目標點導(dǎo)航做準備。重新打開終端,由 rosrun mutil_navigation_goals mutil_navigation_goal發(fā)布多個目標點到導(dǎo)航系統(tǒng),然后機器人便可以根據(jù)程序給出的目標點開始自主導(dǎo)航。

機器人導(dǎo)航中rviz界面顯示的導(dǎo)航過程如圖2所示。(a)(b)分別為移動機器人基于A*算法對第一個目標點、第四點的路徑規(guī)劃圖。

5 結(jié)論

本文針對多目標導(dǎo)航,分析并建立了四輪全向移動機器人運動學(xué)、動力學(xué)模型;搭建了基于ROS的多目標導(dǎo)航仿真平臺,將A*算法應(yīng)用于多目標自主導(dǎo)航中。為了實現(xiàn)多目標點自主導(dǎo)航,將多個目標點信息寫入單獨的ROS的程序包中,在導(dǎo)航規(guī)劃開始之前,發(fā)布多目標信息到導(dǎo)航平臺中,依次進行導(dǎo)航規(guī)劃任務(wù)。仿真實驗結(jié)果表明,在發(fā)布多個目標點信息之后,移動機器人能夠利用A*算法依次成功到達程序設(shè)定的所有目標點。實驗驗證了A*算法在ROS平臺上進行多目標導(dǎo)航規(guī)劃的可行性。

參考文獻:

[1] 胡春旭.ROS機器人開發(fā)實踐[M].北京:機械工業(yè)出版社,2018.

[2] 高民東,張雅妮,朱凌云.基于ROS的機器人室內(nèi)巡檢技術(shù)仿真[J].重慶理工大學(xué)學(xué)報(自然科學(xué)),2018(7).

[3] 王殿君.基于改進A*算法的室內(nèi)移動機器人路徑規(guī)劃[J].清華大學(xué)學(xué)報(自然科學(xué)版), 2012(8):1085-1089.

[4] 王國勝,夏凡,呂強,等.基于動力學(xué)與運動學(xué)的四輪全向移動機器人軌跡跟蹤控制[J].裝甲兵工程學(xué)院學(xué)報,2015(1):54-59.

[5] 周晶,曹國華,翟娟.基于A*算法的智能輪椅的路徑規(guī)劃[J].電子技術(shù), 2014(4).

[6] 吳夢珂,任工昌,劉朋.基于ROS的移動機器人多目標點導(dǎo)航的實現(xiàn)[J].電子技術(shù),2018,47(7):28,32-35.

【通聯(lián)編輯:唐一東】

猜你喜歡
移動機器人算法
移動機器人自主動態(tài)避障方法
移動機器人VSLAM和VISLAM技術(shù)綜述
基于MapReduce的改進Eclat算法
Travellng thg World Full—time for Rree
進位加法的兩種算法
基于Twincat的移動機器人制孔系統(tǒng)
基于增強隨機搜索的OECI-ELM算法
一種改進的整周模糊度去相關(guān)算法
室內(nèi)環(huán)境下移動機器人三維視覺SLAM
極坐標系下移動機器人的點鎮(zhèn)定