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