陸瀟楊,劉志全,高迪駒,褚建新
上海海事大學 航運技術與控制工程交通運輸行業重點實驗室,上海 201306
航向控制作為船舶控制領域的首要問題,一直是國內外學者研究的熱點。隨著控制理論的發展,從PID[1]、滑模[2]、神經網絡[3]到模糊自適應[4-5]等智能優化算法,很多控制理論都被應用到船舶控制領域并取得了理想的控制效果,但也存在一定的局限性。例如,神經網絡所需設備較昂貴且計算時間長,不利于工程實現,而模糊規則的制定復雜且難以推廣。彭秀艷和胡忠輝[6]針對海浪濾波和狀態估計問題,設計了反步自適應輸出反饋控制器,但傳統反步法中易出現“計算爆炸”情況。林郁[7]提出的一種可減少控制器計算負擔的濾波器能夠有效避免此問題,但未考慮該方法在欠驅動水面船舶上的適用性。然而,海上實際使用的多數船舶都屬欠驅動系統,即僅利用主推進和舵裝置驅動完成船舶操縱任務。Liu 等[8]利用反步法并結合改良的視線法,將欠驅動路徑跟蹤控制問題轉化為了虛擬全驅動控制問題,但對風、浪、流等外部干擾因素考慮不周,且忽略了船舶運動時非零漂角的影響。漂角是船體受不對稱水流作用發生偏轉時縱剖面與水流方向形成的夾角,其對船舶操縱效果有一定的影響,通常很少考慮。Yu 等[9]提出通過漂角修正來實現航向控制,但需要借助全球定位系統(GPS)和速率傳感器。在不借助GPS 的情況下,Hu 等[10]根據船舶相對速度進一步求得了實際漂角,Wang 等[11]則利用有限時間觀測器并結合視線法,對受漂角影響的船舶進行了航跡控制設計,但未考慮輸入飽和問題。作為實際控制系統中的常見現象,執行器飽和會降低系統性能,甚至導致閉環系統的不穩定性,因此要解決船舶控制問題,就必須考慮受限約束條件下系統的穩定性。Lin 等[12]提出了適用于未知時變環境擾動及輸入飽和情況的自適應模糊輸出反饋控制器,Ma 等[13]提出了一種基于徑向基神經網絡,采用動態面控制和反步法相結合的方法,用于處理飽和問題,但該方法只能用于單輸入單輸出系統。
針對以上提到的水面船舶運動中出現的漂角及輸入飽和問題,本文將設計一種帶漂角修正和輸入約束的魯棒自適應反步航向控制器。首先采用光滑雙曲正切函數和Nussbaum 函數逼近約束條件,利用自適應技術處理未知擾動,然后引入指令濾波器并結合反步法設計航向控制器,以及通過Lyapunov 理論證明其有界性,最后進行仿真實驗驗證該控制方法的有效性。
假設船舶關于xz平面對稱,且垂蕩、橫搖、縱搖方向上的運動可忽略不計。為便于設計控制器,縱蕩速度u由獨立控制系統控制,故假設其為常數,橫蕩速度v與船舶操縱中其他運動變量相比較小,故設其被動有界[14],則水面船舶動力學模型通常可以簡化為在艏搖和橫蕩方向上的兩自由度運動,描述如下[15]:

式中: ψ為船舶的實際航向角,(°);r為船舶的艏搖角速度, rad/s;mi(i=1, 2, 3)為包含附加質量影響的船舶慣性參數, kg;φ為艏搖力矩,N·m,是唯一的控制輸入; τ(φ)為 飽和執行器輸出,N·m; ωr和ωv分別為艏搖和橫蕩方向上有未知界的時變擾動;艏搖和橫蕩方向上的阻尼函數f1(r),f2(v)分別表示如下:

在反步法框架下,求解虛擬控制律所涉及到的所有函數都必須保證是可導的。但飽和執行器輸出 τ(φ)存在非線性部分,為解決這一問題,引入了雙曲正切函數g(φ),即將不連續函數轉化為連續函數,逼近誤差為 μ(φ), 即 τ(φ)=g(φ)+μ(φ)。其中

式 中: ?=ωr+μ(φ), 由 于 ωr和 μ(φ)均 有 界,則 ?有界,且假設 |?|≤σ ;定義 σ? , σ?分 別為界值常數 σ的估計值和估計誤差,即 σ?= σ??σ ;c為正常數;由于實際控制輸入φ難以直接計算得出,因此定義一個輔助變量 ?以方便后續的控制器設計。
針對受非零漂角和輸入飽和影響的水面船舶,提出一種基于反步法的航向控制方法,目標如下:
1) 減小航向輸出誤差;
2) 控制輸入力矩并始終保持在較小值。
為避免船舶航向角突然改變較大導致航速變化明顯,而對研究時假設的條件造成影響,采用了一種預濾波方法,這樣既可使船舶航向平滑過渡,又可保證控制器的魯棒性。在期望航向角ψd處加入一個預濾波器,輸出光滑、緩慢變化的參考航向角 ψdr及其導數作為參考輸入。提出的二階預濾波器可以寫為[16]

式中,ni(i=1,2,3,4)為二階預濾波器的參數。
在航向控制設計中,通常假設漂角為0,選擇期望路徑的切線角作為期望航向角 ψd,航向誤差e=ψ?ψd。然而,實際上漂角是存在的,且會對航行造成一定的影響,特別是對欠驅動水面船舶來說,利用一個輸入來控制橫蕩和艏搖運動,使船舶的重力速度方向與航向不一致,將會導致船舶逐漸偏離航線。可以利用漂角來修正所需航向的不合理性。在如圖1 所示的地面坐標系OXoYo及船體坐標系BXbYb中,由于船舶重心速度方向與期望路徑的切線角相差一個漂角[10],所以結合預濾波器。漂角修正后的期望航向角 ψda和航向誤差ea如下:


圖1 漂角修正后的期望航向Fig. 1 Desired heading after sideslip angle amendment
在設計控制器之前,為避免在虛擬控制律求導過程中出現復雜的計算問題,引入了一種指令濾波器[17],可以表示為



將式(29)~式(31)代入式(28),可得

3) 步驟3。設 ?=?g(φ)/?φ, 對z3求導,可得

為避免在求解 ?的過程中出現復雜的計算過程,引入了Nussbaum 函數N(η)[19]:

式中: η為一個連續函數,同時為Nussbaum 函數的自變量; γη為函數 η中大于0 的參數。
選 擇Lyapunov 函 數V3=V2+0.5z32,對 其 求導,得

式中,參數k3>0。
結合式(35)~ 式(36),得


根據引理2,可知V3(t)和 η有界。根據最終一致 有 界(ultimately uniformly bounded,UUB) 穩 定性定義,即控制系統的末態收斂于以原點為圓心的小鄰域內,由式(38)可得出V3和zi(i=1,2,3)是最終一致有界的,即對于任意 δ>0,t>0,|zi(t)|<δ(i=1,2,3)成立[17]。
因此, |ea|=|ψ?ψda|=|ψ?ψd+β|=|z1|<δ,t>T,即航向誤差也是最終一致有界且穩定的。
由zi(i=1,2,3)的 有界性可知,控制律 ? 和 ?ˉ、虛擬控制律 αi0(i=1,2) 及其相應的 αi、輔助系統狀態量ei(i=1,2)和 σ的估計誤差均有界,結合其他前面所提到的信號也有界,即閉環系統中所有信號均有界。對于控制器參數值,除ki(i=1,2,3)外,其他參數也會對控制精度造成影響。例如kei(i=1,2)和 γσ越大,得到的航向誤差越小,但同時也會導致控制輸入增大。過大的控制輸入(艏搖力矩)會加速舵機的磨損。因此,需要選擇合適的控制器參數以保持航向控制性能和控制輸入之間的協調。控制器整體控制流程如圖2 所示。

圖2 控制系統Fig. 2 Control system
為了驗證所提控制器的有效性,選擇垂蕩、橫搖、縱搖忽略不計,包含艏搖、橫蕩、縱蕩的船舶運動的兩自由度水面船舶數學模型為仿真對象。式(7)中的相關參數具體見文獻[20],控制輸入約束 τM=1.5×107N·m。 設置船舶速度為1 5 m/s,期望航向角分別為1 5?, ?30?, 0?, 20?和 ?5?。
仿真結果如圖3~圖6 所示。為保證仿真結果的可靠性,分別在3 級和5 級海況下,根據有、無預濾波器這2 種情況,對3 種不同控制器進行比較。在無預濾波器( ψdr=ψd)處理情況下,對帶漂角修正和輸入約束的控制器、僅考慮漂角修正的反步控制器和既不考慮漂角修正也不帶輸入約束的傳統反步控制器進行了仿真分析,圖中分別用約束無濾波、漂角無濾波和傳統無濾波表示。在基于預濾波器處理的情況下(參考航向角 ψdr隨預濾波器處理變化),對帶漂角修正和輸入約束的控制器、僅考慮漂角修正的反步控制器和既不考慮漂角修正也不帶輸入約束的傳統反步控制器進行了仿真分析,圖中分別用約束預濾波、漂角預濾波和傳統預濾波表示。圖中,飽和極限指舵能正常使用時的控制輸入極限值。仿真過程中涉及到的不同控制方法的相關參數如表1 所示。在不同海況下,相同的初始條件和相關參數值是保持一致的。

圖3 3 級和5 級海況下無預濾波器控制器的航向角及航向角誤差Fig. 3 The heading angles and their errors of the controllers without pre-filter in sea states 3 and 5

圖4 3 級和5 級海況下無預濾器控制器的艏搖力矩Fig. 4 The yaw torque of the controllers without pre-filter in sea states 3 and 5

圖5 3 級和5 級海況下帶預濾波器的控制器的航向角及航向誤差Fig. 5 The heading angles and their errors of the controllers with pre-filter in sea states 3 and 5

圖6 3 級和5 級海況下帶預濾波器的控制器艏搖力矩Fig. 6 The yaw torque of the controllers with pre-filter in sea states 3 and 5

表1 不同控制方法的設計參數Table 1 Design parameters of different control methods
漂角大小對航向角的影響不可忽視,未經預濾波處理的3 種不同控制器在3,5 級海況下輸出的航向角及其相應的航向角誤差的仿真結果如圖3 所示。在不同海況下,無論是航向角還是航向角誤差,相同控制器的輸出結果差別很小。相比相同海況下的不同控制器,航向突然改變會導致超調量增加,所以3 種控制器的輸出誤差均很大。由圖3(b)和圖3 (d)可見,忽略漂角影響的控制器輸出的航向誤差不能收斂至0。而與其他控制器相比,帶漂角修正和輸入約束的控制器則能有效提高船舶航向控制性能,減小航向角誤差,并能在較短的時間內明顯抑制系統超調量的增加,即對于每次航向改變,帶漂角修正和輸入約束的控制器均能保證在 5 ~8 s 內使系統趨于穩定,相比其他2 種控制器,其達到穩定的時間縮短了一半甚至是更多,超調量平均減少了90%以上,且處于穩定狀態時,其與傳統控制器相比航向誤差減小了1?~2?。
圖4(a)和圖4 (c)給出了3 級和5 級海況下未經預濾波處理的3 種控制器的艏搖力矩仿真結果。由圖可見,當航向發生變化時,未考慮輸入飽和控制器的艏搖力矩很大,已遠遠超出舵能正常使用的極限值,尤其是僅考慮漂角的控制器無論是在3 級還是5 級海況下時,艏搖力矩不僅大而且變化劇烈。為解決該問題,在設計帶漂角修正和輸入約束的控制器時,增加了輸入約束并進行了相應的處理,使其無論航向是否改變,艏搖力矩都保持在很小的范圍內,即平均位于?3 ~3 N·m范圍內,為飽和極限的 2×10?7倍,且在應對更劇烈的海況時艏搖力矩變化頻率將更穩定,如圖4(b)和圖4(d)所示。
基于預濾波處理的3 種不同控制器在3 級和5 級海況下輸出的航向角及其相應的航向角誤差仿真結果如圖5 所示。與圖3 相同,在不同海況下,相同控制器的輸出航向角、航向角誤差無明顯差別;在相同海況下,帶漂角修正和輸入約束的控制器仍然是3 種控制器中控制性能最好的。與圖3(b)相比,在航向變化時能夠更加平滑地過渡,且超調量幾乎為0,航向誤差不超過 ±8?,與無預濾波作用的漂角約束控制器相比航向誤差平均減小了約40%,這也是與圖3(b)相比差別最大處。
圖6(a)和圖6 (c)給出了3 級和5 級海況下經過預濾波處理的3 種控制器的艏搖力矩仿真結果。圖6 內各控制器的比較結果與圖4的分析基本相同。但在相同海況下,從其與圖4中相同控制器的比較結果來看,發現經過預濾波處理的3 種不同控制器在航向改變時艏搖力矩比未處理時的小,即預濾波器也能在一定程度上降低較大舵角的要求。
上述2 種工況下不同控制方法的主要性能參數如表2 所示。通過比較表中幾種不同的控制方法,可以看出基于預濾波處理的漂角約束控制器更具優越性,不僅響應速度快,到達穩定狀態的調節時間更短,無明顯超調,而且艏搖力矩一直保持在很小的范圍內,即使面對不同的海況,其控制效果依舊表現良好,具有較強的魯棒自適應能力。

表2 不同海況下不同控制方法主要性能參數的對比Table 2 Performance comparison of control methods in different sea states
本文針對水面船舶航向運動中出現的非零漂角和輸入飽和問題,結合反步控制算法提出了一種魯棒自適應航向控制器,可有效減小非零漂角對航向的影響,采用預濾波方法使船舶航向改變時能夠平滑過渡,雙曲正切函數和指令濾波器的引入有效解決了控制器設計過程中反步法的應用難題。所提出的控制器可以實現用較小的控制輸入準確跟蹤期望航向的目標,有效改善了水面船舶的航向控制性能。
然而,需要指出的是,本文在建模時簡化了模型,沒有過多考慮船舶非線性動態和參數不確定情況,同時控制精度也有待提高,航向誤差的超調量還可進一步減小,今后將從這幾個方面開展研究。