白文艷 張家銘 黃萬偉 張 遠,2
1.北京航天自動控制研究所,北京 100854 2.宇航智能控制技術國家級重點實驗室,北京 100854
高超聲速飛行器(Hypersonic Vehicle)一般是指飛行馬赫數大于5的飛行器。由于其飛行高度和馬赫數跨度大、飛行環境復雜,氣動和氣熱特性變化劇烈,使得飛行器存在非線性強和不確定性大的特點[1-2]。傳統控制參數設計如增益預置法,是在選定特征點處對飛行器非線性模型進行小擾動線性化,隨后根據調度變量進行插值,是一種成熟的控制方法,易于工程實現,方法簡單,但是該方法需要大量的增益調節,還要滿足變量慢變的假設,在非線性特性變化劇烈時性能較差。后來在增益預置法的基礎上,發展了線性變參數(LPV)方法,該方法降低了調參工作量,并可保證較好的穩定性,具有工程實現性良好,設計相對簡單的優點[3-6]。但是,隨著飛行包線范圍擴大,系統時變參數范圍隨之擴大,導致控制性能受到嚴重影響,難以滿足動態特性變化下的姿態控制。針對上述問題,研究在復雜環境下高超聲速飛行器的姿態控制參數自適應調節至關重要。
智能控制尤其是以強化學習、神經網絡為主的控制方法是目前研究的熱點之一。在航空航天控制領域,智能控制已逐漸成為未來發展方向[7-8]。強化學習(Reinforcement Learning)的特點是是智能體(Agent)與環境狀態交互,通過不斷試錯的方式學習得到最優策略,使累計回報期望最大,這一過程稱為馬爾科夫決策過程(Markov Decision Process,MDP)[9]。國內外諸多學者研究應用強化學習于飛行器控制系統。文獻[10]使用了強化學習算法設計了運載火箭姿態控制器參數;文獻[11]針對再入飛行器姿態控制問題,應用單網絡積分型強化學習(SNIRL)算法設計了姿態控制器。
本文提出采用基于深度 Q 網絡(Deep Q network, DQN)的強化學習算法實現飛行器動靜態增益自適應調節。利用強化學習與環境交互的優點,充分利用飛行狀態等實時信息,在選定的特征點處,自動對控制增益調參,尋優效率更高。
本文所研究對象為高超聲速滑翔飛行器[12],采用乘波體造型,尾舵采用正常式氣動布局,頜下進氣采取超燃沖壓發動機。俯仰通道控制輸入為升降舵偏δφ,輸出為短周期模態下的攻角和俯仰角速率,其縱向運動模型為:
(1)
其中,V為飛行器的速度,θ為航跡角,ωz為俯仰角速率,α為攻角,H為飛行高度,x為飛行距離,m為飛行器的質量,g為重力加速度,Jz為飛行器繞彈體系z軸的轉動慣量,T為發動機推力;L、D分別為飛行器所受升力和阻力,Mz為俯仰力矩,且有:
(2)
式中,CL、CD、Cm分別為升力系數、阻力系數和俯仰力矩系數,均為攻角、側滑角、馬赫數及俯仰舵偏的函數組合;ρ為該垂直高度下的大氣密度,S為飛行器的橫截面積,bA為飛行器平均氣動弦長,S和bA可以認為是常數。
對高超聲速飛行器縱向模型進行小擾動線性化后得到:
(3)
式中,a1、a2、α3、b1、b2均為動力學系數。
此時俯仰、偏航、滾轉三通道之間的耦合作用影響較小,可以忽略,并考慮攻角作為輸出量,不考慮各通道間的交連項,選取縱向短周期狀態空間模型如下:

(4)
圖1所示為俯仰通道姿態控制系統結構框圖:

圖1 俯仰通道姿態控制結構
其中,Wφ為校正網絡傳遞函數,Wsf為空氣舵伺服動態特性,kα和kω分別為攻角反饋系數和角速度反饋系數。
簡化后俯仰通道控制方程為:
δφ=kαΔα+kωΔωz1
(5)
傳統增益設計為人工離線調參,工程師依據經驗在選定的彈道特征點處進行線性化并設計動靜態增益,選取合適的調度變量形成插值表,缺點是線性化使模型產生誤差,插值表也會造成特征點間的狀態誤差,且人工調試費時費力。
本文采取離散動作輸出的強化學習算法——深度Q網絡將飛行器作為智能體,與環境反饋并根據實時回報的機制調節增益。
深度 Q 網絡算法(Deep Q Network, DQN)是Q學習的升級,也是基于值函數的強化學習算法的典型代表,主要應用于無模型的離散動作控制的場景[13]。
首先介紹經典的Q學習算法,Q表是一張二維的表格,可以比較某個狀態下不同動作的價值,用Q值表示,通過訓練迭代更新,智能體選擇最大的Q值代表最優策略。
Q表使用貝爾曼方程并采用兩個輸入:狀態和動作,即可得到表中單元格的Q值:
Qπ(s,a)=E[rt+1+γrt+2+γ2rt+3+…|
st=s,at=a]
(6)
隨后,進行 Q值更新:
Q(st,at)=(1-αQ)Q(st,at)+
αQ[rt+1+γmaxQ(st+1,at+1)]
(7)
其中,αQ為學習率,決定目標函數在合適的時間收斂到局部最小值;γ為折扣率,介于0~1之間,越接近1代表智能體更看重未來獎勵;r為回報函數,即為執行動作后給予的獎勵;Q(st,at)為當前時刻Q值,Q(st+1,at+1)為下一時刻Q值。
Q學習通過Q表的大小和形式決定了其只能應用于離散輸出的場景,而且狀態和動作空間不能過大,否則Q表面臨數據量過大的問題。
DQN將 Q學習中 Q表更新的過程用神經網絡擬合,解決了Q表維數限制。狀態和動作作為神經網絡的輸入,Q值作為輸出,通過神經網絡計算當前狀態和未來狀態的Q值,不僅學習當前狀態下的經驗,也學習到了歷史經驗。即用一個函數Q(s,a,w)來表示Q(s,a),即用深度神經網絡進行擬合,其中w為函數的參數。
Q(s,a)=Q(s,a,w)
(8)
DQN中存在2個結構完全相同但是參數卻不同的網絡:Q估計網絡和Q目標網絡, Q估計網絡使用的是最新的參數,而Q目標網絡參數使用的卻是很久之前的,Q(s,a,k)表示當前網絡的輸出,用來評估當前狀態動作對的值函數;Q(s,a,k-1)表示目標網絡的輸出,因此當agent對環境采取動作a時,可以根據上述公式計算出Q,并根據LossFunction更新當前網絡參數,每經過一定次數的迭代,就將當前網絡的參數復制給目標網絡。這樣就完成了一次學習過程。

表1 給出了DQN算法的偽代碼
一個完整的馬爾科夫決策過程包含(S,A,P,r,γ),S為狀態集合,A為動作集合,P為狀態轉移概率,r為回報函數,γ為折扣因子。
2.2.1 環境狀態
環境狀態S主要選取飛行狀態量如高度、馬赫、動壓,攻角偏差量,俯仰角速度偏差量等信息,為了充分利用可觀測的先驗歷史信息,提出多拍歷史信息量作輸入,更能體現出一段時間飛行器姿態控制的變化情況,從而映射到控制器參數的變化情況。選擇控制周期為步長的5倍,即連續5拍的信息量作為環境狀態集合∶

(9)
則環境狀態空間為40維。
2.2.2 動作選擇
姿態控制器的待調節參數向量為kp和kd2個調節參數。DQN算法為離散動作輸出的形式,以一定的調整變化值增減這2個參數,調整步長為0.1。
2.2.3 回報函數-
強化學習通過試錯來探索最優策略,獲取最大獎勵。
回報函數體現了智能體在訓練過程中所選策略的效果,針對飛行器姿控系統,設計回報函數與狀態偏差、控制量有關。
(10)
其中,x=[ΔαΔωz1],u=δφ,Q為對稱半正定矩陣,R為對稱正定矩陣。
xTQx表征系統的控制效果,uTRu表征系統在控制過程中消耗的控制能量。
如圖2所示,將2.2設計的馬爾科夫模型加入到俯仰通道控制器中,根據DQN算法設計得到增益調參控制器。

圖2 DQN境益調參流程圖
綜上,具體設計步驟如下∶
1)建立帶有預設多種復雜非線性因素的飛行器姿態控制模型與姿態控制器結構;
選取N個平衡點。設飛行器姿態控制系統仿真試驗運行時間為T。
2)針對每一次飛行器姿態控制仿真實驗結果,設計交互學習的馬爾科夫模型。
環境狀態S"選取連續5拍狀態數據及變化率,更好地體現一段時間內姿態控制參數隨環境狀態信息變化的情況。
姿態控制器共2個待調節參數,以0.1的步長調整2個參數的增減。
回報函數設置狀態偏差為主要影響項,主要影響攻角偏差和俯仰角速率偏差。
3)根據每一次飛行器姿態控制仿真實驗結果對應的交互學習環境狀態、參數調整動作、回報函數以及歷史學習經驗 Q值更新學習經驗 Q值;
學習經驗Q值記為Q(s,a,k),為環境狀態s、參數調整行動a、第k次的飛行器姿態控制仿真實驗時對應的學習經驗Q值;在第k次的飛行器姿態控制仿真試驗結束時,已知第k-1次仿真試驗下所采取的參數調整動作為a(k-1),所對應的環境狀態為s(k-1),學習經驗Q值為Q(s,a,k-1);根據步驟2,獲得第k次環境狀態s(k)與第k次學習獎勵r(k);更新學習經驗Q值∶
Q(s,a,k)=(1-αQ)Q(s,a,k-1)+
αQ[r(k)+γmaxQ(st+1,at+1,k-1)]
(11)
4)利用每一次飛行器仿真實驗后更新的學習經驗 Q值,選擇相應參數調節動作a,并獲得優先行動集合∶
Ωa(k)={argmaxQ(s,a,k)}
(12)
argmax(f(x))是使得f(x)取得最大值所對應的變量點x(或x的集合),即得到最大Q值所對應的參數調節下的控制增益。
5)根據步驟4)選擇的參數調節動作,執行飛行器姿態控制仿真實驗;若實驗結果達成結束條件,則輸出控制器參數,否則,跳轉至步驟3,更新學習經驗Q值。
根據第2章內容進行智能體的訓練,采取3隱層的BP神經網絡,激活函數為Relu,其他具體訓練參數配置如表2所示。

表2 訓練參數配置
式(10)的累積回報經過1000次訓練迭代,回報函數值逐漸增大。隨著訓練的進行,控制增益逐漸收斂;圖3為隨著神經網絡的更新,訓練集的擬合誤差??梢钥闯稣`差范圍收斂在0.04左右;圖4所示第k次更新神經網絡的訓練誤差值,具有線性遞減趨勢,表示隨著神經網絡的更新訓練誤差逐漸減小。
取回報函數值最大的一組控制增益,將其注入俯仰通道姿態控制系統,進行仿真驗證,得到攻角及俯仰角速率的時域和頻域特性曲線,其中式(4)中氣動參數a1=0.5709,a2=-0.9638,α3=0.062,b1=0.9552,b2=9.0689

圖3 訓練集擬合誤差

圖4 第k次更新訓練誤差

圖5 攻角響應曲線

圖6 俯仰角速率響應曲線
圖5~6為采用強化學習訓練的模型攻角及俯仰角速率的響應變化曲線、bode圖??梢钥闯鰰r域頻域效果良好,經過強化學習訓練后的增益使控制器在5s左右快速而平穩達到期望值,符合指標要求。
采用深度Q網絡的強化學習方法應用于飛行器俯仰通道姿態控制回路中,根據每一次飛行器姿態控制仿真實驗結果對應的交互學習環境狀態、參數調整動作、學習獎勵以及歷史學習經驗Q值,更新學習經驗Q值,選擇參數調節動作,實現飛行器姿態控制增益自動調節。針對傳統增益調度的缺點,強化學習算法能夠有效減小人工經驗調參產生的偏差,獲得了良好的穩態和動態性能,具有一定的工程意義。