陳麒杰,晉玉強,王陶昱
(海軍航空大學,煙臺 264001)
隨著世界科學技術的發展和應用,無人機的性能發展越來越全面[1]。近年來,無人機不論在軍事還是民用領域都發揮著越來越重要的作用,發展潛能也逐漸被挖掘[2],具有自主執行任務能力的無人機是未來發展的必然趨勢。路徑規劃則是保證無人機自主飛行,提高生存能力和安全指標的關鍵技術[3]。
無人機路徑規劃是綜合考慮無人機在有障礙物或者威脅環境中,以一定的控制算法,尋找一條從起始位置到達目標位置的無碰撞路徑,綜合考慮了障礙目標導引[4]。近年來,國內外的眾多學者對路徑規劃問題做了大量的研究,并提出了許多可行的算法,如隨機路圖法(Probabilistic Road Maps,PRM)、A*算法、快速擴展隨機樹法(Rapidly Exploring Random Tree,RRT)以及他們的改進算法,到遺傳算法等智能算法[6],再到蟻群算法[7]、鴿群算法[8]、魚群算法[9]等生物仿真算法。以上的各類算法在進行單機避障路徑計算時,都有較好的避障性能,但進行多機協同避障時,計算量會成幾何倍數增長,實時控制性不夠好,最終導致避障失敗。
無人機單機執行任務時,生存率低,完成任務失敗率高,偵察效率低,因此無人機機群控制成為必然。目前,無人機機群控制多基于長機-僚機[10]的主從關系控制,在一定程度上解決了無人機機群協同控制問題,但此方法降低了每一架無人機的靈活度,限制了其中個體無人機的性能發揮。本文基于改進的人工勢場[11],提出了一種適合于無人機群的控制方法,該方法中,重新定義的斥力函數作為障礙物對無人機的斥力,解決了無人機因為目標點附近障礙物斥力較大無法到達目標點的問題; 新增加了前置形心的概念,前置形心對無人機之間有相應的引力,解決了無人機陷入局部極小值的問題。
人工勢場法最初是由Khatib[12]提出的一種解決路徑規劃問題的方法。路徑規劃的方法是將機器人在環境中的運功,設計成為一種抽象的人造引力場中的運動,目標點對無人機的移動提供引力[13],障礙物對移動的無人機提供斥力,最后通過求合力以達到控制無人機避障的目的[14]。該方法優點在于規劃的路徑較為光滑,避免了大角度的轉彎造成無人機失速引起的危險;缺點一是容易陷入極小值點[15],二是在離目標點較近,且目標點周圍有較大障礙物時,障礙物斥力大于目標引力,無人機不能到達目標點。
為了解決人工勢場法存在的缺陷,本文定義了一個新的引力源,即前置形心(如圖1所示)。前置形心為無人機機群形心位置向目標點方向固定步長的點,在無人機前方無障礙物,目標引力和障礙物斥力相等時,以前置形心作為無人機群的另一引力源,引力源對無人有機引力作用,打破了無人機的受力平衡,使無人機向目標點方向機動。

圖1 前置形心示意圖Fig.1 Pre-centroid diagram
目標點對該前置點的引力Fat歸一化后的方向作為前置形心前進的目標方向,即
(1)
前置形心的計算公式為
(2)

目標對無人機的引力場,目的在于導引無人機向目標點飛行,定義目標引力場為
(3)
其中,Ka是引力增益常數;Pa是單位向量,方向由無人機指向目標點;ρgoal為無人機距離目標的距離;ρmax為設定的目標點對無人機作用的最大距離。當無人機距離目標點較遠時,對無人機的引力過大,可能因為障礙物的斥力不夠,導致避障失敗。所以設定閾值,避免目標點的引力過大,造成避障失敗。
飛行過程中,前置形心對無人機產生引力,避免無人機陷入極小值點,前置形心的引力定義為
Fatp=KbρupPup
(4)
式中,Kb為前置形心引力增益常量;ρup為無人機距離前置形心的距離;Pup為單位向量,方向由無人機指向前置形心。
障礙物斥力場,目的在于對無人機飛行產生斥力,使無人機適時做出避障動作。由于改進的人工勢場函數中,對斥力的定義容易造成無人機在到達目標點附近時,引力不夠大,從而造成無人機在目標點附近徘徊,達不到目標點的位置。因此在原有斥力的基礎上,增加與目標點距離的影響因子,構造新的斥力函數為
(5)
其中,Ke為障礙物斥力增益常量;ρobs為無人機距離障礙物的距離;ρ0為障礙物斥力作用的范圍;λ為根據障礙物和ρmax可調整的常數;Poe為單位向量,方向由障礙物指向無人機。
在無人機飛行過程中,添加無人機之間的斥力,將無人機的當前位置信息作為新的障礙點,使無人機之間產生斥力,避免了無人機之間的撞擊,斥力方程定義為

(6)
其中,Ku無人機斥力增益常數,ρuu為2架無人機之間的距離;ρu0為無人機之間作用力的距離,當超過該距離時,無人機之間無影響力;Puu為單位向量,方向由編號在前的無人機指向編號在后的無人機。
因此,無人機在人工勢場中的受力為
(7)
圖2所示為無人機在飛行過程中受到目標點的引力和障礙物的斥力的示意圖。

圖2 無人機受力示意圖Fig.2 Force diagram of UAV
圖3所示為無人機飛行過程中,無人機之間斥力示意圖。

圖3 無人機之間斥力示意圖Fig.3 Diagram of repulsion between UAVs
假設在規定的飛行區域內,有n架無人機進行編組飛行,第i架無人機在T時刻的位置信息為(xi,yi),計算無人機到目標點的距離ρgoal,同時計算目標點對無人機的引力fatt,根據公式
(8)
由于無人機飛行過程中,存在很多障礙物,有些障礙物對無人機并不造成影響,因此在避障過程中,規定無人機避開目標方向上距離自己最近的障礙物即為避障成功。由此可取距離無人機最近的障礙物計算障礙物斥力。由無人機信息采集功能測得無人機距離最近障礙物的距離為ρobs,根據式(5)計算障礙物斥力Fre,根據式(7)計算無人機所受合力。

為了驗證試驗猜想,下面使用MATLAB2014a進行仿真,仿真流程圖如圖4所示。

圖4 仿真流程示意圖Fig.4 Schematic diagram of simulation process
設定1號無人機初始位置為(x1,y1)=(450,150),2號無人機初始位置為(x2,y2)=(350,250),3號無人機初始位置為 (x3,y3)=(250,350),4號無人機初始位置為(x4,y4)=(150,450);無人機速度為10;無人機大小設置為10;引力場增益系數Ka為30;斥力場增益系數Kb設置為30;得到如圖5所示的仿真結果。

圖5 4臺無人機路徑規劃仿真圖Fig.5 Simulation diagram of path planning for four UAVs
從圖5可以看出,無人機在勻速向目標點前進的過程中,遇到障礙物時,能夠及時做出相應的避障動作,并且因為2號無人機和3號無人機之間避障路徑相似,使無人機之間產生相應的斥力,可以看出,2號無人機在前進過程中對于3號機的避讓效果。在無人機飛出障礙區之后,1號無人機和2號無人機之間,由于無人機之間的斥力和目標點對于無人機的引力,1號無人機和2號無人機重新規劃了相應的飛行路徑。
當增加無人機目標區域障礙物,其余條件不變,設定無人機初始位置為(x1,y1)=(450,150)、(x2,y2)=(350,250)、(x3,y3)=(250,350)、(x4,y4)=(150,450),使編隊處于無序狀態時,其余參數不變,得到如圖6所示的仿真結果。

圖6 4臺無人機目標區域有障礙物路徑規劃仿真圖Fig.6 Simulation diagram of obstacles path planning for four UAVs in target area
由圖6可以看出,在無人機開始避障之前,由于無人機之間相互斥力的作用,每一架無人機的路徑規劃都有明顯的避讓行為。以5號無人機為例,在進入障礙區前,該機將序號靠前的無人機的路徑點作為當前障礙物點,并重新規劃路徑;進入障礙區之后,以其他無人機和障礙物的斥力為依據,規劃路徑,成功避障。在所有無人機到達目標區域時,由圖可以看出,由于改進了斥力函數,增加了目標點距離的影響因子,從而使得無人機在目標區域周圍有障礙物時,也能夠成功到達目標區域。
本文針對無人機編隊飛行中的路徑規劃問題,提出了一種基于改進人工勢場的無人機路徑規劃方法,通過實驗仿真可以看出:
1)飛行過程中,避免了無人機進入極小值點,造成避障失敗的問題。本文提出的增加前置形心引力和無人機之間的斥力的合力,有效避免了無人機進入極小值點之后的受力平衡。
2)編隊飛行過程中,在前置形心引力和無人機之間斥力的作用下,既保證了編隊飛行的穩定性,又保證了單架無人機的自主性,提高了整體的魯棒性。本文只對無人機所受的虛擬力進行定義和約束,對無人機的行為不做約束,因此在遇到外界新增障礙物時,能夠有效地做出避障動作。
3)到達目標點后,基于改進勢場的斥力函數,由于指數函數的存在,衰減得更快,避免了無人機到達目標點附近,卻不能到達目標點的情況,有效增強了無人機到達目標點的能力。