李依彤 劉曉東 張惠平 王曉東
1.北京航天自動(dòng)控制研究所,北京 100854
2.宇航智能控制技術(shù)國家級(jí)重點(diǎn)實(shí)驗(yàn)室,北京 100854
3.中國運(yùn)載火箭技術(shù)研究院,北京 100076
PID控制器以其結(jié)構(gòu)簡(jiǎn)單易于實(shí)現(xiàn)的優(yōu)點(diǎn)被廣泛應(yīng)用于各種實(shí)際工程中,飛行器姿態(tài)控制也不例外[1]。飛行器的控制參數(shù)設(shè)計(jì)通常是采用增益調(diào)度的方法:首先由設(shè)計(jì)人員針對(duì)不同的特征點(diǎn)設(shè)計(jì)出多組PID控制參數(shù),然后再將這些參數(shù)裝載于飛行器上,并按照一定的準(zhǔn)則調(diào)度進(jìn)行提取,實(shí)現(xiàn)控制參數(shù)的變化。這種方法對(duì)設(shè)計(jì)人員的經(jīng)驗(yàn)?zāi)芰τ泻芨叩囊?,且設(shè)計(jì)繁瑣,耗費(fèi)資源。因此迫切需要能夠自適應(yīng)調(diào)整飛行器姿態(tài)控制的參數(shù)。
自適應(yīng)控制被提出以來,各種控制方法層出不窮,而模型參考自適應(yīng)是其中一個(gè)重要且發(fā)展較為成熟的分支[2]。模型參考自適應(yīng)控制是以理想模型的輸出狀態(tài)為參照來調(diào)整自適應(yīng)機(jī)構(gòu),進(jìn)而使被控對(duì)象的輸出跟蹤理想模型輸出。另外這種控制方法能夠平緩系統(tǒng)過渡過程,降低系統(tǒng)響應(yīng)超調(diào)量,降低控制量,在一定程度上減小了控制能量的浪費(fèi)。近年來,得益于計(jì)算機(jī)技術(shù)的發(fā)展,模型參考自適應(yīng)控制技術(shù)逐漸成熟,不僅能夠與其他控制技術(shù)相結(jié)合[3],在機(jī)械手臂控制[4-5]、電動(dòng)汽車充電[6]和航空發(fā)動(dòng)機(jī)[7]等領(lǐng)域都有相關(guān)研究和應(yīng)用。
神經(jīng)網(wǎng)絡(luò)出現(xiàn)以來,就成為了各界學(xué)者的研究熱點(diǎn),主要是因?yàn)槠淠軌蛲ㄟ^學(xué)習(xí)逼近任意復(fù)雜的非線性關(guān)系,具有較強(qiáng)的容錯(cuò)性和魯棒性,在某種程度上能夠處理系統(tǒng)的不確定性。在控制領(lǐng)域,神經(jīng)網(wǎng)絡(luò)的出現(xiàn)更加促進(jìn)了自適應(yīng)控制的發(fā)展。文獻(xiàn)[8]和文獻(xiàn)[9]均是用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了對(duì)被控對(duì)象不確定性和擾動(dòng)部分的逼近,并與傳統(tǒng)算法相結(jié)合。在飛行器姿態(tài)控制方向,雖然也有一些神經(jīng)網(wǎng)絡(luò)整定控制參數(shù)的相關(guān)研究[1,10],但大多是針對(duì)某一特征點(diǎn)進(jìn)行設(shè)計(jì),未將研究對(duì)象擴(kuò)展到整個(gè)飛行段。
本文提出了一種基于模型參考自適應(yīng)控制框架的神經(jīng)網(wǎng)絡(luò)PID姿態(tài)控制方法。神經(jīng)網(wǎng)絡(luò)選用了結(jié)構(gòu)簡(jiǎn)單的BP神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)輸入選擇能夠表征助推段飛行狀態(tài)的視速度和參考模型與被控對(duì)象輸出之差,對(duì)PID控制參數(shù)增益進(jìn)行整定。引入視速度后可以提高控制器的適用范圍,從而實(shí)現(xiàn)全飛行包絡(luò)的自適應(yīng)控制。為保證系統(tǒng)抗干擾性,加入了兩階線性擴(kuò)張狀態(tài)觀測(cè)器(Extended State Observer,ESO),并對(duì)其進(jìn)行了誤差分析,從理論上證明兩階LESO能夠較為準(zhǔn)確的對(duì)系統(tǒng)狀態(tài)進(jìn)行估計(jì)。最后以某導(dǎo)彈主動(dòng)飛行段俯仰通道為研究對(duì)象進(jìn)行仿真驗(yàn)證,仿真結(jié)果表明本文的姿態(tài)控制方法能夠較好地實(shí)現(xiàn)姿態(tài)控制指令的跟蹤。
以某導(dǎo)彈主動(dòng)飛行段俯仰通道為研究對(duì)象,該導(dǎo)彈俯仰與偏航通道采用擺動(dòng)噴管進(jìn)行姿態(tài)控制,滾轉(zhuǎn)通道采用空氣舵進(jìn)行姿態(tài)控制,因此各通道可以獨(dú)立設(shè)計(jì),建立其俯仰通道的小偏差線性化數(shù)學(xué)模型為
(1)
(2)
其中,Δθ為彈道傾角偏差,單位為rad;Δα為攻角偏差,單位為rad;Δφ為俯仰角偏差,單位為rad;Δδφ為俯仰通道姿控噴管擺角,單位為rad。c1f為俯仰通道與推力和升力有關(guān)的動(dòng)力系數(shù),單位為1/s;c2f為俯仰通道重力系數(shù),單位為1/s;c3f為俯仰通道控制力系數(shù),單位為1/s;b1f為俯仰通道氣動(dòng)阻尼力矩系數(shù),單位為1/s;b2f為俯仰通道氣動(dòng)力矩系數(shù),單位為1/s2;b3f為俯仰通道控制力矩系數(shù),單位為1/s2。
(3)
在模型參考自適應(yīng)控制框架的基礎(chǔ)上,系統(tǒng)控制框圖設(shè)計(jì)如圖1所示。俯仰角程序指令φcx同時(shí)作用于參考模型和原俯仰通道閉環(huán)控制系統(tǒng),輸出分別為φm和φ,二者之差為φe。BP神經(jīng)網(wǎng)絡(luò)輸入選擇φe、視速度WX1以及偏置值1(未在框圖中畫出)。在此條件下,通過訓(xùn)練網(wǎng)絡(luò)實(shí)現(xiàn)PID控制參數(shù)的自適應(yīng)調(diào)節(jié)。
圖1 模型參考自適應(yīng)控制方案框圖
選用了三層BP神經(jīng)網(wǎng)絡(luò),包含輸入層I,隱含層H和輸出層O,網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
輸入層I的神經(jīng)元節(jié)點(diǎn)輸入與輸出相同,表示為:
(4)
式中:上標(biāo)in和out分別指神經(jīng)元的輸入和輸出,k指當(dāng)前時(shí)刻,M為輸入層神經(jīng)元的個(gè)數(shù)。顯然,本文中M取3。
隱含層H的輸入、輸出分別為:
(5)
(6)
式中:wih為輸入層和隱含層之間的網(wǎng)絡(luò)權(quán)重,N為隱含層神經(jīng)元的個(gè)數(shù);隱含層神經(jīng)元的激活函數(shù)一般選用關(guān)于原點(diǎn)正負(fù)對(duì)稱的Tan-Sigmoid函數(shù):
(7)
輸出層O的輸入、輸出分別為:
(8)
(9)
式中:who為隱含層和輸出層之間的網(wǎng)絡(luò)權(quán)重。神經(jīng)網(wǎng)絡(luò)輸出為PID參數(shù),也可以表示為:
(10)
(11)
(12)
PID參數(shù)的輸出系數(shù)為2.5、0.01和0.25。由于PID參數(shù)不能為負(fù)數(shù),因此輸出層神經(jīng)元的激活函數(shù)為非負(fù)的Log-Sigmoid函數(shù):
(13)
選取性能指標(biāo)函數(shù)為:
(14)
式中:yd(k)為期望輸出,y(k)為實(shí)際輸出,取二者之差的平方作為網(wǎng)絡(luò)訓(xùn)練的性能指標(biāo),訓(xùn)練的最終目標(biāo)是使J(k)收斂到最小值。采用最速下降法來對(duì)各層神經(jīng)網(wǎng)絡(luò)權(quán)重進(jìn)行調(diào)制。訓(xùn)練時(shí),沿著性能指標(biāo)減小的方向,從輸出層開始逐層向前進(jìn)行修正。因此應(yīng)計(jì)算J(k)對(duì)who的梯度,輸出層和隱含層之間的網(wǎng)絡(luò)權(quán)重的增量為:
(15)
式中:η3>0為學(xué)習(xí)速率,α3>0為動(dòng)量因子,α3Δwho(k-1)為慣性項(xiàng)。上式表示網(wǎng)絡(luò)權(quán)重系數(shù)的修正和2部分有關(guān):1)當(dāng)前時(shí)刻J(k)對(duì)who的梯度值;2)前一時(shí)刻權(quán)值更新的方向和幅度,這樣一定程度上增加了權(quán)值更新的慣性,使網(wǎng)絡(luò)訓(xùn)練具有了一定的抗震蕩能力,同時(shí)也能加速網(wǎng)絡(luò)的收斂。
然后根據(jù)鏈?zhǔn)角髮?dǎo)法則和誤差反向傳播算法即可求出神經(jīng)網(wǎng)絡(luò)權(quán)值更新率,文獻(xiàn)[2]中有詳細(xì)原理推導(dǎo),在此不再贅述,最終得到輸出層和隱含層之間的權(quán)值更新率為:
(16)
(17)
隱含層到輸入層之間的權(quán)值更新率為:
(18)
(19)
式中,η2>0為學(xué)習(xí)速率,α2>0為慣性系數(shù)。
擴(kuò)張狀態(tài)觀測(cè)器是自抗擾控制的核心組成部分,它將被控對(duì)象的輸入量和輸出量作為輸入,能夠?qū)?nèi)部不確定性和外部擾動(dòng)擴(kuò)張為新的變量估計(jì)出來,并實(shí)現(xiàn)對(duì)控制量的補(bǔ)償[11]。將非線性ESO簡(jiǎn)化為L(zhǎng)ESO,降低了需要調(diào)整的參數(shù)的數(shù)量,因此也被推廣到實(shí)際工程應(yīng)用中。圖3為加入LESO后的模型參考自適應(yīng)控制方案框圖,圖中的觀測(cè)器為三階,若為兩階觀測(cè)器,則觀測(cè)器輸出為z1和z2,b的取值與系統(tǒng)特性有關(guān),此時(shí)b=b3f。那么補(bǔ)償后的控制量可以用式(20)表示:
圖3 加入LESO后的模型參考自適應(yīng)控制方案框圖
δφ=uφ-ub
(20)
(21)
(22)
上式的擴(kuò)張狀態(tài)觀測(cè)器可建立如下:
(23)
式中:z1和z2是LESO的輸出,z1是被控對(duì)象俯仰角速度的估計(jì)值,y1是被控對(duì)象俯仰角速度輸出值,z2是總干擾ξ的估計(jì)值。l1和l2是擴(kuò)張狀態(tài)觀測(cè)器的增益值。
對(duì)式(23)進(jìn)行拉式變換并整理可以分別得到由觀測(cè)器輸入u,y1到z1和z2的傳遞函數(shù):
(24)
式中,特征方程為Δ=s2+l1s+l2。
下面對(duì)LESO進(jìn)行誤差分析,首先定義估計(jì)誤差為:
(25)
結(jié)合式(23)和(25),可以得到:
(26)
(27)
結(jié)合式(24)和(25),可以得到:
(28)
顯然觀測(cè)器的輸入u和y1必然是有界的,則可以得到觀測(cè)器的穩(wěn)態(tài)誤差為:
(29)
從理論上可以證明兩階的線性擴(kuò)張狀態(tài)觀測(cè)器能夠較為準(zhǔn)確的跟蹤系統(tǒng)狀態(tài)和干擾項(xiàng)。
分別按照?qǐng)D1和3所示的控制方案,在MATLAB的Simulink工具箱中搭建控制系統(tǒng)框架進(jìn)行仿真,仿真步長(zhǎng)設(shè)置為5ms。參考模型選取如式(30)[2]:
(30)
BP神經(jīng)網(wǎng)絡(luò)選取3-10-3的結(jié)構(gòu),學(xué)習(xí)速率0.5,動(dòng)量因子0.05,神經(jīng)網(wǎng)絡(luò)初值選取[-0.5,0.5]之間的隨機(jī)數(shù)。在導(dǎo)彈飛行過程中,其彈體模型在不斷變化,因此對(duì)式(3)中各個(gè)小偏差方程的系數(shù)按照時(shí)間做插值處理,即自變量為導(dǎo)彈飛行時(shí)間,因變量為各個(gè)小偏差系數(shù),具體變化范圍:b1f為0,b2f為[-0.439,-1.671],b3f為[28.045,101.093],b2f為負(fù)數(shù)說明導(dǎo)彈在此飛行過程中一直處于靜不穩(wěn)定狀態(tài)。導(dǎo)彈二級(jí)主動(dòng)段飛行時(shí)間為35s,姿控噴管最大擺角為4.2°。在本文設(shè)計(jì)的控制方案下,BP神經(jīng)網(wǎng)絡(luò)根據(jù)網(wǎng)絡(luò)輸入進(jìn)行權(quán)值更新,經(jīng)過多次前向計(jì)算和誤差反向傳播,最后獲得一組收斂的權(quán)值。仿真時(shí),將收斂后的網(wǎng)絡(luò)權(quán)值送入網(wǎng)絡(luò),進(jìn)行一次前向計(jì)算得到仿真結(jié)果。
圖4和5中,導(dǎo)彈的俯仰角輸出曲線和俯仰角指令具有良好的一致性,剛開始跟蹤誤差較大,但很快誤差下降到0.5°以內(nèi),屬于可接受范圍。圖6是俯仰通道姿控噴管擺角曲線,在最大限幅以內(nèi)。圖7是PID控制參數(shù)自適應(yīng)調(diào)整曲線,其參數(shù)變化規(guī)律和實(shí)際工程較為相似,并且由圖8的開環(huán)系統(tǒng)伯德圖和表1中的裕度統(tǒng)計(jì)可以看出,此時(shí)控制系統(tǒng)的相位裕度均大于30°,幅值裕度均大于4dB,滿足工程實(shí)際需求。
圖4 俯仰角指令跟蹤曲線
圖5 俯仰角跟蹤誤差曲線
圖6 噴管擺角曲線
圖7 控制參數(shù)曲線
圖8 開環(huán)系統(tǒng)伯德圖
表1 裕度統(tǒng)計(jì)表
為了進(jìn)一步提高姿控系統(tǒng)在干擾條件下的魯棒性,按照式(23)搭建LESO,ω0取10rad/s,加入觀測(cè)器后的仿真結(jié)果如下:
在運(yùn)行1s時(shí)分別加入外部常值干擾fd=2/57.3×1(t)和正弦變化干擾fd=2/57.3sin(0.2t),圖9是在加入干擾后不同情況下俯仰角誤差曲線的收斂情況。可以看出,未加入擴(kuò)張狀態(tài)觀測(cè)器之前,只在PID控制器的作用下,系統(tǒng)的抗干擾性能極差,無法抵抗外界擾動(dòng)。加入LESO后,系統(tǒng)能夠快速抑制外界干擾帶來的影響,提高姿態(tài)控制系統(tǒng)的魯棒性,動(dòng)態(tài)性能較好。并且通過對(duì)比加入兩階和加入三階觀測(cè)器的曲線可以發(fā)現(xiàn),在加入相同常值干擾的情況下,二者的俯仰角跟蹤誤差最大值分別為0.93°和0.68°,而加入相同正弦變化干擾時(shí)的跟蹤誤差最大值分別為0.21°和0.16°。兩階LESO更能夠減小擾動(dòng)對(duì)姿態(tài)角跟蹤的影響,這是因?yàn)閿U(kuò)張狀態(tài)觀測(cè)的階數(shù)越高,相位滯后越嚴(yán)重,降低系統(tǒng)的快速性[13]。
圖9 不同情況下俯仰角的跟蹤誤差曲線
圖10~13是常值干擾下加入兩階LESO的仿真結(jié)果。在1s時(shí)加入常值干擾后,俯仰角會(huì)有突變,但在很短時(shí)間內(nèi)重新跟蹤俯仰角指令,俯仰角跟蹤誤差在0.5s內(nèi)快速收斂,并在±0.2°以內(nèi)浮動(dòng),觀測(cè)器輸出的干擾估計(jì)量與理論值會(huì)有一定偏差,但是俯仰角速度估計(jì)值與理論值一致性較好,能夠?qū)崿F(xiàn)較為準(zhǔn)確的指令跟蹤。
圖10 常值干擾下加入兩階LESO的俯仰角指令跟蹤曲線
圖14~17是在正弦變化干擾后加入兩階LESO的仿真結(jié)果。在1s時(shí)加入正弦波變化的干擾,和加入常值干擾時(shí)類似,姿態(tài)角會(huì)產(chǎn)生突變但在很短時(shí)間內(nèi)重新跟蹤指令,在0.5s內(nèi)快速收斂,并在±0.3°的誤差以內(nèi)浮動(dòng),擴(kuò)張狀態(tài)觀測(cè)器對(duì)姿態(tài)角速度的估計(jì)會(huì)受正弦波干擾的影響,但影響不大,同樣能夠?qū)崿F(xiàn)較為準(zhǔn)確的指令跟蹤。
圖11 常值干擾下加入兩階LESO的噴管擺角曲線
圖12 常值干擾下兩階LESO的俯仰角速度估計(jì)曲線
圖13 常值干擾下兩階LESO的干擾項(xiàng)估計(jì)曲線
圖14 正弦干擾下加入兩階LESO俯仰角指令跟蹤曲線
圖15 正弦干擾下加入兩階LESO的噴管擺角曲線
圖16 正弦干擾下兩階LESO的俯仰角速度估計(jì)曲線
圖17 正弦干擾下兩階LESO的干擾項(xiàng)估計(jì)曲線
提出了一種基于模型參考自適應(yīng)控制的神經(jīng)網(wǎng)絡(luò)姿態(tài)控制方法,并加入兩階線性擴(kuò)張狀態(tài)觀測(cè)器,最終實(shí)現(xiàn)了姿態(tài)角指令的穩(wěn)定跟蹤。主要結(jié)論如下:
1) 將表征導(dǎo)彈飛行狀態(tài)的視速度加入神經(jīng)網(wǎng)絡(luò)輸入進(jìn)行訓(xùn)練,獲得的PID控制參數(shù)自適應(yīng)調(diào)整規(guī)律和工程實(shí)際較為相近,實(shí)現(xiàn)了由計(jì)算機(jī)代替人工調(diào)參、提高了設(shè)計(jì)過程的智能化,且系統(tǒng)的開環(huán)傳遞函數(shù)的相角裕度均大于30°,幅值裕度均大于4dB,姿控噴管擺角未超出限制,滿足工程需求;
2) 在加入相同常值干擾的情況下,加入三階LESO和兩階LESO的俯仰角跟蹤誤差最大值分別為0.93°和0.68°,而加入相同正弦變化干擾時(shí)的跟蹤誤差最大值分別為0.21°和0.16°,兩階的觀測(cè)器更能夠降低外界擾動(dòng)對(duì)系統(tǒng)的影響。而且無論是加入常值干擾還是正弦變化干擾,經(jīng)過兩階LESO的控制量補(bǔ)償,姿態(tài)角指令能夠在0.5s內(nèi)很快地重新跟蹤指令,實(shí)現(xiàn)了擾動(dòng)的快速抑制,提高了系統(tǒng)的魯棒性能。