尚嵩,劉明剛,丁士強
(海軍航空大學,山東煙臺 264001)
在基于無人機的環(huán)境智能感知技術中,路徑規(guī)劃是非常重要的一環(huán)。無論使用何種傳感器和計算方法來進行環(huán)境感知,無人機都需要能夠安全無碰撞地到達目的地。因此,無人機路徑規(guī)劃是完成任務的關鍵問題之一。根據(jù)應用場景的不同,無人機路徑規(guī)劃可以分為全局路徑規(guī)劃和局部路徑規(guī)劃。全局路徑規(guī)劃適用于無人機工作環(huán)境已知的場景,而局部路徑規(guī)劃則適用于無人機工作環(huán)境完全未知或部分未知的場景?;跓o人機的環(huán)境智能感知技術的目的是依靠無人機來完成對環(huán)境信息的感知。由于通常不存在先驗知識,因此局部路徑的效率對無人機任務完成的效果起著至關重要的作用[1]。
當前應用廣泛的基于固定活動窗的VFH類算法,通過設計一個虛擬的視窗,即活動窗,來實現(xiàn)無人機的避障行為[2]?;顒哟暗姆秶枪潭ǖ?,不能根據(jù)無人機所處的環(huán)境信息進行動態(tài)調(diào)整避障距離,這使得算法的環(huán)境適應性受到限制,特別是在一些稀疏障礙物和密集障礙物并存的環(huán)境中。如果活動窗設置過大,會導致原本存在缺口被認定為“不可通行”,使得無人機忽略了可通行區(qū)域,在環(huán)境特別復雜時,還會使無人機陷入局部停滯狀態(tài)。相反,如果活動窗范圍過小,無人機需要在靠近障礙物時才能察覺,容易引起路徑的不平滑,有時還容易陷入“陷講區(qū)域”。
文獻[3]在基于3DVFH算法上實現(xiàn)了系統(tǒng)中的局部避障飛行模塊,并基于本系統(tǒng)中無人機通過激光雷達可以360°感知障礙物信息。文獻[4]克服人工勢場法規(guī)劃的航跡容易陷入局部最優(yōu)陷阱和使用常規(guī)智能避障算法會使時間成本增加的問題,利用鴿群優(yōu)化算法尋找最優(yōu)預測距離。在文獻[5]中,提出了一種基于改進速度障礙法的局部路徑避障規(guī)劃算法。將傳統(tǒng)速度障礙法拓展到三維空間中,建立三維空間速度障礙模型。
本文在VFH算法基礎上,提出了一種基于多視野多分辨率的無人機局部路徑規(guī)劃算法。該算法的特點是無人機的視野范圍(活動窗)不再固定不變,而是根據(jù)無人機周圍的環(huán)境狀況實時調(diào)整,以增強算法的環(huán)境適應性。路徑規(guī)劃算法的輸入數(shù)據(jù)是當前工作的環(huán)境模型,此模型需要構建并實時更新環(huán)境地圖信息。通過多視野多分辨率的思想,算法可以更準確地識別環(huán)境中的障礙物和缺口,更好地進行避障規(guī)劃。
算法基于固定活動窗的VFH算法[6-9],通過動態(tài)確定視野層次并對其進行分辨率處理,從而增強算法的環(huán)境適應性。然后,算法找出各層的候選通行方向,并計算它們的通行代價[10-12]。最終,算法根據(jù)通行代價確定本輪算法的目標方向,以實現(xiàn)更準確的避障規(guī)劃。通過這種方式,算法能夠更好地適應不同的環(huán)境,并更加準確地識別障礙物和缺口,從而更好地進行無人機的局部路徑規(guī)劃。
第一步是根據(jù)區(qū)域障礙物密度來劃分視野層次。區(qū)域內(nèi)障礙物密度d(destiny)是區(qū)域中所有障礙物數(shù)量和其矩形窗格的函數(shù),定義如下:
式(1)中,l是障礙物矩形窗格的平均邊長,M是障礙物的數(shù)量,s所選區(qū)域的面積。
視野層次的劃分流程如下,設定一個障礙物密度閾值θ。然后以無人機中心為圓心,隨機生成視野半徑r,不超過傳感器半徑。在視野圓內(nèi),計算區(qū)域障礙物密度d。如果d大于閾值θ,則當前視野為最大視野層,逐漸減小r,當密度降至閾值以下時,確定為最小視野層。若d小于θ,則相反。類似于人類視野,遠處視野模糊,近處視野清晰。所以各層分辨率的設置有兩個參考因素,一個是與無人機的距離,另一個是環(huán)境復雜度。分辨率Res計算公式如下:
式(2)中,Resi表示第i層視野的分辨率。λ是分辨率校正參數(shù)。當該層障礙物密度d低于閾值θ時,意味著當前層障礙物密度低,環(huán)境簡單,分辨率不要求很高,可以用上一次密度數(shù)據(jù)簡單處理。而高于閾值時,意味著環(huán)境復雜,需要傳感器仔細探索,參數(shù)采取指數(shù)形式的校正參數(shù),而不是簡單線性關系處理。低分辨視野層通過形態(tài)學閉操作將障礙物進行合并[13-15]。
軌跡搜索進行如下步驟:首先,將無人機的視野劃分為多個扇形區(qū)域,如圖1所示。圖1表示在傳感器距離范圍內(nèi)分成四層視野,中心是無人機質(zhì)點,S1,S2表示視野層內(nèi)繼續(xù)劃分的各級扇區(qū)。然后,統(tǒng)計每個扇區(qū)的環(huán)境復雜度。接著,根據(jù)預定的條件來判斷該扇區(qū)是否可以自由通行。以扇區(qū)中線為可通行方向,完成整個軌跡搜索過程。這種算法的優(yōu)點在于引入了多視野多分辨率層次,使得每個視野層次都有對應的數(shù)據(jù),最終輸出的自由扇區(qū)也更加準確。
圖1 視野和扇區(qū)劃分示意圖
扇區(qū)劃分后計算各扇區(qū)的環(huán)境復雜度,計算公式如下:
Hv表示第v個扇區(qū)的環(huán)境復雜度。λi表示第i層視野的調(diào)整因子。k∈Si,v表示v個扇區(qū)中第i層視野中的第k個障礙物。ai,bi是i層視野常數(shù),dk表示障礙物與無人機的距離,ri表示i層視野半徑。
由扇區(qū)的環(huán)境復雜度確定通行扇區(qū),只要低于閾值就認為該扇區(qū)為可通行。連續(xù)的可通行扇區(qū)可以進行合并,以減少后續(xù)通行代價的計算量。
最后是通行代價的計算,通過代價函數(shù)計算來判定評價候選方向的優(yōu)劣。但因為引入了多層視野,所以需要分層考慮。除了通用代價函數(shù)[16-18],加入了候選方向附近區(qū)域障礙物復雜度的正則式,以更準確地標識各候選方向的通行代價,代價函數(shù)計算如式(4)所示:
其中,θ表示候選方向的角度,θt表示與全局目標點的夾角,θn是無人機正對方向的角度,θn-1是上一輪前進方向的角度,dsl,dsr,dsc分別是候選扇區(qū)左側(cè),右側(cè)和當前扇區(qū)的障礙物密度。λ1,λ2,λ3,λ4是四項權重系數(shù),值越大意味著越傾向目標角度、不改變當前朝向、與上一輪規(guī)劃一致和保證附近扇區(qū)障礙物最小的原則。算法1偽代碼整體流程如下:
根據(jù)以上對無人局部路徑的算法求解,無人機獲取自身和障礙物的信息后,會建立一個多層多分辨率的視野信息,由以上信息來進行避障機動。為驗證結果的有效性,本文采用Matlab進行仿真試驗,基本參數(shù)設置為無人機速度v=20 m/s,傳感器最大量程d=500 m,障礙物安全距離為8 m。障礙物為機動障礙物,初始信息如下:
假設機動性障礙物的速度方向角的最大不確定度ε=100,根據(jù)表1所示的障礙物場景,考慮到三種障礙物的機動性,為保證無人機路徑安全,通過算法計算規(guī)避路線,用matlab軟件記錄了考慮障礙物機動性與無人機避障過程的相關參數(shù)。
為了評估自適應威脅距離對無人機避障的影響,在考慮動態(tài)障礙物機動性和保證障礙物安全距離的前提下,表2中的相關參數(shù)顯示,無人機仍然能夠成功躲避機動性障礙物。通過表中的UAV飛行狀態(tài)改變點的坐標值,可以發(fā)現(xiàn)自適應威脅距離的引入使無人機延遲了飛行狀態(tài)的調(diào)整,從而提高了原飛行路徑的利用率。圖2記錄了無人機在當前情景下的偏航角與俯仰角的變化過程,均滿足無人機的約束條件。從圖2可以看出無人機的偏航角和俯仰角在3種障礙物下呈現(xiàn)出不同程度的變化,時間軸可以看出變化位置是符合預估的。
表2 無人機局部路徑規(guī)劃相關參數(shù)
圖2 無人機方向角變化
實驗結果表明,雖然引入威脅距離前后的多層次視野算法在設定場景下的求解耗時都在0.008 s左右,但在引入威脅距離后的局部優(yōu)化障礙中,由于無人機在保證安全距離的前提下延遲了飛行狀態(tài)的調(diào)整,所以在距離機動障礙物更近的情況下才開始規(guī)避,因此在飛行沖突解脫過程中耗時更短,提高了機動障礙規(guī)避的時效性。
本文提出了一種基于多層視野多分辨率的無人機局部路徑規(guī)劃算法,無人機避障視野被分為三個層次,算法根據(jù)環(huán)境復雜度情況動態(tài)確定使用的視野層次和各層的分辨率。然后進行二值化處理,得到視野各區(qū)域的通行性。接著,從候選方向中根據(jù)代價值確定備選方向,最終綜合考慮各備選方向的累計選擇代價來確定算法的目標行駛方向。仿真實驗結果表明,本文方法有效地解決了固定活動窗方法導致的問題,具有更強的環(huán)境適應性,特別是在陷阱區(qū)域和狹窄必行通道并存的較復雜環(huán)境中相比原方法具有更明顯的優(yōu)勢。