朱浩亮,陳一新,詹茁芃,唐世杰,馬 麗,李善梅
(中國民航大學,天津 300300)
隨著通信技術、人工智能以及航空動力技術的發(fā)展,無人機技術在生產生活、社會活動等方面被廣泛應用[1]。多無人機的任務執(zhí)行效率與其避障過程中隊形的編排和保持有著密不可分的關系。若在飛行過程中,無人機無法合理編排隊形并躲避障礙物而與其發(fā)生碰撞,不僅無法完成任務,還可能會引發(fā)一系列事故。因此,無人機的編隊、避障是其順利完成任務、保障飛行環(huán)境安全的關鍵。
關于無人機編隊的避撞問題,國內外的學者都進行了大量的研究并取得了一些成果。其中,常用的避障方法有人工勢場[2]、神經網絡[3]、最優(yōu)化理論[4]等。其中,人工勢場法是一種路徑規(guī)劃方法,因其實現簡單、意義明確、便于計算和實時性好而被廣泛應用。這一方法最早是Khatib提出來的一種虛擬力法,使用環(huán)境中各點的勢場值來反映勢場中的障礙物分布及其信息。目前我國針對無人機編隊飛行和避撞的研究還處于發(fā)展階段,現有的文獻主要是在人工勢場法的基礎上進行改進和完善。文獻[5]在人工勢場法的基礎上結合距離約束和視線角約束,提出了領航法和改進人工勢能相結合的編隊方法。文獻[6]在改進人工勢場的基礎上,給出動態(tài)環(huán)境下避撞的解決方案。文獻[7]基于虛擬結構和“長機-僚機”形式,提出一種復合矢量人工勢場方法。文獻[8]針對人工勢場法本身存在的局部最小值問題進行改進,提出了一種新的路徑規(guī)劃方法。
基于上述研究成果,本文首先構建基于雁群模型的無人機編隊模型;然后,基于人工勢場建立無人機機動參數計算方法,在此基礎上,將編隊的避撞控制和避撞后的隊形保持相結合,建立無人機編隊避障流程;最后,通過編制仿真軟件,對不同應用場景下的本文所提的無人機編隊避障方法進行驗證。
現有的編隊模型主要有Boid模型、狼群模型和雁群模型。Boid模型[9]是由Craig Reynolds提出的一種計算機模型,用于模擬動物的群體運動,只要將個體對于周圍環(huán)境的感知分為三個區(qū)域:排斥區(qū)域,一致區(qū)域以及吸引區(qū)域就可以模擬鳥群整體行為的一致性。狼群模型[10]則是建立在狼群捕獵時,將狼分為三個類型:頭狼、探狼和猛狼,并將其捕獵行為抽象為3種智能行為(游走行為、召喚行為、圍攻行為)以及“勝者為王”的頭狼產生規(guī)則和“強者生存”的狼群更新機制,以確保以最優(yōu)的方式捕獵大型動物。雁群模型能夠利用空氣動力學特性,使得尾隨大雁減少能量輸出[11]。鑒于此,在無人機編隊中,通過采取雁群模型,可減小無人機之間的氣動干擾并改變在隊形中不同位置上的無人機所受到的力和力矩,從而減少了機群中間位置無人機的飛行阻力,達到降低其耗油量以延長整個編隊飛行航程的效果。
本文建立的無人機編隊模型如圖1所示,由三架無人機和一架虛擬長機組成,三架無人機分別位于等邊三角形的三個頂點處,虛擬長機位于等邊三角形的幾何中心。在無人機編隊飛行的過程中,將所有無人機都視為質點來進行研究,虛擬長機的飛行軌跡為編隊整體的期望軌跡,虛擬長機受引力作用朝著目標物運動。
圖1 無人機編隊模型
基于人工勢場理論,可以認為無人機編隊中每架無人機的飛行軌跡受一種復合作用力的影響,即引力和斥力的合力。首先建立無人機編隊所在運動平面的二維直角坐標系,分別為X軸和Y軸。然后,將無人機所受到的引力和斥力進行正交分解,投影到坐標軸上求出各自的分量。引、斥力系數假設為不同的常數值。
引力值為引力系數與引力勢的乘積,引力在X,Y軸方向的分量為:
其中k為初始設置的冪指數2,Dgoal為實時計算的無人機距目的地距離,θ為實時計算的無人機與目的地之間的角度,運用atan2函數計算,minattractive為預設的最小引力勢,Pattractive為初始設置的引力系數。
斥力值為斥力系數與斥力勢的乘積,斥力在X,Y軸方向的分量:
其中k為初始設置的冪指數2,Dobstacle為實時計算的無人機距障礙物距離,?為實時計算的無人機與障礙物之間的角度,運用atan2函數計算,Pobstacle為初始設置的引力系數。
通過公式(1)-(4)可以求出無人機所受到的引力和斥力,合力即為引力與斥力的矢量和。當無人機編隊靠近障礙物時,斥力大于引力,斥力占主導作用,該力驅使無人機實施避障機動。
避障控制器獲取無人機編隊與障礙物的位置信息后,經過人工勢場的計算,產生轉向指令,并將其傳輸給無人機系統(tǒng)的飛行控制器。無人機編隊通過調整角度來避開障礙物。
Δα為應采取避撞的調整角度,α為無人機當前運行方向,v為無人機當前運行速度。根據合力分解在X,Y軸方向上的分量,分別計算后重新使用atan2計算方向,與無人機當前方向作差后計算應轉向角度。(考慮到無人機性能限制,限制Δα最大轉彎角度為10°)
啟動避障控制器后,經過人工勢場的計算,還需產生調速指令來控制無人機編隊飛行。
其中,ν為無人機當前運行速度。根據合力分解在X,Y軸方向上的分量,分別計算速度分量后重新計算應調整的速度大小。(考慮到無人機性能限制,限制平時運行時最大速度為10m/s,執(zhí)行避撞和隊形恢復過程時最大速度為11m/s)。
無人機在編隊飛行時,由虛擬長機與障礙物的距離可以判斷無人機群是否需要避障。在整個飛行過程中,虛擬長機一直只受目標點的引力,勻速直線前進。當各僚機與障礙物的距離中出現小于100m的情況,則障礙物對無人機的斥力勢場發(fā)生作用,各僚機在障礙物產生的斥力和飛行目標點產生的引力下,實施轉向、調速等機動飛行,實現避免與障礙物相撞;當避障完成后,各僚機與障礙物的距離均大于100m時,障礙物的斥力作用消失,無人機則在虛擬長機的引力下,回到以虛擬長機為中心的編隊中,實現隊形保持,繼續(xù)前進。無人機編隊避障的流程如圖2所示。
圖2 無人機編隊避障控制與隊形保持流程圖
在執(zhí)行避撞階段前期,無人機會持續(xù)靠近障礙物并達到一個最小值,無人機受斥力影響將會遠大于引力,而在避撞階段后期,無人機會持續(xù)遠離障礙物,受到的斥力仍遠大于引力,導致無人機的航跡將會在避撞過程中呈現圓弧狀,直至飛出100m的避撞范圍后再進行航跡調整飛向目的地,導致額外的避撞飛行過程,如圖3和圖4中a線航跡所示。針對該問題給出的優(yōu)化方案:當無人機與障礙物連線和無人機與目的地的連線夾角大于90°時,認為UAV已經不再具有接近障礙物的趨勢,不必再采取避撞措施。仿真結果如圖5、圖6所示,可以看出,經過優(yōu)化以后,無人機的航跡(a線航跡)顯得更為平滑,避撞航跡更為合理,很好地減少了無人機多余的變速、轉向操作,從而有效減少無人機避障路徑的長度。
圖3 避撞控制-隊形保持三維側視圖
圖4 避撞控制-隊形保持三維俯視圖
圖5 避撞控制-隊形保持三維側視圖(優(yōu)化后)
圖6 避撞控制-隊形保持三維俯視圖(優(yōu)化后)
本文研究了基于復雜網絡理論的無人機沖突探測與解脫問題,運用人工勢場算法設計無人機編隊飛行的避障控制器和隊形保持控制器,并將兩種控制器相結合。在有效范圍內沒有檢測到障礙物時,使用隊形保持控制器,遇到障礙物時,使用避障控制器迅速避撞,避撞完成后,又能迅速恢復原有編隊狀態(tài)。
在仿真實驗中,可以看出本文設計的方法可靠有效,對無人機沖突探測與解脫問題具有一定的參考價值。本文是基于二維平面來進行研究的,在后續(xù)的工作中,將會考慮垂直高度上的避障,實現三維空間內的沖突探測與解脫,使算法更加貼近工程實際。