付宇鵬,鄧向陽,朱子強(qiáng),方 君,余應(yīng)福,閆文君,張立民
(海軍航空大學(xué),山東煙臺 264001)
飛行控制系統(tǒng)中,姿態(tài)控制器的設(shè)計(jì)原則是使飛機(jī)能夠隨時準(zhǔn)確達(dá)到所需的正常過載姿態(tài)[1-2]。傳統(tǒng)的姿態(tài)控制通常采用經(jīng)典的PID(Proportion Integration Differentiation)控制,具有良好的工程適應(yīng)性[3]。隨著現(xiàn)代控制理論和智能控制方法的不斷發(fā)展,模糊控制等一些新的控制方法被引入姿態(tài)控制中,并發(fā)揮了良好的控制效果。無論是經(jīng)典控制理論還是現(xiàn)代控制理論,都需要對被控模型進(jìn)行數(shù)學(xué)建模并設(shè)計(jì)其參數(shù),但這無疑會產(chǎn)生一定的工作量。此外,對于六自由度(6-DoF)飛機(jī)模型[4]來說,由于各控制變量,如發(fā)動機(jī)推力,各操作面如升降舵、方向舵、副翼的偏轉(zhuǎn)角相互耦合,傳統(tǒng)單輸入、單輸出控制器需要首先完成各變量的解耦,理論復(fù)雜,計(jì)算量大。文獻(xiàn)[5-8]中提出了基于神經(jīng)網(wǎng)絡(luò)的多變量PID(MPIDNN)算法,能夠?qū)崿F(xiàn)簡單問題或環(huán)境的解耦,但實(shí)際飛機(jī)空氣動力學(xué)模型復(fù)雜,MPIDNN 中神經(jīng)元數(shù)量較少,很難擬合實(shí)際模型,因此極少實(shí)際應(yīng)用在飛行控制系統(tǒng)中。
近年來,深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)在圍棋、游戲、自動駕駛等領(lǐng)域取得突破性發(fā)展,能夠達(dá)到甚至戰(zhàn)勝人類專家的水平,成為學(xué)術(shù)界研究的熱點(diǎn)。
強(qiáng)化學(xué)習(xí)框架,如圖1 所示。智能體(Agent)以“試錯”的方式進(jìn)行學(xué)習(xí),通過與環(huán)境交互獲得的獎賞(Reward)指導(dǎo)行為,目標(biāo)是使智能體獲得最大的獎賞。其本質(zhì)可有效實(shí)現(xiàn)擬合過程的自學(xué)習(xí),因此具備飛機(jī)姿態(tài)控制器中模型建立和參數(shù)自動調(diào)節(jié)的能力。
圖1 強(qiáng)化學(xué)習(xí)框架Fig.1 Structure of Reinforcement Learning
目前,強(qiáng)化學(xué)習(xí)在控制領(lǐng)域取得了一定的進(jìn)展。文獻(xiàn)[9]利用DDPG 算法訓(xùn)練得到的控制器能夠?qū)崿F(xiàn)對旋翼無人機(jī)位置控制;文獻(xiàn)[1]利用采樣池Actor-Critic算法,通過選擇基本指令實(shí)現(xiàn)了固定翼無人機(jī)軌跡跟蹤。但目前,強(qiáng)化學(xué)習(xí)設(shè)計(jì)姿態(tài)控制器難度較大,故普遍采用簡化的飛機(jī)空氣動力學(xué)模型[10]。然而,采用強(qiáng)化學(xué)習(xí)算法訓(xùn)練模型時:一方面存在數(shù)據(jù)利用低、收斂速度慢的問題;另一方面,模型效果依賴獎勵函數(shù)設(shè)計(jì)。在姿態(tài)控制中,不當(dāng)?shù)莫剟詈瘮?shù)會導(dǎo)致模型姿態(tài)轉(zhuǎn)移不符合人類習(xí)慣。
為此,本文提出1 種基于模仿強(qiáng)化學(xué)習(xí)(Imitation Reinforcement Learning,IRL)的姿態(tài)控制器。受控對象由飛機(jī)空氣動力學(xué)模型和增穩(wěn)系統(tǒng)組成,控制器根據(jù)不同飛機(jī)狀態(tài),輸出增穩(wěn)系統(tǒng)控制指令,從而實(shí)現(xiàn)飛行姿態(tài)快速變換。
傳統(tǒng)的PID 姿態(tài)控制器通常只能控制1 個通道,如俯仰角、滾轉(zhuǎn)角的響應(yīng)。由于航向和滾轉(zhuǎn)通道具有較高耦合性,如果獨(dú)立控制滾轉(zhuǎn)角誤差和航向角誤差,會出現(xiàn)滾轉(zhuǎn)角首先穩(wěn)定,而航向僅僅由方向舵緩慢調(diào)節(jié)的情況。此外,在輸入誤差跳變或輸出響應(yīng)時間較長等的條件下,傳統(tǒng)PID 控制器存在積分飽和現(xiàn)象,會帶來滯后和較大超調(diào)的情況,需要采用超限削弱等技術(shù)緩解,但這將帶來額外的調(diào)節(jié)參數(shù)。而且,對于高階非線性系統(tǒng)或慣性大的系統(tǒng),PID 控制器調(diào)節(jié)能力有限[11]。鑒于此,本文利用神經(jīng)網(wǎng)絡(luò)的強(qiáng)擬合能力實(shí)現(xiàn)飛機(jī)姿態(tài)控制器設(shè)計(jì)。
基于神經(jīng)網(wǎng)絡(luò)模型的姿態(tài)控制器原理圖,如圖2所示。控制器采用神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),根據(jù)受控對象當(dāng)前狀態(tài)輸出控制指令,實(shí)現(xiàn)姿態(tài)變換。其中,受控對象為六自由度固定翼飛機(jī)模型,由空氣動力學(xué)模型和增穩(wěn)系統(tǒng)組成,增穩(wěn)系統(tǒng)輸出副翼、升降舵、方向舵偏轉(zhuǎn)指令,當(dāng)各操縱面變化時,氣動模型根據(jù)對應(yīng)的Cl、Cm、Cn等氣動系數(shù),計(jì)算模型各部分合力和合力矩[12-13]。增穩(wěn)系統(tǒng)中利用包括角速度反饋、過載反饋和控制指令前饋[14-16]等方式提高系統(tǒng)穩(wěn)定性。
圖2 基于神經(jīng)網(wǎng)絡(luò)姿態(tài)控制器Fig.2 Neural Network based attitude controller
控制網(wǎng)絡(luò)πθ(st)根據(jù)當(dāng)前狀態(tài)st輸出動作at,θ表示網(wǎng)絡(luò)參數(shù)。初始化時,通過行為克隆技術(shù),將專家經(jīng)驗(yàn)數(shù)據(jù)作為標(biāo)簽,對πθ進(jìn)行監(jiān)督學(xué)習(xí)。利用損失函數(shù)?bc( )θ反向傳播和梯度下降更新網(wǎng)絡(luò)參數(shù)θ,得到預(yù)訓(xùn)練模型。
在此預(yù)訓(xùn)練模型基礎(chǔ)上進(jìn)行強(qiáng)化學(xué)習(xí)訓(xùn)練。飛機(jī)姿態(tài)的狀態(tài)轉(zhuǎn)移過程可以認(rèn)為是馬爾可夫決策過程(MDP),如式(2)所示,即環(huán)境當(dāng)前狀態(tài)轉(zhuǎn)移到下一狀態(tài)的概率僅與當(dāng)前狀態(tài)和動作有關(guān)。
在狀態(tài)轉(zhuǎn)移時,智能體將獲得環(huán)境反饋的獎勵rt,在本設(shè)計(jì)中,將其表示為式(3),為三通道獎勵之和?;睾掀谕貓蟊硎緸槭剑?),網(wǎng)絡(luò)在訓(xùn)練過程中目標(biāo)即為得到最大的期望回報R。
根據(jù)飛機(jī)各通道響應(yīng)特點(diǎn),滾轉(zhuǎn)通道響應(yīng)最快,航向變換速度較慢,因此,本文將其分別設(shè)置為0.2、0.1和0.7,即期望控制器實(shí)現(xiàn)帶坡度轉(zhuǎn)彎,實(shí)現(xiàn)姿態(tài)快速轉(zhuǎn)換。
此外,為避免智能體陷入不停旋轉(zhuǎn)、盡快死亡等獲得較大獎勵的局部最優(yōu)解,獎勵函數(shù)額外設(shè)置懲罰項(xiàng),包括角速度限制和空速、高度限制。
本文以近端策略優(yōu)化算法(PPO)[17-18]作為強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)參數(shù)訓(xùn)練算法。PPO算法是1種Actor-Critic方法,Actor 網(wǎng)絡(luò)即上述控制網(wǎng)絡(luò)πθ(st),輸出動作at,Critic 網(wǎng)絡(luò)輸出價值函數(shù)Vφ(st)。期望得到最大回報,因此,目標(biāo)函數(shù)為:
用來衡量在當(dāng)前狀態(tài)下某個動作與其他動作相比的優(yōu)劣,如果該動作優(yōu)于其他動作,則反饋正獎勵,否則反饋負(fù)獎勵,即懲罰。A?t表示時刻t的優(yōu)勢函數(shù)的估計(jì),A?t一般采用目前應(yīng)用較多的廣義優(yōu)勢估計(jì)(generalized advantage estimator,GAE)方法。定義為式(8)(9)[20]:
表1 IRL算法流程Tab.1 Algorithm IRL
本文強(qiáng)化學(xué)習(xí)訓(xùn)練環(huán)境采用OpenAI gym 平臺,固定翼飛機(jī)空氣動力學(xué)模型是基于JSBSim開源平臺F-16 模型,其中,氣動系數(shù)使用了NASA 公布的F-16風(fēng)洞試驗(yàn)數(shù)據(jù)[13]。
網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)和算法超參數(shù)設(shè)計(jì),如表2 所示。為了提高算法訓(xùn)練速度,訓(xùn)練基于并行分布式計(jì)算框架ray平臺,設(shè)置rollout worker數(shù)量為40,當(dāng)樣本數(shù)達(dá)到回合buffer size 時,各worker 計(jì)算策略梯度,由learner更新10次網(wǎng)絡(luò)參數(shù)。
表2 IRL算法參數(shù)設(shè)置Tab.2 Parameter setting of IRL Algorithm
訓(xùn)練環(huán)境設(shè)置時,將F-16 飛機(jī)模型初始姿態(tài)角、角速度、空速和高度等狀態(tài)隨機(jī)設(shè)置,服從高斯分布,目標(biāo)狀態(tài)為恢復(fù)平飛,每回合時長限制60 s。仿真中網(wǎng)絡(luò)訓(xùn)練平均獎勵,如圖3 所示。僅利用PPO 算法訓(xùn)練隨機(jī)網(wǎng)絡(luò)模型時,在初始400回合中回報較低,隨訓(xùn)練回合數(shù)逐漸上升;IRL 算法在通過行為克隆對模型預(yù)訓(xùn)練后,回報初始值較高且快速實(shí)現(xiàn)收斂。由于平均回報與初始狀態(tài)密切相關(guān),比如大角度誤差條件下,系統(tǒng)響應(yīng)時間較長,平均獎勵較低,反之較高,因此,當(dāng)網(wǎng)絡(luò)收斂后,平均獎勵會在一定范圍內(nèi)波動。由于訓(xùn)練中隨機(jī)采樣經(jīng)驗(yàn)數(shù)據(jù)集計(jì)算策略梯度,因此,在有效利用強(qiáng)化學(xué)習(xí)算法探索環(huán)境的同時,輸出策略接近專家數(shù)據(jù)。
圖3 平均獎勵函數(shù)vs回合Fig.3 Average reward vs episode
為了驗(yàn)證系統(tǒng)工作性能,本節(jié)進(jìn)行了基于模仿強(qiáng)化學(xué)習(xí)算法的控制器與傳統(tǒng)PID控制器的姿態(tài)角響應(yīng)仿真對比。
圖4 給出了基于模仿強(qiáng)化學(xué)習(xí)控制器(IRL Control)和PID 控制器(PID control)的俯仰角階躍響應(yīng)曲線。為了防止出現(xiàn)積分飽和現(xiàn)象,PID 控制器設(shè)計(jì)時使用超限削弱。飛行器初始保持平飛狀態(tài),俯仰角階躍函數(shù)幅度為-30°~50°的響應(yīng)中,在不改變控制器參數(shù)的情況下,兩者均能實(shí)現(xiàn)穩(wěn)定跟蹤,同時無穩(wěn)態(tài)誤差。
圖4 俯仰角階躍響應(yīng)曲線Fig.4 Step response of pitch angle
圖5 a)、b)分別為IRL 和PID 控制器在航向180°保持條件下的航向角仿真曲線和滾轉(zhuǎn)角階躍響應(yīng)曲線。當(dāng)階躍函數(shù)幅度在30°以下、滾轉(zhuǎn)角保持的需求下,PID控制器能夠保持航向,但滾轉(zhuǎn)角響應(yīng)速度明顯變慢,IRL控制器能夠同時保持航向角和滾轉(zhuǎn)角,說明IRL控制器在訓(xùn)練中能夠根據(jù)當(dāng)前狀態(tài)對滾轉(zhuǎn)和偏航通路參數(shù)解耦。當(dāng)目標(biāo)滾轉(zhuǎn)角進(jìn)一步變大,IRL 和PID 控制器均失去航向保持能力,IRL 控制器滾轉(zhuǎn)角保持更好。
圖5 航向角仿真曲線和滾轉(zhuǎn)角階躍響應(yīng)曲線Fig.5 Simulation curve of yaw angle and step response curve of roll angle
圖6為IRL控制器和PID控制器在目標(biāo)航向階躍變化下的姿態(tài)角響應(yīng)曲線,圖6 a)、b)分別表示當(dāng)航向角由0°到90°和由0°到180°的響應(yīng)情況。IRL 控制器在訓(xùn)練中以快速對準(zhǔn)航向?yàn)槟繕?biāo),仿真結(jié)果表明IRL控制器能夠?qū)崿F(xiàn)與人類習(xí)慣相符的帶坡度轉(zhuǎn)彎,而后恢復(fù)目標(biāo)姿態(tài),實(shí)現(xiàn)快速偏轉(zhuǎn)航向。單通路PID 控制器完全依靠方向舵偏轉(zhuǎn)航向,因此,速度明顯更慢。
圖6 IRL控制器和PID控制器的姿態(tài)角響應(yīng)曲線Fig.6 Response curves of attitude angle for IRL controller and PID controller
通過比較分析可以證明,基于模仿強(qiáng)化學(xué)習(xí)算法訓(xùn)練的IRL 控制器能夠高效地優(yōu)化在不同角速度、角度、空速等條件下的姿態(tài)響應(yīng),根據(jù)當(dāng)前狀態(tài)輸出增穩(wěn)系統(tǒng)控制指令,實(shí)現(xiàn)快速姿態(tài)變換的目的,同時,能實(shí)現(xiàn)基于專家經(jīng)驗(yàn)的帶坡度轉(zhuǎn)彎等動作。
本文提出了一種基于模仿強(qiáng)化學(xué)習(xí)算法的固定翼飛機(jī)姿態(tài)控制器,可實(shí)現(xiàn)對飛機(jī)姿態(tài)角的控制。相比傳統(tǒng)PID 控制器,本文提出的模仿強(qiáng)化學(xué)習(xí)控制器核心優(yōu)勢在于能夠通過智能體在學(xué)習(xí)過程中遍歷狀態(tài)空間,找到當(dāng)前狀態(tài)下的數(shù)值最優(yōu)解,同時結(jié)合經(jīng)驗(yàn)數(shù)據(jù)提高模型逼真度。
在仿真中發(fā)現(xiàn)一些問題,有待進(jìn)一步研究:模仿強(qiáng)化學(xué)習(xí)控制器對于正誤差角度和負(fù)誤差角度的響應(yīng)并不完全對稱,控制器參數(shù)不方便調(diào)節(jié);對專家經(jīng)驗(yàn)數(shù)據(jù)準(zhǔn)確性具有一定的要求。