本發(fā)明屬于高速三體船減縱搖控制領(lǐng)域,尤其涉及一種基于模糊控制法的高速三體船減縱搖控制方法。
背景技術(shù):
控制器在高速船的減搖中的使用一直是三體船性能研究中的重點部分,而控制算法的設(shè)計也一直都是控制工程中重要的課題。有別于傳統(tǒng)控制器的設(shè)計,模糊控制不需要研究系統(tǒng)的一些行為參數(shù),而是更偏向于對操作者的經(jīng)驗總結(jié),歸納。
現(xiàn)今模糊控制方法在船舶控制方面的應(yīng)用多集中于單體船、低速船的控制,針對現(xiàn)在逐漸在軍事和民用上都越來越被重視的高速、細(xì)長型三體船來說,如何實現(xiàn)在船舶縱向運動系統(tǒng)中引入適合的控制方法,進(jìn)而提升高速三體船的縱向運動性能,提高乘客舒適度以及軍用三體船作戰(zhàn)穩(wěn)定度是現(xiàn)在國內(nèi)學(xué)者們還在重點研究的問題。傳統(tǒng)pid控制方法雖然簡單,但是其靈活性差,可靠性差,只適用于被控對象參數(shù)不變,非線性不嚴(yán)重的系統(tǒng),在非線性控制方面無法實現(xiàn)準(zhǔn)確跟蹤和控制,在高速三體船處在復(fù)雜運行環(huán)境中,無法及時根據(jù)實時情況進(jìn)行控制規(guī)則的調(diào)整和優(yōu)化。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種改善在不規(guī)則海浪中高速運行的細(xì)長三體船縱向運動特性的基于模糊控制法的高速三體船減縱搖控制方法。
本發(fā)明一種基于模糊控制法的高速三體船減縱搖控制方法包含以下步驟:
步驟一:模擬實際海況,在傳統(tǒng)海浪模型基礎(chǔ)上引入附加遭遇頻率,建立隨機(jī)海浪模型;
步驟二:利用隨機(jī)海浪模型,使用ansys平臺分析獲得高速三體船水動力系數(shù),根據(jù)水動力系數(shù)建立高速三體船縱向運動數(shù)學(xué)模型,得到高速三體船縱向運動響應(yīng)垂蕩高度和縱搖角度;
步驟三:針對縱向運動響應(yīng)垂蕩高度和縱搖角度的耦合值,即h+p以及其微分d(h+p)設(shè)計模糊控制方法的隸屬函數(shù),通過隸屬函數(shù)將輸入量映射為輸入論域的模糊集合,設(shè)計7*7高速三體船模糊控制規(guī)則,得到模糊控制輸出迎流攻角改變量α;
步驟四:建立減搖附體t型翼和壓浪板的計算模型,將迎流攻角改變量α作為減搖附體計算模型輸入,經(jīng)過減搖附體t型翼和壓浪板計算模型運算之后產(chǎn)生縱向改變力和力矩,反饋作用在高速三體船縱向運動系統(tǒng)。
步驟一所述的隨機(jī)海浪模型具體為:
其中,a=8.10×10-3g2,
步驟二所述的高速三體船縱向運動模型建立過程具體為:
(1)將隨機(jī)海浪模型作為整個程序的始端輸入,模塊由兩個部分構(gòu)成,分別為“海浪-力運動方程”和“力-垂蕩縱搖”模型;
(2)將aqwa分析得到的水動力系數(shù)作為輸入,在matlab平臺中使用“ss2tf”函數(shù)進(jìn)行實現(xiàn),根據(jù)水動力系數(shù)和遭遇頻率范圍得到縱向運動模型,輸出為高速三體船縱向運動響應(yīng)垂蕩高度和縱搖角度。
步驟三所述的模糊控制方法設(shè)計具體為:
(1)模糊化:通過隸屬函數(shù)將輸入量映射成系統(tǒng)輸入論域中的模糊量集合,模糊變量有輸入量垂蕩高度和縱搖角度的耦合值,即h+p以及其微分d(h+p),以及輸出量減搖附體迎流攻角改變量α,其中h代表垂蕩高度,p代表縱搖角度,微分形式指其變化速度,α為迎流攻角期望角度與實際角度的差值;
(2)規(guī)則建立:兩個輸入量的模糊子集設(shè)計為{nb,nm,ns,z,ps,pm,pb},輸出量的模糊子集為{nb,nm,ns,z,ps,pm,pb},輸入輸出論域都為[-3,3];
(3)模糊推理:采用三段式推理即大前提,小前提以及結(jié)論,模糊推理中,設(shè)x是輸入,y是輸出,而a與b是模糊子集,則多輸入--單輸出推理規(guī)則如下:
大前提:ifx1=a,andx2=b,theny=c
小前提:x1=a,andx2=b
結(jié)論:y=c
(4)清晰化:選擇重心法(centroid)來進(jìn)行變量清晰化,并將清晰值轉(zhuǎn)化為實際輸出值,若重心z0的變化范圍是[zmin,zmax],則實際的輸出量變化范圍為[amin,amax]。
步驟四所述的減搖附體t型翼和壓浪板計算模型具體為:
(1)二者的輸入是經(jīng)過模糊控制后得到的迎流攻角改變量α;
(2)與迎流攻角改變量α對應(yīng)的縱向改變力和力矩分別為:
mt/f=da·ft/f
其中,cl為升力系數(shù),da為減搖浮體距高速三體船重心的直線距離,a為t型翼或壓浪板的投影面積(m2),ft、ff和mt、mf分別表示t型翼和壓浪板提供的升力和力矩。
本發(fā)明設(shè)計的基于模糊控制的控制方法針對目前研究熱門高速三體船在海中以高速度航行時的縱向減搖,明顯地降低了運動過程中的船體垂蕩高度和縱搖角度,模糊控制具有靈活性高,可靠性高的特點,可以更好地適應(yīng)復(fù)雜的實際情況并及時對控制規(guī)則進(jìn)行調(diào)整和優(yōu)化,并且本發(fā)明可以有效控制和改善三體船高速運行過程中的穩(wěn)定性和乘客舒適度。
附圖說明
圖1是本發(fā)明控制方法流程圖;
圖2是本發(fā)明中設(shè)計的模糊控制方法機(jī)理圖;
圖3是本發(fā)明實現(xiàn)控制方法結(jié)構(gòu)圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明進(jìn)行更詳細(xì)說明。
本發(fā)明模糊控制對象為安裝在三體船底部的減搖附體t型翼和安裝在艉部的壓浪板,三體船未控制前的縱向運動響應(yīng)--垂蕩高度和縱搖角度作為模糊輸入量,形成控制規(guī)則進(jìn)行數(shù)據(jù)處理后再對輸出進(jìn)行清晰化,模糊控制輸出選擇為三體船中體上安裝的減搖附體的迎流攻角改變量,根據(jù)控制規(guī)則,動態(tài)控制減搖附體的迎流攻角改變量α,從而控制減搖附體為三體船縱向提供的力和力矩,最大程度地抵消由海浪帶來的縱向搖動,實現(xiàn)高速三體船縱向減搖控制。
一種基于模糊控制法的高速三體船減縱搖控制方法流程如圖1所示:首先模擬實際海況,建立引入附加遭遇頻率的隨機(jī)海浪模型,用時鐘觸發(fā);將隨機(jī)海浪模型作為系統(tǒng)輸入,使用ansys平臺分析獲得高速三體船水動力系數(shù),根據(jù)水動力系數(shù)建立高速三體船縱向運動數(shù)學(xué)模型,得到高速三體船縱向運動響應(yīng)垂蕩高度和縱搖角度;針對縱向運動響應(yīng)垂蕩高度和縱搖角度的耦合值(h+p)以及其微分d(h+p)設(shè)計模糊控制方法的隸屬函數(shù),通過隸屬函數(shù)將輸入量映射為輸入論域的模糊集合,設(shè)計7*7高速三體船模糊控制規(guī)則,得到模糊控制輸出迎流攻角改變量α;建立減搖附體t型翼和壓浪板的縱向運動模型,將迎流攻角改變量α作為輸入傳遞給減搖附體,經(jīng)過減搖附體運動模型運算之后產(chǎn)生縱向改變力和力矩,反饋作用在高速三體船縱向運動系統(tǒng)。
(1)建立隨機(jī)海浪模型:
海浪可視為由一系列波幅,波長以及初相位均不同的余弦波疊加組成,海浪瞬時波高的表示形式為:
其中,h表示海面上的平均潮高,ζi為組成波海浪的波幅,ki表示海浪波波數(shù),θi則是組成海浪波傳播方向和x軸的夾角,ωi為構(gòu)成海浪波的角頻率,εi代表構(gòu)成海浪波的相位角,可以認(rèn)為是在(0,2π)區(qū)間內(nèi)的隨機(jī)變量,x為瞬時海浪沿x軸方向的寬度,z為瞬時海浪沿z軸方向的高度。
實驗中令海平面的平均波高為h=0,并且保持不變,可簡化海浪模型為:
采用能量等分法分析如下:
單位面積波能量:
其中ρ是海水密度,g是重力加速度,ωi~ωi+δωi內(nèi)組成波能量是:
定義波能譜密度s(ω)使得:
ωi→0時,海浪單位面積能量為:
則由上式得到:
將上式代入(2)得到海浪瞬時波高為:
由能量等分法:
將上式帶入(8)最終得隨機(jī)海浪的模型為:
其中,a=8.1×10-3×g2,
在實際船舶航行中,三體船的遭遇頻率比實驗中的復(fù)雜很多,所以為了更精確的模擬實際海浪,我們?nèi)藶橐朐庥鲱l率ωe:
遭遇周期:
其中:
ce=c-vcosβ(15)
則得到:
迎浪時,取β=180°
則有:
最終得到帶遭遇頻率的隨機(jī)海浪模型如下:
海浪模塊的輸入為時鐘,將輸出作為后面模塊的輸入。
(2)水動力系數(shù)求解:使用ansysworkbench平臺的aqwa軟件模塊進(jìn)行實驗,經(jīng)過移動模型調(diào)節(jié)吃水,又由于實體在aqwa中不能進(jìn)行計算,所以接下來對于模型進(jìn)行抽殼,得到外表面的一層厚度設(shè)置為0的殼;再進(jìn)行對于高速三體船進(jìn)行切水線、構(gòu)造船舶整體結(jié)構(gòu)。接著插入質(zhì)心后設(shè)置回轉(zhuǎn)半徑:kxx=0.163m,kyy=0.807m,kzz=0.807m。最后設(shè)置圓頻率:實驗中使用40節(jié)航速下的圓頻率分別是:0.42249rad/s,0.56275rad/s,0.69203rad/s,0.81299rad/s,0.92691rad/s,1.03491rad/s,1.18757rad/s,1.42196rad/s,1.63671rad/s。在仿真得到的文件夾中找到生成.dat文件,經(jīng)過aqwa16.0處理后得到三體船的水動力系數(shù)aii、bii、cii。
(3)高速三體船縱向運動模型建立:
由達(dá)朗貝爾理論可得高速船縱搖和升沉耦合方程:
等式左邊是船的動態(tài)模型,右邊是海浪與力的關(guān)系,由等式左邊可以推導(dǎo)出船在力作用下的運動模型,右邊可以推導(dǎo)出船在海浪作用下的受力模型。式中m33是船質(zhì)量,aij是海水對船的附加質(zhì)量,x3是縱向垂蕩高度,bij是阻尼系數(shù),cij是恢復(fù)系數(shù),x5是縱搖角度,m55是縱搖慣性力矩,這些水動力系數(shù)是在ansys平臺上根據(jù)不同三體船的尺寸參數(shù)仿真得到的。ft、ff和mt、mf分別表示t型翼和壓浪板提供的升力和力矩,fwave和mwave分別為海浪作用在三體船上的垂蕩擾動力和縱搖干擾力矩。
將得到的海浪模型作為整個程序的始端輸入,模塊由兩個部分構(gòu)成,分別稱為“海浪-力運動方程”和“力-垂蕩縱搖”;
將aqwa分析得到的水動力系數(shù)作為輸入,在matlab平臺中使用“ss2tf”函數(shù)進(jìn)行實現(xiàn),根據(jù)水動力系數(shù)和遭遇頻率范圍(0.5rad/s~2.8rad/s)得到縱向運動模型,輸出為高速三體船縱向運動響應(yīng)垂蕩高度和縱搖角度。
(4)模糊控制方法設(shè)計:
模糊化的作用是將輸入清晰量轉(zhuǎn)化為模糊量,通過隸屬度函數(shù)將輸入量映射為輸入論域的模糊集合,此控制系統(tǒng)設(shè)計中選擇隸屬函數(shù)為三角形。模糊控制建立規(guī)則如圖2所示。
數(shù)據(jù)庫:包含了尺度變換因子,模糊空間分割,隸屬函數(shù)選擇。根據(jù)實際的輸入范圍
對{nb,nm,ns,z,ps,pm,pb}的分段設(shè)置即隸屬函數(shù)的取值如下,其中trapmf和trimf分別指連接形狀為梯形和三角形:
輸入縱向垂蕩高度和縱搖角度的耦合值(h+p)、其微分d(h+p):
nb:[-5.16-3.24-1.8-1.4]→trapmfnm:[-2-10]→trimf
ns:[-1-0.50]→trimfz:[-0.500.5]→trimf
ps:[00.51]→trimfp:[012]→trimf
pb:[1.41.83.245.16]trapmf
輸出為減搖附體迎流攻角的改變值α(注:為了方便驗證,將壓浪板的迎流攻角固定為6°,只改變t型翼的迎流攻角):論域為[-3,3]
nb:[-4-3-2]→trimfnm:[-3-2-1]→trimf
ns:[-2-10]→trimfz:[-101]→trimf
ps:[012]→trimfp:[123]→trimf
pb:[234]→trimf
模糊變量有兩個輸入(h+p)、微分d(h+p),一個輸出α均需要進(jìn)行模糊化,最終得到的三個隸屬函數(shù)。垂蕩和縱搖的耦合值(h+p)以及其微分d(h+p),每個輸入有7種狀態(tài),所以一共會產(chǎn)生7*7=49種輸出情況,輸出值為減搖附體迎流攻角改變量α,即α可能有49種輸出值。推理過程舉例如下:
例:if(h+pisnb)and(d(h+p)isnb)then(aisnb)
if(h+pisnb)and(d(h+p)isnm)then(aisnb)
…
清晰化采用重心法(centroid)
采用重心法時有重心為:
最后將清晰值轉(zhuǎn)化為實際輸出值,若重心z0的變化范圍是[zmin,zmax],則實際的輸出量變化范圍為[amin,amax],得到比例因子如下式:
在matlab環(huán)境下,模糊控制模塊設(shè)計過程具體為:在matlab的gui平臺主窗口中鍵入fuzzy,回車;點擊編輯按鈕,增加輸入量h+p和輸入量微分d(h+p),再增加一個輸出量α,分別選中這3個輸入輸出模塊使其變紅,設(shè)置其名稱參數(shù)。在文件按鈕中點擊輸出export到todisk,再點擊savefis保存文件,命名為”controller”;對于兩個輸入和一個輸出進(jìn)行“mfeditor:controller”界面的設(shè)置;分別選定{nb,nm,ns,z,ps,pm,pb}7個分段的跨度,并設(shè)置每個分段的邊界的位置和這些段組成圖形的形狀,得到輸入輸出的隸屬函數(shù);點擊edit中的rulleseditor按鈕,進(jìn)行規(guī)則編輯;在simulink平臺搭建的控制系統(tǒng)中的fuzzylogiccontroller模塊里導(dǎo)入上面保存的文件,在這個模塊中導(dǎo)入gui平臺得到的.fis文件;最后在matlab命令框中輸入:mohu=readfis(“controller”),對于這個名為”controller”的文件進(jìn)行調(diào)用,回車即可。
(5)減搖附體t型翼和壓浪板計算模型具體為:
輸入是經(jīng)過模糊控制后得到的迎流攻角改變值α,與迎流攻角改變值α對應(yīng)的縱向改變力和力矩分別為:
mt/f=da·ft/f
其中,cl為升力系數(shù),da為減搖浮體距高速三體船重心的直線距離,ft、ff和mt、mf分別表示t型翼和壓浪板提供的升力和力矩。
基于模糊控制法高速三體船縱向減搖控制方法在matlab環(huán)境下的實現(xiàn):
在matlab軟件中控制方法最終實現(xiàn)的結(jié)構(gòu)圖如圖3所示,設(shè)置系統(tǒng)工作在40節(jié)航速下,整體輸入是引入附加遭遇頻率的ssn5級隨機(jī)海浪ξ(t),經(jīng)過“海浪-力運動方程”和“力-垂蕩縱搖”模塊處理后輸出為縱向垂蕩高度x3(heave)和縱搖角度x5(pitch)以及其對應(yīng)的變化速度;將這些輸出,即垂蕩和縱搖的耦合值(h+p)以及其微分d(h+p),作為模糊控制器的輸入,模糊處理輸入信號后輸出減搖附體迎流攻角改變量α,再經(jīng)過減搖附體t型翼和壓浪板模型模塊運算之后產(chǎn)生縱向改變力ft和ff和力矩mt和mf,反饋到高速三體船縱向運動模型控制模塊輸入上進(jìn)行疊加抵消,實現(xiàn)穩(wěn)定控制。