池海紅, 于馥睿, 郭澤會(huì)
(1.哈爾濱工程大學(xué) 智能科學(xué)與工程學(xué)院,黑龍江 哈爾濱 150001; 2.北京空天技術(shù)研究所, 北京 100074)
高速飛行器是指飛行速度大于5Ma的飛行器,具有飛行速度快,突防能力強(qiáng)等特點(diǎn)[1]。近年,隨著航天技術(shù)的發(fā)展,高速飛行器成為研究的熱點(diǎn),隨著研究的深入和不斷的實(shí)驗(yàn)驗(yàn)證,它在軍事和民用上的作用變得越來越重要。
然而,由于高速飛行器模型具有高度非線性,嚴(yán)重耦合以及參數(shù)不確定等特點(diǎn),有效合理地設(shè)計(jì)高速飛行器的控制器是非常困難的。除此之外,由于高速飛行器跨介質(zhì)飛行,其飛行包線大,因此其氣動(dòng)參數(shù)呈現(xiàn)出強(qiáng)非線性特點(diǎn)以及明顯的不確定性,采用一些傳統(tǒng)的控制算法已經(jīng)不能滿足其控制指標(biāo)的要求?,F(xiàn)代控制方法經(jīng)過幾十年的蓬勃發(fā)展,已經(jīng)形成一個(gè)完整的體系,將現(xiàn)代控制算法應(yīng)用在高速飛行器上成為國內(nèi)外許多學(xué)者研究的熱點(diǎn)。
文獻(xiàn)[2]對(duì)高速飛行器縱向模型設(shè)計(jì)了一種魯棒自適應(yīng)Backstepping控制器,將高度子系統(tǒng)分解成彈道傾角回路、攻角回路以及俯仰角速度回路。文中對(duì)這幾個(gè)回路分別設(shè)計(jì)控制器,并且采用指令濾波方法防止微分爆炸,同時(shí)設(shè)計(jì)自適應(yīng)律估計(jì)不確定參數(shù)。文獻(xiàn)[3]針對(duì)高速飛行器縱向模型設(shè)計(jì)了一種反饋線性化方法。通過狀態(tài)反饋,將飛行器高度子系統(tǒng)和速度子系統(tǒng)進(jìn)行輸入輸出線性化,分別近似為四階積分系統(tǒng)和三階控制系統(tǒng),最后在此基礎(chǔ)上進(jìn)行滑??刂破鞯脑O(shè)計(jì)。文獻(xiàn)[4]針對(duì)高速飛行器具有外部擾動(dòng)以及輸入舵偏角飽和的特點(diǎn),設(shè)計(jì)了一種基于滑模干擾觀測器的抗飽和滑??刂破?,對(duì)于系統(tǒng)中存在的擾動(dòng)和不確定性,采用滑模干擾觀測器對(duì)其進(jìn)行估計(jì)并在滑??刂破髦羞M(jìn)行補(bǔ)償。文獻(xiàn)[5-7]采用自抗擾控制算法對(duì)高超聲速飛行器進(jìn)行控制,將飛行器的外部和內(nèi)部擾動(dòng)看作總擾動(dòng),設(shè)計(jì)擴(kuò)張狀態(tài)觀測器對(duì)總擾動(dòng)進(jìn)行估計(jì)并進(jìn)行補(bǔ)償。文獻(xiàn)[8]針對(duì)傳統(tǒng)的擴(kuò)張狀態(tài)觀測器連續(xù)但非光滑的特性,改進(jìn)了擴(kuò)張狀態(tài)觀測器,構(gòu)造了連續(xù)光滑的qin函數(shù),在此基礎(chǔ)上設(shè)計(jì)高速飛行器姿態(tài)的自抗擾控制算法。由于高速飛行器具有模型階數(shù)高的特點(diǎn),以上的控制算法中均或多或少地包含了模型信息。由于建模不確定性,這些模型信息有時(shí)很難準(zhǔn)確獲得。
近年,隨著人工智能的快速發(fā)展,智能控制在飛行器上的應(yīng)用引起了學(xué)者們的廣泛關(guān)注。由于神經(jīng)網(wǎng)絡(luò)具有逼近任意非線性連續(xù)函數(shù)的能力,因此具有很強(qiáng)的泛化能力。文獻(xiàn)[9]將高速飛行器縱向模型轉(zhuǎn)換為嚴(yán)格反饋形式,針對(duì)模型的不確定性設(shè)計(jì)了單隱藏層反饋神經(jīng)網(wǎng)絡(luò)對(duì)控制器進(jìn)行學(xué)習(xí),采用極限學(xué)習(xí)機(jī)對(duì)隱藏層的參數(shù)進(jìn)行學(xué)習(xí)更新。文獻(xiàn)[10]針對(duì)高速飛行器外部擾動(dòng)以及參數(shù)不確定的特點(diǎn),將縱向模型基于歐拉法轉(zhuǎn)換為速度、高度、彈道傾角、俯仰角以及俯仰角速度這5個(gè)一階離散子系統(tǒng),并對(duì)每個(gè)子系統(tǒng)設(shè)計(jì)反饋控制器。由于反饋控制器中包含了模型信息,所以采用神經(jīng)網(wǎng)絡(luò)對(duì)其進(jìn)行近似,最后構(gòu)造李雅普諾夫函數(shù)證明系統(tǒng)的穩(wěn)定性。文獻(xiàn)[11]對(duì)高速飛行器縱向模型并考慮彈性模態(tài)進(jìn)行連續(xù)神經(jīng)網(wǎng)絡(luò)控制器的設(shè)計(jì)。
強(qiáng)化學(xué)習(xí)作為機(jī)器學(xué)習(xí)的一個(gè)分支,由于其不同于以往監(jiān)督學(xué)習(xí)的特點(diǎn),智能體在與環(huán)境交互過程中,通過環(huán)境的獎(jiǎng)勵(lì)反饋來判斷當(dāng)前動(dòng)作的品質(zhì),在這種與環(huán)境交互學(xué)習(xí)的過程中,控制策略收斂的方法不需要了解被控對(duì)象的內(nèi)部模型信息,因而這種模擬人類學(xué)習(xí)過程的方法近幾年被廣泛關(guān)注。在強(qiáng)化學(xué)習(xí)控制中,由于因果性,普遍采用神經(jīng)網(wǎng)絡(luò)來近似性能指標(biāo)以及控制策略。文獻(xiàn)[12]對(duì)高速飛行器縱向模型進(jìn)行強(qiáng)化學(xué)習(xí)與滑模結(jié)合控制,其中滑??刂破鞯淖饔檬欠€(wěn)定系統(tǒng),強(qiáng)化學(xué)習(xí)為輔助控制,用于在線估計(jì)擾動(dòng)。文獻(xiàn)[13]采用強(qiáng)化學(xué)習(xí)方法對(duì)高速飛行器縱向模型的建模不對(duì)定性進(jìn)行估計(jì),并采用魯棒自適應(yīng)控制進(jìn)行系穩(wěn)定以及對(duì)估計(jì)的建模不確定性進(jìn)行補(bǔ)償。
以上文獻(xiàn)中提及高速的強(qiáng)化學(xué)習(xí)方法都是將強(qiáng)化學(xué)習(xí)作為輔助控制的,最核心的控制依然是現(xiàn)代控制。本文提出的基于強(qiáng)化學(xué)習(xí)的高速飛行器高度控制算法,不同于以上文獻(xiàn),本文將強(qiáng)化學(xué)習(xí)作為核心控制,并且以強(qiáng)化學(xué)習(xí)控制作為系統(tǒng)唯一的穩(wěn)定控制算法。本文提出的算法不包含任何模型信息,只需要輸入輸出量及其相應(yīng)導(dǎo)數(shù)即可。對(duì)于模型不確定問題,在仿真試驗(yàn)中,對(duì)氣動(dòng)參數(shù)進(jìn)行正負(fù)極限拉偏,從而驗(yàn)證本方法對(duì)于模型不確定性依然有很好的控制效果。
高速飛行器高度縱向模型為:
(1)
(2)
(3)
(4)
式中:h為飛行高度;θ為彈道傾角;α為攻角;ωz為俯仰角速度;V為飛行速度;L為升力;T為推力;m為飛行器質(zhì)量;Mz為俯仰力矩;Jz為轉(zhuǎn)動(dòng)慣量。L、T、Mz、r、q計(jì)算表達(dá)式為:
L=qSCL
(5)
T=qSCT
(6)
(7)
r=h+Re
(8)
(9)
式中:q為動(dòng)壓;ρ為大氣密度;CL、CT和CM分別為升力系數(shù)、推力系數(shù)以及俯仰力矩系數(shù);S為飛行器參考面積;r、Re分別為地心距和地球半徑??v向氣動(dòng)參數(shù)為:
CL=0.620 3α
(10)
CM(α)=-0.035α2+0.036 617α+5.326 1×10-6
(11)
CM(δe)=ce(δe-α)
(12)
(13)
由于高速飛行器采用的是超燃沖壓發(fā)動(dòng)機(jī),在飛行過程中攻角要保持在一定小的范圍內(nèi),因此式(2)中L+Tsinα≈L。在高速飛行器巡航飛行過程中,彈道傾角始終保持在較小值,即使做高度機(jī)動(dòng)動(dòng)作,變化的高度相對(duì)于飛行器所在高度仍然是可以忽略的,因此彈道傾角在飛行器做高度機(jī)動(dòng)的過程中看做較小值也是合理的。因此式(1)可變?yōu)椋?/p>
(14)
假設(shè)在高速飛行器做高度機(jī)動(dòng)的過程中,速度保持為定值。對(duì)式(14)求導(dǎo)并將式(2)代入式(14)可得:
(15)
(16)
(17)
式中?為俯仰角。fh與gh表達(dá)式為:
(18)
(19)
根據(jù)幾何關(guān)系:?=α+θ。令x3=?,x4=ωz,則式(3)和(4)可寫成:
(20)
(21)
f?與g?表達(dá)式為:
(22)
(23)
在強(qiáng)化學(xué)習(xí)控制器中,BP神經(jīng)網(wǎng)絡(luò)將被用于逼近控制策略和性能指標(biāo)函數(shù)。BP神經(jīng)網(wǎng)絡(luò)理論上在節(jié)點(diǎn)足夠多的情況下能夠以任意精度逼近定義在緊集Ω?Rn上的任何非線性連續(xù)函數(shù)。BP神經(jīng)網(wǎng)絡(luò)在輸入量x=[x1x2…xn]T∈Ω?Rn與輸出量y∈Rn之間形成的映射定義為:
y=ωTφ(vTx)
式中:ω∈RN×1為隱藏層和輸出層之間的權(quán)值;N為隱藏層節(jié)點(diǎn)數(shù);φ(·)為隱藏層的激活函數(shù)通常取為φ(·)=tanh(·);v∈Rn×N為輸入層和隱藏層之間的權(quán)值。對(duì)于一個(gè)未知連續(xù)非線性函數(shù)f(x),存在理想權(quán)值ω*∈RN×1使得:f(x)=ω*Tφ(vTx)+ε,|ε|≤εM。ε和εM分別為逼近誤差和逼近誤差的上界。
高度子系統(tǒng)強(qiáng)化學(xué)習(xí)控制器設(shè)計(jì)的目的是使飛行器高度能夠以一定精度并且穩(wěn)定地跟蹤期望高度指令hd。高度子系統(tǒng)的輸入是期望俯仰角?d。這里假設(shè)飛行器的高度、俯仰角能夠通過傳感器測量得到。
令x1d=hd,定義高度跟蹤誤差為:
eh=h-hd=x1-x1d
(24)
定義濾波誤差為:
(25)
式中λh>0,λh∈。
求導(dǎo)可得:
(26)
理想控制律可以設(shè)計(jì)為:
(27)
由于理想控制律中包含fh、gh等模型信息,因此在實(shí)際中不能應(yīng)用。接下來,將采用強(qiáng)化學(xué)習(xí)來進(jìn)行控制器設(shè)計(jì),該控制器結(jié)構(gòu)由動(dòng)作網(wǎng)絡(luò)和評(píng)價(jià)網(wǎng)絡(luò)組成,評(píng)價(jià)網(wǎng)絡(luò)的作用是根據(jù)飛行器當(dāng)前狀態(tài)來評(píng)價(jià)表現(xiàn)好壞,動(dòng)作網(wǎng)絡(luò)則是根據(jù)評(píng)價(jià)網(wǎng)絡(luò)的評(píng)價(jià)輸出來產(chǎn)生相應(yīng)的控制量。
2.2.1 評(píng)價(jià)網(wǎng)絡(luò)設(shè)計(jì)
定義性能指標(biāo)函數(shù)為:
(28)
(29)
評(píng)價(jià)網(wǎng)絡(luò)的作用是通過當(dāng)前飛行器的狀態(tài)信息從而輸出對(duì)性能指標(biāo)函數(shù)的估計(jì)值。因此評(píng)價(jià)網(wǎng)絡(luò)設(shè)計(jì)為:
(30)
2.2.2 動(dòng)作網(wǎng)絡(luò)設(shè)計(jì)
動(dòng)作網(wǎng)絡(luò)的作用是根據(jù)評(píng)價(jià)網(wǎng)絡(luò)對(duì)性能指標(biāo)函數(shù)的估計(jì)值來計(jì)算控制量。對(duì)于理想控制律(27),可以采用動(dòng)作網(wǎng)絡(luò)來對(duì)其進(jìn)行逼近。動(dòng)作網(wǎng)絡(luò)設(shè)計(jì)為:
(31)
那么理想控制律(27)可表示為:
(32)
2.2.3 評(píng)價(jià)網(wǎng)絡(luò)權(quán)值更新
對(duì)于評(píng)價(jià)網(wǎng)絡(luò),其權(quán)值更新的目標(biāo)是最小化估計(jì)誤差ech。因此定義評(píng)價(jià)網(wǎng)絡(luò)的目標(biāo)函數(shù)為:
(33)
根據(jù)梯度下降法,評(píng)價(jià)網(wǎng)絡(luò)更新律為:
(34)
式中σch為評(píng)價(jià)網(wǎng)絡(luò)的學(xué)習(xí)率,0<σch<1。
對(duì)式(34)進(jìn)一步推導(dǎo):
(35)
2.2.4 動(dòng)作網(wǎng)絡(luò)權(quán)值更新
動(dòng)作網(wǎng)絡(luò)的逼近誤差為:
(36)
(37)
動(dòng)作網(wǎng)絡(luò)權(quán)值更新的目標(biāo)就是最小化目標(biāo)函數(shù)。因此根據(jù)梯度下降法,評(píng)價(jià)網(wǎng)絡(luò)更新律為:
(38)
式中σah為動(dòng)作網(wǎng)絡(luò)的學(xué)習(xí)率,0<σah<1。
對(duì)式(38)進(jìn)一步推導(dǎo):
(39)
由于在動(dòng)作網(wǎng)絡(luò)權(quán)值更新律表達(dá)式中存在ξah項(xiàng)。因此無法將其獲得。接下來,根據(jù)濾波誤差表達(dá)式來將其求出。
由式(26)可得:
(40)
將式(31)和(32)代入式(40)可得:
gh(ξah-εah)-K1rdh
(41)
因?yàn)棣臿h很小可忽略,所以可以求得:
(42)
將式(41)代入式(39)可得:
(43)
因此,經(jīng)過一系列推導(dǎo)之后得出的動(dòng)作網(wǎng)絡(luò)權(quán)值更新律中的所有項(xiàng)均可獲得,而且不包含任何模型信息。
姿態(tài)子系統(tǒng)強(qiáng)化學(xué)習(xí)控制器的設(shè)計(jì)目的是使飛行器的俯仰角能以一定精度并且穩(wěn)定地跟蹤由高度子系統(tǒng)產(chǎn)生的期望角指令?d。姿態(tài)子系統(tǒng)的輸入是升降舵偏角δe。由于姿態(tài)子系統(tǒng)數(shù)學(xué)模型的形式與高度子系統(tǒng)一致,所以姿態(tài)子系統(tǒng)強(qiáng)化學(xué)習(xí)控制器設(shè)計(jì)步驟也與高度子系統(tǒng)相同。
令x3d=?d,定義俯仰角跟蹤誤差為:
e?=?-?d=x3-x3d
(44)
定義濾波誤差為:
(45)
式中λ?>0,λ?∈R。
對(duì)濾波誤差求導(dǎo)可得:
(46)
理想控制律可以設(shè)計(jì)為:
(47)
2.3.1 評(píng)價(jià)網(wǎng)絡(luò)設(shè)計(jì)
定義性能指標(biāo)函數(shù)為:
(48)
評(píng)價(jià)網(wǎng)絡(luò)設(shè)計(jì)為:
(49)
2.3.2 動(dòng)作網(wǎng)絡(luò)設(shè)計(jì)
動(dòng)作網(wǎng)絡(luò)設(shè)計(jì)為:
(50)
那么理想控制律(47)可表示為:
2.3.3 評(píng)價(jià)網(wǎng)絡(luò)權(quán)值更新
(51)
式中σc?為評(píng)價(jià)網(wǎng)絡(luò)的學(xué)習(xí)率,0<σc?<1。
對(duì)式(51)進(jìn)一步推導(dǎo):
(52)
2.3.4 動(dòng)作網(wǎng)絡(luò)權(quán)值更新
動(dòng)作網(wǎng)絡(luò)的逼近誤差為:
(53)
姿態(tài)子系統(tǒng)動(dòng)作網(wǎng)絡(luò)權(quán)值更新律的推導(dǎo)步驟與高度子系統(tǒng)完全相同,這里直接給出動(dòng)作網(wǎng)絡(luò)權(quán)值更新律表達(dá)式:
(54)
綜合前2部分的推導(dǎo),基于強(qiáng)化學(xué)習(xí)的高速飛行器高度控制算法結(jié)構(gòu)圖如圖1所示。
圖1 控制器結(jié)構(gòu)Fig.1 Controller structure
本文采用數(shù)值仿真來驗(yàn)證所設(shè)計(jì)的強(qiáng)化學(xué)習(xí)高度控制算法的有效性。飛行器的模型采用的是式(1)~(4)的非線性模型進(jìn)行的數(shù)值仿真。飛行器的初始狀態(tài)為:V=4 590.3 m/s,h(0)=33 528 m,θ(0)=0°,α(0)=0°,ωz(0)=0°/s。機(jī)動(dòng)后高度為h(∞)=34 028 m,機(jī)動(dòng)爬升高度為500 m。期望高度變化參考模型為:
式中:hd為高度參考指令;hc為機(jī)動(dòng)后高度;ω1=0.2,ω2=0.1,ζ=0.7。
強(qiáng)化學(xué)習(xí)控制器參數(shù)為:高度子系統(tǒng)與姿態(tài)子系統(tǒng)的動(dòng)作網(wǎng)絡(luò)和評(píng)價(jià)網(wǎng)絡(luò)的隱藏層節(jié)點(diǎn)數(shù)均為20,即Nch=Nah=Nc?=Na?=20。
vch、vah、vc?、va?取(0,1)的隨機(jī)數(shù)并且保持不變。wch、wah、wc?、wa?初始值均為0。學(xué)習(xí)率σch=0.2,σah=0.2,σc?=0.2,σa?=0.2。λh=300,λ?=300,Ph=50,P?=50,K1=5,K2=15。
在氣動(dòng)參數(shù)無拉偏條件下仿真結(jié)果如圖2~6所示。由圖2可以看出,對(duì)于高度子系統(tǒng)來說,所設(shè)計(jì)的強(qiáng)化學(xué)習(xí)控制器能夠快速穩(wěn)定地跟蹤高度參考指令。姿態(tài)子系統(tǒng)跟蹤曲線如圖3所示,俯仰角同樣能夠快速穩(wěn)定地跟蹤高度子系統(tǒng)的俯仰角指令。圖4為升降舵偏角變化曲線,從圖4中可以看出,舵偏角始終保持在合理范圍內(nèi)。圖5和圖6分別為評(píng)價(jià)網(wǎng)絡(luò)權(quán)值變化曲線和動(dòng)作網(wǎng)絡(luò)的權(quán)值變化曲線,可以看出評(píng)價(jià)網(wǎng)絡(luò)的變化曲線逐漸趨于收斂且穩(wěn)定,動(dòng)作網(wǎng)絡(luò)權(quán)值曲線變化逐漸趨于平穩(wěn)并收斂,因此控制策略也隨之收斂。
圖2 高度跟蹤曲線Fig.2 Altitude tracking
圖3 俯仰角跟蹤曲線Fig.3 Pitch angle tracking
圖4 升降舵偏角變化曲線Fig.4 Elevator deflection
圖5 評(píng)價(jià)網(wǎng)絡(luò)權(quán)值變化曲線Fig.5 Critic NN weights
圖6 動(dòng)作網(wǎng)絡(luò)權(quán)值變化曲線Fig.6 Actor NN weights
在建模具有參數(shù)不確定性時(shí),通過仿真驗(yàn)證所設(shè)計(jì)的強(qiáng)化學(xué)習(xí)控制器的控制性能。采用正反極限拉偏來驗(yàn)證所設(shè)計(jì)的控制器的控制能力,拉偏條件I為:CL拉偏+10%,CM拉偏+30%,m拉偏+5%,Jz拉偏+5%,ρ拉偏+5%。拉偏條件II為:CL拉偏-10%,CM拉偏-30%,m拉偏-5%,Jz拉偏-5%,ρ拉偏-5%。
在氣動(dòng)參數(shù)拉偏條件下仿真結(jié)果如圖7~10所示。在極限拉偏I(xiàn)和極限拉偏I(xiàn)I條件下,所設(shè)計(jì)的強(qiáng)化學(xué)習(xí)控制算法依然能夠使高度快速、穩(wěn)定地跟蹤高度參考指令。說明設(shè)計(jì)的強(qiáng)化學(xué)習(xí)控制算法對(duì)模型參數(shù)不確定依然具有很好的控制效果。
圖7 拉偏情況下高度變化曲線Fig.7 Altitude tracking with deviations
圖8 拉偏I(xiàn)情況下俯仰角變化曲線Fig.8 Pitch angle tracking with deviations I
圖9 拉偏I(xiàn)I情況下俯仰角變化曲線Fig.9 Pitch angle tracking with deviations II
將本文提出的算法與傳統(tǒng)PID相對(duì)比,姿態(tài)子系統(tǒng)分別采用內(nèi)環(huán)俯仰角速度反饋的阻尼回路,外環(huán)采用PI控制,高度子系統(tǒng)采用PI控制。2種算法的對(duì)比結(jié)果如圖11、圖12所示。從圖中可以看出,對(duì)于穩(wěn)態(tài)階段,2種控制算法的穩(wěn)態(tài)誤差都在可接受范圍內(nèi),誤差大小沒有實(shí)質(zhì)上的區(qū)別。但是在動(dòng)態(tài)過程,PID控制算法響應(yīng)要慢于本文提出的控制算法,本文提出的算法能快速跟蹤期望軌跡,但是PID控制算法要稍滯后于期望軌跡。從而驗(yàn)證了本文提出的算法的有效性。
圖11 高度跟蹤曲線Fig.11 Altitude tracking
圖12 俯仰角跟蹤曲線Fig.12 Pitch angle tracking
1)對(duì)飛行器參數(shù)標(biāo)稱情況以及極限拉偏情況下均做了仿真試驗(yàn),同時(shí)將本文提出的算法與傳統(tǒng)PID控制算法進(jìn)行對(duì)比,驗(yàn)證了其有效性。仿真結(jié)果表明,本文提出的方法對(duì)高速飛行器參數(shù)不確定的情況下有很好地控制效果。
2)本文提出的控制器不需要精確了解飛行器的模型信息,因此減少了對(duì)模型的依賴,為高速飛行器高度控制系統(tǒng)設(shè)計(jì)提供了一種新的思路。