解國強(qiáng)



摘 要:為了滿足在控制器設(shè)計(jì)時(shí)需要獲取船舶操縱性指數(shù)這一問題,本文在梳理理論計(jì)算公式之后,在MATLAB的GUI中編程實(shí)現(xiàn)了兩個(gè)船舶操縱性指數(shù)與三個(gè)時(shí)間常數(shù)的計(jì)算平臺(tái),并通過實(shí)例驗(yàn)證了平臺(tái)計(jì)算結(jié)果的正確性。本文所做的研究對(duì)控制器設(shè)計(jì)者和船舶駕駛員了解船舶操縱性能均具有很大的參考價(jià)值。
關(guān)鍵詞:船舶操縱性指數(shù);MATLAB;GUI;運(yùn)動(dòng)控制
中圖分類號(hào):U445? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? 文章編號(hào):1006—7973(2022)01-0098-03
1引言
船舶Nomoto模型是在設(shè)計(jì)船舶航向保持等控制器時(shí)廣泛使用的一種線性數(shù)學(xué)模型[1]。目前,可用于獲取船舶Nomoto模型K、T指數(shù)的方法主要有三種[2]。這三種方法雖然最終都可以獲得K、T指數(shù)的可靠數(shù)值,但在某些情況下,用二階Nomoto模型來進(jìn)行船舶航向保持等控制器設(shè)計(jì)仍稍顯不足,如考慮執(zhí)行器動(dòng)態(tài)時(shí)則仍需采用三階Nomoto模型,從而需要獲得與T指數(shù)相對(duì)應(yīng)的T1、T2和T3這三個(gè)時(shí)間常數(shù)的具體數(shù)值。本文采用公式計(jì)算的方法,借助MATLAB強(qiáng)大的數(shù)據(jù)計(jì)算與處理能力對(duì)涉及T1、T2和T3這三個(gè)參數(shù)的算式進(jìn)行解算,并借助GUI的良好圖形界面功能將最終結(jié)果展示出來,構(gòu)建了一個(gè)圖形用戶界面的K、T指數(shù)計(jì)算平臺(tái),便于滿足不同控制器設(shè)計(jì)情況對(duì)參數(shù)的需求,也方便以后進(jìn)行其他功能的拓展。
諸多研究者借助MATLAB和GUI的強(qiáng)大功能對(duì)船舶方面的諸多問題進(jìn)行了計(jì)算或可視化展示。文獻(xiàn)[3]通過深入地研究了不規(guī)則的海浪干擾建模,以及海浪干擾對(duì)于船舶運(yùn)動(dòng)的作用和影響,構(gòu)建了長峰和短峰不規(guī)則波的三維波面模型,并借助MATLAB自身的繪制函數(shù)給出了長峰與短峰不規(guī)則波的三維海面圖。文獻(xiàn)[4]主要是采用VB與MATLAB進(jìn)行混合編程,設(shè)計(jì)出一款集數(shù)據(jù)提取、數(shù)據(jù)處理、建模、仿真及比較等多種功能于一體的現(xiàn)代化實(shí)船工業(yè)數(shù)據(jù)處理、建模和仿真系統(tǒng)。文獻(xiàn)[5]采用VB.NET與MATLAB進(jìn)行混合編程,設(shè)計(jì)出了可以用于計(jì)算與分析冰區(qū)航行船舶推進(jìn)軸系時(shí)域瞬態(tài)振動(dòng)的工程應(yīng)用軟件。文獻(xiàn)[6]采用灰色預(yù)測理論對(duì)船載的相繼增壓柴油機(jī)性能進(jìn)行預(yù)測,并采用MATLAB的GUI設(shè)計(jì)了一款灰色預(yù)測仿真平臺(tái)。文獻(xiàn)[7]采用MATLAB的GUI開發(fā)出了一套可實(shí)現(xiàn)計(jì)算表征船舶固有CO2排放水平評(píng)價(jià)指標(biāo)功能的船舶能效設(shè)計(jì)指數(shù)EEDI的輔助計(jì)算系統(tǒng)。文獻(xiàn)[8]借助MATLAB的GUI設(shè)計(jì)了一款用于深海鋪管船托管架系統(tǒng)調(diào)整的軟件。文獻(xiàn)[9]在VB環(huán)境下,借助MATLAB強(qiáng)大的圖形繪制功能,建立了一套船舶搖蕩的可視化仿真平臺(tái)。
2 Nomoto模型K、T指數(shù)計(jì)算方法
若想計(jì)算Nomoto模型的K、T指數(shù),則需要獲得船舶的8個(gè)基本參數(shù)的具體數(shù)值,即兩柱間長L、船寬B、吃水D、方形系數(shù)Cb、重心距船中距離xc、船速V、舵葉面積Aδ、排水體積▽。
首先,根據(jù)Clarke給出的回歸公式[10]計(jì)算出10個(gè)線性流體動(dòng)力導(dǎo)數(shù),如式(1)所示。
而式(1)中的是船舶本身的流體動(dòng)力導(dǎo)數(shù),在實(shí)際應(yīng)用時(shí)還應(yīng)考慮舵對(duì)船體流體動(dòng)力導(dǎo)數(shù)的干擾,對(duì)這些流體動(dòng)力導(dǎo)數(shù)做出一定的修正,其修正增量按式(2)確定[10]。
在對(duì)各流體動(dòng)力導(dǎo)數(shù)進(jìn)行修正后,可按式(3)計(jì)算得到6個(gè)相關(guān)的中間參量。
其中除先前所述的流體動(dòng)力導(dǎo)數(shù)外,帶撇的量為的無量綱數(shù)值,具體的無量綱方法按式(4)計(jì)算,其中ρ為海水密度。
最終按式(5)和式(6)計(jì)算可得二階Nomoto模型的K、T指數(shù)。
其中,通常,的數(shù)值一般與相近[1]。對(duì)于操縱性良好的船舶,通常具有大的正值K和小的正值T。此外,,,,滿足式(7)所對(duì)應(yīng)的關(guān)系。
根據(jù)式(7),并在計(jì)算時(shí)考慮三個(gè)時(shí)間常數(shù)間的大小關(guān)系,最終可以獲得時(shí)間常數(shù),,的具體數(shù)值。
3基于MATLAB GUI的軟件實(shí)現(xiàn)方法
圖形用戶界面(Graphical User Interfaces, GUI)給人的視覺感官與VB的設(shè)計(jì)環(huán)境很相似,且控件的外形及屬性設(shè)置也與VB的相似,但在控件功能的程序?qū)崿F(xiàn)上,MATLAB卻顯得更為簡潔。程序由一個(gè)主函數(shù)、各子函數(shù)和功能函數(shù)構(gòu)成。其中,主函數(shù)為固定格式的函數(shù),無需修改。各子函數(shù)和功能函數(shù)需按照預(yù)先設(shè)計(jì)的作用進(jìn)行代碼的編輯。運(yùn)行程序后可得到如圖1所示的初始界面。
4實(shí)例驗(yàn)證
文獻(xiàn)[12]中給出了大連海事大學(xué)教學(xué)實(shí)習(xí)船的基本參數(shù)與二階Nomoto模型的K、T指數(shù),見表1。將育鯤輪的基本參數(shù)輸入到相應(yīng)的文本框中后,按下確定按鈕,最終可得到育鯤輪的各模型指數(shù)為K=0.31496,T=64.5289,T1=69.9575,T2=4.5081,T3=9.9367,計(jì)算界面如圖2所示。若將程序結(jié)果四舍五入保留到小數(shù)點(diǎn)后兩位,所得的最終結(jié)果與文獻(xiàn)[12]中所給出的數(shù)據(jù)一致,且三個(gè)時(shí)間常數(shù)也滿足文獻(xiàn)[1]中所指出的數(shù)量關(guān)系,說明本文所設(shè)計(jì)的船舶操縱性指數(shù)的計(jì)算平臺(tái)能夠準(zhǔn)確計(jì)算相應(yīng)參數(shù)。
5結(jié)論
本文在MATLAB的GUI中編程實(shí)現(xiàn)了兩個(gè)船舶操縱性指數(shù)與三個(gè)時(shí)間常數(shù)的計(jì)算平臺(tái),并通過實(shí)例驗(yàn)證了平臺(tái)計(jì)算結(jié)果的正確性。通過平臺(tái)所計(jì)算得到的數(shù)據(jù),對(duì)于船舶運(yùn)動(dòng)控制器的設(shè)計(jì)具有很大的理論價(jià)值,與此同時(shí),該系統(tǒng)還可在封裝形成可執(zhí)行文件后,供控制器設(shè)計(jì)者使用。也為船舶駕駛員了解船舶操縱性能提供了一種有效的數(shù)據(jù)獲取途徑。此外,本文所設(shè)計(jì)的系統(tǒng)還為未來拓展其他功能打下了基礎(chǔ)。
參考文獻(xiàn):
[1] 張顯庫, 金一丞. 控制系統(tǒng)建模與數(shù)字仿真(第二版)[M]. 大連: 大連海事大學(xué)出版社, 2013.
[2] 李宗波,張顯庫,張楊.基于SPSS技術(shù)的船舶操縱性指數(shù)K、T預(yù)報(bào)[J].航海技術(shù),2007(05):2-5.
[3] 錢小斌,尹勇,張秀鳳,李業(yè).海上不規(guī)則波浪擾動(dòng)對(duì)船舶運(yùn)動(dòng)的影響[J].交通運(yùn)輸工程學(xué)報(bào),2016,16(03):116-124.
[4] 張國慶,張顯庫.實(shí)船數(shù)據(jù)處理建模及仿真系統(tǒng)[J].中國造船,2011,52(03):52-58.
[5] 肖能齊,徐翔,周瑞平.冰區(qū)航行船舶軸系時(shí)域瞬態(tài)扭振計(jì)算及軟件開發(fā)[J].中國造船,2019,60(02):138-149.
[6] 祖象歡,楊傳雷,王銀燕.基于GM(1,1)模型和MATLAB GUI的相繼增壓柴油機(jī)性能預(yù)測[J].哈爾濱工程大學(xué)學(xué)報(bào),2015,36(11):1454-1458.
[7] 朱剛,黃杰雄,溫小飛.基于MATLAB的船舶能效設(shè)計(jì)指數(shù)輔助計(jì)算系統(tǒng)開發(fā)[J].中國水運(yùn)(下半月),2019,19(08):77-78.
[8] 徐興平,王西錄,馮帆,汪海,張辛,王龍庭,劉廣斗.基于深海鋪管船托管架系統(tǒng)調(diào)整的軟件開發(fā)[J].石油機(jī)械,2019,47(06):67-72.
[9] 晁大海,宋楊.基于VB與Matlab的船舶搖蕩運(yùn)動(dòng)仿真[J].艦船科學(xué)技術(shù),2018,40(19):63-66.
[10] Clarke D. The application of maneuvering criteria in hull design using linear theory[J]. RINA, 1982:45-68.
[11] 張志涌, 楊祖櫻. MATLAB教程(R2018a)[M]. 北京:北京航空航天大學(xué)出版社, 2019.
[12] 關(guān)巍,周慶宏,任志浩,滕斌.規(guī)劃控制策略下的無人船航向簡捷魯棒控制[J].哈爾濱工程大學(xué)學(xué)報(bào),2019,40(11):1801-1808.