程 波, 何貴波, 李 天
(1.沈陽飛機(jī)設(shè)計研究所,沈陽 110035;2.空軍第二飛行學(xué)院,西安 710306)
飛機(jī)是一種復(fù)雜的多輸入多輸出被控對象,存在較強(qiáng)的耦合動力學(xué)特性,這種耦合的動力學(xué)特性隨著飛行狀態(tài)的改變而改變,存在非線性和時變特性,在進(jìn)行飛行控制律設(shè)計時,為了獲得好的控制品質(zhì),有必要對各輸出量進(jìn)行解耦,并且使控制器能根據(jù)被控對象動力學(xué)特性的改變而自適應(yīng)調(diào)整。
傳統(tǒng)的解耦方法如對角矩陣法、相對增益分析法、特征曲線分析法、狀態(tài)變量法等,根據(jù)精確數(shù)學(xué)模型設(shè)計,當(dāng)被控對象存在時變、非線性特性,或建模不精確時,控制效果就比較差。而神經(jīng)網(wǎng)絡(luò)控制器是當(dāng)前應(yīng)用比較廣泛的智能控制器,不需要被控對象精確的數(shù)學(xué)模型,能夠自適應(yīng)地調(diào)整,解決傳統(tǒng)控制技術(shù)無法解決的復(fù)雜的、不確定性的、非線性特性的控制問題[1-3]。本文引入一種PID神經(jīng)網(wǎng)絡(luò)解耦控制技術(shù)[4-5],其網(wǎng)絡(luò)結(jié)構(gòu)根據(jù)傳統(tǒng)PID控制系統(tǒng)演變而來,每一個神經(jīng)元都具有明確的物理意義,解決了隱含層神經(jīng)元個數(shù)按經(jīng)驗取值的問題。
一個典型的被控對象為2輸入2輸出系統(tǒng)的神經(jīng)網(wǎng)絡(luò)PID解耦控制系統(tǒng),結(jié)構(gòu)如圖1所示。
圖1 PID神經(jīng)網(wǎng)絡(luò)解耦控制系統(tǒng)結(jié)構(gòu)框圖Fig.1 Structure of PID neural network decoupling control system
圖中:r1,r2為兩個期望輸出;y1,y2為被控對象的實際輸出;k1,k2為增益;u1,u2為控制量;G11,G12分別為u1到y(tǒng)1和y2的傳遞函數(shù);G21,G22分別是u2到y(tǒng)1和y2的傳遞函數(shù)??刂破鳛閮蓚€相同結(jié)構(gòu)的2-3-1神經(jīng)子網(wǎng)絡(luò)組成,每個子網(wǎng)絡(luò)的輸入層由兩個節(jié)點(diǎn)構(gòu)成。其中:子網(wǎng)絡(luò)1的輸入是r1和y1;子網(wǎng)絡(luò)2的輸入是r2和y2;每個子網(wǎng)絡(luò)的隱含層由3個節(jié)點(diǎn)構(gòu)成,實現(xiàn)PID功能;每個子網(wǎng)絡(luò)的輸出層由1個節(jié)點(diǎn)構(gòu)成,其輸出經(jīng)增益后為控制量。
圖1所示的PID神經(jīng)網(wǎng)絡(luò)之所以能實現(xiàn)解耦控制,首先是因為多層神經(jīng)網(wǎng)絡(luò)本身具有任意精度的非線性逼近能力,還因為本文PID神經(jīng)網(wǎng)絡(luò)的特殊結(jié)構(gòu)。該神經(jīng)網(wǎng)絡(luò)由兩個子網(wǎng)絡(luò)構(gòu)成,兩個子網(wǎng)絡(luò)在輸入層到隱含層沒有交叉,只是為各自的隱含層提供誤差的多種組合,在隱含層到輸出層有交叉。正是通過這種隱含層到輸出層的交叉,不斷學(xué)習(xí)被控對象的耦合逆動力學(xué)特性,當(dāng)交叉網(wǎng)絡(luò)通過學(xué)習(xí),能完全映射被控對象的耦合逆動力學(xué)特性時,就可以實現(xiàn)被控對象的解耦控制。
對于圖1中所示的2輸入2輸出PID神經(jīng)網(wǎng)絡(luò)解耦控制器,前向算法如下。
輸入層:xsi(k)=vsi(k),xsi(k)為輸入層的輸出,vsi(k)為輸入層的輸入。s為輸入輸出序號,也是子網(wǎng)絡(luò)序號,s=1,2;i是每個子網(wǎng)絡(luò)輸入層節(jié)點(diǎn)序號,i=1,2。
隱含層由3個節(jié)點(diǎn)構(gòu)成:每個節(jié)點(diǎn)輸入vsj(k)=,j是每個子網(wǎng)絡(luò)隱含層節(jié)點(diǎn)序號,j=1,2,3;wsij是每個子網(wǎng)絡(luò)輸入層第i節(jié)點(diǎn)到隱含層第j節(jié)點(diǎn)的連接權(quán)值。隱含層3個節(jié)點(diǎn)的輸出為
由式(1)實現(xiàn)P功能,式(2)實現(xiàn)I功能,式(3)實現(xiàn)D功能。為使網(wǎng)絡(luò)穩(wěn)定,對每個節(jié)點(diǎn)輸出進(jìn)行-1到1的限幅。
由于神經(jīng)子網(wǎng)絡(luò)通過交叉構(gòu)成的廣義網(wǎng)絡(luò)采用誤差反向傳播的算法,學(xué)習(xí)的目標(biāo)是使目標(biāo)函數(shù)
取得最小值min E,其中:m為采樣點(diǎn)數(shù);s=1,2,為輸入輸出序號;es(k)=rs(k)-ys(k),為每個期望輸出與被控對象實際輸出的誤差;。神經(jīng)網(wǎng)絡(luò)的權(quán)值按梯度下降法更新。隱含層到輸出層更新公式為
本節(jié)將驗證PUs與SUs同時存在于CRN時,幾種頻譜資源分配算法性能對比.在網(wǎng)絡(luò)中部署4個PUs,分別位于(30,30)(30,70)(70,30)和(75,30)處,干擾半徑均為30m,以概率θ分別對信道1、2、3和1獨(dú)占使用,則信道空閑概率為μ=1-θ.
式中:η1為學(xué)習(xí)速率;α1為慣性擾動系數(shù)。由于系統(tǒng)存在耦合,所以對于第一個子網(wǎng)絡(luò)有
對于第二個子網(wǎng)絡(luò)有
由式(6)、式(7)可見,由于耦合的存在,從被控對象反傳到每個子網(wǎng)絡(luò)的誤差是所有輸出對相應(yīng)輸入的偏導(dǎo)數(shù)之和與總誤差的乘積構(gòu)成的。定義反傳到第一、第二個子網(wǎng)絡(luò)的誤差分別為
輸入層到隱含層更新公式為
式中:η2為學(xué)習(xí)速率;α2為慣性擾動系數(shù)。對每個子網(wǎng)絡(luò)有
因為 vsh=xsj,所以式(12)、(13)中
RBF網(wǎng)絡(luò)的設(shè)計思想是將徑向基函數(shù)應(yīng)用于神經(jīng)網(wǎng)絡(luò)作為激勵函數(shù)。不同于BP網(wǎng)絡(luò)的全局逼近性能,它是一種局部逼近網(wǎng)絡(luò),對于每個訓(xùn)練樣本,只需要對少量的權(quán)值進(jìn)行修正,因此訓(xùn)練速度快,適合在線辨識,其拓?fù)浣Y(jié)構(gòu)如圖2所示。
圖2 RBF網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Structure of RBF neural network
網(wǎng)絡(luò)由3層構(gòu)成:第一層為輸入層,由信號源節(jié)點(diǎn)組成,單元個數(shù)由所描述問題的需要決定;第二層為隱含層,是一組由徑向基函數(shù)構(gòu)成的非線性映射層,從而將輸入矢量直接映射到隱含層空間,當(dāng)徑向基函數(shù)的中心點(diǎn)確定以后,這種映射關(guān)系也就確定了;第三層為輸出層,提供從隱單元空間到輸出空間的一種線性變換。其中隱含層是RBF網(wǎng)絡(luò)的核心,隱含層神經(jīng)元的變換函數(shù)是一種局部分布的對中心點(diǎn)徑向?qū)ΨQ衰減的非線性函數(shù),利用徑向基函數(shù)作為隱含層神經(jīng)元的基,構(gòu)成隱含層空間,實現(xiàn)輸入矢量到輸出矢量的映射變換。本文采用高斯函數(shù)為變換函數(shù)的徑向基神經(jīng)網(wǎng)絡(luò),設(shè)輸入層、隱含層、輸出層分別有n,m,q個神經(jīng)元。
前向算法為
式中:ci,bi是徑向基神經(jīng)元的中心和寬度;i和j=1,2,…,q分別為隱含層和輸出層節(jié)點(diǎn)序號;x為n維輸入向量,其維數(shù)也是輸入層節(jié)點(diǎn)數(shù)。
RBF網(wǎng)絡(luò)的學(xué)習(xí)算法有多種[1-3],這里采用類似于式(5)的梯度下降法。取性能指標(biāo)函數(shù)為
式中,Y(k)和Y^(k)分別是被控對象的實際輸出和神經(jīng)網(wǎng)絡(luò)辨識器輸出。
隱含層到輸出層權(quán)值更新算法[7-8]為
中心cni和寬度bi更新算法為
式(18)~ 式(20)中:η3、η4、η5為學(xué)習(xí)速率;α3、α4、α5為慣性擾動系數(shù)。
圖1的PID神經(jīng)網(wǎng)絡(luò)解耦控制器理論上可以適用于n輸入n輸出系統(tǒng)的解耦控制。但是隨著輸入輸出維數(shù)的增加,每個子網(wǎng)絡(luò)輸入層到隱含層的映射關(guān)系卻沒有改變,權(quán)值學(xué)習(xí)負(fù)擔(dān)將會增加,將很難實現(xiàn)解耦控制。為此,提出一種新的網(wǎng)絡(luò)結(jié)構(gòu),以增加隱層節(jié)點(diǎn)為代價,針對反傳誤差的每一個分量設(shè)計網(wǎng)絡(luò),具體結(jié)構(gòu)如圖3所示。
圖3 改進(jìn)的PID神經(jīng)網(wǎng)絡(luò)解耦控制系統(tǒng)結(jié)構(gòu)框圖Fig.3 Improved structure of PID neural network decoupling control system
由圖3可以看出,與圖1比較只是增加了隱層的PID單元節(jié)點(diǎn),前向算法與圖1所示結(jié)構(gòu)的算法相同,反向傳播算法略有不同。將式(8)、式(9)中D1、D2分解為
式(23)、式(24)中,E1、E2與e1、e2的關(guān)系由式Es=,2 給出。圖3 中,子網(wǎng)絡(luò)N11、N12、N21、N22分別學(xué)習(xí)d11、d21、d12、d22。圖2 相比圖1 增加了隱含層節(jié)點(diǎn),使網(wǎng)絡(luò)結(jié)構(gòu)看起來變復(fù)雜了,實際上對誤差學(xué)習(xí)的針對性變強(qiáng)了,可以隨輸入輸出維數(shù)的變化增減相應(yīng)的子網(wǎng)絡(luò)。如果用硬件實現(xiàn),將更能體現(xiàn)出神經(jīng)網(wǎng)絡(luò)并行計算的優(yōu)越性。
神經(jīng)元網(wǎng)絡(luò)多輸入多輸出控制系統(tǒng)的收斂性和穩(wěn)定性取決于學(xué)習(xí)速率的選擇,可以利用Lyapunov穩(wěn)定性原理確定系統(tǒng)收斂的學(xué)習(xí)速率的范圍。由定理可知,當(dāng)神經(jīng)元網(wǎng)絡(luò)的學(xué)習(xí)速率滿足0<η<,其中,,權(quán)值調(diào)整算法W(K+1)=W(K)-,保證控制系統(tǒng)在學(xué)習(xí)過程中收斂。證明過程詳見文獻(xiàn)[4]。
某飛機(jī)橫側(cè)向線性化模型為[9]
式中:x= [p rβ φ ]T,p,r,β,φ 分別表示滾轉(zhuǎn)速率、偏航速率、側(cè)滑角和滾轉(zhuǎn)角;u= [ δaδr]T,δa,δr分別表示副翼和方向舵偏角;輸出y=[β φ]T。取采樣周期為0.01 s,將式(25)離散化編程實現(xiàn),離散化方法見文獻(xiàn)[10-12]。分別運(yùn)用圖1、圖3所示的神經(jīng)網(wǎng)絡(luò)PID解耦控制系統(tǒng)進(jìn)行仿真,辨識器結(jié)構(gòu)4-5-2。初始狀態(tài)側(cè)滑角和滾轉(zhuǎn)角設(shè)定值為r0= [ β0φ0]T=[ 0 0]T,在某個采樣周期將設(shè)定值分別調(diào)整為[ 1 0]T和[ 0 1]T,單位為(°)。響應(yīng)結(jié)果如圖 4、圖5所示。
圖4 改進(jìn)前的解耦響應(yīng)Fig.4 Decoupling response of the original structure
圖5 改進(jìn)后的解耦響應(yīng)Fig.5 Decoupling response of the improved structure
圖4、圖5 中:u1、u2分別是副翼、方向舵偏角;r1、r2是側(cè)滑、滾轉(zhuǎn)角設(shè)定值;y1、y2是側(cè)滑、滾轉(zhuǎn)角實際輸出值。圖4、圖5分別是圖1、圖3所示控制系統(tǒng)的響應(yīng),從響應(yīng)結(jié)果可知,不論設(shè)定值從[ ]0 0T調(diào)整為[ ]1 0T或[ ]0 1T,兩種控制結(jié)構(gòu)都可以達(dá)到穩(wěn)態(tài)解耦,但是圖4的舵偏角大于圖5,實際輸出y1、y2有超調(diào)和振蕩,控制效果明顯不如圖5。圖5的舵偏角較小,實際輸出y1、y2平滑,沒有超調(diào)和振蕩,充分說明了圖3結(jié)構(gòu)比圖1結(jié)構(gòu)控制效果更有效。
兩種神經(jīng)網(wǎng)絡(luò)PID解耦控制器都能實現(xiàn)飛機(jī)橫側(cè)向的解耦控制,從仿真過程學(xué)習(xí)速率、慣性擾動系數(shù)的調(diào)試效果來看,圖3比圖1所示結(jié)構(gòu)更容易實現(xiàn)解耦,且效果更好,但因為增加了節(jié)點(diǎn)和連接權(quán)重而導(dǎo)致計算量稍有增加。
因為輸入維數(shù)小于輸出維數(shù)的“瘦”系統(tǒng)很難實現(xiàn)所有輸出的解耦控制[13],所以本文僅對2輸入2輸出的“方”系統(tǒng)進(jìn)行仿真,在橫側(cè)向的解耦過程中,僅對側(cè)滑角、滾轉(zhuǎn)角解耦,需要切換解耦對象時可調(diào)整狀態(tài)空間輸出矩陣實現(xiàn)。
本文采用靜態(tài)神經(jīng)網(wǎng)絡(luò)辨識系統(tǒng),延遲單元的階數(shù)實際過程需要根據(jù)誤差試取,可以采用如Elman網(wǎng)絡(luò)結(jié)構(gòu)的動態(tài)神經(jīng)網(wǎng)絡(luò)辨識系統(tǒng)加以避免,值得進(jìn)一步研究。本文的方法同樣適用于飛機(jī)縱向解耦控制。
[1]李人厚.智能控制理論和方法[M].西安:西安電子科技大學(xué)出版社,1999.
[2]趙明旺,王杰.智能控制[M].武漢:華中科技大學(xué)出版社,2010.
[3]李少遠(yuǎn),王景成.智能控制[M].北京:機(jī)械工業(yè)出版社,2009.
[4]劉延峰.X型航空發(fā)動機(jī)神經(jīng)網(wǎng)絡(luò)控制研究[D].西安:西北工業(yè)大學(xué),2003.
[5]蔣銳權(quán).基于神經(jīng)網(wǎng)絡(luò)的自適應(yīng)控制算法和伺服控制系統(tǒng)的研究[D].西安:西安交通大學(xué),2000.
[6]CHEN J H,HUANG T C.Applying neural networks to online updated PID controllers for nonlinear process control[J].Journal of Process Control,2004,14(2):211-230.
[7]蔡開龍,姚武文,孫云帆,等.飛機(jī)戰(zhàn)傷搶修備件需求預(yù)測方法研究[J].電光與控制,2010,17(12):60-63.
[8]沈曉洋,陳洪亮,劉昇.機(jī)載陀螺穩(wěn)定平臺控制算法[J].電光與控制,2011,18(4):46-50.
[9]齊曉慧.簡單自適應(yīng)魯棒飛行重構(gòu)控制律研究[J].兵工學(xué)報,2009,30(12):1734-1737.
[10]趙亞斌,高金源.多模型方法在飛控系統(tǒng)故障重構(gòu)控制中的應(yīng)用 [J].飛行力學(xué),2004,22(3):76-79.
[11]張德豐.Matlab自動控制系統(tǒng)設(shè)計[M].北京:機(jī)械工業(yè)出版社,2010.
[12]張德豐.Matlab/Simulink建模與仿真[M].北京:電子工業(yè)出版社,2009.
[13]潘立登.先進(jìn)控制與在線優(yōu)化技術(shù)及其應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2009.