儲(chǔ)瑞婷,劉志全
上海海事大學(xué) 航運(yùn)技術(shù)與控制工程交通運(yùn)輸行業(yè)重點(diǎn)實(shí)驗(yàn)室,上海 201306
隨著全球海洋事業(yè)的拓展,船舶運(yùn)動(dòng)控制領(lǐng)域愈發(fā)受到關(guān)注,其中,航向跟蹤從始至終都是不可忽略的一項(xiàng)重要性能。除海面環(huán)境擾動(dòng)影響外,船舶操縱本身具有的復(fù)雜性和不確定性給船舶航向控制帶來了巨大挑戰(zhàn)。因此,探討魯棒性強(qiáng)的控制算法對船舶航向控制具有實(shí)際意義。目前,很多控制方法已在船舶控制領(lǐng)域得到廣泛應(yīng)用,例如,狀態(tài)反饋線性化[1]、反步法[2]、滑??刂疲⊿MC)[3]及自適應(yīng)[4]、模糊算法[5]和模型預(yù)測算法[6]等。為了解決反步法中輸出能量高和非線性函數(shù)難以消除的實(shí)際應(yīng)用問題,Zhang等[2]通過使用正弦函數(shù)對控制誤差進(jìn)行調(diào)制,在不改變控制器結(jié)構(gòu)的情況下提高了船舶自動(dòng)駕駛儀的控制性能。但在一般情況下,非線性船舶轉(zhuǎn)向系統(tǒng)的控制設(shè)計(jì)過程還會(huì)受到舵角、舵速率和航向角的非線性影響。Perera等[7]為了簡化非線性船舶的轉(zhuǎn)向系統(tǒng),對基于李雅普諾夫(Lyapunov)、赫爾維茨(Hurwitz)和PID的輸入輸出線性化控制方法進(jìn)行了研究,但尚未解決欠驅(qū)動(dòng)水面船舶路徑跟蹤控制中有關(guān)復(fù)雜漂角的問題[8]。
為了補(bǔ)償漂角,最直接的方法是使用GPS、加速度計(jì)和其他傳感器等進(jìn)行測量[9],但傳感器的噪聲和高成本又使得這種方法不可行。因此,Wang等[10]提出了一種基于濾波擴(kuò)張狀態(tài)觀測器(ESO)的視線法制導(dǎo)律,其利用有限時(shí)間擴(kuò)張狀態(tài)觀測器(FTESO)來估計(jì)由海流、風(fēng)浪擾動(dòng)引起的時(shí)變漂角,從而實(shí)現(xiàn)路徑跟蹤,但未考慮舵飽和的問題。李蕓等[11]設(shè)計(jì)了一種新型的擴(kuò)張狀態(tài)觀測器,通過結(jié)合滑模控制實(shí)現(xiàn)了船舶航向有效跟蹤。與傳統(tǒng)的線性擴(kuò)張狀態(tài)觀測器(LESO)相比,F(xiàn)TESO非線性項(xiàng)的引入可以保障擴(kuò)張狀態(tài)的有限時(shí)間估計(jì)。為了提高觀測性能,Xiong等[12]提出了一種通過非線性項(xiàng)和切換項(xiàng)來反饋輸出估計(jì)誤差的新型擴(kuò)張狀態(tài)觀測器,基于該擴(kuò)張狀態(tài)觀測器的結(jié)構(gòu),將干擾觀測器設(shè)計(jì)的問題轉(zhuǎn)化為存在外部干擾時(shí)狀態(tài)觀測器的設(shè)計(jì)問題。基于機(jī)械性特性,船舶控制中存在舵飽和的問題,故不少研究人員針對帶有舵飽和特性的控制系統(tǒng)分析及設(shè)計(jì)方法進(jìn)行了廣泛研究。Liang等[13]利用FTESO估計(jì)動(dòng)態(tài)定位船在有限時(shí)間內(nèi)的不可測狀態(tài),構(gòu)造了一個(gè)輔助系統(tǒng)用來處理控制飽和狀態(tài)。此外,也可以通過飽和函數(shù)限制進(jìn)入觀測器之前的控制信號,減少執(zhí)行器約束飽和的影響[14]。
本文將針對船舶航向控制的非線性特性和外部干擾問題,在考慮時(shí)變漂角和輸入飽和問題的基礎(chǔ)上,利用FTESO對不可測量狀態(tài)進(jìn)行估計(jì)并得到漂角估計(jì),用以修正航向誤差,然后通過設(shè)計(jì)帶有積分項(xiàng)的滑模面并結(jié)合趨近律,研究一種考慮漂角修正的欠驅(qū)動(dòng)船舶航向魯棒自適應(yīng)控制方法,并通過Lyapunov理論證明所提控制器系統(tǒng)的穩(wěn)定性。
定義1:齊次性。對于連續(xù)標(biāo)量函數(shù)V(x):Rn→R,若滿足以下條件:對于任意實(shí)數(shù) λ>0,存在數(shù)σ>0 和 向 量 (r1,···,rn)∈Rn>0, 其 中ri>0(i=1,2,···,n), 使 得V(λr1x1,···,λrn xn)=λdV(x1,···,xn),則 稱V關(guān)于 (r1,···rn) 具 有 齊次度 σ[15]。若向量 函 數(shù)f(x):Rn→Rn, 對于任意的 λ>0, 存在(r1,···,rn)∈Rfi(nλ>r1x01,,·其··,中λrnx rni)>=0λ(rii+=d f1i(,x21,,· ·· ·· ·,,nx)n,),i使=得1,2,f·(·x·),滿n,足其中d>?min{ri,i=1,2,···,n}, 則稱向量函數(shù)f關(guān)于(r1,···,rn)∈Rn>0 具 有齊次度d[16]。
引理1:假設(shè)存在連續(xù)可微函數(shù)V(x)>0:U1→R,U1?U∈Rn,滿足
式中:U表示整個(gè)狀態(tài)空間;集合U1為自變量x的定義域;Vα為V的α次冪;t為時(shí)間;常數(shù)c>0,0<α<1,則表示該系統(tǒng)局部有限時(shí)間穩(wěn)定。對于任意給定的初始條件x(t0)∈U1,收斂時(shí)間滿足T≤V1?α(x(t0),t0)/c(1?α)[17],其中t0為初始時(shí)刻。
引理2:假設(shè)存在連續(xù)可微函數(shù)V(x)>0:U1→R,U1?U∈Rn,滿足
式中,常數(shù)c1>0,c2>0 , 0<α<1,則表示該系統(tǒng)局部有限時(shí)間穩(wěn)定。對于任意給定的初始條件x(t0)∈{U1∩U2}, 收斂時(shí)間滿足T≤ln(1?(c2/c1)V1?α(x0,t0))/(c2α?c2), 其中U2={x|V1?α(x,t)≤c1/c2}[18]。
引理3:對于任意的xi∈R(i=1,2,···,n),以及實(shí)數(shù) 0
引理4:對于任意的xi∈R(i=1,2,···,n),以及實(shí)數(shù)p>1,有[20]
基于欠驅(qū)動(dòng)船舶的六自由度模型,忽略縱蕩、橫蕩、艏搖運(yùn)動(dòng)與垂蕩、橫搖、縱搖運(yùn)動(dòng)之間的耦合,建立水面船舶縱蕩、橫蕩和艏搖方向的三自由度欠驅(qū)動(dòng)船舶模型。假定模型中慣性矩陣、附加質(zhì)量矩陣和阻尼矩陣為對角陣,且當(dāng)船舶具有3個(gè)對稱面時(shí)上述設(shè)定成立。大多數(shù)船舶的左右舷具有對稱性,但是,若船舶作水平面運(yùn)動(dòng)時(shí),則可無需考慮上下對稱性。船舶的前后非對稱性意味著慣性矩陣和阻尼矩陣的非對角項(xiàng)非零。然而,這些非對角項(xiàng)與主對角項(xiàng)相比非常小?;谏鲜鲈O(shè)定,水面船舶的數(shù)學(xué)模型可以簡化表示為[21]:
式中:ψ為定義于固定坐標(biāo)系下的實(shí)際航向,(°);u,v分別為船舶的縱蕩和橫蕩速度, m/s;r為艏搖角速度, rad/s;mjj(1≤j≤3)為正常數(shù),表示包括附加質(zhì)量的船舶慣性系數(shù);du,dv,dr,dui,dvi,dri分別為縱蕩、橫蕩和艏搖方向上的水動(dòng)力阻尼系數(shù);未 知 時(shí) 變 項(xiàng) τwu(t), τwv(t), τwr(t)分 別 為 由 風(fēng)、浪、流引起的環(huán)境擾動(dòng);τu為 水面船舶推進(jìn)力,N,其由螺旋槳或噴水器提供;τr為艏搖力矩, N·m,其通過改變每個(gè)螺旋槳或噴水器的速度而產(chǎn)生,這表明僅能在縱蕩速度為非零時(shí)控制航向。因此,本文設(shè)計(jì)了獨(dú)立的控制系統(tǒng)來控制縱蕩速度。
在舵位于中間位置時(shí),若沿縱剖面方向直行,因流體的對稱性,船舶將不會(huì)受到側(cè)向力的作用。在舵偏轉(zhuǎn)一個(gè)角度時(shí),因改變了水流的對稱性,舵將受到一個(gè)側(cè)向力的作用,且側(cè)向力作用點(diǎn)會(huì)對船舶重心產(chǎn)生一個(gè)繞船舶重心的力矩。在力矩的作用下,船體相對于水流會(huì)發(fā)生偏轉(zhuǎn),其縱剖面與水流速度方向?qū)⑿纬梢粋€(gè)漂角β,取值定義如下:
為了簡化控制器的設(shè)計(jì),本文將利用擴(kuò)張狀態(tài)觀測器對模型中艏搖方向的總擾動(dòng)進(jìn)行估計(jì)。因此,針對航向控制器設(shè)計(jì),將式(5)的三自由度欠驅(qū)動(dòng)船舶模型簡化為
令
假設(shè)1:外界干擾有界,即 |τwu(t)|≤τwumax<∞,|τwv(t)|≤τwvmax<∞, |τwr(t)|≤τwrmax<∞。
假設(shè)2:因外部干擾的能量有限,故合理假設(shè)w的導(dǎo)數(shù)有界,即 ‖w˙‖≤Δ,Δ為w˙的上界。
為了避免較大的航向變化率,本文在控制系統(tǒng)中加入了預(yù)濾波器以平滑期望航向,可保證滑??刂破鞯聂敯粜浴nA(yù)濾波器的主要作用是對原期望航向ψr進(jìn)行濾波,用于實(shí)現(xiàn)濾波后參考航向ψd和航向變化率ψ˙d的平滑過渡,從而避免更高的控制增益要求,提高控制器性能。本文采用的二階預(yù)濾波器形式如下:
式中, λi(i=1,2,3)為待確定的預(yù)濾波器參數(shù)。
因外部干擾引起的時(shí)變漂角較小,故在船舶航向控制中通常忽略漂角的影響而假定其為0,但實(shí)際上漂角對跟蹤誤差具有一定的影響。因此,本文考慮了帶漂角修正的航向控制,如圖1所示。圖中,ψh為實(shí)際航向,ψd為預(yù)濾波后的參考航向,初始航向誤差為 ψh?ψd??紤]漂角存在時(shí),船舶實(shí)際運(yùn)動(dòng)方向與期望切線方向相差了一個(gè)漂角[8],則基于漂角修正后的期望航向ψda與 航向誤差ea分別為:
圖1 漂角補(bǔ)償后的期望航向Fig.1 The desired heading with sideslip angle compensation
3.2.1 滑??刂坡稍O(shè)計(jì)
為了保證船舶航向的自動(dòng)保持與跟蹤特點(diǎn),使用閉環(huán)反饋控制系統(tǒng)研究了航向的跟蹤問題。根據(jù)滑??刂圃?,利用誤差反饋思想進(jìn)行了滑模控制器設(shè)計(jì)。本文設(shè)計(jì)的帶有積分項(xiàng)的滑模面s如下:
式中: 0
在滑??刂浦?,會(huì)不可避免地出現(xiàn)抖振現(xiàn)象,之所以如此,主要是因?yàn)椴贿B續(xù)的符號函數(shù)項(xiàng)的增益需要足夠大來保證魯棒性。為了減小滑模抖振的影響,采用趨近律方法改善系統(tǒng)的抖振。本文使用基于指數(shù)趨近律的滑??刂疲员WC運(yùn)動(dòng)點(diǎn)在有限的時(shí)間內(nèi)到達(dá)滑動(dòng)模態(tài)。
3.2.2 擴(kuò)張狀態(tài)觀測器設(shè)計(jì)
為保障跟蹤精度,采用FTESO對由不確定項(xiàng)和外界干擾構(gòu)成的總擾動(dòng)項(xiàng)進(jìn)行估計(jì)和補(bǔ)償。結(jié)合滑??刂破?,得到系統(tǒng)控制結(jié)構(gòu)如圖2所示。
圖2 船舶航向控制系統(tǒng)示意圖Fig.2 Schematic diagram of the heading control system for ships
定義 η=[u,v,r]T,w? 為系統(tǒng)擴(kuò)張的狀態(tài)向量,包含有未知外界干擾和內(nèi)部未建模動(dòng)態(tài)項(xiàng);觀測器估計(jì)誤差z1=η?η?, 擴(kuò)張狀態(tài)誤差z2=w?w?,構(gòu)造如下形式的FTESO:
令σ =α1α2。由定義1,可推斷出系統(tǒng)(式(17))關(guān)于權(quán)值 (1,α1) 具有齊次度 α1?1。定義可微函數(shù)[[sigVσ1α(z=1)Z]TT,P[sZig,σ1α1且(z2)V]Tα]T>,0,P為其L中yapuZno=v[ZT1等,ZT2式]T=ATP+PA=?I6的 解,其 中Ii(i=2,3,4,···)為i階 單位矩陣,定義系統(tǒng)矩陣
可知A為Hurwitz矩陣。根據(jù)文獻(xiàn)[15],可知Vα即 為系統(tǒng)(式(17))的Lyapunov函數(shù),并令fα為系統(tǒng)(式(17))的向量場,則LfαVα為Vα沿 著向量場fα的李導(dǎo)數(shù)。由此可以推斷出,Vα,LfαVα關(guān) 于權(quán)值(1,α1)分別具有齊次度 2 /σ, 2/σ+(α1?1)。由文獻(xiàn)[22],可以得到以下不等式:
設(shè)計(jì)誤差系統(tǒng)(式(16))的Lyapunov函數(shù)如下:
對式(19)求導(dǎo),得
將式(18)代入式(20),得
將式(22)代入式(21),得
其中,
根據(jù)引理3,有
最終,速度估計(jì)誤差和擴(kuò)張狀態(tài)觀測誤差可以收斂到緊致集Ω內(nèi),Ω的表達(dá)式如下:
基于 FTESO 的滑??刂破髟O(shè)計(jì)表述為如下定理。
定理1: 對于船舶航向控制系統(tǒng)(式(7)),設(shè)計(jì)擴(kuò)張狀態(tài)觀測器(式(15)),利用估計(jì)漂角β?=arctan(v?/u?)選取滑模面為式(11) ,設(shè)計(jì)滑??刂破魅缦拢?/p>
由于FTESO保證了各項(xiàng)估計(jì)誤差都足夠小,因此,只要選取適當(dāng)大的k2就 能保證k2≥(wr?
為了得到更好的控制效果,選用一個(gè)陡峭的飽和函數(shù),定義為
來逼近控制器中的符號函數(shù),其中ε1為極小值。在極限情況下,當(dāng)ε1趨于0時(shí),飽和函數(shù)近似為符號函數(shù)。即控制律取為
為了驗(yàn)證所提控制器的有效性,考慮了整個(gè)航向系統(tǒng)。本文使用Matlab軟件中的Simulink建模工具搭建了整個(gè)系統(tǒng)模型,并進(jìn)行了仿真應(yīng)用。模型(式(5))中的相關(guān)參數(shù)見文獻(xiàn)[22]:m21151=×1 10220,×d1v0=3,1m4272×=1 10737,.9d×r=1 0830,m23×31=064;3 6d×u21=050;.d2ud=u,du3=0.1du;dv2=0.2dv,dv3=0.1dv;dr2=0.2dr,dr3=0.1dr。本文中所需設(shè)計(jì)和選擇的參數(shù)見表1??v蕩速度由獨(dú)立的控制系統(tǒng)控制,本文設(shè)計(jì)的基于擴(kuò)張狀態(tài)觀測器的PID控制器控制船舶保持7 m/s的縱蕩速度,另外,選擇艏搖控制輸入約束為τm=7×108N·m。 設(shè)定初始航速為 6 m/s,期望航向角分別為20?, ?20?和 0?,仿真步長為0.01 s,仿真時(shí)間為 1 50 s。 假設(shè)仿真中的環(huán)境擾動(dòng)為τwu=150×103dr, τwr=900×105dr,τwv=2×103×(1+0.3 cos(0.4t)), 其中dr為三級海浪模型,描述如下:
表1 不同控制方法下的參數(shù)設(shè)計(jì)Table 1 The parameters of different controllers
式中: 為三級海浪模型的表達(dá)式; 指功率譜密度為0.1的零均值高斯白噪聲過程; 為一個(gè)二階波的傳遞函數(shù),y(s) ω(s)h(s)
為了保證仿真結(jié)果的可靠性,本文選取基于線性擴(kuò)張狀態(tài)觀測器的反步法與本文設(shè)計(jì)的基于FTESO的滑??刂品椒ㄟM(jìn)行了仿真對比,仿真結(jié)果如圖3~圖7所示。在不同的仿真模型中,相同的初始條件和相關(guān)參數(shù)值保持了一致。圖中,“SMC+FTESO?漂角修正”為考慮漂角修正的滑??刂品椒ǎ癝MC+FTESO?無漂角修正”為不考慮漂角修正的滑??刂品椒?,“反步+LESO”為結(jié)合了線性擴(kuò)張狀態(tài)觀測器的反步法 。
由圖3(a)可以看出,考慮了漂角修正后的船舶航向能更快地到達(dá)期望航向(在航向發(fā)生變化后的4 s內(nèi)即達(dá)到期望值),而未考慮漂角修正的方法和傳統(tǒng)的反步法則需要8 s甚至是更長的時(shí)間才能到達(dá)穩(wěn)定狀態(tài)。圖3(b)所示為未考慮輸入飽和的控制器艏搖力矩。從圖中可見,當(dāng)航向發(fā)生變化時(shí),力矩遠(yuǎn)遠(yuǎn)超出了舵能正常使用的極限值。為解決此問題,本文在設(shè)計(jì)帶漂角修正的航向控制器時(shí)增加了輸入約束來進(jìn)行相應(yīng)的處理。
圖3 無約束下控制器的航向和控制力矩對比Fig.3 Comparison of heading angles and yaw torque of the controllers without input constraint
圖4所示為考慮輸入飽和后(有約束)3種不同控制器的航向及其誤差對比。從圖中可以看出,對控制輸入進(jìn)行約束后,航向及其誤差較約束前未發(fā)生變化。
圖4 有輸入約束下控制器的航向及其誤差對比Fig.4 Comparison of heading angles and their errors of the controllers with input constraint
圖5所示為通過觀測器估計(jì)得到的漂角值。從圖中可以看出,漂角一直存在于船舶航行過程中,雖然其值較小,但當(dāng)航向發(fā)生變化時(shí)漂角也會(huì)發(fā)生突變。因此,考慮漂角修正的船舶航向控制能夠改善航向控制性能,減小航向誤差。約束后的艏搖力矩如圖6所示,從圖中可以看出,艏搖力矩得到了相應(yīng)的減小。
圖5 漂角估計(jì)值Fig.5 The estimation of sideslip angle
圖6 有輸入約束的艏搖控制力矩對比Fig.6 Comparison of yaw torque of the controllers with input constraint
從最終的航向跟蹤效果來看,本文設(shè)計(jì)的滑??刂品椒ㄅc基于線性擴(kuò)張狀態(tài)觀測器的傳統(tǒng)反步法相比優(yōu)勢并不明顯,但從觀測器的角度分析,本文設(shè)計(jì)的FTESO觀測性能更好。圖7示出了2種觀測器對縱蕩、橫蕩、艏搖這3個(gè)方向上的速度估計(jì)值及其誤差。FTESO對艏搖角速度的估計(jì)誤差穩(wěn)定在 ±4×10?5rad/s內(nèi),而傳統(tǒng)LESO在初始時(shí)間其誤差最大達(dá)1 .4×10?3rad/s ,經(jīng)過0.98 s的調(diào)節(jié)時(shí)間后才穩(wěn)定至 ±6×10?5rad/s內(nèi)波動(dòng)。因考慮了漂角修正,觀測器對縱蕩速度u和橫蕩速度v的估計(jì)性能也極為重要。FTESO對縱蕩速度的估計(jì)誤差始終保持在 ±4×10?5m/s內(nèi),傳統(tǒng)LESO在初始時(shí)間其誤差最大達(dá)1 .12×10?3m/s,收斂時(shí)間為 0.99 s, 誤差穩(wěn)定在 ±6×10?5m/s內(nèi)波動(dòng)。盡管在對橫蕩速度v的估計(jì)上LESO的觀測誤差最終能穩(wěn)定在 ±2×10?7m/s內(nèi) ,但1 .15 s的收斂時(shí)間相對FTESO的 0.06 s仍較長,且初始時(shí)刻的誤差達(dá)到4.3×10?3m/s , 而FTESO的最大估計(jì)誤差僅6.68×10?5m/s。
圖7 有輸入約束時(shí)縱蕩、橫蕩及艏搖方向上的速度估計(jì)值及其誤差Fig.7 The estimations and errors of velocity in surge, sway and yaw directions with input constraint
本文以水面三自由度欠驅(qū)動(dòng)船舶運(yùn)動(dòng)模型為對象,在航向跟蹤控制器設(shè)計(jì)中考慮了漂角修正,不同于利用相對速度對漂角的直接計(jì)算,其采用FTESO對漂角進(jìn)行實(shí)時(shí)估計(jì),從而極大地改善了船舶的航向跟蹤性能。仿真結(jié)果表明,相對于傳統(tǒng)的線性觀測器,F(xiàn)TESO的觀測性能良好;而對于總擾動(dòng)項(xiàng)的估計(jì),則在基于趨近律的滑模控制器設(shè)計(jì)中予以補(bǔ)償,削弱了抖振影響,使得航向跟蹤誤差在收斂至0的同時(shí),還可保證航向控制系統(tǒng)有較強(qiáng)的抗干擾能力。此外,本文利用飽和函數(shù)對艏搖力矩進(jìn)行了約束,具有較好的實(shí)際意義。雖然本文對輸入力矩進(jìn)行了一定的約束,但不難看出仍有改進(jìn)的空間,下一步的工作將繼續(xù)研究輸入飽和問題,并通過改進(jìn)算法來提高控制精度。