黃 旭 柳嘉潤 駱無意
1.北京航天自動控制研究所,北京100854 2.宇航智能控制技術(shù)國家級重點實驗室,北京100854
隨著現(xiàn)代控制理論和智能控制方法的發(fā)展,一些新的控制方法,如變結(jié)構(gòu)滑模控制和模糊控制等被引入到運載火箭姿態(tài)控制中。但由于箭載計算機計算能力限制、工程化困難等問題,大多數(shù)火箭姿態(tài)控制設(shè)計還是依賴于古典控制理論中的頻域設(shè)計方法[1]。工程中一般在建立運載火箭姿態(tài)動力學模型的基礎(chǔ)上,通過不斷調(diào)節(jié)自動穩(wěn)定裝置的傳遞系數(shù)、校正網(wǎng)絡(luò)參數(shù)和分析系統(tǒng)相關(guān)性能的方式,完成整個飛行時段的姿態(tài)控制設(shè)計并開展仿真驗證[2]。這種方法可操作性強,但設(shè)計效率依賴設(shè)計者的經(jīng)驗,存在設(shè)計周期長和通用性差等缺點,在工程中具有一定的局限性。
人類設(shè)計師利用頻域設(shè)計方法進行火箭姿態(tài)控制系統(tǒng)設(shè)計的過程本質(zhì)上是一個序列決策問題。而人工智能(Artificial Intelligence,AI)領(lǐng)域中的深度強化學習(Deep Reinforcement Learning,DRL)算法則有效實現(xiàn)了序列決策的過程。2016年,以DRL算法作為核心技術(shù)之一的 AlphaGo[3]智能體在圍棋比賽中擊敗了人類頂尖職業(yè)棋手李世石,使得DRL算法被研究界普遍認可并深入研究。近幾年來,DRL在機器人技術(shù)[4]、智能駕駛[5]、電子設(shè)計[6]等諸多領(lǐng)域得到了廣泛的推廣和研究。
DRL從字面意思就是深度學習和強化學習的結(jié)合。深度學習起源于人工神經(jīng)網(wǎng)絡(luò),具有很強的特征表征能力;強化學習則受到生物能夠有效適應(yīng)環(huán)境的啟發(fā),以試錯的機制與環(huán)境進行交互,通過最大化累積獎賞的方式來學習到最優(yōu)策略。DRL有效地吸收了兩者的優(yōu)點,將抽象思維的表征能力和決策能力集合于一體。而工程中火箭姿態(tài)控制器參數(shù)設(shè)計規(guī)則相對明確且設(shè)計過程實際上就是一個決策過程,所以可以進行基于DRL算法進行智能體離線設(shè)計控制器參數(shù)方面的研究探索。
航天控制系統(tǒng)正在走向智能化,通過智能技術(shù)的賦能可以使航天裝備變得更聰明[7]。如果可以成功使用智能體代替工程設(shè)計人員進行控制器參數(shù)設(shè)計,不僅可以提高設(shè)計效率、縮短設(shè)計時間,所得結(jié)果也可以給工程設(shè)計人員提供一定的參考,為人工智能新方法在航天領(lǐng)域的應(yīng)用提供新思路。
以三通道交聯(lián)較小、各通道控制器可獨立設(shè)計的火箭模型為例??紤]箭體的彈性和推進劑晃動,某特征秒的箭體俯仰通道運動方程如下[2]:
(1)
(2)
Δφ=Δα+Δθ
(3)
(4)
(5)
(6)
根據(jù)式(1)~(6)選取合適的狀態(tài)變量建立對應(yīng)的狀態(tài)空間方程:
(7)
要進行火箭姿態(tài)控制器設(shè)計首先要建立姿控系統(tǒng)的頻域分析模型。控制策略選擇工程上常用的基于“小擾動線性化”的增益預(yù)置法。本文僅考慮俯仰通道,整個姿控系統(tǒng)閉環(huán)回路的結(jié)構(gòu)如圖1所示[9]。
圖1 俯仰通道姿控系統(tǒng)閉環(huán)回路結(jié)構(gòu)圖
設(shè)計參數(shù)包括靜態(tài)增益系數(shù)、動態(tài)增益系數(shù)以及校正網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)。借鑒傳統(tǒng)姿態(tài)控制器離線設(shè)計過程,設(shè)計出的靜態(tài)增益系數(shù)在飛行過程中一般是以插值表的形式根據(jù)時間插值得出??蛇x擇有代表性的特征秒點,并設(shè)計這些特征點上的靜態(tài)增益系數(shù),飛行中靜態(tài)增益系數(shù)按時間插值得出。而性能較好的校正網(wǎng)絡(luò)可以使系統(tǒng)保留一定的裕度,并在最差的飛行環(huán)境中保持穩(wěn)定。文中的校正網(wǎng)絡(luò)分子和分母均包含3個二階環(huán)節(jié)。見式(8)。
(8)
(9)
一共有14個待設(shè)計參數(shù)。
人類工程師在進行姿態(tài)控制器設(shè)計時,通過觀察分析系統(tǒng)開環(huán)傳遞函數(shù)的bode圖調(diào)節(jié)相關(guān)設(shè)計參數(shù),不斷迭代最終得出相應(yīng)的
參數(shù)。調(diào)參過程可以理解為一個離散動作過程,本文選擇基于值函數(shù)的深度強化學習算法:DDQN(Double Deep Q Network)[10]作為智能體訓(xùn)練算法。
強化學習本質(zhì)上是解決一個馬爾科夫決策過程(Markov Decision Process,MDP)。根據(jù)1.2節(jié)選擇的待設(shè)計參數(shù)和DDQN相關(guān)特點,結(jié)合運載火箭姿態(tài)控制器設(shè)計過程建立對應(yīng)的MDP模型:
M=(S,A,P,R,γ)
(10)
a)狀態(tài)集S={s1,s2,s3,…}:狀態(tài)空間由各個特征秒點的的各實際裕度張成:
(11)
b)動作集A={a1,a2,a3,…}。智能體在調(diào)參中對各參數(shù)在一定范圍內(nèi)進行增減,為了縮減智能體動作空間的維度,智能體每一步只調(diào)節(jié)一個參數(shù)值。待設(shè)計參數(shù)有14個,則智能體的動作空間中一共有28種動作。
(12)
c)狀態(tài)轉(zhuǎn)移概率P:在本文的研究內(nèi)容中,下一個狀態(tài)可以根據(jù)頻域分析計算獲得;
d)立即回報r:立即回報的設(shè)置是深度強化學習應(yīng)用中非常關(guān)鍵的部分,它的設(shè)置將很大程度上影響到算法的訓(xùn)練效果,應(yīng)用場景目標越明確,立即回報的設(shè)計越簡單,訓(xùn)練效果越好。這里給出本文的立即回報設(shè)置:
(13)
單星號上標代表對應(yīng)裕度的指標值。雙星號上標代表懲罰因子,即對應(yīng)實際裕度不滿足指標值時,將減去一個定值以對智能體進行懲罰。5個特征秒點的設(shè)計指標值和懲罰因子一致。ωi代表各個裕度的權(quán)重。
當設(shè)計參數(shù)超界或者系統(tǒng)不穩(wěn)定時:
rt=-1
(14)
e)折扣因子γ:用來計算累計回報,取值在[0,1]之間,取值根據(jù)實驗時具體情況進行調(diào)節(jié)。本文中取0.95。
DDQN是經(jīng)典深度強化學習算法DQN(Deep Q Network)[11]的改進算法,DDQN一定程度上解決了DQN中的過估計問題,提高了算法的穩(wěn)定性[12]。
結(jié)合本文設(shè)計的MDP模型,給出具體智能體訓(xùn)練算法流程。
首先初始化記憶回放單元D和兩個網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)θ和θ-,開始進行實驗。每次實驗智能體最多可進行1500次調(diào)參。每次調(diào)參后,頻域分析得到的裕度值作為狀態(tài)st經(jīng)過式(16)預(yù)處理,得到φt,將其作為當前值網(wǎng)絡(luò)的輸入,輸出各動作的狀態(tài)行為值,使用ε-greedy算法選擇動作at并執(zhí)行,得到下一個狀態(tài)st+1和立即回報rt+1,將(φt,at,rt+1,φt+1)存儲到記憶回放單元中。每進行一定次數(shù)的調(diào)參,在記憶回放單元中采集一定數(shù)量的樣本,按目標函數(shù)式(15)進行梯度下降,求解當前值網(wǎng)絡(luò)參數(shù),Qπ代表當前策略下的對應(yīng)狀態(tài)和動作的值函數(shù),并每隔一定時間將當前值網(wǎng)絡(luò)參數(shù)賦值給目標值網(wǎng)絡(luò),如此不斷迭代完成智能體訓(xùn)練。當φj+1為本次實驗最終狀態(tài)時,yj的值為rj+1。
圖2 智能體訓(xùn)練算法流程圖
(15)
對狀態(tài)預(yù)處理形式如式(16)所示。s*代表對應(yīng)裕度的指標。
(16)
綜合1、2節(jié),進行智能體的訓(xùn)練和前向參數(shù)設(shè)計。
根據(jù)前面章節(jié)的內(nèi)容設(shè)置相關(guān)網(wǎng)絡(luò)參數(shù)和訓(xùn)練超參數(shù)開始進行智能體的訓(xùn)練。當前值網(wǎng)絡(luò)和目標值網(wǎng)絡(luò)的結(jié)構(gòu)一致,均使用單隱層BP神經(jīng)網(wǎng)絡(luò),激活函數(shù)選取tanh。單次實驗中,記憶回放單元存儲數(shù)量設(shè)置為300,智能體每進行100次調(diào)參,在記憶回放單元中隨機抽取50個樣本,按式(15)進行梯度下降以更新當前值網(wǎng)絡(luò)參數(shù)。每進行200次調(diào)參,目標值網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)對當前值網(wǎng)絡(luò)參數(shù)進行一次拷貝,以減小兩個網(wǎng)絡(luò)的相關(guān)性,從而提升網(wǎng)絡(luò)訓(xùn)練效率。設(shè)置ε-greedy算法的ε值為0.85以提高智能體的探索能力,即0.85的概率選擇狀態(tài)行為值最大的那個動作執(zhí)行,否則隨機選取一個動作執(zhí)行。
當網(wǎng)絡(luò)在一定程度上收斂時結(jié)束智能體訓(xùn)練。訓(xùn)練累計誤差結(jié)果如圖3所示。訓(xùn)練開始時誤差較大,累計變化的斜率很大,隨著訓(xùn)練次數(shù)的增多,誤差減小,斜率放緩。
圖3 累計誤差變化隨訓(xùn)練次數(shù)變化曲線
每次實驗的累計回報隨訓(xùn)練次數(shù)的變化曲線如圖4所示,經(jīng)過一定量的實驗后單次實驗的累計回報能相對穩(wěn)定在20左右。由于智能體的探索以及其他問題,累計回報存在少量波動,但基本保持一個上升并收斂的趨勢。
訓(xùn)練過程的波動有多方面的原因:1)基于值函數(shù)方法的強化學習算法存在一定的不穩(wěn)定性;2)對記憶庫中樣本進行隨機采樣訓(xùn)練網(wǎng)絡(luò)可能會破壞較好的網(wǎng)絡(luò)參數(shù),而且智能體訓(xùn)練過程加入探索一定程度上會影響收斂;3)由于各個裕度之間存在的復(fù)雜的交聯(lián)也會影響訓(xùn)練;4)在訓(xùn)練中超參數(shù)和神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)置完全依賴經(jīng)驗,也是機器學習中一直困擾著研究者們的問題。
由于火箭姿態(tài)控制器參數(shù)設(shè)計沒有嚴格意義上的最優(yōu)參數(shù)集合,所以理論上控制器的可行參數(shù)集合有無窮個。訓(xùn)練的目的就是讓智能體模擬人類設(shè)計師的設(shè)計過程,在不斷調(diào)整參數(shù)分析系統(tǒng)性能的過程中,逐漸變得“老道”,從而成為一位優(yōu)秀的控制器“設(shè)計師”。
圖4 單次實驗累計回報隨實驗次數(shù)變化曲線
為了驗證智能體的調(diào)參能力,在一定范圍內(nèi)隨機初始化控制器參數(shù),使用訓(xùn)練好的智能體調(diào)節(jié)參數(shù),觀察調(diào)參過程中姿態(tài)控制系統(tǒng)綜合性能即單步立即回報值的變化來評價智能體。
在前向測試(圖5)中,對姿態(tài)控制系統(tǒng)進行頻域分析后的各個實際裕度值進行預(yù)處理后作為狀態(tài),輸入到訓(xùn)練好的目標值網(wǎng)絡(luò),目標值網(wǎng)絡(luò)進行前向計算得到當前狀態(tài)對應(yīng)各個動作的狀態(tài)行為值函數(shù),使用ε-greedy算法選擇一個動作執(zhí)行,不斷迭代直到本次前向測試結(jié)束,ε-greedy算法的ε值設(shè)置為0.95以作為一個調(diào)參干擾加入智能體調(diào)參過程。
圖5 智能體前向測試流程圖
取一次前向測試實驗的單步立即回報值變化曲線如圖6所示。智能體經(jīng)過不斷地調(diào)節(jié)參數(shù)使得單步立即回報增大即使姿態(tài)控制系統(tǒng)的綜合性能增強,在經(jīng)過一系列的調(diào)參動作后找到了76個可行控制器參數(shù)組??梢娖鋼碛幸欢ǖ恼{(diào)參能力。
圖6 單次前向測試中立即回報隨時間步變化曲線
選取本次前向測試中回報最大的一組控制器參數(shù)組,繪制5個特征秒點的姿態(tài)控制系統(tǒng)bode圖(圖7~8)。得到的系統(tǒng)各裕度均符合設(shè)計指標并有一定的冗余。設(shè)計得到的控制器幅頻特性(圖9)呈現(xiàn)典型的雙漏斗結(jié)構(gòu)。
圖7 姿控系統(tǒng)開環(huán)幅頻特性曲線
圖8 姿控系統(tǒng)開環(huán)相頻特性曲線
圖9 校正網(wǎng)絡(luò)幅頻特性曲線
智能體的訓(xùn)練和前向測試的結(jié)果表明,該使用智能體代替人工設(shè)計姿態(tài)控制器參數(shù)的思路具有一定的研究價值和潛力。當然也需要在改進強化學習算法、深化神經(jīng)網(wǎng)絡(luò)、設(shè)置更加合理的MDP模型等方面繼續(xù)努力。
強化學習的優(yōu)勢在于無過多的先驗知識的智能體能在與環(huán)境的不斷交互中學習到一些人工設(shè)計的常用經(jīng)驗,甚至可能發(fā)現(xiàn)一些工程師未總結(jié)出的經(jīng)驗。依托當前計算機算力等技術(shù)的發(fā)展,相信在不久的將來,進行工程設(shè)計的智能體也能擁有如Alpha Go和Alpha Zero[13]等智能體一樣強大的決策能力,幫助甚至代替人類工程師進行一些復(fù)雜的工程設(shè)計。