張雪飛,袁鵬*,2,譚俊哲,2,王樹杰,2,徐泓燊,孫燁
1 中國海洋大學 工程學院,山東青島266100
2 青島市海洋可再生能源重點實驗室,山東青島266100
無人帆船在海上自主航行時,會受到海洋環境的影響,出現一些偏離預定軌跡的狀態,因而一個有較強抗干擾能力的航向控制器,對于帆船的航跡保持、循跡航行具有十分重要的意義。
目前,對于航向控制的算法主要有經典PID,Backstepping,Lyapunov,滑模控制、神經網絡控制,模糊控制和一些其他相互結合的智能控制方法等[1-2]。國內外很多學者對無人帆船的航向控制做了大量研究。其中,Deng 與Ahmed 等[3-4]通過模糊控制和PD 控制器來控制航向,并應用到了實際的導航路徑規劃中。Emami 等[5]通過建立Fossen 四自由度船舶數學模型,運用PID 算法實現了對一條小型無人帆船的航向保持控制。王倩等[6]根據操舵的專家經驗,歸納總結并制定出了245 條模糊控制規則,并直接以舵角作為輸出,對一個1.5m 的帆艇實現了循跡航行控制。沈智鵬等[7]針對無人帆船模型不確定、控制方向和外部環境擾動未知的情況,提出了一種RBF 神經網絡自適應動態面航向控制方法。上述研究運用不同的控制方法,實現了對帆船航向的控制,而本文則將研究在不同航速和未知的隨機干擾下,帆船航向的穩定性控制。
PID 控制器由于其簡單的結構和明確的物理意義,對于特定的場景和精確的數學模型,具有很好的控制特點,仍被廣泛應用于實際工程中。然而,傳統PID 控制的效果很大程度上取決于其控制參數Kp,Ki,Kd的值,在復雜多變的情況下,很難在線實時調節PID 控制參數,所以,在控制過程中,往往會表現出較大的波動和高頻轉舵,甚至可能出現不可控的狀態[8]。無人帆船在航行過程中會面臨風、浪、流等因素的干擾,僅僅依靠傳統PID 的調節,往往難以滿足準確航向的控制要求。而模糊控制則可以根據實際操作的專家經驗,無需確定的數學模型,制定出相應的控制規則,達到理想的控制效果[9]。因此,本文將設計一種結合經典PID 技術的模糊自適應控制器,根據調節PID 控制參數的實際經驗,制定出相應的模糊控制規則,實現對PID 控制參數的動態調節,從而達到對帆船穩定控制的目的。
本文以自主設計的無人帆船模型為仿真研究對象。該船體(附體)與風帆主尺度如表1 所示,舵剖面選用NACA 0018 翼型。
在實際海面運動過程中,一般可以將帆船近似為一個具有六自由度的剛體。為便于對帆船的運動描述,建立了如圖1 所示的2 種右手坐標系。其中,o0-x0y0z0是以t=0 時刻船舶重心為中心的慣性坐標系,o0-x0軸為靜止水面正北方向,o0-y0軸為靜止水面正東方向,o0-z0軸垂直水面向下。o-xyz是以船舶重心為中心的附體坐標系,o-x軸為船體軸線上,方向由船艉指向船頭,o-y軸指向右舷,o-z軸指向水面。為了便于分析航向角ψ與舵角δ之間的關系,在滿足研究要求的前提下,可以忽略橫搖、縱搖、垂蕩的運動,只考慮橫蕩、前進、艏搖運動,將帆船運動簡化為三自由度的數學運動模型[10-11]。

表1 無人帆船模型主尺度Table 1 The main dimensions of small autonomous sailboat model

圖1 船體坐標系Fig.1 The coordinate system of hull
根據牛頓關于質心運動的動量和動量矩定理,結合坐標系和速度轉換關系,建立無人帆船在靜水中的三自由度數學運動模型[12-13]:

式中:m 為船的總質量;uG,vG,u?G,v?G分別為重心處前進和側向速度,以及其對時間的導數;r,r?分別為艏搖角速率及其對時間的導數;Fx,Fy,Mz分別為在x,y,z軸重心處作用的外力和外力矩;IzG為船舶繞軸z0的轉動慣量。再從控制工程的角度出發,考慮船體艏搖角的變化與舵角運動的關系,根據帆船的水動力學模型和輸出方程,將式(1)的三自由度狀態空間方程轉化為傳遞函數表達式,簡化得到著名的Nomoto 數學模型:

式中:回轉性參數K 和穩定性參數T 分別為操舵后的角速度和達到最高旋回角速度所需時間;s為拉普拉斯變換因子。
舵機在實際控制過程中具有一定的延遲效應,在某種程度上會影響到航向控制的精確性,一般可以將舵機看作一階慣性環節[14]:

式中:δc為目標舵角;T0為舵機的時間常數,一般取1~3 s,本文仿真中取T0=1。
不同特性的帆船在海上航行時會有不同的禁航區域,一般認為此區域在逆風30°~45°之間,此時,需要采用Z 型搶風航行,除此外,帆船可以實現任意航向的航行[15]。而在具體的直航段,無人帆船的航向控制方法會有所不同,其控制效果也會有明顯的差異。為了實現響應快和穩性高的航向控制,本文采用了模糊PID 控制法。
傳統PID 算法對航向進行控制時,以給定的目標航向角ψc與當前實際航向角ψ的偏差e作為控制器的輸入,以舵角值δ作為輸出。模糊控制器對于某一給定的航向角,會不斷地根據偏差e和偏差率ec,通過制定的模糊規則,輸出Kp,Ki,Kd的值,然后與原PID 值進行并聯控制,輸出目標舵角δc,再經過舵機系統,對被控對象輸入確定的舵角值。如此循環,不停地調節帆船的航向,直至實際航向角與目標航向在預期的誤差范圍內,并達到穩定的動態控制狀態。控制器的整體控制流程如圖2 所示。

圖2 模糊PID 控制系統Fig.2 Fuzzy PID control system
目前,模糊控制和PID 控制相結合的方式主要有:相互切換型控制、并聯混合型控制和參數整定型控制。相互切換型控制方法一般是在較大誤差范圍內選用模糊控制,較小誤差范圍內轉化為PID 控制;并聯混合型控制方法是根據PID 整定的參數加上模糊控制的參數,并聯進行控制;參數整定型控制方法是利用模糊控制器,根據模糊規則,通過在線整定PID 參數來控制。由于并聯混合型控制較靈活,本文采用此種方式。
本文采用的模糊控制規則,主要是根據PID整定的專家經驗:當偏差e較大時,為了使系統具有較好的追蹤反應性能,避免出現較大的超調量,應取較大的Kp和較小的Kd,Ki值;當偏差e中等時,為了具有較小超調量和緩和的系統響應,應取較小的Kp和適中的Kd,Ki值;當偏差e較小時,為使系統具有較好的穩定性能,防止系統在設定值附近出現波動,應取較大的Kp,Ki值;當偏差率ec較大時,取較小的Kd值,通常情況下Kd為適中值。通過實際調整的過程,制定了如表2所示的49 條規則。其中,模糊控制的輸入e,ec和輸出Kp,Ki,Kd的7 個論域范圍均為(-1,1),其模糊子集均為NB,NM,NS,ZE,PS,PM,PB,分別代表負大、負中、負小、零、正小、正中、正大。
在仿真過程中,先將輸入量e,ec做歸一化處理,再將輸出Kp,Ki,Kd按照PID 控制范圍加入適當的增益。e,ec的變量子集區間如圖3(a)所示,隸屬函數為smf,zmf 和trimf;Kp,Ki,Kd的變量子集區間如圖3(b)所示,隸屬函數為trimf。同時,采用Mamdani 的模糊控制方法,變量子集的模糊交、或、推理、聚類輸出、反模糊化方法分別為“min”,“max”,“min”,“max”,“centroid”。

表2 Kp,Ki,Kd 模糊控制規則Table 2 Fuzzy control rules for Kp,Ki and Kd

圖3 模糊變量子集Fig.3 Fuzzy variable subset
借助Matlab 的Simulink 仿真工具,根據PID 的控制原理和圖2 設計的模糊PID 控制器,搭建了如圖4(a)所示的傳統PID 控制仿真模型,和圖4(b)所示的模糊PID 控制仿真模型。其控制過程如圖5 所示。首先,根據設定的目標航向角與當前的實際航向角對比,計算出偏差和偏差率,判斷帆船是否處于目標航向,若出現偏航,則控制器通過對舵的調整來進行航向控制,最終達到目標航向。其中,模糊PID 中的并聯混合控制器在運行時會不斷檢測e與ec,通過制定的模糊規則并利用模糊推理的方法,在線實時生成控制器的3 個控制參數,再與設定的固定PID 參數值疊加進行舵角的控制,從而實現航向的控制。
帆船的實際航向除了受到舵的主要控制外,還會受到風、帆、浪、流等因素的干擾影響,而這些影響因素往往表現出很強的非線性和時變性,難以提前預測和建立準確的數學模型。這些未知因素最終會對帆船的航向造成影響,出現一定的偏航現象。在仿真模型中,加上特定范圍內的隨機干擾模塊,每0.5 s 產生-4~4 之間的隨機數。同時,也加入了舵角監測模塊,由此可以檢驗控制器的控制方法是否具有較好的動態控制性能。
本文以實尺度的帆船模型進行仿真模擬研究。假設船的初始航向角和舵角值均為0,設定目標航向角ψc=120°,處于非逆風航行區域,根據理 論 計 算 公 式:Kp=T?Wn

圖4 控制器仿真模型Fig.4 Controller simulation model

圖5 控制流程圖Fig.5 Control flow chart
2/K,Ki=T?Wn3/K,Kd=(2T?ε?Wn2-1)/K,其中Wn,ε分別為系統的自然頻率和相對衰減系數。適當修改得出PID 控制參數Kp=0.42,Ki=0.001,Kd=1.12。由于航速不同,帆船的回轉性參數K 和穩定性參數T 也會有所不同,當航速V 分別為2.0,2.5 和3.0 m/s 時,回 轉 性 參 數 分 別 為-21.99,-27.49,-32.98,穩定性參數分別為-22.96,-18.36,-15.30。
不同航速下,2 種控制仿真對比結果如圖6 所示。從圖中可以看出,這2 種控制方法均能實現航向的控制,但控制效果有所差別。當航速V=2.0 m/s 時,傳統PID 控制在3 s 左右達到目標航向角,并出現了20°左右的最大超調量,在10 s 左右趨于穩定;模糊PID 控制的調節時間約為6 s,無超調量。當航速V=2.5 m/s 時,傳統PID 穩定控制時間約為9 s,最大超調量為10°;模糊PID 控制調節時間約為7 s,無超調量。當航速V=3.0 m/s 時,傳統PID 控制調節時間約為12 s,最大超調量為5°,并出現了一定的波動情況;模糊PID 控制調節時間約為6 s,無超調量。

圖6 兩種控制方法的仿真對比Fig.6 Simulation comparison of two control methods
傳統PID 控制和模糊PID 控制的主要控制性能參數如表3 所示。從表中可以看出,模糊PID 和傳統PID 相比有較短的穩定調節時間和更小的操舵角,且均未出現明顯的超調量和波動情況。由于傳統PID 參數固定,往往是在船舶到達目標航向角并出現一定的超調和偏差后,才進行轉舵的控制。而模糊PID 能夠動態調節參數,在即將到達目標航向角時提前進行轉舵的控制,使其在面對不同的航速和復雜的海洋環境干擾下,表現出很好的控制效果和較強的自適應能力。

表3 傳統PID 與模糊PID 控制對比Table 3 Comparison between traditional PID and fuzzy PID control
本次試驗的船體結構如圖7 所示,使用的控制板有主控板和驅動板,配備的傳感器主要有超聲波風速風向儀、帆角編碼器、電子羅盤、GPS 和溫濕度變送器,執行機構有轉帆的無刷直流電機和操舵的電動推拉桿,不同距離分別采用GPRS與2.4 GHz 無線通信。地面基站處,無人帆船監控軟件監視實時返回的數據和控制數據。無人帆船監控軟件是使用Visual Studio 軟件編寫的MFC 應用程序,可實時監控船舶狀態、修改參數、記錄數據文件等。該執行信號由基站通過Modbus 傳輸至船載主控模塊,再將控制信號通過CAN 總線傳輸到驅動模塊,實現對執行機構的控制。

圖7 船體結構Fig.7 Ship structure
試驗過程中,通過電子羅盤實時檢測帆船的航向角,并與設定的目標航向角進行比較,得出航向偏差作為控制器的輸入,通過傳統PID 或模糊PID 輸出舵角值,對執行機構進行舵角的控制。試驗時,設定目標航向角為25°,帆船航跡和航向角如圖8(a)和圖8(b)所示,分別運用傳統PID 與模糊PID 這2 種方法對帆船給定航向進行控制,湖試情況如圖8(c)所示。在較小的風、流干擾下,對處于非逆風航行的帆船,從試驗數據對比結果可以看出,模糊PID 與傳統PID 均能實現目標航向的控制,但傳統PID 的軌跡偏差和航向角波動較大,而模糊PID 則能較快地到達目標航向角且較穩定。綜合情況下,模糊PID 具有更好的航向控制效果。

圖8 試驗對比結果Fig.8 Experimental comparison results
本文以自主設計的無人帆船模型為研究對象,根據帆船的實際特征參數建立運動數學模型,采用模糊PID 方法設計控制器,對帆船航向進行仿真控制研究,與傳統PID 控制方法進行對比并進行了試驗驗證。
通過對航向控制仿真及試驗結果分析發現,以不同的航速到達同一航向角,2 種針對帆船的控制方法實現情況有所差異。模糊PID 控制器具有較快的穩定調節時間,較小的超調量和操舵角,以及較強的抗干擾能力,能夠實現對帆船航向的穩定控制。綜合整體對比結果可知,基于模糊PID 的方法可以應用到小型無人帆船的航向控制,并且對于無人帆船的智能航向具有一定的參考價值。未來也可以應用該方法進一步考慮帆和舵的聯動控制,考察其對帆船航向的影響和控制效果。