


摘? 要:隨著智能技術(shù)的發(fā)展,自主移動機器人逐步進入生產(chǎn)生活當(dāng)中,其中路徑規(guī)劃是實現(xiàn)機器人導(dǎo)航功能的重要環(huán)節(jié)。基于機器人操作系統(tǒng)平臺,對導(dǎo)航機器人的整體架構(gòu)和路徑規(guī)劃進行研究,在Dijkstra算法基礎(chǔ)上,加入啟發(fā)式搜索思想,提出A*算法規(guī)劃全局路徑,并進行兩種算法的對比分析,同時提出一種基于動態(tài)窗口的局部路徑規(guī)劃算法。經(jīng)實驗驗證,該方法可實現(xiàn)機器人導(dǎo)航過程中的路徑規(guī)劃和實時動態(tài)避障功能,且具有一定的路徑尋優(yōu)能力和較高的執(zhí)行效率。
關(guān)鍵詞:ROS;移動機器人;自主導(dǎo)航;路徑規(guī)劃;動態(tài)避障
Abstract:With the development of intelligent technology,autonomous mobile robot has gradually entered the production and life,among which path planning technology is an important link to realize the navigation function of the robot. Based on the ROS platform,the overall architecture and path planning technology of navigation robots are studied. On the basis of Dijkstra algorithm,the idea of heuristic search was added to propose A* algorithm for global path planning,and a comparative analysis was conducted between the two algorithms. At the same time,a local path planning algorithm based on dynamic window is proposed. The experimental results show that this method can satisfy the functions of path planning and real-time dynamic obstacle avoidance in the process of robot navigation,and has certain path optimization ability and high execution efficiency.
Keywords:ROS;mobile robot;autonomous navigation;path planning;obstacle avoidance
0? 引? 言
隨著當(dāng)今機器人技術(shù)的發(fā)展,自主移動機器人憑借其智能化和實用性,被廣泛地應(yīng)用于服務(wù)行業(yè)、工業(yè)制造、醫(yī)療看護等多種場景。該類機器人擁有強大的移動能力,通過目標(biāo)點的設(shè)定,可實現(xiàn)自主導(dǎo)航功能,以替代人類完成部分復(fù)雜、危險的工作[1]。其中路徑規(guī)劃作為實現(xiàn)機器人自主導(dǎo)航功能的關(guān)鍵性技術(shù)之一,成為當(dāng)下研究的熱點。國外對于路徑規(guī)劃研究起步較早,較為經(jīng)典的有Dijkstra提出的用于解決最短路徑問題的Dijkstra算法、Khatib提出的人工勢場法、Lavalle提出的快速隨機樹算法。國內(nèi)的Zhang提出了一種基于混沌人工勢場法的路徑規(guī)劃新方法[2],即在傳統(tǒng)的人工勢場方法中,結(jié)合了混沌優(yōu)化算法。但是現(xiàn)階段部分的路徑規(guī)劃算法仍處于理論研究,可實際應(yīng)用于導(dǎo)航機器人的路徑規(guī)劃算法,仍然存在尋優(yōu)能力差、效率低、算法魯棒性差等問題。
本文基于作者所就讀的吉林大學(xué)儀器科學(xué)與電氣工程學(xué)院的大學(xué)生創(chuàng)新訓(xùn)練項目,為完成該項目中導(dǎo)航機器人的系統(tǒng)設(shè)計與實現(xiàn),滿足移動機器人在導(dǎo)航過程中,對于全局路徑的搜尋以及實時動態(tài)避障的實現(xiàn)要求[3],介紹了一種基于ROS(Robot Operating System)平臺的機器人導(dǎo)航路徑規(guī)劃方法,通過建立仿真的二維柵格地圖對比不同算法的優(yōu)勢與不足,利用搭建的ROS機器人實物平臺,完成導(dǎo)航功能中路徑規(guī)劃的驗證。機器人可以通過本文提出的路徑規(guī)劃方法,完成導(dǎo)航功能,具有較高的路徑搜索效率和避障成功率。
1? 系統(tǒng)總體架構(gòu)
系統(tǒng)選用上下位機的架構(gòu)進行設(shè)計,其中上位機選用Intel酷睿i3處理器,連接激光雷達(dá)和姿態(tài)傳感器,分別完成機器人距離信息和位姿信息的采集,下位機為STM32F103C8T6單片機,通過單片機輸出的PWM(Pulse Width Modulation,脈沖寬度調(diào)制)控制舵機和電機,完成機器人轉(zhuǎn)角和速度的底層驅(qū)動控制。上位機搭載ROS,ROS是一個專門用于機器人開發(fā)的框架,提供適當(dāng)?shù)牟僮飨到y(tǒng)服務(wù),不僅包含一系列的工具、庫和約定等,而且其分布式管理的特點極大程度地提高了開發(fā)效率。系統(tǒng)利用上位機主控電腦強大的計算處理能力,完成算法的運行與計算。機器人搭載的傳感器不斷采集數(shù)據(jù),上位機進行數(shù)據(jù)處理,將采集到的環(huán)境信息最終計算轉(zhuǎn)換為機器人移動的角速度與線速度,通過串口傳輸與下位機進行通訊,最終下位機接收到速度信息后,完成機器人的移動控制。系統(tǒng)總體架構(gòu)圖如圖1所示。
2? 全局路徑規(guī)劃方法
全局路徑規(guī)劃是一種基于地圖的靜態(tài)路徑規(guī)劃方法,利用已建立的環(huán)境地圖信息和位置信息,機器人在開始移動前完成路徑的搜尋[4]。基于該路徑在環(huán)境無動態(tài)障礙增加的條件下,應(yīng)滿足所搜尋路徑無限接近理想的最短路徑,且具有較高的搜索效率。
A*算法作為一種全局路徑規(guī)劃算法,其繼承了Dijkstra算法遍歷點集的思想,并在此基礎(chǔ)上加入了啟發(fā)式搜索的思想。由于Dijkstra算法需要遍歷全部點集,在實際應(yīng)用過程中雖然可以得到較優(yōu)的路徑,但是搜索效率有所欠缺,于是A*算法引入評估函數(shù),不僅評估搜索點到目標(biāo)點的評分估值,而且增加起始點到搜索點的評分估值,通過為兩者評分估值賦予不同權(quán)重,將最終評分作為啟發(fā)式搜索的代價,可極大地提高算法運行效率。評價函數(shù)如式(1)所示:
H(s)函數(shù)的選取決定著A*算法的成敗,在評估當(dāng)前節(jié)點到目標(biāo)節(jié)點的代價值即H(s)時,應(yīng)綜合考慮搜索效率、是否有最優(yōu)解等因素。可選用式(2)中的歐幾里得距離作為評估,使用此方法可得到的路徑較短,但是會增加計算量,使得搜索效率有所下降,在應(yīng)用于對搜索效率要求較高的場景時,可選用式(3)中的曼哈頓距離作為評估。定義(xi,yi)和(xj,yj)分別表示當(dāng)前和目標(biāo)點坐標(biāo),評價公式如式(2)、式(3)所示:
使用A*算法進行路徑規(guī)劃時,以當(dāng)前搜索點為父節(jié)點,通過評價函數(shù)確定下一個與父節(jié)點連通的子節(jié)點并記錄下來,通過不斷更新子節(jié)點,直至子節(jié)點更新為目標(biāo)點時算法完成遍歷,通過記錄的子節(jié)點回溯父節(jié)點,構(gòu)成完整的點集,即為獲得的規(guī)劃路徑。
3? 局部路徑規(guī)劃方法
局部實時路徑規(guī)劃采用DWA算法,即動態(tài)窗口算法,在機器人完成全局路徑規(guī)劃后[5],每次做出移動動作前調(diào)用此算法,以判斷在該固定窗口范圍內(nèi)全局規(guī)劃的路徑是否安全,計算出最優(yōu)的實時路徑完成機器人的控制[6,7]。該算法原理為通過對機器人移動的速度不斷采樣[8],同時用當(dāng)前采樣速度來模擬機器人在固定時間內(nèi)的移動軌跡,并進行綜合評價,選用最優(yōu)路徑完成對機器人的實時控制。DWA算法具體流程如下。
3.1? 運動建模
系統(tǒng)的機械結(jié)構(gòu)通過舵機進行轉(zhuǎn)向,通過電機提供前進動力[9]。根據(jù)機器人運動原理,可以得到機器人的運動速度(vt,ωt),其中,vt為機器人的線速度,ωt為機器人的角速度,設(shè)定機器人航向角為θ,則在t+1時刻機器人的運動位姿方程如下:
3.2? 速度采樣
通過對機器人速度的不斷采樣,完成機器人在該運動速度下的運動軌跡模擬,在進行速度采樣的過程中,可根據(jù)機器人傳感器的性能、電機的性能、驅(qū)動的性能等因素,對運動速度進行限制,以保證機器人具有最佳的運動性能。
3.3? 綜合評價
選用式(7)的指定評價函數(shù)對移動機器人的軌跡進行綜合評價,通過對不同路徑的結(jié)果分析,得到最為合適的局部路徑,可以有效地躲避障礙并且極大程度地貼近原始全局路徑。
其中,vn表示機器人實時速度,Gn表示移動到目標(biāo)點的代價,ΔGn表示當(dāng)前路徑的距離和全局規(guī)劃路徑距離的代價值差值,Hn表示移動到達(dá)目標(biāo)點的代價。通過調(diào)整式(7)中四個常數(shù)α、β、γ、δ,進而調(diào)整不同代價所占權(quán)值,從而求解局部路徑中的最優(yōu)規(guī)劃,最終將最優(yōu)規(guī)劃信息轉(zhuǎn)換為移動機器人的速度指令進行發(fā)布。
4? 實驗
4.1? 仿真與分析
使用MATLAB建立帶障礙物的柵格地圖,假設(shè)0代表無障礙可通過處即白色部分,1代表有障礙物即黑色部分,設(shè)置起始點與目標(biāo)點,分別使用Dijkstra算法和A*算法進行路徑規(guī)劃,所得規(guī)劃路徑如圖2、圖3所示。
在保證起始點坐標(biāo)與目標(biāo)點坐標(biāo)不發(fā)生改變的情況下,進行10次重復(fù)實驗,記錄實驗數(shù)據(jù)如表1所示。
通過仿真所得規(guī)劃路徑可以看出,兩種路徑規(guī)劃算法均可避開障礙物,順利到達(dá)終點,得到較優(yōu)的路徑。根據(jù)實驗數(shù)據(jù)可知,A*算法所得路徑與Dijkstra算法所得路徑長度幾乎一致,但是搜索時間明顯縮短,搜索效率較Dijkstra算法更高。
4.2? 實物環(huán)境實驗
利用搭建的基于ROS的導(dǎo)航機器人平臺,在實物環(huán)境下進行路徑規(guī)劃技術(shù)的實驗。分別選擇矩形環(huán)境、環(huán)形環(huán)境、不同角度的U形環(huán)境進行實驗,利用機器人構(gòu)建環(huán)境地圖后,設(shè)置目標(biāo)點導(dǎo)航,進行路徑規(guī)劃實驗。全局路徑規(guī)劃算法選擇A*算法,局部路徑規(guī)劃使用DWA算法。如圖4所示是機器人導(dǎo)航過程中起始點與目標(biāo)點間完成的路徑規(guī)劃。
保證每次機器人的出發(fā)點與目標(biāo)點相同的條件下,在不同環(huán)境中分別在靜態(tài)條件和設(shè)置動態(tài)障礙物條件下進行實驗,重復(fù)20次實驗,分別將實驗結(jié)果記錄在表2中。
通過實驗結(jié)果統(tǒng)計可知,使用本文提出的方法,可滿足移動機器人導(dǎo)航過程中對于路徑規(guī)劃的要求。不僅可以規(guī)劃出較優(yōu)的全局路徑,使得機器人獲得較短的行進路線,而且對于設(shè)置的動態(tài)障礙物,有著較高的避障成功率。
5? 結(jié)? 論
對于全局路徑規(guī)劃,經(jīng)典的Dijkstra算法與本文介紹的A*算法相比,雖然可規(guī)劃出更優(yōu)的路線,但是耗時較長,A*算法擁有更高的效率,更適用于對實時性要求較高的導(dǎo)航機器人。經(jīng)過實驗驗證,本文提出的基于ROS的導(dǎo)航機器人路徑規(guī)劃方法,在實際應(yīng)用中有著良好的效果,不僅可在較短時間內(nèi)完成全局路徑規(guī)劃,且可以得到較短的路線,而且對于動態(tài)的障礙躲避,局部路徑規(guī)劃也有著較高的成功率。
參考文獻(xiàn):
[1] 彭曉燕,謝浩,黃晶.無人駕駛汽車局部路徑規(guī)劃算法研究 [J].汽車工程,2020,42(1):1-10.
[2] ZHANG C. Path Planning for Robot Based on Chaotic Artificial Potential Field Method [J]. IOP Conference Series:Materials Science and Engineering,2018,317(1):12-56.
[3] ZHANG Y,CHEN H Y,WASLANDER S L,et al. Hybrid Trajectory Planning for Autonomous Driving in Highly Constrained Environments [J].IEEE Access,2018,6:32800-32819.
[4] VOISAN E I,PAULIS B,PRECUP R E,et al. ROS-based robot navigation and human interaction in indoor environment [C]//IEEE Jubilee International Symposium on Applied Computational Intelligence and Informatics. IEEE,2015:31-36.
[5] 鮑慶勇,李舜酩,沈峘,等.自主移動機器人局部路徑規(guī)劃綜述 [J].傳感器與微系統(tǒng),2009,28(9):1-4+11.
[6] 張琳,章新杰,郭孔輝,等.未知環(huán)境下智能汽車軌跡規(guī)劃滾動窗口優(yōu)化 [J].吉林大學(xué)學(xué)報(工學(xué)版),2018,48(3):652-660.
[7] AFANASYEV I,SAGITOV A,MAGID E. ROS-Based SLAM for a Gazebo-Simulated Mobile Robot in Image-Based 3D Model of Indoor Environment [C]//International Conference on Advanced Concepts for Intelligent Vision Systems,ACIVS 2015. Switzerland:Springer,Cham,2015:273-283.
[8] 胡思旺,李春杰.基于ROS的自主導(dǎo)航系統(tǒng)仿真設(shè)計 [J].自動化與儀表,2019,34(07):80-83+108.
[9] 孫小霞,石長華.基于PIC16F873單片機的汽車自適應(yīng)巡航控制系統(tǒng)的研究 [J].現(xiàn)代信息科技,2019,3(17):42-44.
作者簡介:李崢(1997—),男,漢族,吉林汪清人,本科,研究方向:測控技術(shù)與儀器。