莊 鵬, 馮正平, 畢安元, 鄭天海, 潘萬鈞, 趙 碩
(上海交通大學 船舶海洋與建筑工程學院;高新船舶與深海開發(fā)裝備協(xié)同創(chuàng)新中心, 上海 200240)
在近水面工況下,潛航器會受到較強的波浪擾動力.波浪對潛航器的擾動力主要可以分為兩類:一階波浪力和二階波浪力.一階波浪力有高頻、高振幅、零均值等特點,所以執(zhí)行機構無法快速抵消也不必去抵消它的擾動作用[1-3].二階波浪力是由多個頻率的波的衍射而產生,其中各個單頻率波的衍射都會產生一個大小穩(wěn)定的方向向上的力和一個變化的力[2, 4-5].因此在遭遇波浪時潛航器主要受到來自于二階波浪力的作用,并且二階波浪力在一段時間內可以被看作一個定常的力.為了保證潛航器在任務結束之后能夠快速返回水面,因此在空載狀態(tài)下潛航器的浮力必須大于其本身的重力,這部分合力被稱為剩余浮力.二階波浪力和剩余浮力可以被統(tǒng)稱為潛航器受到的不平衡力.低速航行的潛航器通過調節(jié)水平舵舵角所能產生的垂直作用力較小,可能無法抵抗這些不平衡力.綜上所述,為了抵抗不平衡力,潛航器必須引入可調節(jié)水艙、垂向推進器等其他執(zhí)行機構參與控制,從而使?jié)摵狡魃疃瓤刂葡到y(tǒng)具有過驅動特征,這樣就可利用冗余的控制輸入產生的垂向作用力來抵消不平衡力[6-7].
為了實現(xiàn)自治水下機器人的懸停控制,Tangirala等[8]基于變浮力系統(tǒng),利用比例微分形式的控制算法判定閥門及定量泵的開關即變浮力系統(tǒng)控制算法,從而實現(xiàn)零航速下AUV的深度控制.但根據(jù)其仿真和實驗結果,可以看出該方法的深度控制精度較低,深度控制效果不明顯.Font等[6]基于吹排氣系統(tǒng)產生壓差的基本原理控制壓載水艙,即可變壓載水系統(tǒng),在此基礎上使用滑動模態(tài)控制算法設計了零航速下潛航器的深度控制系統(tǒng);Chen等[9]同樣基于可變壓載水系統(tǒng),利用L1自適應控制設計了可變壓載水系統(tǒng)控制算法,進而實現(xiàn)潛航器的深度控制,他們能夠實現(xiàn)較高精度的深度控制效果,但硬件較為復雜并且占用空間較大.
懸??刂浦荚趯崿F(xiàn)零航速下的潛航器深度控制,而本文要解決的問題是低航速近水面工況下的潛航器深度控制.為了避免復雜設備引起的空間浪費并且提升潛航器在近水面低航速工況下的深度控制性能,本文在傳統(tǒng)反饋控制系統(tǒng)的基礎上增加了基于壓載水流量開關控制的前饋控制通道,從而形成一個復合控制系統(tǒng).在復合控制系統(tǒng)中,前饋控制器的輸入為潛航器所受的不平衡力,輸出為壓載水艙質量調節(jié)指令;反饋控制器的輸入為深度誤差,輸出為水平舵偏轉指令.該方法綜合利用水艙設備和水平控制面的控制作用,可以為潛航器深度控制提供冗余的控制輸入.
在水下運動過程中,由于潛航器自身縱傾恢復力矩的作用較大,其縱傾角始終處于較小的范圍之內,所以潛航器的垂蕩運動方程可以簡化為
(1)
基于計算流體力學軟件計算得到某潛航器的水動力學系數(shù)等模型參數(shù),如表1所示,表中L為潛航器長度.
表1 潛航器主要參數(shù)
式(1)中的水平舵升力系數(shù)可以表示為[2]
(2)
由于在近水面時對潛航器產生影響的波浪力來自二階波浪力,所以在式(1)中僅考慮二階波浪力,其數(shù)學表達式可近似為[3, 10]
Fw=Zso+ZzZog+Zθθ(t)
(3)
式中:
s(kR,β)=I1(2kR)(4+cos2β)-I3(2kR)cos2β
其中:θ(t)為潛航器縱傾角;Zog為重心垂向坐標;ω為波浪角頻率;k為波數(shù);R(x)為x坐標點處潛航器半徑;xs為潛航器艉端縱向坐標;xb為潛航器艏端縱向坐標;β為相對波浪前進方向;R為潛航器舯面半徑;h為潛航器載體坐標系與水面之間的距離;I1和I3均為第一類虛宗量貝塞爾函數(shù);S(ω)為波高能量譜函數(shù).
從式(2)可以看出,前后水平舵升力系數(shù)與速度的平方成正比.因此,在低速工況下,潛航器通過調節(jié)水平舵舵角能提供的垂向作用力較小.從式(3)可以看出,隨著潛航器不斷接近水面,潛航器所受的二階波浪力Fw呈指數(shù)上升趨勢.因此在近水面波浪工況下,單純依靠水平舵將很難抵抗波吸力.
為了提升潛航器在近水面工況下的深度控制性能,本文在傳統(tǒng)反饋控制系統(tǒng)的基礎上增加了前饋控制通道,從而形成一個復合控制系統(tǒng),如圖1所示.其中前饋控制的輸入為潛航器所受不平衡力的觀測值,輸出為壓載水艙開關調節(jié)指令.反饋控制部分的輸入為深度誤差,輸出為水平舵偏轉指令.圖1中:壓載水艙產生的控制力Fc=mfg;不平衡力Fd=Fw-B0;F為擾動觀測值;df_cmd為艏水平舵偏轉指令信號;da_cmd為艉水平舵偏轉指令信號;df為艏水平舵偏轉角;da為艉水平舵偏轉角.
圖1 深度復合控制系統(tǒng)結構圖
2.1.1擾動觀測器設計 前饋控制通道需要輸入不平衡力的值,但直接測量潛航器所受的不平衡力比較困難.而在航空和機械領域,為了觀測飛行器、機械臂等被控目標受到的外部擾動力,Chen等[11]設計了非線性擾動觀測器(NDOB),并對NDOB的觀測效果進行了理論分析和實驗驗證.Yang等[12]在Chen等的工作基礎上對NDOB做出了簡化,并且達到了同樣的觀測精度.因此本文基于NDOB理論設計了以潛航器為對象的擾動觀測器,利用該擾動觀測器觀測出潛航器受到的不平衡力.
分別定義狀態(tài)變量、控制輸入以及模型參數(shù)為
(4)
式中:x2為潛航器垂向速度;Zδf為艏舵升力系數(shù);Zδa為艉舵升力系數(shù).
結合式(1),潛航器垂蕩數(shù)學模型可以描述為[2, 13]
(5)
采用文獻[11]和[12]的擾動觀測器設計方法得到擾動觀測器為
(6)
式中:l=[l1l2]為設計的擾動觀測器增益參數(shù);η為非線性擾動觀測器內部的狀態(tài)變量.
二階波浪力是由多個頻率的波的衍射而產生,其中各個單頻率波的衍射都會對潛航器產生一個大小恒定的向上的作用力和一個緩慢變化的力[2].因此二階波浪力在一段時間內可以被視作一個常值型擾動力,同時剩余浮力也是常值力,故潛航器受到的不平衡力有常值特性.令δ=Fr-F,其中Fr為真實擾動值.根據(jù)Chen[14]的常值型擾動力觀測方法,由式(6)可得
(7)
(8)
式中:δ0為初始估計誤差;t為時間.
顯然只要選取l2>0,則擾動觀測誤差將指數(shù)收斂,且收斂速度與l1無關.因此擾動觀測器(式(6))可以寫為
(9)
2.1.2擾動觀測器實驗驗證 由式(1)可見,在靜水中航行時潛航器所受的恒定擾動力為剩余浮力,因此靜水航行中擾動觀測器的估計值應僅為剩余浮力.
首先通過掛載測量潛航器的剩余浮力.如圖2所示,實驗中首先在拉力傳感器和潛航器之間用連接繩連接,并保證潛航器處于水平狀態(tài).然后在潛航器重心下方位置懸掛重塊使?jié)摵狡髂軌蚪]在水中,并保證拉力傳感器和潛航器之間的連接繩保持緊繃狀態(tài).根據(jù)重塊質量以及拉力傳感器讀數(shù)就可以確定所需平衡壓載水質量.通過多次更換重塊質量進行多次稱重實驗,得到多組實驗結果求取均值后得到潛航器的剩余浮力約為18.9 N.
圖2 剩余浮力的測試
使用Simulink仿真驗證擾動觀測器觀測效果時,設定潛航器初始深度為2 m,對潛航器動力學模型施加一個大小為18.9 N,方向向上的恒力,選取擾動觀測器增益參數(shù)l2=100.潛航器在舵機和壓載水艙停用的狀態(tài)下原地上浮,即δa=δf=0,mf=0.因此擾動觀測器可簡化為
(10)
在仿真中,擾動觀測器模塊根據(jù)式(10)進行編程處理,得到仿真流程圖如圖3所示.其中:u為縱向速度;q為縱傾角速度;r為偏航角速度;θ為縱傾角;x為北向位移;ψ為艏向角.圖4所示為擾動觀測器觀測值在 20 s后收斂于18.9 N處.仿真結果證明了擾動觀測器能夠較快觀測出真實的擾動值.
圖3 擾動觀測仿真
圖4 NDOB對不平衡力的估計
在擾動觀測器水下在線測試過程中,通過預置壓載水艙開關控制程序并使水平控制面處于中位,以實現(xiàn)潛航器從水面潛入水下并保證其不觸底、不浮出水面.在此過程中,擾動觀測器可以簡化為
(11)
圖5 靜水中對剩余浮力的估計
圖5所示為潛航器在190 s后完全浸沒至水下,當潛航器完全浸沒25 s后,擾動在線觀測值即收斂于真實值.由此可知,擾動觀測器能夠準確并快速在線觀測出剩余浮力的大小.由于潛航器受到的二階波浪力和剩余浮力都具有常值特性,所以通過擾動觀測器對潛航器剩余浮力的觀測效果可以同時驗證擾動觀測器對不平衡力(二階波浪力和剩余浮力)的觀測效果.
2.1.3基于質量跟蹤控制的前饋控制器 本文利用壓載水機構對水艙的水量進行控制,壓載水機構是由電磁閥、水泵、流量計、壓載水艙、其他附件(如三通和水管)等組成,機構具有3種狀態(tài),即停止、進水和排水.可調節(jié)水艙的目標質量等于擾動觀測器的觀測值,經過飽和限制后輸入到質量控制系統(tǒng),調節(jié)機構指令控制器根據(jù)質量誤差產生控制指令,如圖6所示.圖中:M為設定質量;Mf為實際質量;Q為流量計輸出流量.基于壓載水機構的質量控制系統(tǒng)使得水艙質量不斷追蹤擾動觀測器對不平衡力的觀測值,達到抵消不平衡力的作用.
圖6 壓載水機構的質量控制系統(tǒng)
滑動模態(tài)控制器(SMC)具有魯棒性好、可靠性高等特點,因此該方法有著較多的應用.本文設計的針對水平控制面的反饋控制器是一個以深度偏差為輸入量、水平舵舵角為輸出量的SMC.深度偏差e=z-zd,其中z為當前深度值,zd為目標深度值.由于潛航器縱傾恢復力矩較大,艏艉水平舵可以都用于深度控制以充分發(fā)揮其控制作用, 所以艏艉水平舵采用聯(lián)動控制策略δa=δf=δ.則根據(jù)式(1),靜水下潛航器垂蕩方程為
(12)
取切換函數(shù)為
(13)
式中:λ>0為指數(shù)收斂速度.
采用常值趨近律,并引入邊界層以減小抖振現(xiàn)象,取
(14)
式中:飽和函數(shù)
Δ>0為邊界層厚度.
由式(13)和(14)可得
(15)
將式(15)代入式(12)可得
(16)
在仿真時,設定潛航器初始深度為0.8 m,目標深度為0.7 m,目標速度為0.16 m/s,根據(jù)式(16)可以得到水平舵偏轉指令δf和δa,對其進行飽和限制后,輸出至相應舵機.根據(jù)式(16)進行編程處理,得到仿真流程模塊如圖7(a)所示.其中:dz為深度偏差;Δb=Δs=δ為滑模控制器輸出;db=δb,ds=δs分別為經飽和限位的艏艉水平舵偏轉角;Fx為縱向推力.通過多組參數(shù)選取并仿真后發(fā)現(xiàn),當參數(shù)選取為k=1.1和λ=1時,深度收斂速度較為理想.潛航器在低速航行時可以通過水平控制面較好的實現(xiàn)深度控制,如圖7(b)所示.
圖7 深度控制SMC仿真
為了驗證該復合控制系統(tǒng)近水面低速工況下的潛航器控制效果,在上海交通大學海洋工程國家重點實驗室風浪流深水實驗水池靜水工況下和二級海況下分別進行了潛航器控制試驗.該水池長度為50 m,寬度為40 m,平臺深度為10 m.首先利用預設程序使?jié)摵狡鬟M行吸排水操作,使?jié)摵狡魃疃冗_到0.6~0.7 m處并保證垂向速度在0~0.05 m/s之內.這樣的條件被稱作觸發(fā)條件,一旦潛航器達到觸發(fā)條件,則馬上開啟推進器并啟動深度復合控制系統(tǒng).在水池試驗中目標深度設定為0.7 m,航行速度設定為0.17 m/s,潛航器在水下航行至對岸即自動排水上浮.
圖8所示為潛航器在靜水狀態(tài)下的控制效果圖,從圖8(a)中可以看出,潛航器開啟復合控制系統(tǒng)后,深度快速接近預定深度并且上下震蕩的誤差迅速降至幾毫米之內.擾動觀測器結合可調節(jié)水艙的前饋控制的控制方法得到了驗證,該復合控制系統(tǒng)的控制效果也得到了驗證.可以看出該方法在靜水潛航器深度控制的應用中有著良好的表現(xiàn).圖9所示為潛航器在二級海況狀態(tài)下的控制效果圖,從圖9(a)中可以看出,潛航器的深度控制在穩(wěn)定后也可以達到3 cm的控制效果.
圖8 潛航器在靜水中的控制效果
圖9 潛航器在波浪中的控制效果
針對近水面低速工況下的潛航器深度控制,本文設計了由前饋控制器和反饋控制器相結合的復合控制系統(tǒng).前饋控制器能夠根據(jù)擾動觀測器的擾動觀測值利用水艙調節(jié)機構對靜不平衡力進行追蹤抵消,而反饋控制能夠根據(jù)深度誤差使水平控制面產生前饋控制.
水池自航試驗結果表明:復合深度控制系統(tǒng)在靜水中低速航行時能夠達到無穩(wěn)態(tài)誤差;在波浪工況下近水面低速航行時,深度雖然受一階波浪力影響在一定范圍內波動,但其平均值能夠保持設定值,說明波吸力已被很好地補償.