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