周毅昕,程可濤,柳立敏,何賢軍,黃振貴
(1.南京理工大學 錢學森學院,南京 210094;2.南京理工大學 瞬態物理國家重點實驗室,南京 210094)
傳統的彈道優化程序計算量大、計算時間過長、同時還要求較高的計算資源,倘若每一次都需要實彈打靶勢必會耗費很多的人力、物力,且拉長研發周期。因此更加精準、更加便捷、更加快速的彈道優化過程亟待開發研究。
機器學習目前被廣泛運用于各個領域,如聶凱等根據深度強化學習的高效性提出了人工智能的軍事應用前景,李先通等用強化學習的方法建立了一種時空特征深度學習模型,實現了對下一時隙的路徑行程時間進行預測,選擇最優路徑;趙紹東提出基于機器學習的支持向量機機器學習的(SVM算法)模型進行建筑耗材降價分析與研究,得出建筑耗材價格選擇的優化方案。張蕾等圍繞機器學習技術提出了面對海量數據效率更高的安全問題解決方案。最新更為高效精確的氣體傳感器,保證全局收斂和計算高效的梯度算法,都離不開機器學習的思想與幫助。機器學習會不斷擴充它的教學數據,使程序在學習的過程中逐漸變得更加“智能”,且機器學習的主要作用是預測,從而得到最優決策。
本文將機器學習中具有高效率、低損耗、高精確特點的強化學習與彈道優化問題相結合,提出了基于強化學習的彈道優化研究,以期將二者結合,改進現有彈道優化方法中存在的不足,推動我國彈道優化研究朝著智能化方向發展。
強化學習在彈道優化中的作用與傳統函數相比,其優點在于不需要建立彈道優化的數學模型,即傳統彈道優化過程中所需要的優化目標函數、約束函數、選取優化設計變量與關聯方程都不需要在機器學習中建立,取而代之的是彈載計算機在不斷的迭代學習過程中,調整導彈在飛行過程中不同狀態下的指令控制,來達到最優目標的控制效果。
本文將彈道方程組與Q-learning算法相結合,研究基于Q-learning算法的機器學習在彈道優化上的應用,給出在Q-learning算法下彈道優化結果,并與參考模型的計算結果進行對比,以驗證機器學習與彈道優化相結合的可行性。
為了構建標準條件下的質點彈道基本方程,計算中采取了以下假設:
1) 在導彈飛行的任何階段,導彈攻角均為0;
2) 不考慮風速等其他因素的影響,導彈僅受重力和阻力影響;
3) 假設地面為無限擴展的水平面,不考慮地球表面曲率影響;
4) 忽略科氏慣性力;
5) 導彈結構視為一個質點,僅在3個方向上的平動,不存在轉動。
結合以上假設,從最簡單的彈道方程組模型入手,建立了炮彈在3DOF(自由度)的只受重力和阻力的外彈道方程組作為參考模型,模型具體如下所示:

(1)

傳統的彈道優化方法主要有利用高斯偽譜法將彈道最優控制問題轉化為非線性規劃問題,進而用SQP算法求解彈道優化設計問題;或者利用hp自適應偽譜法進行離線彈道優化,得到多條最優彈道控制數據后訓練BP神經網絡,得到神經網絡制導控制器;或對導彈優化計劃建立相應模型,采用分段優化全程彈道的方法。
四階龍格庫塔法的截斷誤差、時間復雜度和空間復雜度都很好,常使用于工程上求解常微分方程的問題。因此本文選擇龍格庫塔法對彈道方程組求解。
強化學習是機器學習中的一個分支領域,在強化學習中,智能體通過不斷“試錯”的方式進行學習,在智能體與環境的不斷交互下,獲得獎賞,并在價值策略的驅動下朝著最大化累計獎勵的方向迭代優化,從而不斷提高智能體自身的決策能力。首先環境會給智能體一個觀測值(狀態),智能體在接收到環境給的觀測值之后,在價值策略的引導下進行決策并做出動作,與智能體進行交互的環境在動作的作用下發生變化,即從狀態A轉移到狀態B,并向智能體返回狀態B以及相應的獎勵值。智能體會根據環境給予的獎勵更新自己的策略,從而實現在探索環境的同時,更新自己的動作策略,進而優化自身的決策能力。本文選取強化學習中較為基礎典型的Q-learning算法進行研究。
Q-learning算法是強化學習算法中價值本位(value-based)的算法。Q代表s和a的價值函數Q(s,a),即在某一時刻的狀態(state)下,采取某一動作(action)能夠得到的獎賞的期望。Q-learning算法的思想核心就是將某一時刻的狀態和動作以及其能夠得到的獎賞期望構建成為一張Q表來儲存Q值。Q值如表1所示,a表示智能體可選擇的動作,s表示智能體所處的狀態,獎賞值為在該狀態做出該動作時,環境所反饋的回報(reward)的估計值。例如,Q(s1,a1)= -1代表智能體在s1狀態下做出a1動作,可獲得的獎賞值為-1。

表1 Q值
Q表的更新以時間差分法的方式進行,其具體公式如下:
(,)←(,)+[+max′(′,′)-(,)]
(2)
其中:為獎勵性衰變系數(衰減因子),為控制收斂的學習率。當0<<1時,通過不斷地嘗試搜索空間,值會逐步地趨近最佳值。決定時間的遠近對回報的影響程度,表示犧牲當前收益,換取長遠收益的程度。
在下一個狀態′中選取最大的(′,′)值乘以獎勵性衰變系數再加上真實回報值作為的現實值,而把過往Q表里的(,)作為的估計值。以表1為例,具體實現步驟如下:

(3)
式中:為的現實值;為的估計值;為現實值與估計值的差值。
具體實現代碼如下:
1) 構建并初始化Q表;
2) 初始化導彈運動狀態參數 ;
3) 根據導彈狀態基于策略選擇動作;
4) 根據動作更新狀態信息與反饋獎勵;
5) 根據新的動作得到的反饋更新Q表;
6) 進入下一個狀態,判斷是否完成訓練輪次;
7) 重復步驟2~6直到回合結束;
()的估計不僅僅只有這個狀態,按照同樣的規則持續展開,可以發現,其與后續、,…都有關系,這些都能夠用來估計實際值,當衰減因子按以下3種情況取值,分別為:
()=+()=+*[+()]=
+*[+[+()]]()=
+*+*+*+*+…
(4)
為1 時,相當于完全考慮未來的獎勵,沒有忽略,即:
()=+1*+1*+1*+1*+…
(5)
在(0~1)范圍內時,數值越大,對未來情況的重視程度越大,可以說智能體越有遠見,即:
()=+*+*+*+*+…
(6)
當為0時,完全不考慮將來的情況,只有當前的回報值,即:
()=
(7)
在對炮彈進行控制優化時,強化學習算法將彈載計算機作為智能體,將飛行過程中的炮彈的姿態、運動等外界信息視為環境,并以炮彈的飛行速度方向與水平方向間的夾角(彈道傾角)作為狀態,智能體(彈載計算機)的動作為給炮彈施加垂直于速度方向的加速度,以此不斷改變炮彈的飛行軌跡。
因此,基于Q-learning算法的簡控彈道方程組可在參考彈道方程組的基礎上得到,具體如下:

(8)
其中:為智能體作用的加速度;其余變量與式(1)中相同。
假定空氣密度為1.206 kg/m,炮彈最大橫截面積為0.018 86 m,阻力系數為0.25;炮彈質量為30 kg,直徑為155 mm,出膛速度是800 m/s。
當出射角為45°時,基于Matlab采用四階龍格庫塔法對參考模型進行求解,可得到炮彈無控飛行軌跡如圖1,射程是14 532.84 m,后文將通過與優化后射程進行對比驗證Q-learning算法在彈道優化上的可行性:

圖1 炮彈無控飛行軌跡曲線
以最遠距離為目標進行優化時,在30°、35°、40°、45°、50°、55°、60°初始彈道傾角進行3DOF彈道控制,其他初始參數與無控狀態一致,測量無控情況下和在Q-learning模型中給法向過載進行控制的距離進行仿真,其中Q-learning算法的學習效率為0.05,貪婪度為0.8,獎勵折扣為0.99,狀態選擇為速度與水平面間的夾角,動作為作用于垂直速度方向向上或向下,大小為5 m/s的加速度,優化結果如表2所示。

表2 以最遠距離為目標的優化與無控彈道的結果
為炮彈在無控情況下落點處的距離;為Q-learning算法中有控(存在法向過載)情況下的落點距離。由表可知,針對不同的初始彈道傾角,Q-learning算法均能不同程度的提升炮彈的射程,可知Q-learning強化學習算法在以最遠距離作為優化目標時具有較好的優化作用。
在有阻力情況下,當初始傾角為30°時以最遠飛行距離為目標時,進行了1 000次Q-learning強化學習訓練后的機器控制結果如圖2所示。

圖2 最遠距離控制結果曲線
圖2中,橫坐標為炮彈的水平飛行距離,縱坐標為導彈的飛行高度。炮彈從膛內以一定的初速度斜向射出去,可以看作水平方向上受外界阻力的直線運動和豎直方向上受重力的上拋運動的合成運動。由圖2可知,與無控情況下進行對比,經過Q-learning強化學習訓練后的最遠飛行距離為15 674.25 m,大于無控狀態下的最遠飛行距離15 026 m,增加了4.3%。
圖3表示了該次飛行過程中智能體進行1 000次強化學習過程中對炮彈做出的控制動作過程。圖中以加速度的離散數據_mean作為縱坐標,以時間為橫坐標。加速度為智能體每一次采取動作直接產生控制后炮彈的過載,加速度的波動曲線是在+5和0的離散動作區間內智能體所采取的動作集合。通過實時產生加速度指令,實現控制彈體姿態,進而控制彈道軌跡。

圖3 飛行過程中的控制結果曲線
以最大落點速度為目標進行優化時,同樣在30°、35°、40°、45°、50°、55°、60°初始彈道傾角進行3DOF彈道優化控制,仿真計算無控情況下和在Q-learning算法中控制法向過載的最大落點速度,優化結果如表3所示。

表3 以最大落點速度為目標的優化與無控彈道的結果
如表3所示,表示炮彈在無控情況下落點處的速度;表示在Q-learning模型中給法向過載的情況下的落點處的速度。由表3可以看出,優化后的炮彈落點速度均大于無控條件下的炮彈速度。
當初始傾角為30°時,以最大落點速度為目標,進行1 000次Q-learning強化學習后控制結果如圖4所示。

圖4 最大落點速度控制結果曲線
其中橫坐標為炮彈飛行的水平距離,縱坐標為炮彈的落點速度,由圖4可以看出在炮彈抵達最高點前,由于空氣阻力的存在炮彈的速度有減小的趨勢,在開始下落后炮彈速度開始增大,圖4曲線可以看出在速度降到最低(即飛行過程達到最高點)后有上揚的趨勢。通過分析比較發現,經過優化學習后的最終落點速度大于無控狀態下的落點速度。
初始傾角為30°的優化過程如圖5所示,以加速度的離散數據_mean作為縱坐標,以控制時間作為橫坐標,其加速度曲線波動原理與圖3一致。

圖5 飛行過程中的控制結果曲線
提出了一種基于強化學習中Q-learning算法的制導炮彈簡控彈道優化控制方法,該方法效率高,能有效提升射程,具有通用性。以最遠射程和最大落點速度為目標時,智能體經過學習后對彈道的優化控制能滿足預期要求,能夠通過Q-learning算法進行彈道優化。初步證實了機器學習在彈道優化上的可行性,為后期進一步探索打下基礎。
對于不同的優化目標,該優化方法只需改變Q-learning算法中的環境約束條件,就能得到對應的彈道優化控制結果。