中船航??萍加邢挢熑喂?胡春洋 李松霖 李 虎
船舶遠洋航行中,很多情況要求在航向保持模式下航行,這時需要船舶盡可能的保持在設定的航向上,以達到最大的航行經(jīng)濟性[1]??刂拼捌椒€(wěn)、快速、無超調(diào)的達到設定航向就需要對船舶航向控制算法進行改進提升[2]。
傳統(tǒng)的船舶航向PID控制器已不能滿足船舶控制的準確性及實時性的駕駛要求,并且船舶在航行過程中會受到外界風浪、海流和船舶本身參數(shù)攝動的影響,傳統(tǒng)PID控制器會出現(xiàn)打舵幅度大,打舵次數(shù)頻繁等缺點。但PID控制器的實現(xiàn)與操作相對簡單,成本低,所以對PID控制器進行改進提升既經(jīng)濟實用,又能滿足控制要求[3]。
針對傳統(tǒng)PID控制器的不足,本文給出了一種基于抗飽和(Anti-windup)的PID控制算法,解決了航向改變時控制舵角出現(xiàn)飽和現(xiàn)象影響船舶航向跟蹤的實時性、快速性與穩(wěn)定性的問題。
智能船在海上航行時存在六個自由度的運動,為了便于對船舶操縱控制的研究,可以將6自由度運動簡化為3自由度[4],如圖1所示。
圖1 船舶平面運動變量分析
圖中ψ為航向角,δ為舵角,V為船舶運動速度。根據(jù)圖1,可以導出船舶的運動數(shù)學模型。本文直接給出船舶航行中舵角δ到航向ψ的傳遞函數(shù)形式,如式(1)所示。
日本學者野本對上述三階模型做了進一步簡化,在S = 0處對三階模型進行泰勒級數(shù)展開,降階為二階模型,如式(2)所示。
因此,式(2)也被稱為Nomoto(野本)模型。式中,K為旋回性指數(shù),T為追隨性指數(shù)。
控制器的windup問題一般被認為是當控制器輸出和輸入之間存在非線性特性時,在PID控制器的積分部分會產(chǎn)生不良現(xiàn)象[5]。由于飽和特性的存在,導致控制輸出產(chǎn)生飽和現(xiàn)象,進而當輸入信號幅值較大時會對系統(tǒng)的穩(wěn)定性產(chǎn)生影響。因此,引入適當?shù)难a償環(huán)節(jié),使控制系統(tǒng)在出現(xiàn)飽和現(xiàn)象時仍能達到比較滿意的性能指標,Anti-windup設計方法已經(jīng)成為對具有飽和特性的控制系統(tǒng)進行控制研究的基本思路[6]。
PID控制是一種工業(yè)中常用的反饋控制方法,它將給定值y(d)與實際輸出值y的偏差e進行比例(P)、積分(I)、微分(D)計算,再通過線性組合形成控制量u,作為被控對象的控制率,如圖2所示。
圖2 PID控制原理圖
其公式可表示為:
式中,Kp為比例增益,Ki為積分增益,Kd為微分增益,e為控制誤差。
PID的控制機理獨立于被控對象模型,利用輸入輸出誤差設計控制策略,控制簡單,參數(shù)調(diào)整方便,控制效果良好。
但是這種傳統(tǒng)的控制方法也存在固有的缺陷:(1)誤差積分反饋的引入,使閉環(huán)變得遲鈍,易產(chǎn)生由積分飽和引起的控制量飽和;(2)控制目標在過程中可以“跳變”,但是被控對象輸出的變化都有慣性,不可能跳變,易引起超調(diào)[7]。
針對積分環(huán)節(jié)的飽和現(xiàn)象,A.S.Hodel等提出了抗飽和的變結(jié)構(gòu)PID控制算法,其結(jié)構(gòu)如圖3所示。當Switch=1時,為基于Antiwindup的PID控制;當Switch=2時,為傳統(tǒng)PID控制[8]。
圖3 基于Anti-windup的PID控制器結(jié)構(gòu)
圖3中,Kf為抗飽和反饋增益,un為限幅前控制輸入,us為限幅后控制輸入。
基于Anti-windup-PID算法的控制原理為:對控制輸入的飽和誤差es = un— us進行積分,并通過自適應系數(shù)Kf調(diào)整將其加到PID控制中的積分項中。
抗飽和變結(jié)構(gòu)PID控制算法如下:采用系數(shù)η實現(xiàn)積分項的自適應調(diào)整,其自適應變化率為如式(4)所示。
限幅后控制輸入為:
當un值超出飽和限幅時,控制器過飽和量反饋到積分器中,從而使輸出舵角返回到控制限幅之內(nèi)。在偏差出現(xiàn)大變化時,負反饋將削弱積分作用的影響,這時比例和微分的控制作用明顯,提高舵角的響應速度。偏差較小時,控制量飽和差es = 0,此時相當于傳統(tǒng)的PID控制。
本文采用DH-01型水面艦艇為控制對象,艦長110cm,艦寬36cm,質(zhì)量為6.5kg,航速為1.5m/s;控制模型為Nomoto模型,旋回性指數(shù)K=0.366,追隨性指數(shù)T=0.2,舵角限幅±35°。PID控制器參數(shù)為:??癸柡头答佋鲆妗imulink控制模型如圖4所示。
圖4 基于Anti-windup的PID控制主程序
仿真結(jié)果如圖5和圖6所示。
圖5 航向跟蹤曲線
圖6 控制器輸出
從圖5和圖6可以看出,雖然基于傳統(tǒng)PID控制算法的航向控制方式和基于Anti-windup的PID控制方式最終都能使航向跟蹤上給定航向,并穩(wěn)定運行。但基于Anti-windup的PID算法控制效果更好,超調(diào)量更小,跟蹤速度更快,跟蹤精度更高,打舵幅度和打舵次數(shù)明顯小于基于傳統(tǒng)PID算法的航向控制。
本文介紹了一種基于Anti-windup-PID的船舶航向控制算法,通過MATLAB仿真試驗,與傳統(tǒng)PID控制算法的控制效果進行對比分析,仿真結(jié)果表明在船舶航向控制中所設計的Anti-windup-PID算法相比于傳統(tǒng)PID控制算法控制精度更高,響應速度更快,穩(wěn)定性更好,證明了該算法在船舶航向控制中的可行性。