丁 浩,黃 波,崔沁青
(海軍潛艇學院, 山東 青島 266000)
水下航行體由于受水流、噪聲等不確定干擾因素的影響,很難用準確的非線性動力學模型對其縱向運動進行描述,現(xiàn)有大多數(shù)控制方法是對模型進行線性化簡化處理,忽略非線性項的影響,在實際中若干擾較大時,可能會出現(xiàn)航行不穩(wěn)定的現(xiàn)象?;?刂茖Ω蓴_和攝動具有自適應性和魯棒性,且設計方法簡單,控制算法容易實現(xiàn),成為解決非線性系統(tǒng)控制問題的一種行之有效的方法,其缺點是由于采用不連續(xù)切換控制律,系統(tǒng)會產(chǎn)生高頻顫動,甚至會使系統(tǒng)不穩(wěn)定[1-3]。而模糊控制能夠很好地處理系統(tǒng)的嚴重顫動問題,且不需要建立系統(tǒng)的準確模型[4-5]。目前,模糊邏輯與滑模控制的結合得到了廣泛地研究和應用,它綜合了模糊控制不依靠對象模型、一致逼近等優(yōu)點和滑??刂启敯粜院谩討B(tài)過程可預見性等優(yōu)點,有效地提高了滑模控制的性能,削弱了顫振[6-10]。但滑模變結構控制器設計一般都較為復雜,給實際應用帶來很大難度。綜合考慮控制精度和實現(xiàn)難度,在控制精度能滿足實際需要的前提下,采用盡量少的模糊控制規(guī)則,分別設計水下航行體定角爬潛和定深航行滑模變結構控制器,并對其控制性能進行仿真驗證。
水下航行體縱向運動方程如式(1)所示:
(1)
式(1)中各參量含義詳見文獻[11],令:
X=[X1,X2,X3,X4,X5]T=[y,θ,ωzB,V,α]T
(2)
設其平衡點為:X0=[y0,θ0,ωzB0,V0,α0]T,則系統(tǒng)誤差:e=X-X0。
由Pontryagin最大值原理可知,對于二維時域控制器,存在一條與切換函數(shù)相對應的非線性切換曲線,控制的輸出值,在切換曲線的一側有最大值,而在另一側有最小值。進行計算機仿真或系統(tǒng)開環(huán)試驗可獲得此切換曲線,得到該曲線后,可進一步進行控制器參數(shù)設計。傳統(tǒng)線性控制器只能將非線性切換曲線進行線性化處理后進行參數(shù)設計,而模糊控制器能夠以高精度對非線性曲線進行參數(shù)估計,如Takagi-Sugeno(TS)型模糊控制器[12]。
將模糊控制和滑模控制結合起來設計控制器,以增強系統(tǒng)的魯棒性。模糊控制器利用系統(tǒng)的滑動模態(tài)來設計,而滑??刂破饕罁?jù)模糊控制器的控制規(guī)則來設計,模糊控制器的輸出便為系統(tǒng)的控制量[13]。兼顧控制精度和工程實現(xiàn)難度,設計一維五規(guī)則模糊控制器,控制規(guī)則如下:
(3)
式中:k為系統(tǒng)控制輸出的最大值;ci為偏移量; φi為邊界層厚度,它們由開環(huán)試驗確定; sat(·)為飽和函數(shù);si為切換函數(shù),由下式確定:
(4)
該控制器輸入為狀態(tài)向量誤差e,輸出為橫舵角δe。
水下航行體縱向運動控制主要包括定角爬潛航行控制和定深航行控制,定義誤差e的語言值為:NB、NM、ZERO、PM、PB,假設輸入模糊子集為:{A-2、A-1、A0、A1、A2}。其對應的語言值為:A-2=NB,A-1= NM,A0= ZERO,A1= PM,A2= PB。
2.2.1定角爬潛航行滑模變結構控制器設計
定角爬潛控制只涉及到俯仰角θ和俯仰角速度ωzB,故以誤差e2和e3為控制器輸入。設計一維五規(guī)則控制器,其控制規(guī)則如下:
(5)
設水下航行體橫舵角最大值為30°,經(jīng)計算機仿真,可得橫舵角與俯仰角的響應曲線如圖1所示。圖1中橫軸為俯仰角θ,縱軸為橫舵角δe。
圖1 橫舵角與俯仰角響應曲線
滑模變結構控制器參數(shù)如下:輸入e2的模糊子集設為:{B-2、B-1、B0、B1、B2},e2的隸屬函數(shù)如圖2所示。
圖2 縱傾角誤差的隸屬函數(shù)曲線
斜率λ2j由圖1中曲線斜率決定;cj用來對曲線進行修正,它在原點附近的取值應使航行體舵角為平衡舵角,使其能保持在平衡狀態(tài)航行,在離原點較遠處其取值應保證舵角的絕對值較大,使航行體能較快地向滑模面移動;邊界層厚度φj可提高航行體的魯棒性,其數(shù)值大小由水流等干擾因素決定,此處φj的取值是由加入流體動力系數(shù)擾動后進行計算機仿真調試所得??刂破饕?guī)則如表1所示。
表1 縱傾控制器參數(shù)規(guī)則
2.2.2定深航行滑模變結構控制器設計
定深航行不僅與θ和ωzB有關,而且與航行深度y有關,以航深誤差e1、俯仰角誤差e2和角速度誤差e3為輸入,設計二維滑模變結構控制器,其控制規(guī)則如下:
(6)
經(jīng)計算機仿真,得到橫舵角與航深的響應曲線如圖3所示。圖3中橫軸為航深y,縱軸為橫舵角δe。
圖3 橫舵角與航深響應曲線
設輸入e1、e2的模糊子集分別為:{C-2、C-1、C0、C1、C2}和{B-2、B-1、B0、B1、B2},e1的隸屬函數(shù)如圖4所示。e2的隸屬函數(shù)以及λ2j的規(guī)則表同前。經(jīng)計算機仿真計算,可確定λ1i、cij和φij的規(guī)則分別如表2、表3和表4所示。
圖4 航深誤差的隸屬函數(shù)曲線
表2 深度控制器參數(shù)λ1i規(guī)則
表3 深度控制器參數(shù)cij規(guī)則表
表4 深度控制器參數(shù)φij規(guī)則表
以國外某水下航行體為例,其參數(shù)見文獻[11],設其航速為30 kn,以-30°縱傾角由10 m下潛至100 m,然后在100 m處定深直航。為貼近實際情況,對式(1)中的每個流體動力系數(shù)都加入隨機擾動,其最大幅度與測量值的絕對值相當,分別對無干擾和存在干擾情況下水下航行體的縱向運動進行仿真,并與比例微分控制進行比較。
對水下航行體在比例微分控制和滑模變結構控制下的定角爬潛航行進行仿真。圖5和圖6分別為在無干擾和有干擾條件下,航行體的航行時間——俯仰角誤差圖,其中橫軸為航行時間,縱軸為俯仰角誤差,虛線和實線分別代表比例微分控制和滑模變結構控制下的俯仰角誤差曲線。
經(jīng)仿真分析可知,無干擾時,兩種控制方法都能控制航行體以設定俯仰角航行,滑模變結構控制能使航行體更快更平穩(wěn)地到達設定狀態(tài)。當存在干擾時,在比例微分控制下,俯仰角出現(xiàn)小幅振蕩,最大誤差為1.52°;而滑模變結構控制下,航行體仍保持以設定俯仰角航行。
圖5 無干擾時水下航行體俯仰角誤差對比圖
圖6 有干擾時水下航行體俯仰角誤差對比圖
對水下航行體定深航行進行仿真,圖7和圖8分別為在無干擾和有干擾條件下,航行體的航行時間-航深誤差圖,其中橫軸為航行時間,縱軸為航行深度誤差。
圖7 無干擾時水下航行體航深誤差對比圖
圖8 有干擾時水下航行體航深誤差對比圖
由圖7分析可知,無干擾時,比例微分控制下,航行體經(jīng)過7.90 s的調整,在設定深度穩(wěn)定航行,調整階段的最大航深誤差為0.56 m;而滑模變結構控制下,航行體在設定深度穩(wěn)定航行需要的調整時間為8.90 s,調整階段的最大航深誤差為0.45 m。由圖8分析可知,當存在干擾時,在比例微分控制下,航行體的航深出現(xiàn)較大振蕩,最大誤差達到2.73 m;而滑模變結構控制下,航行體航深的振幅明顯減小,不考慮初始調整階段,其航深最大誤差為0.37 m。
本文運用滑模變結構控制理論設計水下航行體縱向運動控制律,利用系統(tǒng)的滑動模態(tài)設計模糊控制器,模糊控制器的每個模糊控制規(guī)則由滑模控制器來實現(xiàn),系統(tǒng)控制量由模糊控制器的輸出確定。根據(jù)舵機響應曲線,建立了模糊規(guī)則,確定了控制器的輸入、輸出和其他參數(shù)。進行了仿真計算并與傳統(tǒng)比例微分控制對比,結果表明:當無干擾時,兩種控制方法都能使航行體按預定航路完成定角爬潛運動和定深航行。加入干擾后,在比例微分控制下,航行體定角爬潛時,其俯仰角振幅略有增加,定深航行時,航深誤差最大達到2.73 m;而在滑模變結構控制下,航行體仍能以設定俯仰角進行定角爬潛,定深航行的最大深度誤差為0.37 m,對干擾具有良好的魯棒性。