李永豐,史靜平,2,章衛國,2,蔣 維
(1. 西北工業大學 自動化學院,西安 710029;2.陜西省飛行控制與仿真技術重點實驗室(西北工業大學),西安 710029)
目前無人作戰飛機(unmanned combat aerial vehicle, UCAV)被廣泛應用于軍事領域[1],UCAV在過去主要從事戰場監視、吸引火力和通信中繼等任務,隨著武器裝備的傳感器、計算機及通信等技術的發展,性能不斷提升,未來的UCAV將逐步升級成為可以執行空中對抗、對地火力壓制和參與制空權的奪取等作戰任務的主要作戰裝備之一。盡管UCAV的性能提升很大,但大多數的任務都離不開人工干預,控制人員通過基站在地面對UCAV進行控制,這種控制方法有延遲且易受到電磁干擾。因此研究UCAV的自主作戰能力已經成為空軍發展的必然趨勢,裝備了無人作戰決策系統的UCAV將逐步取代飛行員的位置,以達到減少成本,提高戰斗力的作用。在近距離格斗的階段,UCAV應根據當前的空戰態勢及時選取合適的飛行控制指令,搶占有利的位置,尋找擊落敵機的機會并保護自己[2]。
在空戰條件下,飛機模型本身為非線性同時目標的飛行軌跡是不確定的,這些都將給UCAV的機動決策帶來許多不便,因此良好的機動決策是UCAV自主空戰的一個重要環節,自動機動決策要求UCAV能在不同的空戰環境下自動生成飛行控制指令。常規的機動決策控制方法包括最優化方法、博弈論法、矩陣對策法、影響圖法、遺傳算法、專家系統、神經網絡方法以及強化學習方法等。文獻[3]將空戰視為一個馬爾可夫過程,通過貝葉斯推理理論計算空戰情況,并自適應調整機動決策因素的權重,使目標函數更加合理,保證了無人戰斗機的優越性。文獻[4]設計了一個基于遺傳學習系統的飛機機動決策模型,通過對機動的過程加以優化來解決空戰環境未知情況下的空戰決策問題,可以在不同的空戰環境中產生相應的戰術動作,但該方法的參數設計存在主觀性,不能靈活應用。文獻[5]利用統計學原理研究UCAV的空戰機動決策問題,具有一定的魯棒性,但該算法實時性能較差無法應用于在線決策。文獻[6]將可微態勢函數應用于UCAV微分對策中,可以快速反應空戰環境,但由于實時計算的局限性很難解決復雜的模型。文獻[7]采用博弈論對UCAV空戰決策進行建模,對不同的空戰環境具有通用性。雖然這些決策算法可以在一定程度上提高決策的效率、魯棒性和尋優率,但由于這些決策模型存在推理過程較為頻繁,會浪費大量時間尋優等問題,導致UCAV的響應變慢,并不適用于當今的戰場環境。
基于人工智能的方法包括神經網絡法、專家系統法以及強化學習算法。文獻[8]采用了專家系統法,通過預測雙方的態勢和運動狀態生成相應的機動指令控制UCAV飛行,但不足之處在于規則庫的構建較為復雜,通用性差。文獻[9]采用了自適應神經網絡技術設計PID控制器,對高機動目標具有較強的跟蹤精度,但神經網絡方法需要大量的空戰樣本,存在學習樣本不足的問題。與以上兩種方法相比,強化學習算法是一種智能體與環境之間不斷試錯交互從而進行學習的行為,智能體根據環境得到的反饋優化自己的策略,再根據策略行動,最終達到最優策略。由于強化學習的過程通常不考慮訓練樣本,僅通過環境反饋得到的獎勵對動作進行優化,可以提高了學習的效率,是一種可行的方法[10]。文獻[11]將空戰時的狀態空間模糊化、歸一化作為強化學習算法的輸入,并將基本的空戰動作作為強化學習的輸出,使得UCAV不斷與環境交互從而實現空戰的優勢地位。在此基礎上,文獻[12-13]將神經網絡與強化學習相結合,提高了算法的運算效率,但這些文章都沒有考慮飛機的姿態變化。
本文提出了一種深度強化學習(deep reinforcement learning, DRL)算法來解決UCAV自主機動決策作戰的問題,并在MATLAB/Simulink環境中搭建了某種六自由度UCAV模型,充分考慮了其非線性。同時選取適當的空戰動作作為UCAV的機動輸出,建立空戰優勢函數并設計UCAV空戰機動決策模型。通過強化學習方法可以減少人為操縱的復雜性,保證計算結果的優越性,提高UCAV的作戰能力,而神經網絡可以提升實時決策能力。最后通過仿真將該方法應用于UCAV機動作戰決策中,證明了其有效性和可行性。
本文所研究的UCAV運動模型如圖1所示,在研究UCAV運動時,把UCAV視為左右對稱的理想剛體,其運動主要表現為速度及3個姿態角的變化情況,對UCAV的操縱主要依賴于發動機推力以及UCAV的氣動舵面。采用六自由度方程描述UCAV在機動決策和仿真時的運動狀態,具體參數如下:質量為3.93 kg,機長為1.47 m,機翼面積為0.264 5 m2,翼展長為0.89 m,平均氣動弦長為0.336 m。

圖1 UCAV模型圖
在慣性坐標系當中,無人機六自由度方程通??梢悦枋鰹闄C體坐標系下的力方程組、力矩方程組、運動方程組與導航方程組,無人機六自由度方程的通常狀態變量是:[V,α,β,p,q,r,φ,θ,ψ,x,y,z]。對于無人機12個狀態量的非線性六自由度方程如下(歐式坐標系):

(1)
(2)
(3)

(4)

(5)

(6)
(7)
(8)
(9)

w(sinφsinψ+cosφsinθcosψ)
(10)

w(-sinφcosψ+cosφsinθsinψ)
(11)

(12)
式中[u,v,w]為機體系3個軸上的速度分量。
本文根據上述UCAV非線性模型,使用PID算法設置控制律,同時考慮姿態對UCAV空戰決策的影響,搭建基本操縱動作庫,選取適當的機動動作作為UCAV的輸出。之后通過深度強化學習算法得到UCAV在不同的態勢下的機動動作,使得該算法能對UCAV進行精準控制。
通過對UCAV自主戰術決策系統進行研究,可以使UCAV具備更高的自主性,能獨立應對突發事件以提高任務執行的效率,同時可以提高系統適應環境的能力。圖2為UCAV自主決策模塊,將我方無UCAV和目標的態勢估計進行綜合評價,輸入機動決策模塊中,得到機動庫的控制指令,再對我方UCAV進行控制。

圖2 UCAV自主決策模塊
強化學習算法主要由以下5個部分組成:智能體、環境、狀態S、動作A和觀測回報R。在時間t時刻,智能體會產生動作At并與環境之間進行交互,在動作執行后,智能體的狀態由St轉移成St+1,并得到環境的回報值Rt。就這樣,智能體在與環境的交互中不斷修改自身參數,在經過多次運算后得到最優解,如圖3所示。

圖3 強化學習基本框架圖
強化學習的計算過程就是一個不斷探索最優策略的過程,策略指的是狀態到動作的映射,通過符號π′表示,下式為狀態S下所對應的每個動作的概率,即
π′(a|s)=p[At=a|St=s]
(13)
對于強化學習算法而言,希望每一個狀態所對應的動作都能使其價值最大化,需要找到策略:
(14)
Q強化學習算法是對狀態-動作對的值Q(s,a)進行迭代,在學習過程中選擇動作a時, 即
(15)
Q(st,at)的更新公式為
(16)
式中:δ為學習率,γ為折扣率,rt為t時刻的綜合優勢函數。
可以看出該Q強化學習算法包含了綜合優勢函數和所選動作后的狀態值,具有遠視性,長期看來無限趨于穩定。
對于空中格斗決策來說,將我方UCAV和目標之間的瞬時空中態勢作為一個獎懲信號,構建相應的空戰優勢函數,可以使得決策系統選擇合適的機動動作,提高我機對敵機的空戰優勢。通常來說,傳統的環境獎賞包括方位角獎賞、速度獎賞、距離獎賞和高度獎賞,并由這幾部分加權得到綜合空戰態勢評估值,但這種態勢評估的加權值都是主觀值,無法準確適應不同的空戰武器。為解決該問題,本文針對UCAV空對空導彈的攻擊方式設計了相應的優勢函數[14]。典型的空空導彈攻擊區間是攻擊機的前方一定距離和角度的錐形范圍,如圖4所示。

圖4 空戰態勢
圖4中:VU、VT分別為UCAV和目標的速度向量,令VU、VT分別為向量VU、VT的速度大小;R為UCAV和目標之間的距離;αU、αT分別為UCAV和目標之間的連線和各自速度向量的夾角;Rg為 UCAV導彈的最大攻擊距離;αg為 UCAV導彈的最大攻擊角度。
在空戰環境中,追尾飛機處于優勢狀態,被追飛機處于劣勢狀態,兩機相向相背或同向飛行時則處于均勢狀態,本文通過兩機方位角計算角度優勢:
(17)
對空空導彈而言,命中率主要與距離有關,為了使距離參數函數對于距離的變化不敏感,從而使無人機決策具有魯棒性,計算方位角、距離優勢的函數為
(18)
式中σR為距離標準偏差。
如果UCAV與目標之間的距離小于導彈攻擊距離,UCAV速度矢量與兩者間距離矢量的夾角小于UCAV導彈的攻擊角度,同時目標的速度矢量與兩者間距離矢量的夾角小于90°。則說明目標處于UCAV武器的攻擊范圍內,可以發射導彈并攔截,并結束這個仿真回合進入下一個回合。此時UCAV的獎賞值為
(19)
當滿足式(19)中的條件時,UCAV得到獎賞值,同時為了訓練UCAV規避敵機的攻擊,目標也存在攻擊武器,當目標滿足相同條件時說明我方處于劣勢,得到負的獎賞值。
ηB=ηU-ηT
(20)
其中:
為了避免UCAV在飛行過程中失速、飛行過低或過高、遠離目標或與目標發生碰撞,應限制UCAV的速度不小于20 m/s,高度不小于200 m,距離限制在[100 m,3 000 m]之間。
(21)
同時由于該UCAV為六自由度非線性模型,機動動作的選擇不僅要考慮敵我態勢,還需要考慮UCAV選擇機動動作時的狀態,使得UCAV基于當前態勢所選擇的機動動作可以完整的執行下去,避免UCAV的失控。對于固定翼飛機而言,三軸力和三軸力矩的大小與迎角和側滑角相關,因此決定其失控與否和飛行品質的關鍵是氣流角。在飛機做機動動作時,要避免其因慣性或擾動超出飛行包線從而導致飛機的失控,需要對氣流角加以保護,可以將UCAV的迎角限制在[-20°, 20°]之間,側滑角限制在[-30°, 30°]之間,當超出限制時給予負的獎勵值,使得該決策機制可以避免選擇造成UCAV失控的機動指令。
(22)
由于單次空戰為一個作戰回合,最終結果會影響之前的空戰動作,需要根據時間差給之前的步驟添加獎賞值,則綜合優勢函數為
η=ηA+0.95Δt(ηB+ηC+ηD)
(23)
式中Δt為t時刻到這一作戰回合結束的剩余時間。
則t時刻的綜合優勢函數為
rt=η(t)
(24)
由于該空戰環境為三維空間,為了充分展現兩機的飛行狀態和空戰態勢,圖2中輸入自主空戰機動決策模塊的狀態空間包含10個變量:
S=[αU,αT,αUT,θU,θT,VU,VT,R,HU,ΔH]
(25)
式中:αUT為UCAV速度矢量和目標速度矢量之間的夾角;θU、θT分別為UCAV和目標的俯仰角;HU為UCAV的當前飛行高度;ΔH=HU-HT為UCAV相對于目標的高度差。需要將上述狀態空間做歸一化處理后再輸入神經網絡模型。
空戰機動動作庫分為兩類,一類是典型的戰術動作庫,另一類是基本的機動動作庫。典型戰術動作庫包括眼鏡蛇機動、榔頭機動、螺旋爬升等,但這些戰術動作本質上是各個基礎動作組合而成的,同時特殊的機動動作目前必須依靠人機緊密配合,協調完成,否則UCAV的狀態可能會超過正常的包線范圍,導致UCAV有失控風險。因此本文采用美國國家航空航天局提出的基本機動動作庫[15]作為UCAV機動動作庫的選擇范圍,如圖5所示。

圖5 基本機動動作庫
包括以下7種機動動作:1)定常平飛;2)最大加力加速;3)最大加力減速;4)最大加力左轉;5)最大加力右轉;6)最大加力爬升;7)最大加力俯沖。對于基本操縱動作庫的實現,采用歐式坐標系下的機動動作指令[VC,HC,φC]實現各種機動,建立自主作戰決策的候選動作庫。
勻速直線運動:
[VC,HC,φC]=[VA,HA,0]
(26)
最大加力加速飛行:
[VC,HC,φC]=[Vmax,HA,0]
(27)
最大加力減速飛行:
[VC,HC,φC]=[Vmin,HA,0]
(28)
最大加力左轉:
[VC,HC,φC]=[Vmax,HA,φleft]
(29)
最大加力右轉:
[VC,HC,φC]=[Vmax,HA,φright]
(30)
最大加力爬升:
[VC,HC,φC]=[Vmax,Hmax,0]
(31)
最大加力俯沖:
[VC,HC,φC]=[Vmax,Hmin,0]
(32)
式中:VC為UCAV的速度指令,VA、Vmax、Vmin分別為UCAV當前的速度、最大速度和最小速度;HC為UCAV的高度指令,HA、Hmax、Hmin分別為UCAV的當前高度、最大高度和最小高度;φC為UCAV的滾轉角指令,φleft、φright分別為UCAV的最大向左滾轉角和最大向右滾轉角。
將這7種機動動作作為UCAV機動決策的輸出,控制UCAV的飛行。同時由于UCAV缺少人類感知飛機狀態的能力,需要對上述機動動作做出限制,通過對俯仰角、滾轉角和推力指令的大小進行限制,從而對控制輸出端做必要的約束,以防UCAV的迎角、側滑角和速度的值過大或過小從而導致失控。令控制輸出端的俯仰角指令范圍在[-20°,20°]之間,滾轉角指令范圍在[-60°,60°]之間,推力指令范圍在[-10 N,30 N]之間。
對于傳統的強化學習而言,通常采用表格的形式記錄值函數模型,這種方法可以穩定得出不同狀態和動作下函數的值。但在面對復雜問題時,狀態和行動的空間較大,需要花費很多時間檢索表格中相應狀態的值,難以求解。由于深度學習將特征學習融入模型中,具有自學習性和魯棒性,適用于不同的非線性模型。但深度學習不能對數據規律進行無偏差估計,需要大量的數據反復計算才能達到較高的精度。因此,本文將深度學習和強化學習算法相結合,得到深度強化學習算法,并使用深度Q網絡(Deep Q network,DQN)作為優化算法,將態勢信息輸入神經網絡并輸出機動動作值,同時不斷與環境進行交互得到最優機動動作,使得UCAV能自主的進行作戰決策,提高其智能性[16]。
管理會計在會計學不斷發展后產生的重要分支學科,公立醫院管理會計則是管理會計在現代醫院管理中的具體應用,其核心在于核算過去,控制當下,預測未來。在財務信息化發展和新醫改的不斷深入背景下,醫院財務工作由核算型向管理型發展是必經之路。公立醫院管理會計則能在不斷的變革中體現其重要價值。公立醫院管理會計體系優化了財務核算流程,通過財務信息化軟件集成預算管理,使每一筆支出業務都可以實時監控。
在UCAV空戰決策過程中,需要對我方UCAV和敵機的飛行狀態和空戰態勢進行分析,采用卷積神經網絡(convolutional neural network, CNN)計算每一個狀態動作對的長期折扣期望,并將Q函數網絡作為評判依據,遍歷不同狀態下的所有機動動作。同時為了讓學習的數據更接近獨立分布的數據,需要建立一個數據庫,將一段時間內的狀態、動作、獎勵和該動作下一步的狀態存儲起來,每次學習時使用存儲區內的小部分樣本,與2.2節的Q強化學習算法相比可以打亂原始數據的相關性,減小發散。
為了解決算法的不確定性,DQN算法還建立了一個結構相同的目標網絡用于更新Q值,該目標網絡具有和Q函數網絡一樣的初始結構,但參數固定不動,每隔一段時間將Q函數網絡的參數賦給該目標網絡,使其一定時間內的Q值保持不變。可以通過梯度下降法最小化損失函數L(θμ)來得到最優解:
L(θμ)=E[yt-Q(st,at)|θμ]
(33)
其中yt為目標參數,即
式中:θμ為Q函數網絡參數,θμ′為目標網絡參數。
則DQN模型如圖6所示。

圖6 DQN模型
在空戰決策的訓練中,UCAV根據上述深度強化學習算法進行機動決策。整個訓練過程由多個空戰回合組成,每當UCAV判定擊中敵機、被敵機擊中、到達最大回合時間或處于式(21)、(22)所描述的錯誤態勢時,結束該空戰回合重新進入一個新的空戰回合,并重置仿真環境。在訓練過程中采用ε-greedy策略,一開始以100%的概率隨機產生行動,隨著仿真的進行,不斷減小概率直至10%,使得該策略不斷向最優靠攏。同時為了反應學習的效果,需要在訓練過程中定期判斷其決策能力,在進行判斷時令隨機概率降為0,使得決策模型直接輸出最大的Q值動作,并統計其在結束時的優勢函數值,與不同時期相對以此判斷其學習效率。
深度強化學習算法的具體步驟如算法1所示。


表1 參數取值情況
DQN算法的參數設置如下:使用一個兩層全連接前饋神經網絡作為在線Q網絡,有10個輸入狀態和7個輸出值,其中網絡有兩個隱藏層,單位大小分別為1 000和500,使用TANH函數作為激活函數,在最后的輸出層采用PURELIN函數進行激活。設置學習率δ=0.01,折扣系數γ=0.9,記憶回放單元D的緩沖區大小為106,在存儲了10 000個樣本之后神經網絡開始訓練,每次抽取的訓練樣本數量為1 000,目標網絡每4 000步更新一次。
在仿真的過程中每一步的決策時間t=1 s,每一次作戰的最大回合時間為40 s,每進行500次作戰回合對神經網絡的學習能力進行一次評估,查看其停止作戰時的獎賞值。
強化學習的計算過程是一個迭代尋找最優策略的過程,需要耗費一定的時間。傳統的強化學習相對于深度強化學習而言狀態空間較大,遇到復雜問題時需要花費很多時間檢索表格中相應狀態的值,但是UCAV在現實中執行機動決策時要求的決策時間非常短,否則無法進行有效的決策。同時不同大小的狀態空間也會對結果造成影響,對狀態空間的設定具有主觀性。
根據輸入狀態空間的10個變量建立不同復雜程度的強化學習Q值表格,Q值表2的大小是Q值表1的兩倍,Q值表3的大小是Q值表2的兩倍,分別仿真1 000個作戰回合,單次作戰的最大回合時間為40 s,基本采樣時間為0.02 s。對比每仿真1 s深度強化學習和不同復雜程度的強化學習在決策中所花費的時間,可以驗證算法的時效性。
如圖7所示,仿真使用的計算機為AMD Ryzen 7 3700X 8-Core Processor CPU和NVIDIA GeForce GTX 1660 SUPER顯卡。

圖7 每仿真1 s的決策時間
從圖7中可以看出,傳統強化學習決策所花費的時間與其Q值表的大小有關,而深度強化學習在決策時花費的時間低于強化學習,在進行空戰時能更快的做出有效的決策。

表2 第1次和第2次訓練的初始位置
由于UCAV空戰環境復雜,直接訓練會產生大量無效樣本,致使學習算法的效率降低,需要先讓目標在不同的初始狀態下進行訓練,之后再實現不同環境下UCAV的自主機動作戰。
第1次訓練以目標做勻速直線飛行運動的場景對UCAV依次進行基礎訓練和特定的空戰場景訓練,一開始紅方戰機處于優勢地位,紅方戰機和藍方戰機的初始位置見表2,藍方戰機做勻速直線運動。根據上文給出的DQN算法進行學習,首先對神經網絡進行20 000個回合的基礎訓練,之后對具體的情況進行訓練,經過250 000個作戰回合后敵我雙方的UCAV軌跡仿真如圖8所示。

圖8 第1次訓練時雙方的立體軌跡
從圖8中可以看出藍方想要遠離紅機,但紅方首先向左偏轉,保持與藍方相近的方位角和高度,接著加速追向目標,最終使藍方處于紅機武器攻擊范圍內,達到優勢地位,說明該DQN算法的確可以快速有效的提高UCAV的自主作戰能力。
通過對比圖9、10中經過了基礎訓練和未經訓練的評估獎賞值可以看出,經過了一定基礎訓練的DQN算法學習效率明顯提高,能較快的使我方UCAV處于優勢位置。

圖9 第1次訓練時每次評估的最終獎賞值

圖10 第1次訓練時的平均獎賞值
第2次訓練時以目標做勻速盤旋飛行的場景對UCAV依次進行基礎訓練和特定的空戰場景訓練,紅方戰機和藍方戰機的初始位置不變,藍方戰機做俯仰角為10°,滾轉角為-20°的勻速盤旋飛行。重復相同的訓練方法,經過25 000個作戰回合后敵我雙方的UCAV軌跡仿真如圖11所示。

圖11 第2次訓練時雙方的立體軌跡
在圖11中,紅方首先向右偏轉,保持與藍方相近的方位角和高度,接著加速追向目標,由于藍方處于相對較高的位置,紅方為了追擊藍方迅速爬升,最終使得藍方處于紅方武器攻擊范圍內,達到優勢地位,第2次訓練時的平均獎賞值如圖12所示。

圖12 第2次訓練時的平均獎賞值
第3次訓練時同樣以目標做勻速直線飛行運動的場景對UCAV依次進行基礎訓練和特定的空戰場景訓練,但一開始紅方戰機處于劣勢地位,紅方戰機和藍方戰機的初始位置見表3,藍機做勻速直線運動。同樣對神經網絡進行20 000個回合的基礎訓練,之后對具體的情況進行訓練,經過250 000個作戰回合后敵我雙方的UCAV軌跡仿真如圖13、14所示。

表3 第3次訓練的初始位置

圖13 第3次訓練時雙方的立體軌跡

圖14 第3次訓練時雙方的平面軌跡
從圖13、14中可以看出,面對藍機的追擊,紅機向右偏轉,繞到了藍機的身后,由劣勢轉化為優勢,最終扭轉局面取得勝利。第3次訓練時的平均獎賞值如圖15所示。

圖15 第3次訓練時的平均獎賞值
由上述3組仿真實驗可以看出紅方在不同的初始態勢下都可以通過一定的機動決策占據有利態勢,證明了DQN算法的有效性。同時,經過了一定基礎訓練的DQN算法學習效率明顯提高,具有較高的智能性,可以有效地引導UCAV進行空戰。
1)本文在MATLAB/Simulink環境中搭建了UCAV六自由度模型,設計了一個UCAV空戰自主機動決策的仿真平臺,實現了空戰實驗的閉環仿真。該仿真平臺成本低,易于實現,并且各個函數都采用了模塊化設計,易于更新和替換。
2)將機動動作庫和基于導彈武器攻擊區建立的優勢函數應用于該仿真平臺上,同時對模型采用由易到難的訓練方法,可以使UCAV與不同運動狀態下的目標進行空戰,并且保證UCAV最終能夠到達優勢地位。
3)結果顯示,深度強化學習算法可以通過不斷與環境之間試錯交互從而進行學習,能有效提高UCAV的自主作戰能力,得到的仿真結果具有較高的工程參考價值。根據深度強化學習算法所得到的機動控制指令具有魯棒性、遠視性和時效性。