萬齊天,盧寶剛,趙雅心,溫求遒,*
(1.北京理工大學(xué)宇航學(xué)院,北京 100081;2.北京航天長(zhǎng)征飛行器研究所,北京 100076;3.中國(guó)運(yùn)載火箭技術(shù)研究院,北京 100076)
自動(dòng)駕駛儀的主要任務(wù)為控制和穩(wěn)定飛行器飛行,消除干擾引起的飛行器姿態(tài)變化,使飛行器按照期望的飛行軌跡或飛行姿態(tài)飛行[1]。作為一種經(jīng)典的過載駕駛儀設(shè)計(jì)結(jié)構(gòu),三回路駕駛儀以其良好的性能在飛行器控制領(lǐng)域得到了廣泛的應(yīng)用。三回路駕駛儀的設(shè)計(jì)過程中需對(duì)二階根自振頻率的進(jìn)行設(shè)計(jì),文獻(xiàn)[2-5]采用求解關(guān)于穩(wěn)定裕度的非線性方程來得到合適的二階根自振頻率。然而,傳統(tǒng)駕駛儀設(shè)計(jì)方法采用非全局剖面狀態(tài)進(jìn)行控制參數(shù)設(shè)計(jì),導(dǎo)致其對(duì)全局約束和性能指標(biāo)的考量不足。當(dāng)飛行環(huán)境存在較大的不確定性時(shí),會(huì)導(dǎo)致飛行器對(duì)標(biāo)稱軌跡跟蹤制導(dǎo)方式的自主性和魯棒性較差。
近年來,深度強(qiáng)化學(xué)習(xí)方法的發(fā)展[6-9]為飛行器智能控制實(shí)現(xiàn)提供了新的可能。強(qiáng)化學(xué)習(xí)[10-13]是一種基于動(dòng)態(tài)規(guī)劃求解框架的無模型馬爾可夫決策過程(Markov decision process,MDP)處理方法,通過智能體與環(huán)境的不斷交互和迭代學(xué)習(xí),找到可以讓智能體獲取最大收益的最優(yōu)策略。深度強(qiáng)化學(xué)習(xí)的弱模型特性和可遷移性相比于傳統(tǒng)控制優(yōu)化方法具有更廣泛的適用性,在飛行器控制系統(tǒng)設(shè)計(jì)中有著良好的應(yīng)用前景。目前,深度強(qiáng)化學(xué)習(xí)方法在智能控制領(lǐng)域已取得一定研究成果[14-23]。文獻(xiàn)[24]利用反向傳播神經(jīng)網(wǎng)絡(luò)算法作為值函數(shù)的逼近策略,對(duì)舵機(jī)動(dòng)作池進(jìn)行了離散處理并訓(xùn)練得到控制策略。文獻(xiàn)[25]利用強(qiáng)化學(xué)習(xí)及自適應(yīng)動(dòng)態(tài)規(guī)劃原理,設(shè)計(jì)了一種適用于微小型彈藥的兩回路駕駛儀,并建立了縱向通道控制模型。文獻(xiàn)[26]提出了一種基于深度強(qiáng)化學(xué)習(xí)的智能比例-積分-微分(proportional-integral-differential,PID)控制器,實(shí)現(xiàn)了對(duì)過載指令的精確跟蹤。但目前采用深度強(qiáng)化學(xué)習(xí)的控制設(shè)計(jì)方法存在訓(xùn)練參數(shù)維數(shù)過大、策略學(xué)習(xí)效率不高、算法不易收斂等問題,如何提升深度強(qiáng)化學(xué)習(xí)方法在飛行器駕駛儀領(lǐng)域的實(shí)用性成為了亟待解決的問題。
本文提出一種基于深度強(qiáng)化學(xué)習(xí)的三回路駕駛儀參數(shù)自整定方法,采用近端策略優(yōu)化算法,針對(duì)駕駛儀控制參數(shù)設(shè)計(jì)造成的訓(xùn)練速度慢、獎(jiǎng)勵(lì)函數(shù)收斂性不好等問題進(jìn)行優(yōu)化改進(jìn)。通過解析法得到從三維控制變量轉(zhuǎn)換為一維設(shè)計(jì)參量的關(guān)系式,對(duì)深度強(qiáng)化學(xué)習(xí)訓(xùn)練數(shù)據(jù)的維度進(jìn)行了簡(jiǎn)化,提高了算法的效率和獎(jiǎng)勵(lì)函數(shù)收斂性。本文內(nèi)容安排如下:第1部分提出了以駕駛儀極點(diǎn)配置為核心的控制參數(shù)快速設(shè)計(jì)方法;第2部分構(gòu)建了離線深度強(qiáng)化學(xué)習(xí)訓(xùn)練疊加在線多層感知器神經(jīng)網(wǎng)絡(luò)實(shí)時(shí)計(jì)算的智能控制架構(gòu);第3部分以典型再入飛行器為例,完成深度強(qiáng)化學(xué)習(xí)訓(xùn)練和神經(jīng)網(wǎng)絡(luò)部署,并進(jìn)行了仿真驗(yàn)證。
如圖1所示,當(dāng)前很多飛行器上采用了三回路駕駛儀結(jié)構(gòu),可采用極點(diǎn)配置法對(duì)其設(shè)計(jì)控制參數(shù)。各動(dòng)力學(xué)參量定義可參考文獻(xiàn)[27]。
圖1 駕駛儀結(jié)構(gòu)圖Fig.1 Diagram of autopilot structure
三回路駕駛儀主導(dǎo)極點(diǎn)為一負(fù)實(shí)根,由時(shí)間常數(shù)τ決定,直接決定了系統(tǒng)響應(yīng)的主要特性。非主導(dǎo)極點(diǎn)由一對(duì)振蕩根組成,并可由自振頻率ω與阻尼μ表示。這兩個(gè)參數(shù)中,阻尼決定了二階系統(tǒng)振蕩特性,為保證系統(tǒng)好的動(dòng)態(tài)特性,通常設(shè)計(jì)中期望其值在0.7左右。而二階根自振頻率ω則往往很難提出絕對(duì)合理的設(shè)計(jì)約束。
略去舵機(jī)、角速度陀螺、結(jié)構(gòu)濾波器及過載計(jì)的動(dòng)態(tài)特性,將系統(tǒng)在舵機(jī)所處位置斷開,得到系統(tǒng)開環(huán)傳遞函數(shù)為
待設(shè)計(jì)的控制變量有k g、ωi、k ac,可根據(jù)三回路駕駛儀設(shè)計(jì)經(jīng)驗(yàn)對(duì)設(shè)計(jì)參數(shù)進(jìn)行簡(jiǎn)化。根據(jù)文獻(xiàn)[2]推導(dǎo)可得駕駛儀設(shè)計(jì)參數(shù)k g,ωi,k ac的設(shè)計(jì)表達(dá)式為
各動(dòng)力學(xué)參量定義可參考文獻(xiàn)[27],計(jì)算所需各變量值為
由此可將駕駛儀控制變量k g、ωi、k ac的設(shè)計(jì)轉(zhuǎn)化為設(shè)計(jì)參量τ、ω、μ的設(shè)計(jì)。通常μ給定為0.7,τ由駕駛儀快速性確定,而ω在設(shè)計(jì)中很難確定。通過已有文獻(xiàn)證明[2],ω的變化對(duì)相位裕度P m和幅值裕度G m具有明顯影響??赏ㄟ^求解ω關(guān)于穩(wěn)定裕度P m的非線性方程,使穩(wěn)定裕度不斷接近理想設(shè)計(jì)指標(biāo),最終完成自振頻率ω的迭代求解。由此可得到將三維控制參數(shù)設(shè)計(jì)轉(zhuǎn)化為一維設(shè)計(jì)參量ω設(shè)計(jì)的快速設(shè)計(jì)方法。
以第1節(jié)推導(dǎo)的控制參數(shù)快速設(shè)計(jì)方法為基礎(chǔ),構(gòu)建面向飛行器全飛行包絡(luò)范圍的近端策略優(yōu)化(proximal policy optimization,PPO)離線訓(xùn)練方法,使得可以快速完成對(duì)設(shè)計(jì)參量在線調(diào)節(jié)的多層感知器(multi-layer perception,MLP)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。將訓(xùn)練完成的MLP神經(jīng)網(wǎng)絡(luò)進(jìn)行在線部署,根據(jù)當(dāng)前實(shí)際的飛行狀態(tài),由MLP神經(jīng)網(wǎng)絡(luò)實(shí)時(shí)計(jì)算得到設(shè)計(jì)參量,并直接調(diào)用快速設(shè)計(jì)方法中的極點(diǎn)配置解析計(jì)算方程,從而快速完成控制參數(shù)的自適應(yīng)調(diào)整。采用深度強(qiáng)化學(xué)習(xí)控制參數(shù)自整定的飛行器制導(dǎo)控制方案如圖2所示。
圖2 基于深度強(qiáng)化學(xué)習(xí)方法的參數(shù)整定框架Fig.2 Parameter tuning framework based on deep reinforcement learning
PPO算法[28]為策略梯度類算法,其思路與信賴域區(qū)間策略優(yōu)化(trust region policy optimization,TRPO)算法[29]一致,都是想在優(yōu)化時(shí)采取盡可能大的步幅但又不能太大以至于產(chǎn)生崩壞。相比于TRPO算法,PPO算法實(shí)現(xiàn)起來更簡(jiǎn)單,泛化能力更強(qiáng)。該方法交替進(jìn)行與環(huán)境的相互作用與數(shù)據(jù)采樣過程,并利用隨機(jī)梯度上升方法優(yōu)化目標(biāo)函數(shù)。相比于標(biāo)準(zhǔn)的策略梯度方法需對(duì)每個(gè)數(shù)據(jù)樣本執(zhí)行梯度更新,PPO算法提出一種允許小批量數(shù)據(jù)進(jìn)行多周期更新的目標(biāo)函數(shù)。PPO算法相比于其他算法魯棒性更好,這與其使用的最大期望算法有關(guān),保證了PPO算法每次更新策略總能讓性能獲得單調(diào)的提升。PPO算法對(duì)其超參數(shù)的變化不敏感,相比于其他深度強(qiáng)化學(xué)習(xí)算法,PPO算法的調(diào)參過程更加簡(jiǎn)便。
策略梯度方法采用帶有一個(gè)參數(shù)(通常用θ表示)的函數(shù)來建模,直接對(duì)策略本身進(jìn)行優(yōu)化。策略優(yōu)化的目標(biāo)函數(shù)定義為
式中:s為當(dāng)前狀態(tài)值;a為當(dāng)前動(dòng)作值;S為策略分布函數(shù)的狀態(tài)空間;A為策略分布函數(shù)的動(dòng)作空間;(s)為由πθ決定的馬爾可夫平穩(wěn)分布;πθ(a|s)為帶參數(shù)θ的行為策略;Qπθ(s,a)為服從策略πθ的行為價(jià)值函數(shù)。
通過計(jì)算目標(biāo)函數(shù)的梯度ΔθJ(θ),將參數(shù)θ向某個(gè)特定的方向移動(dòng),以使策略πθ可以最大化最終收益。目標(biāo)函數(shù)梯度表示為
為了減小策略梯度的方差,可引入基線對(duì)行為價(jià)值函數(shù)(s,a)進(jìn)行處理[30],得到優(yōu)勢(shì)函數(shù):
式中:(s)為引入的基線。
由于狀態(tài)價(jià)值函數(shù)(s)由價(jià)值函數(shù)網(wǎng)絡(luò)學(xué)習(xí)得到,與實(shí)際值之間存在偏差,尤其在訓(xùn)練初期偏差較大??刹捎梅夯瘍?yōu)勢(shì)估計(jì)(generalized advantage estimator,GAE)法[31]對(duì)優(yōu)勢(shì)函數(shù)進(jìn)行估計(jì),并通過調(diào)節(jié)參數(shù)來平衡方差與偏差。采用GAE方法的優(yōu)勢(shì)函數(shù)估計(jì)值為
當(dāng)執(zhí)行強(qiáng)化學(xué)習(xí)異策略算法或同策略并行異步算法時(shí),用于產(chǎn)生樣本的行為策略β與所優(yōu)化的目標(biāo)策略π是不一致的。為了解決這種不一致性帶來的誤差,TRPO算法使用重要性權(quán)重πθ(a|s)/β(a|s)對(duì)此誤差進(jìn)行修正??傻玫侥繕?biāo)函數(shù)為
式中:θold為梯度更新前的參數(shù)。
為了保證新舊策略間的差異不會(huì)太大,TRPO算法使用KL(Kullbck-Leible)散度來限制新舊策略分布之間的距離。因此,目標(biāo)函數(shù)J(θ)優(yōu)化時(shí),需要滿足如下限制:
式中:δ為信賴域范圍,用于限制兩個(gè)策略分布之間的距離;DKL(πold|πθ)為πold與πθ的KL散度。
求解目標(biāo)函數(shù)時(shí),可將目標(biāo)約束轉(zhuǎn)換為目標(biāo)函數(shù)的一部分,目標(biāo)函數(shù)轉(zhuǎn)換為無目標(biāo)約束的TRPO算法目標(biāo)函數(shù)為
式中:ξ為約束項(xiàng)系數(shù)。
若在最大化JTRPO(θ)時(shí)不對(duì)θold和θ之間的距離加以限制,將會(huì)因?yàn)檫^大的參數(shù)更新幅度以及過大的策略比值而使得更新過程不穩(wěn)定。令舊策略分布函數(shù)和新策略分布函數(shù)之間的比值為
PPO算法通過使用一個(gè)截?cái)嗟奶娲繕?biāo)函數(shù)來優(yōu)化TRPO算法,將r(θ)限定在1附近的領(lǐng)域中,即[1-ε,1+ε],來施加這一約束。其中,ε為超參數(shù)。采用clip限制方法的目標(biāo)函數(shù)為
函數(shù)clip(r(θ),1-ε,1+ε)將策略比值約束在[1-ε,1+ε]范圍內(nèi),可定義為
式中:ε為某一小量。
PPO算法的目標(biāo)函數(shù)變?yōu)槿≡贾蹬c截?cái)嘀抵g的較小值,這與TRPO算法盡可能最大化策略的更新幅度的理念不同,保證了策略迭代的穩(wěn)定性。
將PPO算法應(yīng)用在Actor-Critic網(wǎng)絡(luò)結(jié)構(gòu)上時(shí),目標(biāo)函數(shù)在截?cái)嗷貓?bào)的基礎(chǔ)上增加關(guān)于值估計(jì)的誤差項(xiàng)(Vθ(s)-Vtarget)和熵正則項(xiàng)H(s,πθ(·))用以鼓勵(lì)探索。可得PPO目標(biāo)函數(shù)為
式中:c1為誤差項(xiàng)參數(shù);c2為熵正則項(xiàng)參數(shù)。
PPO算法流程[32]如下。
步驟1初始化策略網(wǎng)絡(luò)πθ(s)的參數(shù)θ0,初始化價(jià)值網(wǎng)絡(luò)的參數(shù)?0。
步驟2遵循當(dāng)前策略,智能體與環(huán)境交互得到當(dāng)前系統(tǒng)狀態(tài){st,at,rt}。
步驟3使用優(yōu)勢(shì)估計(jì)函數(shù)方法計(jì)算優(yōu)勢(shì)值,并更新策略網(wǎng)絡(luò)。其中,優(yōu)勢(shì)值計(jì)算公式為
步驟4求解代理目標(biāo)函數(shù)JPPO(θ)的梯度并更新參數(shù)θ,其中JPPO(θ)的表達(dá)式為
步驟5求解目標(biāo)函數(shù)JBL(?)的梯度并更新價(jià)值網(wǎng)絡(luò)參數(shù)?,其中JBL(?)的表達(dá)式為
步驟6重復(fù)步驟2~步驟5,直到訓(xùn)練集到達(dá)終止?fàn)顟B(tài)。
在深度強(qiáng)化學(xué)習(xí)離線訓(xùn)練算法中,將駕駛儀參數(shù)自整定問題建模為一個(gè)強(qiáng)化學(xué)習(xí)問題,需要定義出強(qiáng)化學(xué)習(xí)算法的狀態(tài)、動(dòng)作、獎(jiǎng)勵(lì)。其中,動(dòng)作的定義比較明晰,即為駕駛儀設(shè)計(jì)參量二階根自振頻率ω,而狀態(tài)與獎(jiǎng)勵(lì)函數(shù)需進(jìn)一步討論。
由于駕駛儀設(shè)計(jì)需根據(jù)特定飛行狀態(tài)來進(jìn)行設(shè)計(jì),其中馬赫數(shù)Ma、攻角α?xí)绊憵鈩?dòng)特性變化,飛行高度H、馬赫數(shù)Ma會(huì)影響動(dòng)壓變化。由此,可設(shè)置強(qiáng)化學(xué)習(xí)的狀態(tài)向量為[H,Ma,α]T。對(duì)于特定飛行任務(wù),H∈[Hmin,Hmax],Ma∈[Mamin,Mamax],α∈[αmin,αmax]。Hmin表示飛行最小高度,Hmax表示飛行最大高度;Mamin表示飛行最小馬赫數(shù),Mamax表示飛行最大馬赫數(shù);αmin表示飛行最小攻角,αmax表示飛行最大攻角。為使深度強(qiáng)化學(xué)習(xí)所使用的神經(jīng)網(wǎng)絡(luò)訓(xùn)練更快并消除輸入數(shù)據(jù)的量綱,通??蓪?duì)神經(jīng)網(wǎng)絡(luò)的輸入輸出進(jìn)行歸一化處理,使其盡量接近標(biāo)準(zhǔn)正態(tài)分布。定義神經(jīng)輸出的動(dòng)作屬于(-1,1)范圍,并對(duì)于狀態(tài)向量進(jìn)行如下處理:
根據(jù)工程設(shè)計(jì)經(jīng)驗(yàn)可取ω的范圍為(0,ωmax),其中ωmax為最大自振頻率,可得動(dòng)作值的反歸一化公式為
采用頻域穩(wěn)定裕度中的相位裕度P m和幅值裕度G m作為影響強(qiáng)化學(xué)習(xí)交互獎(jiǎng)勵(lì)的因素,可設(shè)置獎(jiǎng)勵(lì)函數(shù)為
式中:γ為累積獎(jiǎng)勵(lì)的折扣因子;Pmi為每一訓(xùn)練步長(zhǎng)產(chǎn)生的相位裕度;Pm0為理想相位裕度;Gmi為每一訓(xùn)練步長(zhǎng)產(chǎn)生的幅值裕度;Gm0為理想幅值裕度;k1為相位裕度對(duì)獎(jiǎng)勵(lì)值的影響權(quán)重,k2為幅值裕度對(duì)獎(jiǎng)勵(lì)值的影響權(quán)重。每一步長(zhǎng)產(chǎn)生的相位裕度和幅值裕度可由Matlab相關(guān)函數(shù)計(jì)算得到。
將狀態(tài)空間、動(dòng)作空間、獎(jiǎng)勵(lì)函數(shù)及智能體交互環(huán)境代入PPO算法框架中,可以得到基于PPO算法的駕駛儀參數(shù)自整定訓(xùn)練框架如圖3所示。
圖3 基于PPO算法的參數(shù)自整定離線訓(xùn)練框架Fig.3 Parameter tuning training framework based on PPO algorithm
圖3中Actor網(wǎng)絡(luò)選用具有256個(gè)隱藏神經(jīng)元的MLP神經(jīng)網(wǎng)絡(luò),Critic網(wǎng)絡(luò)選用具有256個(gè)隱藏神經(jīng)元的MLP神經(jīng)網(wǎng)絡(luò);st、at、rt分別為強(qiáng)化學(xué)習(xí)算法當(dāng)前的狀態(tài)值、動(dòng)作值、獎(jiǎng)勵(lì)值;駕駛儀控制參數(shù)為k g、ωi、k ac。
將訓(xùn)練完成的MLP神經(jīng)網(wǎng)絡(luò)進(jìn)行在線部署,即根據(jù)當(dāng)前實(shí)際的飛行狀態(tài)(高度、馬赫數(shù)、攻角),由MLP神經(jīng)網(wǎng)絡(luò)實(shí)時(shí)計(jì)算得到二階根自振頻率ω,并調(diào)用快速設(shè)計(jì)方法中的極點(diǎn)配置解析計(jì)算方程,從而得到駕駛儀控制參數(shù)k g、ωi、k ac,完成控制參數(shù)快速自適應(yīng)調(diào)整。MLP神經(jīng)網(wǎng)絡(luò)在線實(shí)時(shí)計(jì)算模型如圖4所示。
圖4 MLP神經(jīng)網(wǎng)絡(luò)在線實(shí)時(shí)計(jì)算模型Fig.4 MLP neural network online real-time calculation model
圖4中的MLP神經(jīng)網(wǎng)絡(luò)是由輸入層、隱藏層及輸出層構(gòu)成的神經(jīng)網(wǎng)絡(luò)模型,其輸入層神經(jīng)元接收輸入信號(hào),隱藏層和輸出層的每一個(gè)神經(jīng)元與其相鄰的所有神經(jīng)元連接,即全連接,同一層的神經(jīng)元間不相連。隱藏層和輸出層中每一個(gè)神經(jīng)元的輸入為前一層所有神經(jīng)元輸出值的加權(quán)和。假設(shè)為MLP中第l層第m個(gè)神經(jīng)元的輸入值,和分別為該神經(jīng)元輸出值和偏置參數(shù),為該神經(jīng)元與第l-1層第i個(gè)神經(jīng)元的權(quán)重參數(shù),則有:
式中:f(·)為非線性激活函數(shù)分別為神經(jīng)元權(quán)重參數(shù)和偏差參數(shù),為強(qiáng)化學(xué)習(xí)算法訓(xùn)練所得。非線性激活函數(shù)選用線性整流函數(shù)(rectified linear unit,ReLU),函數(shù)圖像如圖5所示,表達(dá)式為
圖5 Re LU函數(shù)Fig.5 Re LU function
圖6 MLP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.6 MLP neural network structure diagram
由于使用飛行器全包絡(luò)飛行狀態(tài)數(shù)據(jù)對(duì)MLP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,故該神經(jīng)網(wǎng)絡(luò)適用于飛行器全包絡(luò)飛行過程,且MLP神經(jīng)網(wǎng)絡(luò)的非線性特征可對(duì)飛行過程中的參數(shù)不確定性有著一定的適應(yīng)性。
本節(jié)將對(duì)駕駛儀參數(shù)自整定模型進(jìn)行深度強(qiáng)化學(xué)習(xí)訓(xùn)練,給出了PPO算法訓(xùn)練的效果,并對(duì)加入MLP神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)的飛行器典型指令跟蹤及再入段軌跡跟蹤進(jìn)行仿真驗(yàn)證。
選取PPO 算法的狀態(tài)空間為[H,Ma,α],H∈[0,20-000],Ma∈[0.8,4.5],α∈[-5,8]。
選取設(shè)計(jì)指標(biāo)為控制系統(tǒng)理想相位裕度P m0=65°、理想幅值裕度Gm0=8.5 dB,取獎(jiǎng)勵(lì)函數(shù)為
對(duì)PPO算法訓(xùn)練超參數(shù)進(jìn)行預(yù)調(diào)試,調(diào)試得到PPO算法訓(xùn)練的超參數(shù)如表1所示。
表1 PPO算法訓(xùn)練超參數(shù)Table 1 Training hyperparameters of PPO algorithm
若按照強(qiáng)化學(xué)習(xí)方法工程應(yīng)用常規(guī)思路,需選擇影響駕駛儀狀態(tài)的3個(gè)設(shè)計(jì)參數(shù)k g、ωi、kac作為智能體動(dòng)作,進(jìn)行三維動(dòng)作空間訓(xùn)練,訓(xùn)練過程中的獎(jiǎng)勵(lì)值變化如圖7所示。
圖7 三維動(dòng)作訓(xùn)練過程獎(jiǎng)勵(lì)值變化曲線Fig.7 Three-dimensional actions training process reward value curve
本文利用已有的研究對(duì)象模型轉(zhuǎn)換方法,對(duì)強(qiáng)化學(xué)習(xí)訓(xùn)練進(jìn)行適當(dāng)簡(jiǎn)化,采用一維動(dòng)作ω進(jìn)行訓(xùn)練。訓(xùn)練過程中獎(jiǎng)勵(lì)值的變化如圖8所示,可以看出在訓(xùn)練初期由于動(dòng)作隨機(jī)選取使得獎(jiǎng)勵(lì)很小,隨著訓(xùn)練的進(jìn)行,智能體選取能產(chǎn)生較大獎(jiǎng)勵(lì)動(dòng)作的概率逐漸增大,使得訓(xùn)練回合獎(jiǎng)勵(lì)值逐漸增大,并逐漸收斂。通過降低動(dòng)作空間維數(shù),可有效提高深度強(qiáng)化學(xué)習(xí)算法的效率和獎(jiǎng)勵(lì)函數(shù)收斂性。
圖8 一維動(dòng)作訓(xùn)練過程獎(jiǎng)勵(lì)值變化曲線Fig.8 One-dimensional action training process reward value curve
訓(xùn)練得到以飛行狀態(tài)為輸入、以駕駛儀設(shè)計(jì)參量為輸出的MLP神經(jīng)網(wǎng)絡(luò),該神經(jīng)網(wǎng)絡(luò)適用于飛行器全包絡(luò)飛行狀態(tài)。取某飛行器再入段進(jìn)行仿真驗(yàn)證,其高度變化曲線如圖9所示,馬赫數(shù)變化曲線如圖10所示,攻角變化曲線如圖11所示。
圖9 再入段高度變化曲線Fig.9 Reentry height curve
圖10 再入段馬赫數(shù)變化曲線Fig.10 Reentry Mach number curve
圖11 再入段攻角變化曲線Fig.11 Reentry angle attack curve
選取飛行過程特征點(diǎn)如圖9所示,特征點(diǎn)飛行狀態(tài)如表2所示。取舵機(jī)參數(shù):ωact=220 rad/s,μact=0.65;陀螺參數(shù)ωgyro=400 rad/s,μgyro=0.65;加速度計(jì)參數(shù)ωacce=300 rad/s,μacce=0.65;結(jié)構(gòu)濾波器參數(shù)ωsf=314 rad/s,μsf=0.5;其他參數(shù)取c=0.68 m。
表2 不同特征點(diǎn)處的飛行狀態(tài)Table 2 Flight status at different feature points
取設(shè)計(jì)參數(shù)τ=0.3,μ=0.7,使用訓(xùn)練完成的MLP神經(jīng)網(wǎng)絡(luò)計(jì)算得到二階根自振頻率ω,表3給出了設(shè)計(jì)結(jié)果及設(shè)計(jì)得到的駕駛儀特性結(jié)果,可以看出駕駛儀開環(huán)穩(wěn)定性和閉環(huán)特性滿足設(shè)計(jì)要求。
表3 不同飛行狀態(tài)設(shè)計(jì)結(jié)果Table 3 Design results of different flight states
將計(jì)算結(jié)果代入三回路駕駛儀進(jìn)行仿真,其單位階躍響應(yīng)曲線如圖12所示,可以看出通過深度強(qiáng)化學(xué)習(xí)設(shè)計(jì)得到的三回路駕駛儀性能表現(xiàn)良好。
圖12 基于深度強(qiáng)化學(xué)習(xí)參數(shù)自整定的駕駛儀響應(yīng)曲線Fig.12 Response curve of autopilot based on deep reinforcement learning parameter tuning
為驗(yàn)證MLP神經(jīng)網(wǎng)絡(luò)對(duì)一定范圍飛行狀態(tài)的適用性,對(duì)飛行器全再入段進(jìn)行仿真,其高度范圍為[0 m,18-000 m],馬赫數(shù)范圍為[1.5,4.5],攻角范圍為[-5°,8°]。將深度強(qiáng)化學(xué)習(xí)方法訓(xùn)練好的MLP神經(jīng)網(wǎng)絡(luò)部署到飛行器控制系統(tǒng)中,使飛行器在飛行過程中可以實(shí)時(shí)調(diào)用MLP神經(jīng)網(wǎng)絡(luò)輸出的設(shè)計(jì)參量,進(jìn)而快速得到駕駛儀三維控制參數(shù),從而完成飛行器控制任務(wù)。俯仰通道過載指令與實(shí)際飛行過載如圖13所示。
圖13 俯仰通道指令跟蹤曲線Fig.13 Command tracking curve of pitch channel
仿真結(jié)果表明,使用深度強(qiáng)化學(xué)習(xí)PPO算法訓(xùn)練得到的MLP神經(jīng)網(wǎng)絡(luò),可以通過輸入的狀態(tài)向量[H,Ma,X c]T快速計(jì)算得出駕駛儀控制參數(shù),指令跟蹤誤差在1.2%以內(nèi),飛行器可以很好地完成指令跟蹤控制。飛行過程中MLP神經(jīng)網(wǎng)絡(luò)輸出的駕駛儀設(shè)計(jì)參量二階根自振頻率ω如圖14(a)所示,由快速自整定方法得到的駕駛儀控制參數(shù)k g、ωi、k ac如圖14(b)~圖14(d)所示,飛行過程中駕駛儀開環(huán)穩(wěn)定裕度如圖15所示。
圖14 神經(jīng)網(wǎng)絡(luò)輸出及控制參數(shù)變化曲線Fig.14 Curves of neural network output and control parameters
圖15 穩(wěn)定裕度變化曲線Fig.15 Stability margin curves
結(jié)果表明,以[H,Ma,α]T為輸入、設(shè)計(jì)參量ω為輸出的MLP神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的非線性特征,能夠根據(jù)不同飛行狀態(tài)得到不同的駕駛儀控制參數(shù)完成飛行任務(wù),且駕駛儀穩(wěn)定裕度滿足設(shè)計(jì)要求,證明了基于深度強(qiáng)化學(xué)習(xí)的駕駛儀參數(shù)快速自整定方法的有效性。
本文針對(duì)深度強(qiáng)化學(xué)習(xí)對(duì)駕駛儀三維設(shè)計(jì)參數(shù)訓(xùn)練效率不高的問題,提出一種控制參數(shù)智能在線快速整定方法。首先,基于控制回路極點(diǎn)配置理論,提出可以應(yīng)用于深度強(qiáng)化學(xué)習(xí)訓(xùn)練的控制參數(shù)快速設(shè)計(jì)方法,即由控制回路穩(wěn)定性指標(biāo),通過少量計(jì)算即可快速得到對(duì)應(yīng)的控制參數(shù),從中提煉出完成參數(shù)快速設(shè)計(jì)所需的關(guān)鍵設(shè)計(jì)參量。其次,以快速設(shè)計(jì)方法為核心,選取影響飛行器氣動(dòng)特性變化主要參量,如高度、馬赫數(shù)、攻角,構(gòu)建面向飛行器全飛行包絡(luò)范圍的離線深度強(qiáng)化學(xué)習(xí)訓(xùn)練模塊。采用近端策略優(yōu)化算法,并從獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)、狀態(tài)空間歸一化、動(dòng)作空間歸一化3個(gè)方面進(jìn)行優(yōu)化設(shè)計(jì),使得可以快速完成對(duì)設(shè)計(jì)參量調(diào)節(jié)MLP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。最后,將訓(xùn)練完成的MLP神經(jīng)網(wǎng)絡(luò)進(jìn)行在線部署,即根據(jù)當(dāng)前實(shí)際的飛行狀態(tài)實(shí)時(shí)進(jìn)行駕駛儀設(shè)計(jì)參量計(jì)算,對(duì)飛行器典型指令跟蹤及再入段軌跡跟蹤進(jìn)行仿真驗(yàn)證。仿真結(jié)果表明,深度強(qiáng)化學(xué)習(xí)訓(xùn)練得到的駕駛儀對(duì)標(biāo)稱軌跡和擾動(dòng)情況都具有良好的控制跟蹤效果。