朱建文,趙長見,李小平,包為民, 3
(1. 西安電子科技大學 空間科學與技術學院, 西安 710126; 2. 中國運載火箭技術研究院, 北京 100076;3. 中國航天科技集團公司, 北京 100048)
制導是高超聲速飛行器的核心技術之一,要求控制飛行器在滿足多種過程約束的條件下完成給定的飛行任務。滑翔制導面臨復雜飛行環境、強不確定性、多樣化飛行任務、多種過程與終端約束等挑戰。因此,滑翔制導方法需要保證對終端約束的高精度性、過程偏差的魯棒性以及多樣化制導任務的自適應性。
在滑翔制導領域,標準軌跡跟蹤是最傳統的滑翔制導方法,該方法主要分為兩部分:首先是滿足多種過程約束與終端約束的標準軌跡設計,其次是保證制導精度與魯棒性的制導指令解算,即軌跡跟蹤[1]。該方法具有較強的可靠性,并能減小在線計算量,但在飛行任務改變時需要重新設計標準彈道與跟蹤控制參數,限制了對不同任務的適應能力[2]。預測校正需要在線預測終端狀態,并根據終端誤差校正當前制導參數[3]。然而,解析預測校正方法需要對運動模型進行大量簡化,難以保證制導精度;數值預測校正方法需要復雜的在線計算,限制了實時性[4]。最優滑翔制導以滑翔飛行特性為前提,基于兩點邊值問題,利用極大值原理推導多約束制導律,但其速度控制精度受反饋系數的影響較大,通常需要人為地調整[5-6]。
以機器學習為主的人工智能是當前的研究熱門主題,強化學習作為一種體現智能決策的算法,得到了眾多學者的認可,并在路徑規劃與參數確定領域有初步的研究[7]。文獻[8]研究了一種高階強化學習問題,并通過仿真與實際飛行測試進行驗證,試驗設計為:利用四旋翼在事先完全未知的環境中采集災害點圖像,并學習獲得關注點以及前往該位置的最有效路徑。針對攔截制導問題,Gaudet利用強化學習設計了關于最優氣動特性以及傳感器和駕駛儀噪聲與時延的尋的制導律,但未明確給出狀態與動作空間模型[9]。進一步, 針對只有視線角與角速率信息的大氣層外機動目標攔截問題,元強化學習被用于優化目標加速度的跟蹤策略,該策略相對于零化脫靶量攔截制導具有更明顯的優勢[10]。文獻[11]利用強化學習生成參考傾側角指令,并將軌跡的生成問題簡化為“狀態-動作”值的簡單搜索問題,利用深度強化學習實現飛行器著陸制導。文獻[12]構建了可解決飛行器著陸制導問題的訓練環境模型,并且智能體獲取飛行狀態以生成控制動作,其中深度Q網絡被用于證明控制方法的可行性。總之,強化學習在智能體規劃與控制方面已經有一定的研究,但是在高超聲速飛行器的制導領域仍未見公開成果。
本文針對傳統滑翔制導方法存在的關鍵問題,結合強化學習方法的優勢,提出一種基于最優制導、預測校正以及強化學習的多約束智能滑翔制導策略。首先,利用最優滑翔制導方法以滿足終端經緯度、高度以及速度傾角約束;其次,提出基于側向機動的速度控制策略,并綜合考慮滑翔飛行特性與側向機動飛行對終端速度進行了解析預測;最后建立強化學習的框架模型,采用Q-Learning對速度控制中的機動幅值進行智能調整,以保證終端速度控制精度。該制導策略將降低強化學習的維數,并保證學習效率,進而實現多約束自適應制導。
智能滑翔制導需要飛行器與環境進行交互與感知,以提升飛行任務在線變更時的自適應能力。滑翔飛行器所處的臨近空間極其復雜,飛行距離遠,大氣密度與自身氣動系數都存在較大偏差,利用恒定的參數控制整個滑翔飛行必然存在較大缺陷。另外,滑翔飛行器面臨著多樣化的飛行任務,甚至飛行任務在線變更的情況,因此制導參數更需要根據實際飛行狀態與當前任務進行在線調整。針對上述滑翔制導問題,提出如圖1所示的離線強化學習加在線智能調參的制導策略。

圖1 智能滑翔制導策略框圖Fig.1 Intelligent gliding guidance strategy
首先,在制導策略上,結合最優制導、預測校正與強化學習以實現制導任務。解析最優制導能夠滿足經緯度、高度以及速度傾角約束,采用預測校正方法控制終端速度大小。針對滑翔飛行中的多源不確定性與多樣化飛行任務,尤其是終端速度預測誤差對制導性能的影響問題,本文進一步利用強化學習對制導參數,即速度控制中機動幅值進行在線智能調整。
然后,在學習方法上,采用強化學習以實現智能調參,該方法需要構建狀態空間與動作空間,設計回報函數,通過反復迭代選取動作指令以獲得最大的回報。為保證強化學習的效率,速度控制中機動幅值的自適應調整是強化學習的唯一任務。因此,將終端速度大小作為狀態變量,將機動幅值作為動作變量,并通過合理的離散化處理以降低狀態空間與動作空間的維數。進一步,在突出終端速度控制的基礎上考慮其他制導任務,設計回報函數。
最后,采用ε-greedy策略進行迭代學習,并在值函數的更新算法上,利用目前強化學習中典型的Q-Learning方法進行更新。
根據智能制導策略,采用解析最優制導方法以滿足終端經緯度、高度以及速度傾角約束,進一步在側向增加機動飛行,利用預測校正方法控制終端速度大小約束。
滑翔制導的任務是基于當前狀態生成制導指令以滿足終端多種約束。當前狀態包括速度v、速度傾角θ、速度方位角σ、經度λ、緯度φ以及高度h,終端約束為:
xf=(vf,θf,λf,φf,hf)
(1)
在前期的研究中[5],基于準平衡滑翔條件,以需要過載為控制量,建立了能量損耗最小的性能指標,在縱向與側向分別設計了能夠滿足終端經緯度、高度以及速度傾角約束的最優制導律,即需要過載指令為[5]:
(2)

(3)
基于式(2)給出的過載指令,控制量攻角α與傾側角υ計算為:
(4)
其中,ρ為當前高度處的大氣密度,Sm為飛行器參考面積,CL(Ma,α)為由馬赫數與攻角確定的升力系數,g0為海平面處的引力加速度。式(4)第一式需要反差值計算以獲得攻角。
滑翔終端速度控制的前提是能夠快速準確獲得終端速度,因此采用解析方法來預測終端速度。由于滑翔飛行器的主要受力為空氣動力與地球引力,因此速度微分為:
(5)
其中,D為當前氣動阻力,m為飛行器質量。式(5)包含了所有的飛行狀態,求解方程(5)還需要其他微分方程,導致解析求解無法實現。因此,為解析獲得終端速度,需要根據滑翔飛行特性對式(5)進行合理轉化。速度控制的目的是在給定的射程處滿足速度大小約束,而對終端到達時間無約束,因此可基于射程微分對式(5)進行重構:
(6)
進一步,利用“平均法”對式(6)中的狀態參數進行固化。將待飛射程內的時變阻力假設為當前實際阻力Dc與終端阻力Df的平均值。在滑翔飛行的末段,飛行高度相對較低,飛行器具有足夠大的升力以實現平衡滑翔飛行。因此,氣動升力的縱向分量約等于引力。
Lfcosυ≈mg
(7)
其中,Lf為飛行末段的氣動升力。當飛行器處于滑翔飛行狀態時,升阻比RL/D保持較大且變化幅度很小,意味著在一個制導周期內RL/D可被認為是常值。因此,飛行終端的氣動阻力可間接表達為:
(8)
當前氣動阻力Dc與終端氣動阻力Df的平均值為:
(9)
同理,對式(6)中的速度傾角進行轉化。當飛行器處于滑翔飛行狀態時,速度傾角及其變化率都很小。因此,存在以下針對速度傾角的簡化:
(10)
由式(6)與式(9)可知,為解析預測終端速度,需要對阻力中的傾側角υ進行轉化。傾側角可通過最優制導律并由式(4)的第二式計算獲得,但終端速度大小不可控。機動飛行可增加額外的能量損耗,而飛行器需要在縱向保持平衡滑翔飛行,因此在原最優制導律(2)的基礎之上,引入側向機動飛行以控制終端速度大小。考慮機動飛行的傾側角為:
(11)
其中,nvc是用于控制終端速度的機動過載。機動飛行是對原最優制導律的破壞,因此設計機動過載需要盡量減小其對終端制導精度的影響。整周期的側向正弦機動能夠增加能量損耗,并能使機動產生的側向誤差正負相消。設計機動過載為:
(12)

(13)
為計算傾側角,需要進一步對“未來”飛行中的過載指令進行解析簡化。平衡滑翔是滑翔飛行器的主要飛行特性之一,飛行器的高度變化很平緩,即縱向需要過載基本保持不變。因此,可基于當前需要過載與終端過載計算滑翔全程飛行的平均過載:
(14)
其中,“1”為終端過載,表示末端飛行器嚴格地等高飛行。結合式(13)與式(14)中的平均過載,可計算傾側角為:
(15)
利用式(9)中的平均阻力、式(10)中的平均速度傾角以及式(15)中的平均傾側角代替式(6)中的當前飛行狀態,則式(6)可轉化為:
(16)
從當前狀態到終端狀態,對式(16)左右兩邊求定積分,可獲得終端速度的解析預測值。
(17)
由式(17)可知,機動幅值Avc越大,則能量消耗越大,即終端速度越小。理論上,通過設置不同的機動幅值Avc,便可獲得不同的終端速度。相反地,也可基于式(17),根據終端速度約束解析計算出需要的機動幅值。然而,終端速度解析預測必然存在偏差,直接根據式(17)解析計算機動幅值將影響速度控制精度。為此,通過對機動幅值Avc進行智能調整,以控制終端速度大小。需要說明:終端預測速度必然存在誤差,主要來源于剩余射程內飛行器受力的未知性,故采用平均法對未知的時變受力進行固化假設。隨著滑翔飛行的不斷推進,上述受力假設的精度不斷提高,并且剩余射程不斷減小,致使終端速度的預測與控制精度不斷提高。
強化學習把學習看作試探評價過程,智能體選擇一個動作用于環境,環境接受該動作后狀態發生變化,同時產生一個強化信號(獎或懲)反饋給智能體,智能體根據強化信號和環境當前狀態再選擇下一個動作,選擇的原則是使受到正強化(獎)的概率增大。選擇的動作不僅影響立即強化值,而且影響環境下一時刻的狀態及最終的強化值。強化學習的常見模型是標準的馬爾可夫決策過程(Markov decision process, MDP)。一個MDP由五元素構成:狀態集合S、動作集合A、狀態轉移概率Psa、折扣系數γ∈[0,1)、回報函數R[13]。
Q-Learning是強化學習的一種經典學習方法,其中Q(s,a)表示狀態行為值,即在當期策略下,當前狀態s與動作a對應的值函數的具體取值。若狀態集合為p維,動作集合為n維,則Q(s,a)為p×n維的表格,因此可稱之為Q表。Q-Learning中值函數的更新算法為:

(18)
具體的Q-Learning算法步驟如下:
1)人為地以任意形式初始化Q(s,a)表格。
2)對于每次學習回合,給定一個初始狀態s。
3)執行以下操作:
①利用當前的Q值,確定當前的行為a;
②執行當前的行為a,獲得量化的回報R與下一狀態s′;
③基于式(18)更新Q表;
④更新當前的狀態s←s′;
⑤當s滿足終止狀態時,結束當前回合的學習;
4)基于已更新的Q表,重復執行步驟3,直至滿足學習次數。
在滿足終端速度約束的預測校正制導中,機動幅值的智能調整是消除過程偏差與速度預測誤差并應對多樣化飛行任務的有效手段。由于終端速度只與當前和未來機動幅值相關,而與過去的信息無關,因此機動幅值的確定符合MDP過程。根據強化學習與Q-Learning的需求,需要根據實際制導任務搭建智能調參模型、設計狀態與動作空間以及回報函數,基于強化學習的智能調參邏輯如圖2所示。

圖2 強化學習智能調參框圖Fig.2 Intelligent parameter modification via reinforcement learning
采用ε-greedy策略,通過學習確定滿足終端速度約束的機動幅值。在第一次調參中,利用隨機方法對Q表進行初始化以探索更多的狀態與動作,在后續調參中繼承上一次調參獲得的Q表以加快迭代收斂速率。另外,為了充分發揮Q-Learning算法的探索和尋優能力,在學習的前期ε可選擇較大,以探索更多的狀態與動作,在后期逐漸減小使得滑翔制導在已有經驗的基礎上做出正確的動作,進而以保證終端制導精度。基于Q-Learning的機動幅值智能調參流程如圖3所示。

圖3 Q-Learning機動幅值智能調參流程Fig.3 Intelligent modification flow of maneuvering amplitude via Q-Learning
狀態空間是強化學習中必不可少的元素,是反應飛行過程狀態或者終端狀態的數據集合,并且必須包含所有可能的狀態參數取值。本文利用智能調參方法滿足終端速度大小約束,因此可設計狀態空間為終端速度組成的數據集合。滑翔制導是時間連續的質心控制問題,其終端速度也必然是時間連續的。因此,在利用離散化的強化學習進行智能調參時,需要對終端速度進行離散化,即狀態空間為終端速度組成的離散化的數據集合。
由于滑翔飛行器自身性能約束的影響,設置終端速度的范圍為[2 000, 4 000]m/s,進一步將其離散為等間隔的狀態空間,離散點數為51個,間隔為40 m/s。
根據強化學習中對動作空間的定義,“動作”需要對上述“狀態”產生影響。影響狀態,即終端速度的因素有很多,包括當前的飛行狀態以及上下左右等機動飛行。過復雜的動作空間將增大動作的搜索空間,進而影響學習效率。針對該問題,基于所提出的終端速度的預測校正制導方法,設計“動作”為能夠直接影響飛行以及終端速度大小的機動幅值,即動作空間為基于機動幅值組成的數據集。在前期研究中[5-6],利用最優制導與機動減速方法生成制導指令,能夠使終端速度在2 000~4 000 m/s范圍內變化的機動幅值調整范圍為0~0.75。因此本文適當擴大該范圍至[0, 0.8],進而設計由30個離散點組成的動作空間:A=(0, 0.1, 0.2, 0.3, 0.35, 0.40, 0.45, 0.5, 0.52, 0.54, 0.56, 0.58, 0.6, 0.62, 0.64, 0.66, 0.68, 0.7, 0.71, 0.72, 0.73, 0.74, 0.75, 0.76, 0.77, 0.78, 0.785,0.79, 0.795,0.8)。
量化的回報函數用來判斷動作的性能是強化學習的核心所在。強化學習方法的目的是在線修正機動幅值以高精度控制終端速度大小。因此,本文根據終端速度的滿足情況設計回報函數為:
(19)
式(19)中回報函數的物理意義是:當預測速度與需要速度之差小于200 m/s時,回報值為負的速度差絕對值;當預測速度遠小于需要速度時,過多的能量損耗將導致飛行任務的無法完成,此時應當給予最嚴厲的“懲罰”;當預測速度遠大于需要速度時,過快的飛行速度將導致動壓、過載等過程約束的超限,此時給予較嚴厲的“懲罰”。回報函數(19)設計的目的是控制預測速度與需要速度達到相等,二者越接近則回報值越大,最大回報值為“零”。
至此,式(4)給出的攻角與傾側角指令計算方法、式(12)中的側向機動彈道以及基于強化學習獲得的機動幅值,可滿足終端約束。對于熱流、過載以及動壓過程約束而言,需要結合當前實際飛行狀態將其全部轉換為攻角約束,進而實現安全飛行[5-6]。
以CAV-H為仿真對象[14],滑翔飛行初始參數設置為:速度為6 500 m/s,速度傾角為0°,速度方位角與視線方位角相等,位置為[0°E,0°N],高度為65 km。終端參數為:位置為[95°E,10°N],高度為30 km,速度傾角為0°,速度大小為2 600 m/s。速度控制的附加側向機動過載(12)中,機動頻率km=3,即飛行器進行3個周期的正弦機動以控制終端速度。在強化學習的參數中,學習周期為800 km,并只在滑翔飛行的前8 000 km范圍內進行調參。在ε-greedy中,第一次學習ε1=0.3,第二次學習ε2=0.2,第三次學習ε3=0.1,后續學習全部為0。Q-Learning中的終端速度誤差范圍為40 m/s,即預測速度與需要速度之差小于該值時,則認為滿足終端速度約束。
根據參數設置,在滑翔飛行過程中一共進行10次完整的機動幅值調整。圖4~5給出了第一次和第七次調參的收斂步數與累計回報值,由仿真結果可知,收斂步數越多,則累計回報值越小。另外,每次調參在經過一定次數的震蕩之后都能收斂,收斂之后減速機動幅值的校正次數在2次以內,累計回報值也趨向于穩定的最大值“零”。比較兩次調參的效果可知,第七次調參的收斂速率約為第一次的3倍,原因在于:第一次采用了隨機方法對Q表進行初始化,且ε設置較大,在學習過程中必然要經歷多次“嘗試”以獲得很多的經驗,導致收斂速率降低;后續調參繼承了前一次獲得的Q表,該表已經包含了能夠滿足終端速度約束的值函數信息,更加具有經驗,因此收斂速率能夠有很大的提高。

圖4 兩次調參的收斂步數Fig.4 Convergency steps of two modifications

圖5 兩次調參的累計回報值Fig.5 Reward values of two modifications
利用最優滑翔制導律以及由強化學習確定的機動幅值生成制導指令,主要仿真結果如圖6~11所示。由仿真結果可知,智能滑翔制導方法能夠控制飛行器滿足終端經緯度、高度、速度大小以及傾角約束,位置誤差約為12 m,高度誤差為0.6 m,速度傾角誤差約為-0.011°,速度大小誤差為5 m/s。在滑翔初始階段,盡管有較大的縱向過載指令,但是較高的飛行高度以及較小的大氣密度導致飛行器無法實現平衡滑翔,高度與速度傾角存在同步的跳躍。隨著高度的不斷降低,大氣密度不斷增加,飛行器具有足夠大的升力來實現滑翔飛行,直至目標處。由圖6~8可知,側向過載與傾側角經歷了三個周期的正弦機動,且其機動幅值不斷減小,以減小機動對其他制導精度的影響。由于強化學習的周期是800 km,因此機動幅值存在非連續的階躍變化,不斷減小的機動幅值有利于降低機動飛行對制導精度的影響。另外,終端速度的解析預測值接近于速度約束值,且變化幅度很小,為速度的高精度控制奠定了基礎。

圖6 過載-時間Fig.6 Overload-time

圖7 機動幅值-時間Fig.7 Maneuvering amplitude-time

圖8 制導指令-時間Fig.8 Guidance commands-time

圖9 速度-時間Fig.9 Velocities-time

圖10 速度傾角-時間Fig.10 Velocity slope angle-time

圖11 經度-緯度-高度Fig.11 Longitude-latitude-altitude
為進一步驗證智能滑翔制導方法的適應性,保持終端經緯度、高度以及速度傾角約束不變,設置不同的速度大小約束進行測試,仿真結果如表1與圖12所示。由仿真結果可知,智能滑翔制導方法能夠根據終端約束值對機動幅值進行智能調整,在保證位置、高度以及速度傾角約束的前提下,仍能滿足不同的終端速度約束。隨著終端速度的減小,機動幅值不斷增大,劇烈的機動飛行導致終端位置與速度傾角誤差不斷增大。隨著飛行器不斷接近目標,終端速度預測精度不斷提高,機動幅值也不斷優化并在飛行后期保持恒定。對比圖11與圖12中的仿真結果可知,在終端速度約束為2 600 m/s時,出現了不同的終端制導精度,這主要是由于第一次調參采用隨機方法對Q表進行初始化,導致學習的結果存在差異,但均未超出終端速度的誤差范圍。

表1 不同速度約束下的制導精度Tab.1 Guidance accuracies under different terminal velocities

圖12 不同速度約束下的機動幅值Fig.12 Maneuvering amplitudes under different terminal velocities
設置相同的終端約束,利用式(17)解析計算機動幅值(G1),并與智能滑翔制導方法(G2)進行對比分析,仿真結果如表2所示。由仿真結果可知,解析計算機動幅值的方法產生的終端速度誤差始終在50 m/s以上,而采用強化學習進行智能調參時,終端速度誤差始終未超過30 m/s。智能方法的終端速度誤差主要受Q-Learning中的誤差范圍的影響,意味著終端速度誤差的大小是可人為控制的。然而,受動作與狀態空間中各元素間隔大小的影響,以及學習計算效率的考慮,該誤差范圍不能太小,以免造成學習的失敗。

表2 制導律G1與G2性能對比Tab.2 Performance comparison between G1 and G2 單位:m/s
本文研究了一種基于最優控制、預測校正以及強化學習的智能滑翔制導方法。首先引入了最優滑翔制導方法以滿足終端經緯度、高度以及速度傾角約束;然后,針對終端速度大小控制問題,提出了基于側向機動的速度控制策略,并綜合考慮滑翔飛行特性與側向機動飛行對終端速度進行了解析預測;最后建立了強化學習的框架模型,設計了狀態空間、動作空間以及回報函數,采用Q-Learning對速度控制中的機動幅值進行智能調整,以保證終端速度控制精度。相對于傳統的標準軌跡制導以及預測校正制導方法,智能滑翔制導的主要優點在于:
1)不依賴于標準軌跡,在飛行過程中根據當前飛行狀態以及目標狀態實時獲得制導指令,具有極大靈活性,在無須人為調整制導參數的情況下仍能完成不同的制導任務;
2)采用強化學習對機動幅值進行智能調整,該方法無須離線建立樣本庫,計算效率高,適合于無法大量獲得實際飛行數據且對實時性要求很高的飛行控制;
3)最優滑翔制導與終端速度預測均采用解析形式完成制導目標,Q-Learning計算效率高,并能夠繼承前期學習的優良經驗,因此該策略計算量小,易于工程實現。