鄧 可,彭宣淇,周德云
(1.海軍大連艦艇學院,遼寧 大連 116018;2.西北工業(yè)大學,西安 710072)
隨著無人作戰(zhàn)飛機性能的提升與用途的多樣化,無人機在未來戰(zhàn)爭中參與制空權(quán)爭奪將成為可能。為了提高無人機空戰(zhàn)性能與空戰(zhàn)效率,對無人機自主空戰(zhàn)決策算法的研究顯得尤為重要。目前的空戰(zhàn)決策方法主要分為基于對策的決策算法如矩陣對策法、影響圖法與基于人工智能的決策算法、遺傳算法、粒子群算法、神經(jīng)網(wǎng)絡法等算法[3]。
傳統(tǒng)算法如矩陣對策法[2]與影響圖法等[4],矩陣對策法原理較為容易理解,算法復雜度相對較小,其缺點是算法計算量較大,獲取結(jié)果精度較低,難以滿足實時性,也難以應用在飛機自主決策算法中;基于影響圖的機動決策雖然能引入環(huán)境的不確定性和決策偏好,但其建模復雜,求解計算量大,難以滿足決策的實時性要求[5]。啟發(fā)式搜索算法如遺傳算法[7]、粒子群算法[6]在尋找多項式最優(yōu)值時的表現(xiàn)較好,但其原理較為復雜,算法復雜度較高,并且啟發(fā)式算法容易陷入局部最優(yōu),需要補償算法來增加算法的魯棒性。為了避免空戰(zhàn)決策算法實時性與算法復雜度的沖突問題,本文提出一種基于矩陣決策法與遺傳算法的無人機空戰(zhàn)決策方法,應用矩陣對策法獲取無人機最優(yōu)機動決策的大致范圍,在此范圍內(nèi)采用遺傳算法尋優(yōu),從而在滿足實時性基礎上有效提高機動決策的選擇精度。
空戰(zhàn)優(yōu)勢函數(shù)是無人機采取機動決策的依據(jù)。本文采用的空戰(zhàn)態(tài)勢評估函數(shù)主要由交戰(zhàn)雙方的角度、距離、接近速度、相對高度及武器性能等因素決定。
角度優(yōu)勢主要與無人機雷達探測角與武器發(fā)射角有關(guān)。無人機搜索發(fā)現(xiàn),跟蹤與打擊目標,若要滿足探測精度與準確度的需求,需要將目標控制在我方飛機一定的角度范圍內(nèi)。角度優(yōu)勢函數(shù)表達式為
式中,qB代表敵機速度矢量與敵機跟蹤線間夾角;qA代表我機速度矢量與我機跟蹤線間的夾角。
式中,VC為接近速度,單位為m/s,反正切函數(shù)將整個接近速度優(yōu)勢函數(shù)取值壓縮,并加0.5 使優(yōu)勢保持為正值。
式中,h 為我機相對敵機的高度差,hx為閾值高度差,表示空戰(zhàn)中我機的最優(yōu)高度。σ 為一比例系數(shù),代表我機空戰(zhàn)過程中偏離最優(yōu)高度值時,高度優(yōu)勢的下降速度。
攻擊優(yōu)勢函數(shù)代表我機是否構(gòu)成攻擊條件,即敵方飛機多大程度上處于我機導彈攻擊范圍內(nèi),攻擊優(yōu)勢函數(shù)由攻擊距離優(yōu)勢函數(shù)與攻擊角度優(yōu)勢函數(shù)組成。構(gòu)造攻擊距離優(yōu)勢函數(shù)
構(gòu)造攻擊角度優(yōu)勢函數(shù):
式中,β 為我方飛機跟蹤線與我機速度矢量的夾角,β0為我機掛載導彈允許的最大離軸角。β 為0 時,代表我機速度矢量指向敵機,此時攻擊角度優(yōu)勢函數(shù)取值為1。同理,β0越大,代表導彈性能越好,在我機速度矢量沒有指向敵機時,攻擊角度優(yōu)勢函數(shù)降低越慢。
我機需要同時滿足攻擊角度條件與攻擊距離條件才能滿足開火條件,所以將兩個優(yōu)勢值相乘,得到總的攻擊優(yōu)勢函數(shù):
總的優(yōu)勢函數(shù)是空戰(zhàn)機動決策的選擇依據(jù),由以上幾個優(yōu)勢值函數(shù)加權(quán)得到,加權(quán)函數(shù)通常由空戰(zhàn)專家根據(jù)每個優(yōu)勢值的取值大小和重要程度給出,并根據(jù)飛機的飛行性能,攜帶武器信息與戰(zhàn)場形勢的改變而變化。構(gòu)造總的優(yōu)勢函數(shù)為:
在本節(jié)中,敘述了無人機空戰(zhàn)決策模型的建立方法,首先使用矩陣對策法獲取無人機機動決策過載的選擇大致范圍,再在獲取的范圍內(nèi)采用遺傳算法獲取更為精確的過載組合,引導無人機進行相應機動。
采用三自由度無人機模型,將無人機考慮為一個質(zhì)點,不考慮無人機的迎角與側(cè)滑,建立其由過載控制的動力學方程與運動學方程為:
根據(jù)無人機升力、推力、側(cè)向力的產(chǎn)生原理,無人機3 個方向的過載無法同時達到最大,本文中取簡化的限制條件模型如式(10)所示。
矩陣對策法的飛機決策選擇方法主要有兩種類型,一種為NASA 規(guī)定的7 種典型機動動作,分別為:1)保持不變;2)最大加速;3)最大減速;4)最大過載拉起;5)最大過載俯沖;6)最大過載左轉(zhuǎn);7)最大過載右轉(zhuǎn)。另一種為若干種典型機動動作,如加速、轉(zhuǎn)向、筋斗、橫滾、急轉(zhuǎn)等等[1]。考慮飛機采用7 種典型機動動作。在步長時間后我機與敵機到達的狀態(tài)分別記為A1~7與T1~7,計算Ai對Tj狀態(tài)的優(yōu)勢值記為sij,并以其為元素構(gòu)成矩陣S,并根據(jù)矩陣S 計算其行和最大值,獲取我機采取的機動動作A*。
以7 種典型機動動作為動作庫的機動動作的優(yōu)點為特征代表性強,算法原理較為簡單。其缺點主要有兩點:1)為7 種典型機動動作中除保持不變以外,其他機動動作均使用了無人機全部過載,在控制中難以實現(xiàn)不同動作之間的快速轉(zhuǎn)換;2)為無人機通常會使用相對折中的機動方式,如加速爬升并右轉(zhuǎn),文獻[7]中在典型機動動作中加入了左側(cè)爬升,右側(cè)爬升,左側(cè)俯沖、右側(cè)俯沖將典型的機動動作增加為11 種,對無人機可執(zhí)行的機動動作庫進行了改進,但是機動動作選擇仍較為極端,無法滿足無人機快速調(diào)整占位與姿態(tài)的需求。
針對傳統(tǒng)矩陣對策法的缺點,提出一種改進的矩陣對策方法。即將無人機的可用過載以一定間隔分配,構(gòu)成相對折中的過載選擇方法。根據(jù)2.1 節(jié)的無人機模型,以1 g 為間隔采樣無人機3 個方向的過載,并加入限制,獲取了無人機的組合過載組合為453 種。優(yōu)勢值矩陣S 變化成為樣式S1,計算我機采取的機動動作A*方法類似。
此時供無人機選擇的機動決策更多,無人機可以兼顧3 個過載方向的變化。采用改進方法時,無人機會根據(jù)態(tài)勢判斷均衡3 個過載方向的重要程度,從而可以快速提高無人機態(tài)勢優(yōu)勢。使用改進方法可以將無人機的控制精度提升到1 g。
通常情況下,對無人機的控制量認為是連續(xù)的,作為連續(xù)的輸入量,相鄰輸入量之間的間隔為1 g精度較低,獲取的結(jié)果不是我方無人機最優(yōu)過載策略。假設我方無人機控制系統(tǒng)的控制精度可以滿足0.2 g,以0.2 g 為間隔獲取決策矩陣進行改進矩陣對策法則計算量過于龐大,可以在改進矩陣對策法獲取區(qū)間內(nèi)使用遺傳算法選取最優(yōu)的過載組合。
傳統(tǒng)的遺傳算法求解無人機空戰(zhàn)決策問題有兩個方面的限制。第1 點為全局遺傳算法中,遺傳算法計算量過大,收斂性較慢,難以滿無人機滿足空戰(zhàn)計算的實時性需求。文獻[7]中使用了并行方法求解遺傳算法無人機自主空戰(zhàn)尋優(yōu)問題,該方法可以降低運算耗時,但是并沒有減少計算量;第2點限制為在輸入自變量互相之間存在限制的情況下,如在本文中3 個方向的過載存在限制的情況下,如式(10),遺傳算法的交叉與變異操作則存在限制,需要一定的補償算法,如加入超出限制的懲罰或遞歸到邊界,這樣做會降低算法的效率。
為解決傳統(tǒng)遺傳算法存在的問題,提出一種改進的遺傳算法。采取將自變量區(qū)間以若干間隔分割為若干區(qū)域,并在最優(yōu)值較可能存在的區(qū)域(通常是以當前最優(yōu)值為中心,以單倍間隔為半徑)內(nèi)采用遺傳算法尋優(yōu)。以一維函數(shù)y=-1/4 x^4-13/6 x^3+25/4 x^2-34/5x,x∈[0,4]為例,以1 為區(qū)間分割與以0.5 為區(qū)間分割結(jié)果如圖1 與圖2 所示。
圖1 以1 為間隔遺傳算法選取區(qū)間示意圖
圖2 以0.5 為間隔遺傳算法選取區(qū)間示意圖
這樣的好處有兩點:1)避免在全局情況下使用遺傳算法尋找最優(yōu)值,大幅度減少了計算量,提升了算法效率;2)在存在限制(無人機3 個方向過載限制)的情況下,遺傳算法的進行(交叉與變異過程中)需要進行相應的調(diào)整,如對超出限制的點進行懲罰,而在相對小的區(qū)間內(nèi),可以認為無人機3 個方向的過載互相之間是沒有限制的,降低了算法復雜度。同時采用這種方法有兩點不足,分別為:1)不在全局范圍內(nèi)搜索最優(yōu)解,而是在小區(qū)間內(nèi)搜索最優(yōu)解,可能出現(xiàn)因為第1 步A*區(qū)間選取錯誤而沒有獲取到全局最優(yōu)值。由于優(yōu)勢值函數(shù)具有實際的物理意義,函數(shù)突變較小,不容易出現(xiàn)窄峰,同時因為初始值選取區(qū)間間隔較小,這種情況不容易出現(xiàn)。2)采用改進的矩陣對策法獲取無人機選擇的過載Ai的過載組合,附近有可能出現(xiàn)某一點超出限制的情況,出現(xiàn)這種情況的原因為無人機選擇較為邊緣化的機動決策選擇,此時的做法為,將選擇出的機動決策組合按比例規(guī)劃到無人機過載的邊界上(按式(10)限制條件),這樣選取的過載組合不是絕對最優(yōu)值,有較小偏差。
圖3 遺傳算法搜索范圍示意圖
在獲取遺傳算法的范圍后,獲得的遺傳算法的初始種群選取范圍,以隨機方式在范圍內(nèi)獲取初始種群,初始種群的規(guī)模為40。為了快速收斂,本文對遺傳算法的選擇與變異操作進行了針對性的改進。
3.2.1 選擇算子
本文采用貪婪的選擇方法,即保留當前代最優(yōu)的若干個個體,直接拋棄適應度較低的若干個體。這樣的做法成立的條件為在區(qū)域內(nèi)不含局部最優(yōu)點,即在遺傳迭代中不考慮早熟問題。
3.2.2 交叉算子
本文中無人機3 個方向的過載采用實數(shù)編碼的方式,每個個體的染色體記為3 個方向的過載,個體之間的交叉操作為兩個個體之間隨機交換一個過載值。
3.2.3 變異算子
本文中,由于在之前進行了最優(yōu)值預選擇,認為種群內(nèi)的個體值已經(jīng)較為接近最優(yōu)值。所以采取的變異范圍較小,即隨機將若干適應度較高個體任選一個過載值在范圍內(nèi)以正態(tài)分布概率變異。
具體的遺傳算法操作如下:首先在選取范圍內(nèi)隨機獲取初始種群,其適應度函數(shù)為步長時間后我方1 種過載組合對敵方7 種典型機動方式優(yōu)勢值之和作為遺傳算法的適應度。在每次計算之后,保留適應度最佳的前10 個組合,適應度排名為11~20的個體與21~30 的個體進行交叉操作,并將適應度最佳的10 個組合進行變異后組成第31~40 個個體,并進入下一次迭代。這樣迭代的優(yōu)點是,保留每代最優(yōu)個體,迭代若干次以后,將迭代所得的歷史最優(yōu)值作為當前步長的過載選擇值。
空戰(zhàn)決策過程中,敵我雙方飛機的位置與速度信息時刻已知,空戰(zhàn)決策模型由矩陣對策法與遺傳算法組成,不考慮無人機控制的延遲,其流程如下所示:
1)初始時刻t=t0時觸發(fā)第1 次決策;
2)在決策過程中,預測敵方在步長時間后7 種典型機動決策后到達的狀態(tài),與我方飛機在步長時間后453 種機動決策方式到達的狀態(tài),構(gòu)成S1矩陣;
3)計算S1矩陣行和,取最優(yōu)值A*作為遺傳算法選擇中心,獲取遺傳算法選擇范圍;
4)在選擇范圍內(nèi)采用遺傳算法尋優(yōu),迭代5 次選取最優(yōu)值為我機的機動決策選擇;
5)更新敵我雙方數(shù)據(jù);
6)重復執(zhí)行2)~5)步,到達預設時間后停止仿真。
其流程圖如圖4 所示:
圖4 仿真流程圖
為了驗證本文提出方法的可行性與合理性,本文主要針對敵機進行勻速直線飛行與S 型機動飛行兩種情況進行了仿真驗證,并與文獻[4]中的方法進行比較,討論本文中改進算法的優(yōu)點。仿真參數(shù)設置如下:最佳空戰(zhàn)高度差h 為150 m,無人機導彈可攻擊邊界Rmin與Rmax分別為30 km 與60 km,導彈可以發(fā)射的離軸角設為全向30°,高度優(yōu)勢比例系數(shù)σ 為1.2。
敵機的初始狀態(tài)為東-北-天地理坐標系下:位置(40,30,18)km,速度(200,0,0)m/s,敵機保持當前速度下勻速直線運動狀態(tài);我方無人機的初始狀態(tài)為東-北-天地理坐標系下:位置(30,20,10)km,速度(250,0,0)m/s,仿真步長為0.25 s,仿真時間為65 s,敵我雙方飛行軌跡如圖5 所示。
圖5 敵機勻速直線運動矩陣對策法仿真結(jié)果
圖6 敵機勻速直線運動改進矩陣對策法仿真結(jié)果
圖7 敵機勻速直線運動文中算法仿真結(jié)果
圖5~圖7 對比了傳統(tǒng)矩陣對策法、改進矩陣對策法與改進矩陣對策法加入遺傳算法的占位曲線。從3 種方法的三維仿真結(jié)果看,總體上我方無人機都采用了左轉(zhuǎn)-加速-爬升的機動方式。通過對比占位曲線可以發(fā)現(xiàn),傳統(tǒng)矩陣對策法由于只有7 種機動供選擇,其選擇的機動方式在左轉(zhuǎn)、加速與爬升之間切換,無法折中地選擇機動動作,也就無法快速提升無人機優(yōu)勢值,最終時刻我方無人機相對敵機的優(yōu)勢值為0.127 0,優(yōu)勢值較低;改進矩陣對策法方法飛行軌跡較為平滑,可以兼顧左轉(zhuǎn)加速與爬升機動動作,并在仿真結(jié)束時,我方無人機相對敵機的優(yōu)勢值達到0.472 8,此時我方無人機的控制精度為1 g;加入遺傳算法后,在改進的矩陣對策法得出的過載值鄰域內(nèi)進行遺傳算法搜索,使解算的過載值更加逼近最優(yōu)過載,同時可以避免在全局內(nèi)進行遺傳算法搜索時計算量大、耗時長、容易陷入局部最優(yōu)的問題,在仿真結(jié)束后我方無人機相對敵機的優(yōu)勢值達到0.650 9,在改進矩陣對策法的基礎上優(yōu)勢值又有較大提升。
敵機的初始狀態(tài)為東-北-天地理坐標系下:位置(400,300,5)km,速度(240,120,0)m/s,300 s內(nèi)敵機保持當前速度下勻速直線運動狀態(tài),300 s 后敵機采取S 型機動規(guī)避;我方無人機的初始狀態(tài)為東- 北- 天地理坐標系下:位置(300,200,3)km,速度(200,0,0)m/s,敵我雙方飛機距離較遠,仿真步長為1 s,仿真時間為15 min(900 s),圖2 與圖3仿真了采用傳統(tǒng)矩陣對策法與采用文中算法的雙方無人機飛行軌跡與優(yōu)勢值上升曲線(圖中相同符號的點表示同一時刻,*為225 s 時刻,+為450 s 時刻,o 為675 s 時刻)。
圖8 敵機S 型規(guī)避矩陣對策法仿真結(jié)果
通過對比占位軌跡與優(yōu)勢值隨變化曲線可以發(fā)現(xiàn),采用文中提出方法相對于矩陣對策法,在敵機進行勻速直線運動時(0~300 s),我方無人機可以快速逼近敵方運動軌跡,優(yōu)勢值相比傳統(tǒng)方法有少量提高;在敵方飛機開始進行S 型規(guī)避時(300 s~900 s),我方無人機對敵方無人機的機動反應較快,面對敵方無人機的轉(zhuǎn)彎機動,可以較為精確地調(diào)整控制量,兼顧角度對準與距離縮減,優(yōu)勢值上升較快,在仿真結(jié)束時達到的最終優(yōu)勢值較高;采用傳統(tǒng)矩陣對策方法時,無人機無法兼顧角度速度與高度的同時調(diào)整,在敵方進行S 型規(guī)避時,我方無人機對敵方飛機方位角qA變化比較劇烈,我方無人機長時間內(nèi)選擇最大過載轉(zhuǎn)彎機動方式來保證角度優(yōu)勢,這樣選擇機動的方式的缺點為無人機在單步長內(nèi)角度轉(zhuǎn)向過大,容易過度調(diào)整,同時也無法把多余的過載用于加速或爬高,最后無人機達到的優(yōu)勢值較低。
圖9 敵機S 型規(guī)避文中算法仿真結(jié)果
本文提出了一種矩陣對策法與遺傳算法結(jié)合的空戰(zhàn)決策算法,首先分析了單純矩陣對策法與單純遺傳算法在解決無人機空戰(zhàn)決策問題中的局限性,并對改進算法與傳統(tǒng)矩陣對策法進行了對比仿真驗證。仿真結(jié)果表明,本文提出的算法一定程度克服了單獨矩陣對策法機動決策選擇較少與單獨遺傳算法計算量大、容易陷入局部最優(yōu)的問題,對無人機自主空戰(zhàn)決策算法有一定參考意義。如何選取更加合理、耦合度較高的空戰(zhàn)優(yōu)勢函數(shù)、提升存在限制條件下遺傳算法的效率與穩(wěn)定性,運用更加合理的無人機模型是算法投入實戰(zhàn)的關(guān)鍵所在,也是今后要研究的方向。