趙 碩,馮正平,鄭天海,潘萬鈞
(上海交通大學(xué)船舶海洋與建筑工程學(xué)院,上海 200240)
潛航器在海底探測、海洋開發(fā)以及軍事上都有著廣泛應(yīng)用,而深度控制效果對潛航器的性能有著重要的影響,快速跟蹤并維持在目標(biāo)深度附近是潛航器的常見控制目標(biāo)[1]。潛航器的執(zhí)行機構(gòu)有水平舵、螺旋槳、壓載水艙以及波動鰭等[2-5]。利用水平舵對潛航器進(jìn)行深度控制的方法具有執(zhí)行機構(gòu)響應(yīng)快,控制量輸入精準(zhǔn)的特點。水平舵作為執(zhí)行機構(gòu)被廣泛應(yīng)用于潛航器,其產(chǎn)生的升力與航速密切相關(guān)。當(dāng)潛航器航速較高時,水平舵能夠產(chǎn)生的升力較高,具有較強的控制力,而當(dāng)潛航器在低航速狀態(tài)下航行時,控制力大幅降低,使?jié)摵狡魃疃瓤刂频碾y度大幅增加[6]。另一方面,潛航器在航行過程中會受到波浪的擾動。相較于深水,潛航器在近水面航行時收到的波浪擾動力大幅增加,波吸力將使?jié)摵狡麟y以維持在目標(biāo)深度附近[7]。
PID控制方法憑借著不依賴模型參數(shù)、適應(yīng)范圍廣、簡單易用的優(yōu)勢在眾多領(lǐng)域得到了廣泛的應(yīng)用。其控制思想是根據(jù)控制目標(biāo)與實際行為之間的誤差來確定消除此誤差的控制量。然而,PID方法也存在著諸多缺點。首先,該方法是根據(jù)已經(jīng)存在的偏差來計算糾正偏差的控制量,因而產(chǎn)生滯后。其次,PID中微分項的獲取在工程中并不容易,處理不當(dāng)會產(chǎn)生噪聲放大的不良效果。同時,為保證消除穩(wěn)態(tài)誤差而存在的積分項可能會導(dǎo)致積分飽和等現(xiàn)象。最后,PID三項線性加權(quán)的方式未必能組合出最佳的控制量[8]。面對PID方法存在的缺點,國內(nèi)外已經(jīng)有多種控制方法被提出,包括模糊PID與滑模等控制方法[9-10]。
20世紀(jì)80年代末期,韓京清提出自抗擾(ADRC)控制方法,在保留了PID方法不依賴模型參數(shù)優(yōu)點的基礎(chǔ)上,通過微分跟蹤器、擴張狀態(tài)觀測器以及非線性加權(quán)3個部分彌補了PID的不足。自抗擾控制方法已經(jīng)被應(yīng)用在諸多領(lǐng)域并取得了很好的效果[11]。本文為解決潛航器在近水面、低航速下受波浪擾動大,控制力降低,目標(biāo)深度難以維持的問題,設(shè)計自抗擾深度控制器,通過擴張狀態(tài)觀測器觀測擾動并及時進(jìn)行補償[12]。仿真與實驗結(jié)果證明,相比于傳統(tǒng)PID控制方法,本文所設(shè)計的深度控制器使得潛航器具有更好的深度控制性能。
潛航器在近水面、低航速狀態(tài)下航行時,深度控制難度較大[13]。本文潛航器具有首尾水平舵各一對,尾垂直舵一對。由于潛航器縱穩(wěn)性較強,且在低航速下縱傾對深度變化影響較小,故重點考慮垂蕩運動,水平舵亦均用于進(jìn)行深度控制,在總力矩輸出為0的情況下產(chǎn)生升沉控制力。潛航器升沉運動方程可以表示為:
式中:u為航速;w為垂蕩速度;z為深度;δb和δs分別為首尾水平舵舵角;Z0與M0分別為擾動力與力矩[14]。
由于本文潛航器的工況為近水面,波浪的擾動力相比于在深水中要更加劇烈,所以深度控制的難度顯著增加,需要提高控制力。而航速較低的情況下潛航器水平舵升力降低,需要設(shè)計更高效的控制器,因此本文采用自抗擾技術(shù)設(shè)的深度控制器。
自抗擾控制器主要包含3個部分,即跟蹤微分器、擴張狀態(tài)觀測器與非線性加權(quán)[8]。
1)跟蹤微分器可以提取微分信號,并且相對于傳統(tǒng)差分的方法具有噪聲放大效果不明顯的優(yōu)勢,同時還可以安排過渡過程以避免由于初始偏差過大引起的超調(diào)問題。
式中:v1(k)為安排過渡過程后的目標(biāo);v2(k)為v1(k)的微分信號;h為時間步長;r為速度因子;fhan為最速控制函數(shù)。
2)擴張狀態(tài)觀測器能夠觀測控制目標(biāo)的值及其微分信號,并且將除控制輸入量以外的合力作為總擾動(包括模型誤差與環(huán)境擾動力)觀測出以便給予補償。
式中:δ為參數(shù)。
3)非線性加權(quán)能夠?qū)⒖刂颇繕?biāo)的偏差及其微分信號進(jìn)行高效的組合以產(chǎn)生合適的控制輸入量。
式中:u0(k)為反饋信號及其微分信號組合輸出;為擴張狀態(tài)觀測器觀測出的總擾動的補償量;u(k)為控制量輸入。
由于在實際實驗過程中傳感器存在噪聲干擾,且擴張狀態(tài)觀測器觀測其微分信號時噪音的干擾作用將被放更大,進(jìn)而容易導(dǎo)致執(zhí)行機構(gòu)出現(xiàn)高頻振動,一方面影響控制效果,另一方面可能導(dǎo)致機械損壞。本文將自抗擾控制技術(shù)中的跟蹤微分器(TD)用于濾波,相比傳統(tǒng)的一階差分,TD濾波器能夠在相同的相位滯后情況下產(chǎn)生更好的濾波效果[16]。
式中:v(k)為原始數(shù)據(jù);v1(k)表示濾波后的數(shù)據(jù);v2(k)表示v1(k)的微分信號;h為時間步長;h0為濾波因子;r為速度因子;fhan為最速控制函數(shù)。
本文對作為研究對象的潛航器進(jìn)行建模,根據(jù)實際參數(shù)建立了Simulink仿真模型,并采取不同的控制器對潛航器深度控制進(jìn)行仿真。PID控制器的控制效果如圖2所示,執(zhí)行機構(gòu)舵角如圖3所示。其中控制器參數(shù)為Kp=3000,Ki=50,Kd=0。
在無干擾的情況下,調(diào)節(jié)時間為48.1 s。在仿真過程的第200 s處,施加常值擾動以模擬波吸力。受波吸力的影響,潛航器深度減至4.84 cm,之后由控制器緩慢調(diào)節(jié)至5 cm。
圖1 自抗擾控制器結(jié)構(gòu)圖Fig. 1 Structure of ADRC
圖2 PID控制器深度控制效果Fig. 2 Depth (PID)
圖3 PID控制器水平舵舵角變化Fig. 3 Angle of planes (PID)
自抗擾控制仿真結(jié)果如圖4所示,執(zhí)行機構(gòu)舵角如圖5所示。其中控制器參數(shù)如下:
過渡過程參數(shù)r=0.01,h=0.05;
圖4 深度控制效果Fig. 4 Deprh (ADRC)
圖5 ADRC控制器水平舵舵角變化Fig. 5 Angle of planes (ADRC)
擴張狀態(tài)觀測器參數(shù)β1=20,β2=60,β3=90,δ=0.01;
非線性加權(quán)參數(shù)β1=80,β2=400,δ=0.01。
調(diào)節(jié)時間為46.4 s。受波吸力的影響,最小深度達(dá)到了4.96 cm,之后由控制器調(diào)節(jié)至5 cm。
由仿真結(jié)果可以看出,當(dāng)收到波吸力的影響時,潛航器具有深度減小的趨勢。PID控制器若無積分項則會存在穩(wěn)態(tài)誤差,維持在偏離目標(biāo)的某一深度。存在積分項的PID控制器依靠積分項消除穩(wěn)態(tài)誤差使?jié)摵狡骰氐侥繕?biāo)深度附近,但由于偏差的積分需要時間,所以具有明顯的控制滯后現(xiàn)象。與PID控制方法不同的是,面對擾動ADRC控制方法通過擴張狀態(tài)觀測器觀測擾動并快速調(diào)整舵角及時給予補償,使得潛航器在收到擾動力后能夠快速抵消波吸力對潛航器深度的影響,保持在目標(biāo)深度附近。相較于PID控制器,ADRC控制器能夠更有效抵抗波浪擾動,具有更好的深度控制效果。
為驗證仿真結(jié)果,本文對潛航器深度控制進(jìn)行了水池實驗驗證。由于水池長度有限,為保證足夠長穩(wěn)態(tài)運動段,潛航器水池實驗采取分段控制的方法。第1階段,潛航器首先由壓載水艙控制下潛,在下潛深度達(dá)到0.65 m且升沉速度不大于0.05 m/s時進(jìn)入第2階段。此時關(guān)閉水泵,同時啟動螺旋槳,由水平舵進(jìn)行深度控制。由于壓載水艙控制精度有限,將導(dǎo)致第2階段潛航器具有非零浮力狀態(tài),需要基于水平舵的深度控制器予以克服。實驗工況設(shè)定為速度0.17 m/s,目標(biāo)深度0.7 m。
在實驗過程中,由于傳感器存在測量噪聲,使用TD濾波器對傳感器數(shù)據(jù)進(jìn)行濾波以避免微分項中噪聲較大影響控制效果。實驗驗證了波浪擾動下ADRC深度控制器的深度控制效果,深度變化如圖6所示。
在深度首次到達(dá)0.7 m后,潛航器在控制器作用下平均深度為0.700 48 m。面對波浪的擾動,潛航器在航速下有效抵抗了波吸力的影響,沒有在波吸力的作用下體現(xiàn)出被吸至水面的趨勢,維持在了0.7 m處的目標(biāo)深度附近,驗證了ADRC控制器具有良好的控制效果。
圖6 深度控制實驗效果Fig. 6 Depth
圖7 水平舵舵角變化實驗結(jié)果Fig. 7 Angle of planes
潛航器時常需要根據(jù)要求保持在某一目標(biāo)深度附近,其控制性能決定對潛航器完成任務(wù)的質(zhì)量。水平舵在潛航器上被廣泛采用,但由于水平舵提供的控制力與航速的平方成正比,所以在低航速狀態(tài)下,水平舵控制力大幅降低,此時傳統(tǒng)的PID控制方法無法發(fā)揮執(zhí)行機構(gòu)最大控制力,難以保證深度控制效果。同時潛航器在近水面受波浪力的擾動更大,二階波浪力將使?jié)摵狡骶哂斜晃了娴内厔?,使得潛航器更加難以保持深度。
為此,本文基于自抗擾控制技術(shù)(ADRC)設(shè)計深度控制器。通過仿真對比了在受到擾動后不同控制器的控制效果。PID控制器中的比例項依靠偏差可以抵消擾動但無法消除穩(wěn)態(tài)誤差??刂破髦械姆e分項可以消除穩(wěn)態(tài)誤差誤差,但是偏差的積分需要時間所以在受到擾動后深度回到目標(biāo)值的時間較長。利用自抗擾技術(shù)中擴張狀態(tài)觀測器能夠及時觀測擾動并進(jìn)行補償?shù)奶攸c,ADRC控制器能夠在受到擾動后及時做出反應(yīng),使?jié)摵狡鞯纳疃仍跀_動下保持在目標(biāo)深度。最后,進(jìn)行了水池實驗,實驗中潛航器始終保持在目標(biāo)深度0.7 m處附近,驗證了潛航器ADRC深度控制器在波浪擾動下的良好表現(xiàn)。壓載水深度控制調(diào)節(jié)能力強但控制量不精確,而基于自抗擾控制技術(shù)的水平舵控制具有控制量精確且能觀測總擾動的特點。未來的研究方向是將壓載水控制與水平舵控制結(jié)合起來,面對高強度的擾動使用壓載水進(jìn)行大幅度調(diào)節(jié),而擾動與壓載水合作用力作為總擾動再由水平舵進(jìn)行精確控制。