張瀚文 ,甘旭升 ,魏瀟龍 ,童榮甲
(1.空軍工程大學(xué) 空管領(lǐng)航學(xué)院,陜西 西安 710051;2.中國人民解放軍94188 部隊,陜西 西安 710077)
隨著無人機(jī)技術(shù)的發(fā)展,越來越多的有人機(jī)任務(wù)可被無人機(jī)替代,不斷加劇戰(zhàn)場的無人化進(jìn)程[1]。特別是在空戰(zhàn)場領(lǐng)域,有人-無人協(xié)同作戰(zhàn)概念發(fā)展迅速,使得空中作戰(zhàn)樣式更為豐富,進(jìn)一步增加了空戰(zhàn)在現(xiàn)代作戰(zhàn)中的地位作用[2]。其中,無人機(jī)空戰(zhàn)一直是世界各國研究的焦點(diǎn),一旦走向?qū)崙?zhàn)將徹底顛覆現(xiàn)代空戰(zhàn)作戰(zhàn)理念。但由于無人機(jī)自主決策能力的不足,無人機(jī)空戰(zhàn)始終無法走向?qū)崙?zhàn),成為限制無人機(jī)作戰(zhàn)應(yīng)用的一大制約因素[3-4],對此,國內(nèi)外都展開了廣泛研究。
文獻(xiàn)[5]使用粒子群算法和人工勢場法相混合的方法實(shí)現(xiàn)無人機(jī)空戰(zhàn)機(jī)動決策,實(shí)現(xiàn)了一對一空戰(zhàn)的機(jī)動決策,決策規(guī)劃空間在三維空間內(nèi)實(shí)施,但決策時長接近1 s。文獻(xiàn)[6]使用模糊數(shù)學(xué)的思想改進(jìn)基本博弈決策機(jī)制,提出基于直覺模糊的空戰(zhàn)博弈決策算法,算法可在7 類機(jī)動動作間選擇決策,結(jié)合改進(jìn)差分進(jìn)化算法求解最優(yōu)混合策略。但單純基于博弈策略僅能基于局部信息進(jìn)行決策,缺少全局信息的考慮。文獻(xiàn)[7]通過生物免疫算法實(shí)現(xiàn)無人機(jī)的自主決策。免疫算法主要是通過模仿生物的免疫記憶過程實(shí)現(xiàn)算法的自學(xué)習(xí)功能,但該算法在較大空間內(nèi)的規(guī)劃決策效率較低,算法效率受規(guī)劃空間影響顯著。文獻(xiàn)[8]在空中態(tài)勢判斷基礎(chǔ)上基于納什均衡理論實(shí)現(xiàn)敵機(jī)目標(biāo)的分配,可實(shí)現(xiàn)多機(jī)協(xié)同空戰(zhàn)。但同樣只能利用局部信息進(jìn)行決策。文獻(xiàn)[9]使用改進(jìn)的Q-learning 算法實(shí)現(xiàn)無人機(jī)的機(jī)動決策,基于態(tài)勢信息矩陣進(jìn)行多機(jī)目標(biāo)協(xié)同,實(shí)現(xiàn)了多機(jī)空戰(zhàn)機(jī)動決策。但文中只對目標(biāo)分配規(guī)劃效率指標(biāo)進(jìn)行了說明和優(yōu)化,對單機(jī)機(jī)動決策的綜合耗時并未進(jìn)行詳細(xì)說明。文獻(xiàn)[10]使用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)無人機(jī)的空戰(zhàn)機(jī)動決策,但對神經(jīng)網(wǎng)絡(luò)的訓(xùn)練始終是技術(shù)的難點(diǎn),想要進(jìn)行完備的訓(xùn)練和持續(xù)的優(yōu)化具有較大的難度和工作量,若訓(xùn)練不夠充分將持續(xù)影響決策品質(zhì),導(dǎo)致空戰(zhàn)失利。文獻(xiàn)[11]使用改進(jìn)強(qiáng)化學(xué)習(xí)算法實(shí)現(xiàn)無人機(jī)的空戰(zhàn)決策機(jī)動,通過加入啟發(fā)式因子的方式提升學(xué)習(xí)算法尋優(yōu)性能,具有一定參考價值。文獻(xiàn)[12]則是提出了一種基于強(qiáng)化遺傳算法的空戰(zhàn)機(jī)動決策算法,通過分類器的設(shè)計可改進(jìn)傳統(tǒng)遺傳算法只能對顯式目標(biāo)進(jìn)行建模的缺陷,但該文對最終的規(guī)劃效率問題分析不透徹,而空戰(zhàn)問題對規(guī)劃效率有較高要求。
綜上所述,當(dāng)前對無人機(jī)空戰(zhàn)機(jī)動決策問題普遍采用了神經(jīng)網(wǎng)絡(luò)、仿生算法、強(qiáng)化學(xué)習(xí)、博弈論等方法,但在三維空間內(nèi)進(jìn)行規(guī)劃決策過程中,因為規(guī)劃空間較大,在規(guī)劃效率與規(guī)劃品質(zhì)方面往往難以兼顧。本文將針對無人機(jī)空戰(zhàn)機(jī)動決策問題,基于強(qiáng)化學(xué)習(xí)和博弈理論提出一種混合算法,實(shí)現(xiàn)高效的機(jī)動決策。
無人機(jī)飛行控制模型是將機(jī)動決策指令轉(zhuǎn)換為機(jī)動動作的技術(shù)基礎(chǔ)。無人機(jī)空戰(zhàn)機(jī)動過程主要是垂直和水平方向上的機(jī)動,狀態(tài)的改變主要通過仰角、航跡偏角和速度的改變實(shí)現(xiàn),控制量主要為滾角、轉(zhuǎn)彎率和推力變量。由此可以得出運(yùn)動學(xué)方程為
式中:v為無人機(jī)速度;γ為無人機(jī)仰角;β為無人機(jī)航跡偏角。
無人機(jī)的動力學(xué)方程為
式中:m為無人機(jī)質(zhì)量;L為無人機(jī)升力;F為無人機(jī)最大推力;η為無人機(jī)的推力系數(shù);μ為無人機(jī)滾角;D為空氣阻力。
阻力、升力的計算方法又可以表示為
式中:q為動壓;S為機(jī)翼面積;ρ為空氣密度;Cd為阻力系數(shù);Cl為升力系數(shù)??刂谱兞繛?/p>
式(1)~(4)中部分變量根據(jù)機(jī)型性能具有一定約束范圍,可表示為
空戰(zhàn)機(jī)動決策指令的形式必須要以現(xiàn)實(shí)空戰(zhàn)戰(zhàn)術(shù)需求為基礎(chǔ),否則無法達(dá)成期望的戰(zhàn)術(shù)目的。敵我無人機(jī)在進(jìn)行空戰(zhàn)對抗過程中,所做出的機(jī)動動作均是為了在規(guī)避敵方火控雷達(dá)鎖定和電子干擾的同時,將對方使用火控雷達(dá)鎖定,并發(fā)射空-空導(dǎo)彈擊毀敵機(jī)。機(jī)動方法主要是水平方向機(jī)動和垂直方向機(jī)動,其中水平機(jī)動更為重要。因為空戰(zhàn)對抗的空間范圍可發(fā)生在上百千米水平面內(nèi),但垂直空間范圍卻在20 km 范圍內(nèi),相對而言,垂直機(jī)動范圍要狹窄得多,在進(jìn)入近距空戰(zhàn)前,垂直機(jī)動的效果有限。但為了避免進(jìn)入近距空戰(zhàn)前丟失勢能優(yōu)勢,在水平機(jī)動過程中應(yīng)當(dāng)保持高度上的優(yōu)勢。因此,敵我雙方在空戰(zhàn)對抗過程中,機(jī)動策略應(yīng)當(dāng)分別制定。
本文將敵方火控雷達(dá)照射范圍假設(shè)為一個椎體,且具有一定作用距離。我方無人機(jī)在水平面上的機(jī)動應(yīng)當(dāng)避開敵機(jī)航跡水平投影方向上的扇面投影范圍,并使敵機(jī)進(jìn)入我機(jī)火控雷達(dá)照射范圍,如圖1 所示。
圖1 水平機(jī)動策略Fig.1 Horizontal maneuver strategy
在垂直方向上,應(yīng)當(dāng)盡可能地保持高度勢能優(yōu)勢,同時也利用垂直機(jī)動進(jìn)入敵機(jī)火控雷達(dá)盲區(qū),對敵機(jī)進(jìn)行鎖定,如圖2 所示。
圖2 垂直機(jī)動策略Fig.2 Vertical maneuver strategy
圖2 中:ΔH為紅藍(lán)方高度差;θf為紅方火控雷達(dá)輻射角度。當(dāng)無人機(jī)被對方火控雷達(dá)鎖定,則在每一個時間步長內(nèi)都有一定概率被擊落,以紅方無人機(jī)為例展開介紹,攻擊命中概率計算可表示為
式中:θrb為紅藍(lán)方航向相對角;d為紅藍(lán)方無人機(jī)之間的距離;為紅方無人機(jī)的火控雷達(dá)輻射角,其作用角度范圍為為紅方無人機(jī)的火控雷達(dá)作用距離。紅藍(lán)方航向相對角θrb如圖3 所示。
圖3 無人機(jī)角度關(guān)系Fig.3 Angle relationship of UAVs
圖3 中,υr為紅方無人機(jī)航向向量,υrb為紅方無人機(jī)空間坐標(biāo)指向藍(lán)方無人機(jī)空間坐標(biāo)的向量。θrb的計算方法為
式(6)中的σb用于判斷藍(lán)方是否對紅方實(shí)施了電子干擾,假設(shè)電子干擾范圍假設(shè)與火控雷達(dá)工作范圍一致,則計算方法為
本文根據(jù)敵我雙方空戰(zhàn)對抗的基本戰(zhàn)術(shù)策略,構(gòu)建空戰(zhàn)機(jī)動模型,由于無人機(jī)的水平機(jī)動控制和垂直機(jī)動控制可以進(jìn)行解耦[13],因此本文將機(jī)動決策過程同樣進(jìn)行分離,先進(jìn)行水平機(jī)動決策,再進(jìn)行垂直機(jī)動決策。
3.1.1 水平機(jī)動動態(tài)柵格環(huán)境構(gòu)建
在以往基于路徑規(guī)劃的無人機(jī)機(jī)動決策研究中[14-15],三維空間內(nèi)的機(jī)動決策必須同等建立三維柵格環(huán)境,而后才能進(jìn)行路徑規(guī)劃與機(jī)動控制。三維柵格環(huán)境具有建模簡便的優(yōu)點(diǎn),但也具有顯著的缺陷:一是規(guī)劃空間龐大,會使規(guī)劃速率大幅下降;二是規(guī)劃空間靜態(tài),無法適應(yīng)空戰(zhàn)對抗高分辨率、高不確定性、對抗范圍廣闊的需求。對此本文在水平、垂直決策相互解耦的前提下設(shè)計水平動態(tài)柵格環(huán)境。水平動態(tài)柵格環(huán)境與敵我雙方的相對水平位置有關(guān),紅藍(lán)方在柵格環(huán)境中的柵格坐標(biāo)始終不變,柵格坐標(biāo)根據(jù)紅藍(lán)方位置旋轉(zhuǎn)變化,柵格分辨率根據(jù)相對距離自適應(yīng)調(diào)整,如圖4 所示。
圖4 動態(tài)柵格環(huán)境Fig.4 Dynamic grid environment
規(guī)定動態(tài)柵格坐標(biāo)與大地坐標(biāo)之間的旋轉(zhuǎn)角順時針方向為負(fù),則坐標(biāo)變換公式為
式中:θg為柵格坐標(biāo)與大地坐標(biāo)之間的交角;(xg,yg)為某一柵格坐標(biāo);(x,y)為轉(zhuǎn)換后對應(yīng)的大地坐標(biāo);?為無人機(jī)在柵格坐標(biāo)中的位置向量與x軸形成的夾角,逆時針旋轉(zhuǎn)為正。
3.1.2 基于改進(jìn)Q-learning 的機(jī)動決策
Q 學(xué)習(xí)(Q-learning,QL)算法是一種離軌策略下表格型的學(xué)習(xí)算法,由Watkins 提出[16-17]。在QL 算法中,學(xué)習(xí)機(jī)制的實(shí)現(xiàn)是通過Q 表來實(shí)現(xiàn)的,表格的列代表了智能體的轉(zhuǎn)移規(guī)則,行代表了智能體的多種狀態(tài),表格中的每一個空格都用以記錄智能體的學(xué)習(xí)信息,信息的更新公式可表示為
式中:α為學(xué)習(xí)率;γ為折扣因子;s為當(dāng)前時刻的狀態(tài);a為當(dāng)前時刻按策略π采取的動作;s'為下一時刻的狀態(tài);a'為在s'狀態(tài)下能夠獲得最大回報的動作。智能體在Q 表中各個狀態(tài)之間的轉(zhuǎn)移按照隨機(jī)策略(ε-貪婪機(jī)制)進(jìn)行轉(zhuǎn)移,學(xué)習(xí)機(jī)制則通過獎勵和懲罰實(shí)現(xiàn)[16]。由于智能體在每一步的轉(zhuǎn)移過程中只基于當(dāng)前狀態(tài)信息,對全局信息利用率不足,會影響最終解的質(zhì)量。在每一輪的智能體尋優(yōu)過程中,對前期的學(xué)習(xí)信息并未加以利用,可能導(dǎo)致大量的無效學(xué)習(xí)過程,降低規(guī)劃效率。因此,應(yīng)當(dāng)對基本QL 算法做出改進(jìn),提升學(xué)習(xí)質(zhì)量。本文使用雙Q 表算法(double Q-learning table algorithm,DQLT)記錄agent 的探索記錄。計算步驟為:
step 1:使用啟發(fā)式因子初始化后的Q1表進(jìn)行探索。啟發(fā)式因子為狀態(tài)點(diǎn)與目標(biāo)點(diǎn)之間的距離信息,距離越近,初始獎勵值越高。
step 2:開始新一輪探索,記錄智能體每一次的探索過程,直至達(dá)到滿足單輪學(xué)習(xí)的結(jié)束條件。結(jié)束條件可以是智能體達(dá)到目標(biāo)點(diǎn),也可以是探索步數(shù)達(dá)到規(guī)定值,避免陷入重復(fù)學(xué)習(xí)探索。
step 3:根據(jù)當(dāng)前輪次的探索學(xué)習(xí)記錄,輸出一條路徑信息,并將路徑信息記錄于Q2表,使用Q2表信息覆蓋Q1表。
step 4:重復(fù)step 2~3,直至達(dá)到迭代次數(shù)。
step 5:輸出最后一次生成的路徑方案。
改進(jìn)算法通過2 張Q 表的交替使用,使得智能體在探索過程中能夠充分利用已有學(xué)習(xí)信息,持續(xù)提升學(xué)習(xí)質(zhì)量。啟發(fā)式因子的加入又減少了無效學(xué)習(xí)過程,加快收斂速度。
基于輸出的規(guī)劃路徑,無人機(jī)做出水平機(jī)動決策。若規(guī)劃路徑的第1 步為左轉(zhuǎn)、直行或右轉(zhuǎn),則無人機(jī)做出左轉(zhuǎn)、直行或右轉(zhuǎn)的機(jī)動動作。
本文使用博弈策略實(shí)現(xiàn)無人機(jī)在垂直方向上的機(jī)動決策,首先應(yīng)當(dāng)建立支付函數(shù)。對于垂直方向上的優(yōu)勢判斷并非一成不變,而是與態(tài)勢關(guān)系緊密相關(guān),因此需要分情況討論。本文將其劃分為3類情況進(jìn)行討論。
(1)威脅區(qū)內(nèi),未將敵機(jī)鎖定,未被敵機(jī)鎖定
此時無人機(jī)需要水平機(jī)動占據(jù)有利地位的同時,還需要積極取得勢能優(yōu)勢,用于必要時候轉(zhuǎn)化為動能優(yōu)勢,進(jìn)行快速機(jī)動。但這一優(yōu)勢并非無限擴(kuò)大,只需要適當(dāng)保持,若高度差過大,會影響對敵機(jī)的攻擊。支付函數(shù)可表示為
(2)威脅區(qū)內(nèi),將敵機(jī)鎖定
由于已經(jīng)將敵機(jī)鎖定,此時無人機(jī)應(yīng)當(dāng)盡可能將敵機(jī)控制在火控雷達(dá)照射范圍內(nèi),因此應(yīng)當(dāng)縮小高度差,爭取更多雷達(dá)鎖定時間。支付函數(shù)可表示為
式中:τ3為常數(shù)。
(3)威脅區(qū)內(nèi),被敵機(jī)鎖定,且未鎖定敵機(jī)由于已被敵機(jī)鎖定,應(yīng)當(dāng)盡可能通過機(jī)動脫離火控雷達(dá)照射區(qū)域,此時的機(jī)動方向與敵機(jī)相對角大小成正比,越大越好。支付函數(shù)可表示為
式中:τ4為常數(shù);為紅方第i種策略下藍(lán)方無人機(jī)指向紅方無人機(jī)的向量;υb為藍(lán)方無人機(jī)的方向向量。
若紅藍(lán)方無人機(jī)仍在威脅區(qū)之外,則不進(jìn)行垂直機(jī)動,只進(jìn)行水平方向機(jī)動前出接敵。由此構(gòu)建無人機(jī)空戰(zhàn)博弈支付矩陣,可表示為
式中:x1,x2,…,xm為紅方無人機(jī)采取策略;y1,y2,…,yn為藍(lán)方無人機(jī)采取策略;frmn為紅方第m種策略與藍(lán)方第n種策略對抗下的支付函數(shù)值。在此假設(shè)紅方無人機(jī)只進(jìn)行3 類垂直機(jī)動,分別為拉升、平飛和俯沖,則它的一個混合策略為
式中:
則可得出紅方的納什均衡值可表示為[18]
由于垂直機(jī)動樣式較少,因此對于混合策略的求解可以直接以遍歷的方式求出近似最優(yōu)策略。
本文使用了在水平方向與垂直方向相互解耦的飛行控制模型,該模型并非所有機(jī)型都能夠適用,與飛機(jī)的氣動布局、飛行速度、使用需求等因素都相關(guān),但該模型有效性已被大量研究所驗證[9,12,19],因此具有一定合理性與現(xiàn)實(shí)意義。根據(jù)解耦的機(jī)動決策策略,本文使用改進(jìn)QL 算法實(shí)現(xiàn)水平機(jī)動決策,使用納什均衡理論實(shí)現(xiàn)垂直機(jī)動決策,最終得出綜合的機(jī)動決策指令,機(jī)動決策混合算法流程如圖5 所示。
圖5 機(jī)動決策混合算法流程圖Fig.5 Flow chart of hybrid algorithm for maneuver decision-making
論文仿真試驗主要基于Matlab 7.1 進(jìn)行開發(fā),所用電腦處理器為Snapdragon(TM)850,Win10 系統(tǒng)。開發(fā)環(huán)境對計算效果會有一定影響,但不影響算法性能對比。針對紅藍(lán)方單機(jī)對抗的情景進(jìn)行仿真,驗證算法的有效性,算法基本參數(shù)設(shè)置如表1所示。
表1 參數(shù)設(shè)置Table 1 Parameter setting
根據(jù)決策算法輸出結(jié)果,水平機(jī)動的輸出為左轉(zhuǎn)、直行和右轉(zhuǎn),對應(yīng)控制變量滾角為-π/3,0,-π/3;垂直機(jī)動輸出上升、平飛和下降,對應(yīng)控制變量迎角為-π/6,0,π/6;推力變量則根據(jù)態(tài)勢來輸出,分為威脅區(qū)外、威脅區(qū)內(nèi)和被敵機(jī)鎖定3 種狀態(tài),對應(yīng)推力系數(shù)為0.8,0.9,1。
先進(jìn)行水平機(jī)動決策算法驗證,同時驗證QL算法和改進(jìn)QL 算法的決策效果。在柵格內(nèi)的規(guī)劃路徑效果如圖6 所示。
圖6 算法路徑規(guī)劃對比Fig.6 Algorithm comparison of path planning
為體現(xiàn)改進(jìn)QL 算法在動態(tài)對抗環(huán)境中的決策性能優(yōu)勢,本文在二維平面內(nèi)開展空戰(zhàn)對抗仿真驗證。但單次空戰(zhàn)對抗勝負(fù)具有偶然性,因此需要進(jìn)行多倫空戰(zhàn),通過勝率體現(xiàn)算法的性能。單次空戰(zhàn)對抗仿真如圖7 所示。
圖7 二維平面空戰(zhàn)對抗仿真Fig.7 Two-dimensional air combat confrontation simulation
通過20 次空戰(zhàn)對抗仿真,查看2 種算法勝率變化,如圖8 所示。
圖8 勝率變化曲線Fig.8 Winning rate change curve
通過多次的對抗試驗可以發(fā)現(xiàn),在二維平面內(nèi),改進(jìn)QL 算法具有更優(yōu)的機(jī)動決策性能,最終勝率約為0.6,顯著高于原有算法。
進(jìn)一步在三維空戰(zhàn)對抗環(huán)境中對2 種算法的使用效果進(jìn)行對比,如圖9 所示。
圖9 空戰(zhàn)機(jī)動決策算法效果對比Fig.9 Effect comparison of air combat maneuver decision-making algorithms
從圖9 中可以看出,基本QL 算法因為較低的學(xué)習(xí)品質(zhì),會有很多誤決策,導(dǎo)致陷入不利態(tài)勢而被敵機(jī)擊落。算法的垂直機(jī)動決策耗時如圖10 所示。
圖10 垂直機(jī)動決策耗時Fig.10 Vertical maneuver decision-making time
從圖10 可知,垂直機(jī)動用時很少,機(jī)動決策的主要耗時在水平機(jī)動上,也是更為關(guān)鍵的技術(shù)內(nèi)容。在此,進(jìn)一步引入一種較為經(jīng)典的路徑規(guī)劃算法——蟻群算法(ant colony algorithm,ACO)來作為對比研究,對抗過程中,蟻群算法作為紅方無人機(jī),使用靜態(tài)三維柵格環(huán)境規(guī)劃路徑,改進(jìn)QL 算法作為藍(lán)方無人機(jī),對抗效果如圖11 所示。
從仿真機(jī)動效果來看,2 種算法都具有較好的決策性能,但從規(guī)劃用時來看,改進(jìn)QL 算法具有更顯著的優(yōu)勢。
ACO 算法與改進(jìn)QL 算法的綜合規(guī)劃時間對比如圖12 所示。
圖12 決策算法綜合耗時對比Fig.12 Comprehensive time comparison of decisionmaking algorithms
從圖12 中可以看出,改進(jìn)QL 算法規(guī)劃時間均可控制在1 s 之內(nèi),而蟻群算法則基本在3 s 以上。通過將垂直方向與水平方向的決策行為進(jìn)行解耦后,可在保持較好決策效果基礎(chǔ)上,有效縮短決策時間,提升空戰(zhàn)對抗中對不確定情況的應(yīng)對能力。
本文使用垂直與水平?jīng)Q策相解耦的方式來實(shí)現(xiàn)無人機(jī)的空戰(zhàn)機(jī)動決策。使用雙Q 表學(xué)習(xí)的方式改進(jìn)基本QL 算法,提升智能體學(xué)習(xí)質(zhì)量,實(shí)現(xiàn)無人機(jī)的水平機(jī)動決策;使用納什均衡理論實(shí)現(xiàn)無人機(jī)的垂直機(jī)動決策。針對無人機(jī)一對一空戰(zhàn)對抗的情景,使用仿真驗證了本文提出算法的有效性,對比傳統(tǒng)使用三維靜態(tài)柵格環(huán)境規(guī)劃路徑的算法,可有效縮減規(guī)劃規(guī)模,加快規(guī)劃速度,提升決策算法的戰(zhàn)場適用性。