楊廣慧 杜立夫 李 輝 劉旭東
北京航天自動(dòng)控制研究所, 北京 100854
近年來,各類復(fù)雜航空飛行器、航天飛行器的結(jié)構(gòu)和任務(wù)需求日益復(fù)雜,對(duì)其控制性能(包括精確性、穩(wěn)定性、抗干擾性和收斂速度等)的要求越來越高[1]。由于跨域空間飛行器飛行高度和飛行馬赫數(shù)跨度大、飛行環(huán)境復(fù)雜,特別是高超聲速臨近空間飛行器在飛行過程中氣動(dòng)和氣熱特性變化劇烈[2-3],飛行器所受的氣動(dòng)力及力矩的數(shù)學(xué)模型復(fù)雜,非線性程度強(qiáng),很難獲得其精確的解析表達(dá)形式。因此在飛行過程中,如果能夠?qū)崟r(shí)辨識(shí)出飛行器的氣動(dòng)特性及參數(shù),不僅能增強(qiáng)系統(tǒng)的魯棒性與適應(yīng)性,還可以有效提升控制精度。
神經(jīng)網(wǎng)絡(luò)自提出以來,在模式識(shí)別、感知學(xué)習(xí)、模型建立與智能控制方面取得了巨大發(fā)展和應(yīng)用[4-5]。神經(jīng)網(wǎng)絡(luò)可以任意精度逼近非線性系統(tǒng)的輸入輸出特性,是一種非線性系統(tǒng)辨識(shí)建模的有效工具[6-7]。用其作為非線性系統(tǒng)辨識(shí)模型,可以較好地解決復(fù)雜非線性系統(tǒng)的辨識(shí)建模和辨識(shí)問題。目前應(yīng)用較為廣泛的、比較成熟的神經(jīng)網(wǎng)絡(luò)為反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò),是人工神經(jīng)網(wǎng)絡(luò)中較為典型的一種前饋網(wǎng)絡(luò),特別適合處理系統(tǒng)的非線性、不確定性以及逼近系統(tǒng)或結(jié)構(gòu)特性的辨識(shí)函數(shù)等問題[8-9]。劉曉東等人[10]運(yùn)用基于BP神經(jīng)網(wǎng)絡(luò)的模型參考自適應(yīng)控制方法設(shè)計(jì)姿態(tài)控制器,采用模型參考自適應(yīng)控制的基本設(shè)計(jì)框架,通過BP神經(jīng)網(wǎng)絡(luò)對(duì)PID控制參數(shù)進(jìn)行自主調(diào)節(jié),實(shí)現(xiàn)控制器的輸出逼近參考模型的輸出,完成自適應(yīng)控制設(shè)計(jì),確保飛行器姿態(tài)控制系統(tǒng)的性能指標(biāo),但飛行性能需要依賴參考模型的選取,本文采用BP神經(jīng)網(wǎng)絡(luò)對(duì)飛行器關(guān)鍵參數(shù)舵效系數(shù)b3進(jìn)行辨識(shí),根據(jù)b3調(diào)節(jié)比例增益,運(yùn)用已知的吹風(fēng)氣動(dòng)數(shù)據(jù)離線訓(xùn)練神經(jīng)網(wǎng)絡(luò)即可,不需依賴其他模型的選取,具有工程實(shí)用性。朱海洋等人[10]提出基于徑向基(Radial Basis Function,RBF)神經(jīng)網(wǎng)絡(luò)的容錯(cuò)控制方法,利用RBF神經(jīng)網(wǎng)絡(luò),在線辨識(shí)并補(bǔ)償火箭動(dòng)力學(xué)模型中控制量以外的變化值,有效解決發(fā)動(dòng)機(jī)推力下降故障下姿態(tài)穩(wěn)定的問題,本文BP神經(jīng)網(wǎng)絡(luò)相比于RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)簡單,且利用離線進(jìn)行神經(jīng)網(wǎng)絡(luò)參數(shù)計(jì)算,可以有效解決計(jì)算效率慢的問題。
工程上常采用自適應(yīng)增益PID的控制方法,由于其可靠性高,結(jié)構(gòu)簡單且易于實(shí)現(xiàn)等優(yōu)點(diǎn),是飛行器廣泛采用的一種控制形式。想要取得很好的控制能力,就需要精確調(diào)整自適應(yīng)增益參數(shù),結(jié)合BP神經(jīng)網(wǎng)絡(luò)的任意逼近特性,根據(jù)飛行器的氣動(dòng)數(shù)據(jù)離線訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),在飛行過程中根據(jù)該神經(jīng)網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)氣動(dòng)關(guān)鍵參數(shù)的辨識(shí),并將辨識(shí)結(jié)果應(yīng)用到控制系統(tǒng)自適應(yīng)調(diào)參中,最終提高控制性能。
BP神經(jīng)網(wǎng)絡(luò)屬于有監(jiān)督的學(xué)習(xí)網(wǎng)絡(luò),是簡單的多層神經(jīng)網(wǎng)絡(luò),也是人工神經(jīng)網(wǎng)絡(luò)中最具代表性的一種網(wǎng)絡(luò)模型。它是由非線性變化單元組成的一種前饋型網(wǎng)絡(luò),一般由3個(gè)神經(jīng)元次組成,即輸入層、隱含層和輸出層,其中輸入層和輸出層各一個(gè),隱含層可以有多個(gè)。各層的神經(jīng)元之間形成權(quán)互連接,而同一層次內(nèi)的神經(jīng)元之間無連接。因此,每一層的神經(jīng)元只對(duì)前一層神經(jīng)元輸入敏感;每一層神經(jīng)元的輸出只影響下一層的輸出。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
輸入層:用來表示網(wǎng)絡(luò)的輸入個(gè)數(shù),其處理單元數(shù)目依據(jù)具體問題而定。
隱含層:用來表示輸入處理單元間的交互影響,均使用非線性轉(zhuǎn)換函數(shù)。
輸出層:用來表示網(wǎng)絡(luò)的輸出個(gè)數(shù),其處理單元個(gè)數(shù)依據(jù)實(shí)際問題而定,使用非線性轉(zhuǎn)換函數(shù)。
實(shí)際應(yīng)用中,BP網(wǎng)絡(luò)輸入層的節(jié)點(diǎn)數(shù)由訓(xùn)練樣本X=(x1,x2,…,xn)的維數(shù)n決定,同樣輸出層的節(jié)點(diǎn)數(shù)由輸出向量Y=(y1,y2,…,ym)的維數(shù)m決定。已經(jīng)證明,對(duì)任何在閉區(qū)間內(nèi)的連續(xù)函數(shù),都可以用1個(gè)三層的BP網(wǎng)絡(luò)(即含有一個(gè)隱含層)逼近,1個(gè)3~4層的BP神經(jīng)網(wǎng)絡(luò)可以完成任意的n維到m維的映射。
BP算法是一種迭代算法,每一次學(xué)習(xí)過程由輸入數(shù)據(jù)的正向傳播和誤差的反向2個(gè)過程組成,其過程可以描述如下。
1)輸入信號(hào)正向傳播
輸入信號(hào)從輸入層經(jīng)由隱含層,傳向輸出層,在輸出層輸出信號(hào),這是輸入信號(hào)的正向傳播。在信號(hào)向前傳播的過程中,網(wǎng)絡(luò)的權(quán)值不變化,每一層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。如果在輸出層得不到期望的輸出,則轉(zhuǎn)入誤差反向傳播。
多層網(wǎng)絡(luò)某一層的輸出為下一層的輸入,可描述為
Am+1=Fm+1(Wm+1×Am+Bm+1),
(m=1,2,…,M-1)
(1)
其中,M為網(wǎng)絡(luò)層數(shù),第一層為輸入P。
定義誤差函數(shù)
(2)
2)誤差信號(hào)反向傳播
網(wǎng)絡(luò)的實(shí)際輸出與期望輸出之差即為誤差信號(hào),誤差經(jīng)由輸出層開始逐層向前傳播,這是誤差信號(hào)的反向傳播。在誤差信號(hào)反向傳播程中,網(wǎng)絡(luò)的權(quán)值由誤差反饋進(jìn)行調(diào)節(jié)。通過權(quán)值的不斷修正,使網(wǎng)絡(luò)的實(shí)際與期望輸出更加接近。
利用梯度下降法求權(quán)值變化。
(3)
其中η為學(xué)習(xí)速率。
以某跨域空間飛行器為例,氣動(dòng)參數(shù)非線性嚴(yán)重,俯仰通道小偏差方程為
(4)
其中,c1為攻角系數(shù),c2為彈道傾角系數(shù),c3為俯仰舵的等效力系數(shù),b1為阻尼系數(shù),b2為靜穩(wěn)定系數(shù),b3為俯仰舵的等效力矩系數(shù),此處不再給出小偏差方程系數(shù)的具體形式。
在訓(xùn)練中,輸入量P為3個(gè)(馬赫數(shù),攻角和側(cè)滑角),輸出量A為1個(gè)(俯仰力矩系數(shù))。選擇3個(gè)輸入,1個(gè)輸出,每層為15神經(jīng)元的兩層隱含層結(jié)構(gòu),其中隱含層激活函數(shù)為雙曲線正切S型函數(shù),輸出層激活函數(shù)為線性函數(shù),訓(xùn)練數(shù)據(jù)樣本為336行數(shù)據(jù)。
經(jīng)過大量的學(xué)習(xí)訓(xùn)練,得到滿足指標(biāo)的神經(jīng)網(wǎng)絡(luò)參數(shù)見式(5)。訓(xùn)練結(jié)果見圖2。
圖2 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果與原始數(shù)據(jù)比較
(5)
其中F1,F(xiàn)2和F3是激活函數(shù);W1,W2和W3為神經(jīng)元連接權(quán)值;B1,B2和B3為偏差量。
訓(xùn)練完成后,W1為[15×3]矩陣、W2為[15×15]矩陣、W3為[1×15]矩陣。B1為[15×1]矩陣、B2為[15×1]矩陣、B3為[1×1]矩陣。得到的網(wǎng)絡(luò)參數(shù)可以用于在線辨識(shí)氣動(dòng)參數(shù),在飛行過程中,只要輸入馬赫數(shù),攻角和側(cè)滑角,按上述的公式即可計(jì)算出俯仰舵的力矩系數(shù)b3,見圖3所示。
圖3 飛行參數(shù)b3實(shí)際值與辨識(shí)值
根據(jù)辨識(shí)值進(jìn)行自適應(yīng)PID控制律設(shè)計(jì),其增量PID控制律設(shè)計(jì)為如下形式:
u(k)=u(k-1)+Δu(k)
(6)
Δu(k)=kp[e(k)-e(k-1)]+kie(k)+
kd[e(k)-2e(k-1)+e(k-2)]
(7)
式中,u(k-1)與u(k)為上一拍與目前拍的控制量,Δu(k)為目前拍控制增量,e(k)、e(k-1)和e(k-2)為目前拍與前兩拍的姿態(tài)跟蹤誤差;kp,kd和ki分別為PID控制律的比例系數(shù)、微分系數(shù)和積分系數(shù),其中kp為根據(jù)辨識(shí)b3得到自適應(yīng)控制增益,即kp=1/b3。
飛行控制框圖如圖所示,控制增益根據(jù)離線訓(xùn)練的神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行實(shí)時(shí)變化。
圖4 基于BP神經(jīng)網(wǎng)絡(luò)的飛行控制框圖
對(duì)某飛行器進(jìn)行六自由度數(shù)學(xué)仿真,仿真選取飛行器對(duì)象的相關(guān)初始參數(shù)為:
初始高度H0=50 km,初始馬赫數(shù)Ma=6.5,初始攻角α=0°、初始側(cè)滑角β=0°;控制參數(shù)中的微分系數(shù)為kd=0.5,積分系數(shù)為ki=0,比例系數(shù)隨飛行狀態(tài)自適應(yīng)變化。神經(jīng)網(wǎng)絡(luò)離線訓(xùn)練完成,得到訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)參數(shù)。將該網(wǎng)絡(luò)載入到飛行器自適應(yīng)姿控系統(tǒng)中,根據(jù)當(dāng)前的飛行參數(shù)在線實(shí)時(shí)計(jì)算出控制增益即控制參數(shù)kp。仿真結(jié)果曲線如圖5所示。
圖5 飛行器自適應(yīng)控制增益曲線
圖5為飛行器從初始狀態(tài)到落地飛行過程中自適應(yīng)增益的變化過程,隨著飛行器舵效自適應(yīng)變化,圖6為在飛行過程中飛行器俯仰姿態(tài)角跟蹤俯仰程序角的過程,圖7為使用其他方法計(jì)算的控制增益與本方法的比較曲線,可以看出由于飛行空間跨度非常大,舵效在整個(gè)飛行過程中變化范圍非常大,對(duì)舵效的辨識(shí)保證了姿態(tài)角快速穩(wěn)定的跟蹤效果,控制效果良好。
圖6 飛行器俯仰姿態(tài)角跟蹤曲線
圖7 飛行器俯仰姿態(tài)角偏差比較
研究了基于BP神經(jīng)網(wǎng)絡(luò)的飛行器參數(shù)識(shí)別與自適應(yīng)控制,首先給出了BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)和算法,結(jié)合BP神經(jīng)網(wǎng)絡(luò)的任意逼近特性,對(duì)氣動(dòng)參數(shù)進(jìn)行離線訓(xùn)練,利用神經(jīng)網(wǎng)絡(luò)訓(xùn)練的結(jié)果進(jìn)行飛行器舵效參數(shù)實(shí)時(shí)辨識(shí),采用自適應(yīng)PID控制方法,根據(jù)辨識(shí)結(jié)果進(jìn)行在線調(diào)整自適應(yīng)控制增益,最終進(jìn)行六自由度數(shù)學(xué)仿真,仿真結(jié)果驗(yàn)證了該方法正確性與有效性,結(jié)果表明飛行器飛行穩(wěn)定,跟蹤效果良好,具有一定工程實(shí)用價(jià)值。