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