張國慶李紀強王文新張衛(wèi)東
(1.大連海事大學(xué)航海學(xué)院,遼寧大連 116026;2.上海交通大學(xué)自動化系,上海 200240)
與傳統(tǒng)欠驅(qū)動水面船舶相比,無人帆船由于依靠風(fēng)能提供動力,能夠?qū)崿F(xiàn)大范圍的長期值守任務(wù),因此在海洋探索、開發(fā)和監(jiān)測方面具有重要應(yīng)用[1].但是由于海洋環(huán)境的復(fù)雜性,使得無人帆船帆舵聯(lián)合系統(tǒng)操縱困難,進而導(dǎo)致無人帆船航行速度難以有效控制.過高的航行速度極易導(dǎo)致無人帆船控制系統(tǒng)的不穩(wěn)定、船體橫傾角過大甚至導(dǎo)致帆船傾覆.為了進一步提高無人帆船機器人自主航行任務(wù)中的安全性,本文旨在研究一種考慮速度調(diào)節(jié)性能的船舶航向保持控制方法,對其在海洋工程領(lǐng)域中的應(yīng)用具有實際意義.
近年來,無人帆船航向保持/調(diào)節(jié)控制已成為船舶控制領(lǐng)域一個熱點研究主題[2],許多學(xué)者已開展初步探索并取得系列有益結(jié)果.文獻[3]闡述了帆角和風(fēng)向之間的邏輯關(guān)系,并且提出了一種模糊邏輯控制算法,實現(xiàn)了無人帆船沿著期望航向自動航行任務(wù).但是無人帆船屬于一類具有較強的模型不確定和干擾的時變系統(tǒng),時變的海洋環(huán)境極易導(dǎo)致控制系統(tǒng)不穩(wěn)定.文獻[4]考慮了帆船空氣動力和水動力特性,在3自由度帆船模型基礎(chǔ)上,提出了一種能夠使帆產(chǎn)生最大推力的航向保持控制算法,該算法在風(fēng)力較小時能夠獲得最大航行速度,具有較好的控制效果.但是由于帆屬于帆船的固有結(jié)構(gòu),在受到風(fēng)力作用下,橫搖運動對無人帆船機器人的航向控制系統(tǒng)具有重要的影響.因此文獻[5–6]在已有工作的基礎(chǔ)上提出了一種4自由度(4 degree of freedom,4–DOF)非線性帆船模型.林曉將舵角和帆角作為控制輸入,在不考慮外界海洋環(huán)境干擾的前提下采用Backstepping方法設(shè)計了一種航向保持控制律,并且證明了閉環(huán)控制系統(tǒng)具有全局一致漸進穩(wěn)定性[7].為了獲得最大的航行速度,提高帆船的運營效率,文獻[8]提出一種基于人工勢場法的控制器,帆角通過速度極圖進行查找,能夠產(chǎn)生時變的最大推力.
在上述文獻中,主要存在兩類問題:第1類問題是無人帆船機器人的航行速度控制問題.實際上,在現(xiàn)有理論文獻中,部分研究者致力于通過優(yōu)化帆角來獲得最大的帆船航行速度[9–10].文獻[11]提出了一種通過極值查找的在線速度優(yōu)化算法,并且通過12 m長的龍骨帆船進行數(shù)值仿真驗證.由于外界海洋環(huán)境的時變性,無人帆船機器人航行速度存在一定抖振現(xiàn)象.Matteo Corno設(shè)計了一種改進的速度優(yōu)化器和航向保持器[12],分別作用于帆和舵,通過實船試驗,驗證了控制算法的有效性.在實際海洋工程中,盡管最大的帆船航速在某些方面是有利的,特別是在帆船競技中,但是過高的航行速度可能會導(dǎo)致航向保持控制系統(tǒng)的不穩(wěn)定或無效,甚至?xí)?dǎo)致帆船傾覆.因此采用適合的航行速度對帆船航向保持控制系統(tǒng)來說是十分有必要的.第2類問題是在實際控制工程中致動器的增益函數(shù)未知屬于一類普遍的工程限制問題.但是在上述文獻中,均假設(shè)致動器的增益函數(shù)已知,這與實際海洋工程存在一定差異,并且可能會降低相關(guān)理論算法的有效性和控制精度.在作者先前的工作中[13–14],利用魯棒神經(jīng)阻尼技術(shù)對欠驅(qū)動水面船舶致動器的增益函數(shù)設(shè)計自適應(yīng)參數(shù),很好的緩解了增益函數(shù)未知帶來的系統(tǒng)誤差.
基于以上分析,本文在考慮實際海洋環(huán)境的情況下對無人帆船機器人進行一種基于速度調(diào)節(jié)的魯棒自適應(yīng)控制器設(shè)計.在控制器設(shè)計中,采用RBF神經(jīng)網(wǎng)絡(luò)對系統(tǒng)模型不確定部分進行逼近,并通過魯棒神經(jīng)阻尼技術(shù)構(gòu)建阻尼項以鎮(zhèn)定系統(tǒng)動態(tài)中不確定部分的影響.使得閉環(huán)控制系統(tǒng)僅需兩個自適應(yīng)參數(shù)對伺服機構(gòu)的增益不確定部分進行在線補償,而不需要在線更新神經(jīng)網(wǎng)絡(luò)權(quán)重值.所設(shè)計的魯棒自適應(yīng)控制算法具有形式簡捷、計算負載小和速度性能可控的優(yōu)勢,這能夠提高在實際海洋工程中的應(yīng)用性,最后通過理論分析和仿真對比實驗驗證了閉環(huán)控制系統(tǒng)的有效性和魯棒性.
林曉將帆船分為帆、舵、龍骨和船體4部分,并在物理推理的基礎(chǔ)上建立了未考慮外界海洋環(huán)境干擾的四自由度非線性數(shù)學(xué)模型[7],在實際海洋工程中,存在外界海洋環(huán)境擾動且很難消除.對于無人帆船來說,由于帆結(jié)構(gòu)的存在,使得無人帆船更容易受到外界海洋環(huán)境擾動的影響.本文考慮外界海洋環(huán)境干擾并通過模型轉(zhuǎn)化,無人帆船的數(shù)學(xué)模型在水平面上可以表示為式(1)和式(2):
式中:mu=m?Xu˙,mv=m?Yv˙,mp=Ix?Kp˙,mr=Iz?Nr˙,m表示帆船的質(zhì)量,Xu˙,Yv˙,Kp˙,Nr˙表示帆船的水動力導(dǎo)數(shù);GMt表示橫穩(wěn)心高度值;η=[xy?ψ]T∈R3(如圖1)表示在慣性坐標系下帆船的位置姿態(tài)、橫搖角和艏搖角;v=[u v p r]T∈R3表示在附體坐標系下帆船的前進速度、橫漂速度、橫搖速度和艏搖速度;dwi(i=u,v,p,r)分別為外界海洋環(huán)境擾動力/力矩;[Fij Mij]T(i=S,R,K,D,j=u,v,p,r)表示帆、舵、龍骨和船體產(chǎn)生的力/力矩.
對于無人帆船機器人系統(tǒng)來說,控制輸入變量為帆角和舵角,即帆產(chǎn)生的前向推力FSu和舵產(chǎn)生的轉(zhuǎn)船力矩MRr,為了下一步的控制器設(shè)計,FSu和MRr可以表示為
式中:ρa和ρw分別表示空氣和水的密度;Uaw和Uar表示作用于帆和舵的相對風(fēng)速和相對流速;AS和AR分別表示帆面積和舵面積;βws表示視風(fēng)角;|xr|表示舵質(zhì)心在附體坐標系下的x坐標;αS和αR表示帆的攻角和舵的攻角CSL(αS)和CRL(αR)分別為帆和舵的升力系數(shù),而且αs和αR與控制輸入δs和δr的關(guān)系為
βwr表示視流角.
圖1 USR四自由度運動變量描述Fig.1 Description of 4–DOF kinetic variables for USR
考慮到實際海洋工程需求,作如下假設(shè):
假設(shè)1無人帆船機器人橫漂運動耗散有界穩(wěn)定,也就是橫漂速度存在上界.
假設(shè)2對于外界海洋環(huán)境隨機擾動dw=[dwudwvdwpdwr]T,存在未知常量
假設(shè)3假設(shè)無人帆船機器人為一剛體并且忽略縱搖和垂蕩運動,忽略海流對舵的影響,即水流對舵的攻角等于?δr.
本文的控制目標在于針對無人帆船機器人系統(tǒng)設(shè)計一種具有速度調(diào)節(jié)性能的魯棒自適應(yīng)航向保持控制算法,該算法能夠保證無人帆船系統(tǒng)以期望的航行速度收斂到目標航向.
在控制工程中,RBF神經(jīng)網(wǎng)絡(luò)作為一種典型的非線性函數(shù)逼近器[15],能有效重構(gòu)任意非線性函數(shù),并且RBF神經(jīng)網(wǎng)絡(luò)船舶路徑跟蹤控制[16]及飛行器控制領(lǐng)域[17]具有廣泛的工程應(yīng)用.本文引入RBF神經(jīng)網(wǎng)絡(luò)逼近系統(tǒng)模型不確定(含結(jié)構(gòu)未知和參數(shù)不確定),并利用魯棒神經(jīng)阻尼技術(shù)構(gòu)建單一自適應(yīng)參數(shù)補償其影響,保證閉環(huán)控制系統(tǒng)的魯棒性能.為此,引入以下引理.
引理1[18]對于在緊集?x中任意給定的連續(xù)函數(shù)f(x)(f(0)=0),可以被RBF神經(jīng)網(wǎng)絡(luò)(6)以任意精度進行逼近:
式中S(x)=[s1(x)s2(x)··· sl(x)]表示高斯函數(shù).如式(7),l>1為神經(jīng)網(wǎng)絡(luò)節(jié)點數(shù)量,μi和ξi分別表示高斯函數(shù)的中心和寬度值:
ε(x)表示未知逼近誤差,且有逼近誤差上界εˉ,n為x的維數(shù),A表示權(quán)重向量,可以表示為
將帆角和舵角作為控制輸入,結(jié)合魯棒神經(jīng)阻尼技術(shù)和動態(tài)面技術(shù),設(shè)計具有速度調(diào)節(jié)性能的魯棒自適應(yīng)航向保持控制算法,由于無人帆船數(shù)學(xué)模型(1)和(2)存在模型不確定以及未知項,為了方便控制器設(shè)計,忽略橫漂運動和橫搖運動,僅考慮無人帆船的艏搖運動和前進運動,無人帆船前向推進力主要由帆在u方向上產(chǎn)生的分力FSu提供,轉(zhuǎn)船力矩MRr主要由舵提供.因此將帆、舵、龍骨、船體產(chǎn)生的其他力/力矩(Fiu,Mjr,i=R,K,D,j=S,K,D)作為模型攝動和不確定部分,用非線性函數(shù)fr(·),fu(·)代替,由此無人帆船非線性數(shù)學(xué)模型式(1)和式(2)可以被簡化為
圖2 擬合曲線Fig.2 Fitted curve
下面將結(jié)合魯棒神經(jīng)阻尼和動態(tài)面技術(shù),對魯棒自適應(yīng)控制器進行設(shè)計.
定理1若無人帆船系統(tǒng)(1)–(2)的所有狀態(tài)變量滿足
其中C0為一正常數(shù).在滿足假設(shè)1–3的前提下,綜合應(yīng)用虛擬控制律(13)、魯棒神經(jīng)控制律(20)和自適應(yīng)律(21),可以保證閉環(huán)控制系統(tǒng)的所有變量滿足半全局一致最終有界(SGUUB).通過調(diào)節(jié)設(shè)計參數(shù)使得追蹤誤差可收斂到零點的任意小鄰域內(nèi).
應(yīng)用Lyapunov直接法進行證明,選取Lyapunov候選函數(shù)
根據(jù)楊氏不等式和魯棒神經(jīng)阻尼技術(shù),式(24)(26)–(28)在進一步的穩(wěn)定性證明中具有重要作用,其中:i=u,r,
由于θi(i=u,r)為魯棒神經(jīng)阻尼項中有界參數(shù),在船舶控制工程領(lǐng)域,參考信號ud通常存在一階導(dǎo)數(shù)且有上界,而且執(zhí)行器提供的能量存在一定上限,所以執(zhí)行器增益gi(·)(i=u,r)存在上界(·),因此?有界.通過對式(31)進行積分,可以得到
根據(jù)閉環(huán)增益成形算法[22],V(t)滿足?/2κ.因此,閉環(huán)控制系統(tǒng)的所有誤差信號滿足半全局一致最終有界收斂,并且調(diào)整設(shè)計參數(shù)可以使誤差信號收斂到零的任意鄰域內(nèi).
為驗證基于速度調(diào)節(jié)的魯棒自適應(yīng)控制器的有效性,本節(jié)基于MATLAB仿真平臺,在模擬海洋環(huán)境下與文獻[12]中的控制算法進行計算機仿真.計算機仿真對象為一艘無人帆船機器人,船長12 m,船寬3.21 m,主帆面積170 m2,舵面積1.17 m2,其他模型參數(shù)詳見文獻[7].
對于外界海洋環(huán)境干擾,使用文獻[23]中的方法建立物理數(shù)學(xué)模型,即由挪威石油工業(yè)組織規(guī)范(norsk sokkels konkurranseposisjon,NORSOK)譜構(gòu)建風(fēng)速風(fēng)向模型和基于聯(lián)合北海波浪計劃(joint north sea wave project,JONSWAP)譜構(gòu)建的波浪模型.時變風(fēng)速和風(fēng)向干擾如圖3(a)–(b)所示,其中主風(fēng)向為0?,主風(fēng)速為9.8 m/s,三維海面波浪如圖3(c)所示.
圖3 海洋環(huán)境干擾Fig.3 Marine environment disturbance
對于無人帆船來說,當(dāng)風(fēng)舷角χw處于航行死區(qū)時,即無人帆船迎風(fēng)航行(?22.5?χw22.5?)或順風(fēng)航行(?180?χw?165?,165?χw180?)時無法執(zhí)行航向保持任務(wù)[24].因此,在進行無人帆船航向保持控制任務(wù)時應(yīng)避開航行死區(qū).
圖4–6描述了閉環(huán)控制系統(tǒng)在本文算法與文獻[12]中算法的主要對比結(jié)果.圖4表示輸出變量ψ,?,u的歷時曲線,從圖4(a)中可以看出,相對于傳統(tǒng)算法,本文提出的控制算法能夠無超調(diào)收斂到期望航向,并且在達到穩(wěn)定狀態(tài)時航向抖動較小.結(jié)合圖5(a)舵角歷時曲線可知,在達到穩(wěn)定狀態(tài)后,在魯棒自適應(yīng)控制的控制下,舵角幾乎收斂到零,舵機耗能較小.圖4(b)–(c)描述無人帆船系統(tǒng)的橫傾和速度響應(yīng)曲線,結(jié)合圖5(b)帆角曲線得知,在本文控制算法的控制下,無人帆船系統(tǒng)能夠通過調(diào)節(jié)帆角,使航行速度收斂到期望速度,并且由于調(diào)節(jié)速度的優(yōu)勢,使得控制系統(tǒng)的橫傾較小,在一定程度上保證了航行系統(tǒng)的安全.值得注意的是,帆機的能量消耗受帆角、風(fēng)向和航向多種因素影響.盡管本文控制算法的帆角較大,但是在北風(fēng)(風(fēng)向0?),參考航向為60?的情況下,帆角越小,風(fēng)帆產(chǎn)生的推力越大,航行速度越高,并且文獻[12]控制算法產(chǎn)生的最大航行速度高于期望航行速度,因此為了將航行速度穩(wěn)定在期望航速,本文算法產(chǎn)生的帆角較大,但是風(fēng)帆產(chǎn)生的推力較小,進一步帆機能量消耗較小.圖6描述了伺服機構(gòu)增益自適應(yīng)參數(shù)的變化規(guī)律.
圖4 控制輸入對比效果Fig.4 Comparison of control input efforts
圖5 船舶姿態(tài)變量對比效果Fig.5 Comparison effect of vessel attitude variables
圖6 自適應(yīng)參數(shù)曲線Fig.6 Adaptive adjusting parameter curve
為了進一步量化本文與文獻[12]控制算法的控制效果,引入4個性能指標函數(shù),即平均絕對航向誤差(mean absolute course error,MAC)、平均絕對橫傾誤差(mean absolute roll error,MAR)、平均絕對速度性能(mean absolute speed performance,MAS)和平均絕對輸入性能(mean absolute control input,MAI).MAC描述無人帆船機器人航向穩(wěn)定性能;MAR描述輸出變量?的大小,?越小,無人帆船航行安全性越高;MAS描述系統(tǒng)穩(wěn)定后(40~180 s)航行速度穩(wěn)定性能,在本文算法中,取um=ud=6.0 m/s,在文獻[12]中取um=9.0 m/s;MAI表示閉環(huán)控制系統(tǒng)在40 s~180 s期間致動器能量消耗性能.數(shù)值量化對比結(jié)果總結(jié)如表1所示,從表中可以得知,與傳統(tǒng)控制算法相比,無人帆船航行速度能夠收斂到期望航速的一個較小的界域內(nèi),盡管控制系統(tǒng)穩(wěn)定后帆角較大,但是在本文環(huán)境下,較大的帆角產(chǎn)生較小的推力,從而達到速度調(diào)節(jié)的目的,進一步使得橫傾姿態(tài)角變小,在一定程度上保證了閉環(huán)控制系統(tǒng)的穩(wěn)定性.
表1 本文算法與文獻[12]量化對比效果Table 1 Quantitative comparison of performances for the proposed scheme and the one in[12]
本文針對無人帆船航向保持控制問題,設(shè)計了一種具有速度調(diào)節(jié)機制的魯棒自適應(yīng)航向保持控制算法.該算法中,利用動態(tài)面技術(shù)和魯棒神經(jīng)阻尼技術(shù)處理“計算爆炸”和模型不確定問題,并且無人帆船能夠?qū)崿F(xiàn)以期望的航行速度保持在目標航向上自動航行.魯棒自適應(yīng)控制器在保證閉環(huán)控制系統(tǒng)魯棒性和有效性的同時,易于應(yīng)用于海洋工程實際.而且通過Lyapunov穩(wěn)定性判據(jù),證明了閉環(huán)控制系統(tǒng)誤差變量滿足半全局一致最終有界穩(wěn)定.最后,在MATLAB仿真平臺上驗證了所設(shè)計控制算法的合理性.