李紀強 ,張國慶,張顯庫 ,張衛(wèi)東
(1.大連海事大學航海學院,遼寧大連 116026;2.上海交通大學電子信息與電氣工程學院,上海 200240)
船舶航向保持控制是船舶在航行過程中的一個最基本的任務場景.針對船舶航向保持控制研究,已經(jīng)取得了大量的有益成果,例如比例積分微分(proportion integration differentiation,PID)控制、自適應神經(jīng)控制、模型預測控制、滑??刂啤討B(tài)面控制等[1–5].文獻[6]對船舶航向保持控制的發(fā)展歷程進行了系統(tǒng)的研究,并且指出,PID控制由于參數(shù)少和控制器結構簡單的優(yōu)勢,被廣泛應用到航向自動舵中.但是PID控制律是基于精確數(shù)學模型設計的,而船舶的運動特性易受模型不確定、風浪流干擾等因素影響,因此用于控制算法設計的數(shù)學模型與實際物理平臺之間存在很大的不確定性.為了處理模型結構的非線性項,文獻[7]中采用徑向基函數(shù)神經(jīng)網(wǎng)絡(radial basis function neural networks,RBF-NNs)對模型不確定進行在線逼近,并且利用Lyapunov穩(wěn)定性判據(jù)證明了閉環(huán)控制系統(tǒng)的穩(wěn)定性.進一步,文獻[8]提出了一種雙極性S函數(shù)修飾的非線性控制律,所提控制算法能夠在保持控制效果的同時降低控制能量,并且以“育鯤”輪為例進行了仿真驗證.文獻[9]中分別針對船舶Nomoto模型設計非線性修飾的控制算法與模糊控制律,并進行仿真效果對比,結果表明兩種控制算法均具有良好的魯棒性和控制效果,但是使用非線性修飾的航向保持控制算法能夠減少平均舵角的使用次數(shù).在外界海洋環(huán)境作用下,船舶為了保持在期望航向,控制系統(tǒng)需要不斷更新命令信號來調整舵角,這會造成執(zhí)行器的頻繁操縱,增加舵機能量消耗.在文獻[10]中,基于牛頓–拉格朗日非線性數(shù)學模型,設計了一種具有擾動觀測補償機制的航向保持控制律,通過仿真驗證說明了所提擾動觀測器能夠降低時變干擾對控制系統(tǒng)的影響.文獻[11]提出了一種基于比例積分滑模的自適應控制律,通過對航向誤差和位置誤差的鎮(zhèn)定來實現(xiàn)欠驅動船舶的路徑跟蹤任務.
實際上,上述文獻中是基于連續(xù)時間采樣設計的航向保持控制律,這會在一定程度上造成控制命令對傳輸信道的資源占用,并且增加舵機損耗.事件觸發(fā)技術作為一種能夠降低通信復雜的有效控制算法,已經(jīng)在多智能體系統(tǒng)和船舶路徑跟蹤控制中得到了廣泛的應用[12–14].文獻[15]介紹了一種能夠保證非線性系統(tǒng)的控制器和參數(shù)估計器同時觸發(fā)的觸發(fā)條件,并且避免了輸出到狀態(tài)穩(wěn)定的假設前提.文獻[16]針對無人船編隊控制問題,利用魯棒神經(jīng)阻尼技術提出了一種了魯棒自適應事件觸發(fā)控制算法,證明了事件觸發(fā)技術在降低通信負載方面的優(yōu)勢性.在文獻[17]中,進一步將事件觸發(fā)控制算法引入到無人帆船的航向保持控制中,設計了一種考慮執(zhí)行器故障的事件觸發(fā)控制算法,并且在仿真部分驗證了事件觸發(fā)技術在降低系統(tǒng)振動方面的優(yōu)勢.在文獻[12–17]中,事件觸發(fā)閾值參數(shù)需要人為設定,即控制系統(tǒng)是靜態(tài)觸發(fā)的.對于船舶艏向自動控制來說,在瞬態(tài)響應階段和穩(wěn)態(tài)響應階段,對于閾值參數(shù)的需求是不一致的.為了解決這種問題,文獻[18]針對非線性系統(tǒng)設計了一種自適應律來動態(tài)調節(jié)閾值參數(shù).這種方法在瞬態(tài)響應時會有效降低觸發(fā)次數(shù),但是閾值參數(shù)會隨著時間增加而逐漸趨近于零.盡管事件觸發(fā)技術能夠有效減少控制命令的傳輸次數(shù),但是一個不可避免的問題是,在觸發(fā)間隔內控制命令保持不變,會降低系統(tǒng)的控制輸出精度.
基于以上分析,本文以牛頓–拉格朗日非線性數(shù)學模型中艏向模型為控制對象,在時變干擾環(huán)境下設計了一種基于混合閾值事件觸發(fā)機制的船舶自適應神經(jīng)滑模控制算法.在所提控制算法中,利用徑向基神經(jīng)網(wǎng)絡逼近艏向模型中的非線性項,并且通過兩個自適應更新參數(shù)對神經(jīng)網(wǎng)絡權重和執(zhí)行器增益進行在線補償.本文的創(chuàng)新點主要總結為以下兩點:
1)與文獻[10]相比,基于混合閾值參數(shù)的事件觸發(fā)機制能夠在瞬態(tài)響應階段動態(tài)調節(jié)閾值參數(shù),在穩(wěn)態(tài)響應階段實現(xiàn)靜態(tài)觸發(fā).這會降低閉環(huán)系統(tǒng)在瞬態(tài)響應階段的觸發(fā)次數(shù),減少舵機能量消耗;
2)引入比例積分滑模技術,降低了事件觸發(fā)技術在減少控制命令傳輸負載時引起的控制輸出抖振.此外,從理論上證明了事件觸發(fā)技術對外部干擾的魯棒性.
欠驅動船舶的牛頓–拉格朗日非線性數(shù)學模型的矩陣表達如下:
式中:η=[x y ψ]T為船舶的位置和艏向信號;v=[u v r]T表示船舶前進速度、橫漂速度和艏搖角速度;d為外部擾動矩陣;τ=[τu0τr]T表示船舶的推進力和轉船力矩;J(η)表示轉換矩陣,詳細的模型介紹可以參閱文獻[19].
為便于艏向保持控制器設計,將式(1)中的艏向模型寫為
其中:fr(v)表示艏向模型中的非線性項,Fr(·)表示執(zhí)行器增益函數(shù),δr表示舵角,c1,c2表示科式向心系數(shù),d1,d2表示水動力阻尼系數(shù),gr表示未建模動態(tài).dwr表示外部擾動,mr表示艏向方向上的附加質量.
在船舶艏向模型的非線性項(3)中,包含前進速度u和橫漂速度v,即r與u,v存在一定耦合作用,因此,在欠驅動船舶模型的基礎上研究船舶艏向運動更加符合工程實際.
為了增加控制器設計的嚴謹性,有以下假設.
假設1對于外界海洋環(huán)境隨機擾動dwr存在未知常量>0,滿足|dwr|≤.
假設2船舶橫向漂移速度小于前進速度,即橫向漂移速度被動有界穩(wěn)定[10].
步驟1定義誤差變量ψe=ψd-ψ,并對其求導得
式中ψd表示期望航向,且二階可導.為了鎮(zhèn)定艏向誤差ψe,構造Lyapunov候選函數(shù)如下:
對V1求導得
針對r設計虛擬控制律αr如下:
式中k1>0為設計參數(shù).因此,可以重新寫為
其中re=αr-r.
步驟2對誤差re求導得
為了鎮(zhèn)定誤差re,構造比例積分滑模修正面ξ1,即
式中k2為大于零的滑模面設計參數(shù).進一步可以得到
構造Lyapunov函數(shù)V2如下:
對V2求導,可得
由于在式(14)中出現(xiàn)了ξ1,因此構造V3,即
對V3求導,并將式(11)代入,可得
對于式(16)中的非線性項fr(v),采用徑向基函數(shù)神經(jīng)網(wǎng)絡進行在線逼近,如下:
式中:W表示更新權重,S(v)表示高斯函數(shù),ε(v)為具有誤差上界(v)逼近誤差.
為了避免連續(xù)生成控制命令,增加對信道資源的占用,引入事件觸發(fā)機制.考慮事件觸發(fā)機制的控制輸入如下:
事件觸發(fā)條件為式(19),即控制輸入在不滿足觸發(fā)條件時,控制輸入保持不變,當滿足觸發(fā)條件時,控制輸入更新.
式中:eδ=δk-δr,ω1,ω0分別表示動態(tài)/靜態(tài)觸發(fā)閾值參數(shù),δ?>0為正的常數(shù).根據(jù)式(19),有以下兩種情況.
情況1如果δr≥0,可以得到-ωδr-δ?≤δk(t)-δr(t)≤ωδr+δ?,進一步可以表述為
情況2如果δr<0,可以得到ωδr-δ?≤δk(t)-δr(t)≤-ωδr+δ?,進一步可以表述為
根據(jù)情況1和情況2,可以得到
將式(17)和式(23)代入式(16)中,可以得到
選取αδ作為中間控制變量,定義變量?=mr(1+λ1ω)/Fr,為?的估計值,且有=?-.因此,設計魯棒自適應神經(jīng)滑??刂坡扇缦?
將式(26)代入式(25)中,可以得到
式中γ1,γ2,σ1,σ2表示正的自適應設計參數(shù).
定理1若船舶艏向系統(tǒng)(2)滿足,其中?0為正常數(shù),在滿足假設1和假設2的前提下,綜合應用虛擬控制律(7)、事件觸發(fā)機制(18)、控制律(26)和自適應律(28),可以得到以下兩點:
1)船舶艏向系統(tǒng)內所有狀態(tài)變量滿足半全局一致最終有界(semiglobal uniform and ultimately bounded,SGUUB)穩(wěn)定;
2)通過調節(jié)設計參數(shù)可使得艏向誤差收斂到零點的任意小鄰域內.
為證明定理1,構造Lyapunov函數(shù)V4,即
對V4求導得
將式(28)代入式(30)可得
利用以下不等式對式(31)進行放縮設計:
因此,式(31)可以被寫為
進一步可以得到
由式(19)可知,當控制輸入變化滿足條件(36)時,控制輸入保持不變,也就是說,對于任意觸發(fā)時刻的控制輸入δk(tk),總會存在區(qū)間D∈[(1-ω)δk(tk)+δ?,(1+ω)δk(tk)+δ?]使得δr(t)=δk(tk).因此,所設計的控制律能夠自動避免干擾造成的區(qū)間D內控制輸入抖振.假設干擾作用在閉環(huán)控制系統(tǒng)上的力矩為M,M具有隨機不確定性,則當滿足|M|<ω|δk(tk)|+δ?時,M對控制輸入不會造成影響.
由于事件觸發(fā)技術對干擾存在一定的魯棒性,其能力強弱主要取決于觸發(fā)閾值參數(shù)和觸發(fā)時刻的控制輸入值.對于船舶自動系統(tǒng),在瞬態(tài)響應階段為了加快追蹤到期望航向,通常舵角會不斷增大甚至達到飽和狀態(tài),事件觸發(fā)技術會造成區(qū)間D隨著控制輸入的增大而增大,降低控制算法的收斂速度和控制精度.此外,觸發(fā)閾值參數(shù)在控制輸入較大時對控制系統(tǒng)的影響較大,在控制輸入較小時,對控制系統(tǒng)的性能影響較小.航海實際中,駕駛員更希望在船舶達到穩(wěn)定航行狀態(tài)時能夠減少由于外部干擾引起的操舵頻率.
為了驗證所提控制算法的有效性,將考慮前進、橫漂和艏搖運動的無人船(質量為23.8 kg,船長為1.255 m,船寬為0.29 m)的3自由度耦合數(shù)學模型作為被控對象,將本文所提控制算法與算法A和算法B在MATLAB仿真平臺上進行數(shù)值仿真實驗,其中,算法A為文獻[11]中的魯棒自適應神經(jīng)滑??刂扑惴?算法B為文獻[18]中的魯棒自適神經(jīng)控制算法.圖1為本文算法的執(zhí)行流程圖.
圖1 MATLAB算法執(zhí)行流程圖Fig.1 Block diagram for MATLAB algorithm execution
船舶的非線性參數(shù)為:c1=33.8v+1.0115r,c2=-25.8u,d1=0.0313+3.96|v|+0.13|r|,d2=1.9-0.08|v|+0.75|r|,gr=0.0156ur2+0.0278uv3r,前進和橫漂自由度的非線性參數(shù)可參見文獻[19].控制器的設計參數(shù)為:k1=0.8,k2=2.2,ω0=0.4,δ?=0.01,γ1=γ2=σ1=σ2=0.9.
為了構建更加符合實際的海洋環(huán)境,本文以挪威石油工業(yè)組織規(guī)范(norsk sokkels konkurranseposisjon,NORSOK)構建風干擾模型和聯(lián)合北海波浪計劃(joint north sea wave project,JONSWAP)構建風浪干擾模型[17].時變風場和3維風生浪如圖2所示,其中,風干擾可以分為平均風分量和干擾風分量.
圖2 外部干擾Fig.2 The external disturbance
設置初始航向為10?,目標航向為80?,仿真時間為100 s,在模擬海洋環(huán)境下進行本文算法、算法A和算法B的對比實驗,仿真結果主要如圖3–8所示.
圖3 控制輸出對比曲線Fig.3 Comparison of control output efforts
圖3表示3種控制算法的控制輸出曲線對比.從圖3中可以看出,本文算法和算法A具有相似的輸出效果,但是算法B的超調量大,控制精度低.圖4表示3種控制算法的控制輸入對比曲線.在航海實踐中,控制命令由駕駛臺計算機傳出,經(jīng)過舵機伺服系統(tǒng)傳輸?shù)蕉嬖O備.圖4中實線表示本文算法的控制命令δr,點線表示本文算法控制命令經(jīng)過伺服系統(tǒng)后的實際執(zhí)行舵角δ,虛線和點劃線分別算法A和算法B的控制命令δr.事件觸發(fā)機制能夠在滿足觸發(fā)條件前持續(xù)保持控制命令不變,因此可以看出,本文算法的控制命令呈階躍狀,這能夠降低控制器到執(zhí)行器的傳輸頻率,從而降低執(zhí)行器的操舵頻率.盡管算法A和算法B的控制命令曲線變化更加平滑,但是需要舵機實時操縱.通過算法A和算法B的對比,可以發(fā)現(xiàn)比例積分滑模技術能夠提高控制輸出精度和降低控制輸入的抖振.圖5表示非線性項fr(v)的變化曲線,以及RBF-NNs對非線性項的逼近效果.具有隨機性和不確定性的外部干擾會在一定程度上降低RBF-NNs 對fr(v)的逼近效果.RBF-NNs逼近非線性項需要實時更新自適應權重參數(shù),如圖6所示.圖7表示執(zhí)行器增益的自適應調節(jié)參數(shù)變化曲線,當閉環(huán)控制系統(tǒng)達到穩(wěn)態(tài)響應后,神經(jīng)網(wǎng)絡權重參數(shù)和自適應調節(jié)參數(shù)會穩(wěn)定到常量的鄰域內.圖8表示本文所設計的自適應神經(jīng)滑模控制算法的觸發(fā)時間和觸發(fā)間隔,從圖中可以看出,最大觸發(fā)間隔能夠達到6.2 s,這能夠極大的降低控制命令的傳輸頻率,減少舵機操縱耗能.
圖4 控制輸入對比曲線Fig.4 Comparison of control input efforts
圖5 非線性項和非線性項估計值Fig.5 Nonlinear term and estimate of nonlinear term
圖6 神經(jīng)網(wǎng)絡的權重參數(shù)Fig.6 Weight parameter of the RBF-NNs
圖8 觸發(fā)時間和觸發(fā)間隔Fig.8 The triggered time and triggered interval
為了進行3種控制算法的定量分析,定義3個性能衡量指標,分別是控制精度(control accuracy,CA)、輸出平滑度(output smoothness,OS)和執(zhí)行次數(shù)(execution number,EN).CA表示船舶航向偏離目標航向的誤差平均值,OS表示船舶航向變化曲線的平滑度,EN表示閉環(huán)控制系統(tǒng)中控制命令的生成次數(shù),其中CA和OS控制可由式(37)計算.主要量化結果如表1所示,從表1可以看出,本文算法精度最高,但是與算法A相比,控制輸出平滑性略差,這說明事件觸發(fā)技術在保證控制精度的同時,會降低控制輸出的平滑性,可能的原因是在觸發(fā)時刻,控制命令會發(fā)生較大的變化,控制輸出響應速度快,降低輸出曲線平滑性.算法A和算法B的數(shù)據(jù)對比說明了比例積分滑模技術在提高閉環(huán)控制系統(tǒng)的控制精度和輸出曲線平滑性方面具有明顯的優(yōu)勢.算法A和算法B的控制命令執(zhí)行次數(shù)均為10000次,而本文算法的控制命令執(zhí)行次數(shù)為144次.這體現(xiàn)了本文算法中通信信道占用少、舵機操舵頻率明顯下降、舵機損耗和能量消耗較低.相比之下,本文算法更具有工程實用性.
表1 控制性能定量對比Table 1 Comparison of control performances
本文設計了一種基于混合閾值事件觸發(fā)的船舶自適應神經(jīng)滑??刂扑惴?解決了時變干擾環(huán)境下船舶航向保持控制中存在的通信受限和控制輸入頻繁抖振問題.所設計算法的優(yōu)勢主要體現(xiàn)在兩方面: 一是控制器設計模型采用考慮前進和橫漂運動的牛頓–拉格朗日非線性艏向模型,更加符合工程實際;二是控制算法中通過自適應技術構建了徑向基函數(shù)神經(jīng)網(wǎng)絡更新權重和增益調節(jié)參數(shù)更新律,并且利用事件觸發(fā)機制和比例積分滑模技術提高了閉環(huán)控制系統(tǒng)的魯棒性和抗干擾性.最后,以具有耦合特性的三自由度船舶非線性數(shù)學模型為控制對象,在MATLAB平臺上進行數(shù)值仿真,結果表明本文算法在控制精度、信道占用、舵機損耗和能量消耗方面具有明顯優(yōu)勢.