張雪飛,袁鵬*,2,譚俊哲,2,王樹杰,2,徐泓燊,孫燁
1 中國海洋大學(xué) 工程學(xué)院,山東青島266100
2 青島市海洋可再生能源重點實驗室,山東青島266100
無人帆船在海上自主航行時,會受到海洋環(huán)境的影響,出現(xiàn)一些偏離預(yù)定軌跡的狀態(tài),因而一個有較強(qiáng)抗干擾能力的航向控制器,對于帆船的航跡保持、循跡航行具有十分重要的意義。
目前,對于航向控制的算法主要有經(jīng)典PID,Backstepping,Lyapunov,滑??刂?、神經(jīng)網(wǎng)絡(luò)控制,模糊控制和一些其他相互結(jié)合的智能控制方法等[1-2]。國內(nèi)外很多學(xué)者對無人帆船的航向控制做了大量研究。其中,Deng 與Ahmed 等[3-4]通過模糊控制和PD 控制器來控制航向,并應(yīng)用到了實際的導(dǎo)航路徑規(guī)劃中。Emami 等[5]通過建立Fossen 四自由度船舶數(shù)學(xué)模型,運用PID 算法實現(xiàn)了對一條小型無人帆船的航向保持控制。王倩等[6]根據(jù)操舵的專家經(jīng)驗,歸納總結(jié)并制定出了245 條模糊控制規(guī)則,并直接以舵角作為輸出,對一個1.5m 的帆艇實現(xiàn)了循跡航行控制。沈智鵬等[7]針對無人帆船模型不確定、控制方向和外部環(huán)境擾動未知的情況,提出了一種RBF 神經(jīng)網(wǎng)絡(luò)自適應(yīng)動態(tài)面航向控制方法。上述研究運用不同的控制方法,實現(xiàn)了對帆船航向的控制,而本文則將研究在不同航速和未知的隨機(jī)干擾下,帆船航向的穩(wěn)定性控制。
PID 控制器由于其簡單的結(jié)構(gòu)和明確的物理意義,對于特定的場景和精確的數(shù)學(xué)模型,具有很好的控制特點,仍被廣泛應(yīng)用于實際工程中。然而,傳統(tǒng)PID 控制的效果很大程度上取決于其控制參數(shù)Kp,Ki,Kd的值,在復(fù)雜多變的情況下,很難在線實時調(diào)節(jié)PID 控制參數(shù),所以,在控制過程中,往往會表現(xiàn)出較大的波動和高頻轉(zhuǎn)舵,甚至可能出現(xiàn)不可控的狀態(tài)[8]。無人帆船在航行過程中會面臨風(fēng)、浪、流等因素的干擾,僅僅依靠傳統(tǒng)PID 的調(diào)節(jié),往往難以滿足準(zhǔn)確航向的控制要求。而模糊控制則可以根據(jù)實際操作的專家經(jīng)驗,無需確定的數(shù)學(xué)模型,制定出相應(yīng)的控制規(guī)則,達(dá)到理想的控制效果[9]。因此,本文將設(shè)計一種結(jié)合經(jīng)典PID 技術(shù)的模糊自適應(yīng)控制器,根據(jù)調(diào)節(jié)PID 控制參數(shù)的實際經(jīng)驗,制定出相應(yīng)的模糊控制規(guī)則,實現(xiàn)對PID 控制參數(shù)的動態(tài)調(diào)節(jié),從而達(dá)到對帆船穩(wěn)定控制的目的。
本文以自主設(shè)計的無人帆船模型為仿真研究對象。該船體(附體)與風(fēng)帆主尺度如表1 所示,舵剖面選用NACA 0018 翼型。
在實際海面運動過程中,一般可以將帆船近似為一個具有六自由度的剛體。為便于對帆船的運動描述,建立了如圖1 所示的2 種右手坐標(biāo)系。其中,o0-x0y0z0是以t=0 時刻船舶重心為中心的慣性坐標(biāo)系,o0-x0軸為靜止水面正北方向,o0-y0軸為靜止水面正東方向,o0-z0軸垂直水面向下。o-xyz是以船舶重心為中心的附體坐標(biāo)系,o-x軸為船體軸線上,方向由船艉指向船頭,o-y軸指向右舷,o-z軸指向水面。為了便于分析航向角ψ與舵角δ之間的關(guān)系,在滿足研究要求的前提下,可以忽略橫搖、縱搖、垂蕩的運動,只考慮橫蕩、前進(jìn)、艏搖運動,將帆船運動簡化為三自由度的數(shù)學(xué)運動模型[10-11]。
表1 無人帆船模型主尺度Table 1 The main dimensions of small autonomous sailboat model
圖1 船體坐標(biāo)系Fig.1 The coordinate system of hull
根據(jù)牛頓關(guān)于質(zhì)心運動的動量和動量矩定理,結(jié)合坐標(biāo)系和速度轉(zhuǎn)換關(guān)系,建立無人帆船在靜水中的三自由度數(shù)學(xué)運動模型[12-13]:
式中:m 為船的總質(zhì)量;uG,vG,u?G,v?G分別為重心處前進(jìn)和側(cè)向速度,以及其對時間的導(dǎo)數(shù);r,r?分別為艏搖角速率及其對時間的導(dǎo)數(shù);Fx,F(xiàn)y,Mz分別為在x,y,z軸重心處作用的外力和外力矩;IzG為船舶繞軸z0的轉(zhuǎn)動慣量。再從控制工程的角度出發(fā),考慮船體艏搖角的變化與舵角運動的關(guān)系,根據(jù)帆船的水動力學(xué)模型和輸出方程,將式(1)的三自由度狀態(tài)空間方程轉(zhuǎn)化為傳遞函數(shù)表達(dá)式,簡化得到著名的Nomoto 數(shù)學(xué)模型:
式中:回轉(zhuǎn)性參數(shù)K 和穩(wěn)定性參數(shù)T 分別為操舵后的角速度和達(dá)到最高旋回角速度所需時間;s為拉普拉斯變換因子。
舵機(jī)在實際控制過程中具有一定的延遲效應(yīng),在某種程度上會影響到航向控制的精確性,一般可以將舵機(jī)看作一階慣性環(huán)節(jié)[14]:
式中:δc為目標(biāo)舵角;T0為舵機(jī)的時間常數(shù),一般取1~3 s,本文仿真中取T0=1。
不同特性的帆船在海上航行時會有不同的禁航區(qū)域,一般認(rèn)為此區(qū)域在逆風(fēng)30°~45°之間,此時,需要采用Z 型搶風(fēng)航行,除此外,帆船可以實現(xiàn)任意航向的航行[15]。而在具體的直航段,無人帆船的航向控制方法會有所不同,其控制效果也會有明顯的差異。為了實現(xiàn)響應(yīng)快和穩(wěn)性高的航向控制,本文采用了模糊PID 控制法。
傳統(tǒng)PID 算法對航向進(jìn)行控制時,以給定的目標(biāo)航向角ψc與當(dāng)前實際航向角ψ的偏差e作為控制器的輸入,以舵角值δ作為輸出。模糊控制器對于某一給定的航向角,會不斷地根據(jù)偏差e和偏差率ec,通過制定的模糊規(guī)則,輸出Kp,Ki,Kd的值,然后與原PID 值進(jìn)行并聯(lián)控制,輸出目標(biāo)舵角δc,再經(jīng)過舵機(jī)系統(tǒng),對被控對象輸入確定的舵角值。如此循環(huán),不停地調(diào)節(jié)帆船的航向,直至實際航向角與目標(biāo)航向在預(yù)期的誤差范圍內(nèi),并達(dá)到穩(wěn)定的動態(tài)控制狀態(tài)??刂破鞯恼w控制流程如圖2 所示。
圖2 模糊PID 控制系統(tǒng)Fig.2 Fuzzy PID control system
目前,模糊控制和PID 控制相結(jié)合的方式主要有:相互切換型控制、并聯(lián)混合型控制和參數(shù)整定型控制。相互切換型控制方法一般是在較大誤差范圍內(nèi)選用模糊控制,較小誤差范圍內(nèi)轉(zhuǎn)化為PID 控制;并聯(lián)混合型控制方法是根據(jù)PID 整定的參數(shù)加上模糊控制的參數(shù),并聯(lián)進(jìn)行控制;參數(shù)整定型控制方法是利用模糊控制器,根據(jù)模糊規(guī)則,通過在線整定PID 參數(shù)來控制。由于并聯(lián)混合型控制較靈活,本文采用此種方式。
本文采用的模糊控制規(guī)則,主要是根據(jù)PID整定的專家經(jīng)驗:當(dāng)偏差e較大時,為了使系統(tǒng)具有較好的追蹤反應(yīng)性能,避免出現(xiàn)較大的超調(diào)量,應(yīng)取較大的Kp和較小的Kd,Ki值;當(dāng)偏差e中等時,為了具有較小超調(diào)量和緩和的系統(tǒng)響應(yīng),應(yīng)取較小的Kp和適中的Kd,Ki值;當(dāng)偏差e較小時,為使系統(tǒng)具有較好的穩(wěn)定性能,防止系統(tǒng)在設(shè)定值附近出現(xiàn)波動,應(yīng)取較大的Kp,Ki值;當(dāng)偏差率ec較大時,取較小的Kd值,通常情況下Kd為適中值。通過實際調(diào)整的過程,制定了如表2所示的49 條規(guī)則。其中,模糊控制的輸入e,ec和輸出Kp,Ki,Kd的7 個論域范圍均為(-1,1),其模糊子集均為NB,NM,NS,ZE,PS,PM,PB,分別代表負(fù)大、負(fù)中、負(fù)小、零、正小、正中、正大。
在仿真過程中,先將輸入量e,ec做歸一化處理,再將輸出Kp,Ki,Kd按照PID 控制范圍加入適當(dāng)?shù)脑鲆妗,ec的變量子集區(qū)間如圖3(a)所示,隸屬函數(shù)為smf,zmf 和trimf;Kp,Ki,Kd的變量子集區(qū)間如圖3(b)所示,隸屬函數(shù)為trimf。同時,采用Mamdani 的模糊控制方法,變量子集的模糊交、或、推理、聚類輸出、反模糊化方法分別為“min”,“max”,“min”,“max”,“centroid”。
表2 Kp,Ki,Kd 模糊控制規(guī)則Table 2 Fuzzy control rules for Kp,Ki and Kd
圖3 模糊變量子集Fig.3 Fuzzy variable subset
借助Matlab 的Simulink 仿真工具,根據(jù)PID 的控制原理和圖2 設(shè)計的模糊PID 控制器,搭建了如圖4(a)所示的傳統(tǒng)PID 控制仿真模型,和圖4(b)所示的模糊PID 控制仿真模型。其控制過程如圖5 所示。首先,根據(jù)設(shè)定的目標(biāo)航向角與當(dāng)前的實際航向角對比,計算出偏差和偏差率,判斷帆船是否處于目標(biāo)航向,若出現(xiàn)偏航,則控制器通過對舵的調(diào)整來進(jìn)行航向控制,最終達(dá)到目標(biāo)航向。其中,模糊PID 中的并聯(lián)混合控制器在運行時會不斷檢測e與ec,通過制定的模糊規(guī)則并利用模糊推理的方法,在線實時生成控制器的3 個控制參數(shù),再與設(shè)定的固定PID 參數(shù)值疊加進(jìn)行舵角的控制,從而實現(xiàn)航向的控制。
帆船的實際航向除了受到舵的主要控制外,還會受到風(fēng)、帆、浪、流等因素的干擾影響,而這些影響因素往往表現(xiàn)出很強(qiáng)的非線性和時變性,難以提前預(yù)測和建立準(zhǔn)確的數(shù)學(xué)模型。這些未知因素最終會對帆船的航向造成影響,出現(xiàn)一定的偏航現(xiàn)象。在仿真模型中,加上特定范圍內(nèi)的隨機(jī)干擾模塊,每0.5 s 產(chǎn)生-4~4 之間的隨機(jī)數(shù)。同時,也加入了舵角監(jiān)測模塊,由此可以檢驗控制器的控制方法是否具有較好的動態(tài)控制性能。
本文以實尺度的帆船模型進(jìn)行仿真模擬研究。假設(shè)船的初始航向角和舵角值均為0,設(shè)定目標(biāo)航向角ψc=120°,處于非逆風(fēng)航行區(qū)域,根據(jù)理 論 計 算 公 式: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,ε分別為系統(tǒng)的自然頻率和相對衰減系數(shù)。適當(dāng)修改得出PID 控制參數(shù)Kp=0.42,Ki=0.001,Kd=1.12。由于航速不同,帆船的回轉(zhuǎn)性參數(shù)K 和穩(wěn)定性參數(shù)T 也會有所不同,當(dāng)航速V 分別為2.0,2.5 和3.0 m/s 時,回 轉(zhuǎn) 性 參 數(shù) 分 別 為-21.99,-27.49,-32.98,穩(wěn)定性參數(shù)分別為-22.96,-18.36,-15.30。
不同航速下,2 種控制仿真對比結(jié)果如圖6 所示。從圖中可以看出,這2 種控制方法均能實現(xiàn)航向的控制,但控制效果有所差別。當(dāng)航速V=2.0 m/s 時,傳統(tǒng)PID 控制在3 s 左右達(dá)到目標(biāo)航向角,并出現(xiàn)了20°左右的最大超調(diào)量,在10 s 左右趨于穩(wěn)定;模糊PID 控制的調(diào)節(jié)時間約為6 s,無超調(diào)量。當(dāng)航速V=2.5 m/s 時,傳統(tǒng)PID 穩(wěn)定控制時間約為9 s,最大超調(diào)量為10°;模糊PID 控制調(diào)節(jié)時間約為7 s,無超調(diào)量。當(dāng)航速V=3.0 m/s 時,傳統(tǒng)PID 控制調(diào)節(jié)時間約為12 s,最大超調(diào)量為5°,并出現(xiàn)了一定的波動情況;模糊PID 控制調(diào)節(jié)時間約為6 s,無超調(diào)量。
圖6 兩種控制方法的仿真對比Fig.6 Simulation comparison of two control methods
傳統(tǒng)PID 控制和模糊PID 控制的主要控制性能參數(shù)如表3 所示。從表中可以看出,模糊PID 和傳統(tǒng)PID 相比有較短的穩(wěn)定調(diào)節(jié)時間和更小的操舵角,且均未出現(xiàn)明顯的超調(diào)量和波動情況。由于傳統(tǒng)PID 參數(shù)固定,往往是在船舶到達(dá)目標(biāo)航向角并出現(xiàn)一定的超調(diào)和偏差后,才進(jìn)行轉(zhuǎn)舵的控制。而模糊PID 能夠動態(tài)調(diào)節(jié)參數(shù),在即將到達(dá)目標(biāo)航向角時提前進(jìn)行轉(zhuǎn)舵的控制,使其在面對不同的航速和復(fù)雜的海洋環(huán)境干擾下,表現(xiàn)出很好的控制效果和較強(qiáng)的自適應(yīng)能力。
表3 傳統(tǒng)PID 與模糊PID 控制對比Table 3 Comparison between traditional PID and fuzzy PID control
本次試驗的船體結(jié)構(gòu)如圖7 所示,使用的控制板有主控板和驅(qū)動板,配備的傳感器主要有超聲波風(fēng)速風(fēng)向儀、帆角編碼器、電子羅盤、GPS 和溫濕度變送器,執(zhí)行機(jī)構(gòu)有轉(zhuǎn)帆的無刷直流電機(jī)和操舵的電動推拉桿,不同距離分別采用GPRS與2.4 GHz 無線通信。地面基站處,無人帆船監(jiān)控軟件監(jiān)視實時返回的數(shù)據(jù)和控制數(shù)據(jù)。無人帆船監(jiān)控軟件是使用Visual Studio 軟件編寫的MFC 應(yīng)用程序,可實時監(jiān)控船舶狀態(tài)、修改參數(shù)、記錄數(shù)據(jù)文件等。該執(zhí)行信號由基站通過Modbus 傳輸至船載主控模塊,再將控制信號通過CAN 總線傳輸?shù)津?qū)動模塊,實現(xiàn)對執(zhí)行機(jī)構(gòu)的控制。
圖7 船體結(jié)構(gòu)Fig.7 Ship structure
試驗過程中,通過電子羅盤實時檢測帆船的航向角,并與設(shè)定的目標(biāo)航向角進(jìn)行比較,得出航向偏差作為控制器的輸入,通過傳統(tǒng)PID 或模糊PID 輸出舵角值,對執(zhí)行機(jī)構(gòu)進(jìn)行舵角的控制。試驗時,設(shè)定目標(biāo)航向角為25°,帆船航跡和航向角如圖8(a)和圖8(b)所示,分別運用傳統(tǒng)PID 與模糊PID 這2 種方法對帆船給定航向進(jìn)行控制,湖試情況如圖8(c)所示。在較小的風(fēng)、流干擾下,對處于非逆風(fēng)航行的帆船,從試驗數(shù)據(jù)對比結(jié)果可以看出,模糊PID 與傳統(tǒng)PID 均能實現(xiàn)目標(biāo)航向的控制,但傳統(tǒng)PID 的軌跡偏差和航向角波動較大,而模糊PID 則能較快地到達(dá)目標(biāo)航向角且較穩(wěn)定。綜合情況下,模糊PID 具有更好的航向控制效果。
圖8 試驗對比結(jié)果Fig.8 Experimental comparison results
本文以自主設(shè)計的無人帆船模型為研究對象,根據(jù)帆船的實際特征參數(shù)建立運動數(shù)學(xué)模型,采用模糊PID 方法設(shè)計控制器,對帆船航向進(jìn)行仿真控制研究,與傳統(tǒng)PID 控制方法進(jìn)行對比并進(jìn)行了試驗驗證。
通過對航向控制仿真及試驗結(jié)果分析發(fā)現(xiàn),以不同的航速到達(dá)同一航向角,2 種針對帆船的控制方法實現(xiàn)情況有所差異。模糊PID 控制器具有較快的穩(wěn)定調(diào)節(jié)時間,較小的超調(diào)量和操舵角,以及較強(qiáng)的抗干擾能力,能夠?qū)崿F(xiàn)對帆船航向的穩(wěn)定控制。綜合整體對比結(jié)果可知,基于模糊PID 的方法可以應(yīng)用到小型無人帆船的航向控制,并且對于無人帆船的智能航向具有一定的參考價值。未來也可以應(yīng)用該方法進(jìn)一步考慮帆和舵的聯(lián)動控制,考察其對帆船航向的影響和控制效果。