版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGEPAGE3摘要船舶運動數(shù)學模型是船舶運動仿真與控制問題的核心。目前,船舶運動數(shù)學模型建模中主要有兩大流派:以Abkowite為代表的整體型結(jié)構(gòu)模型和日本拖曳水池委員會(JTTC)提出的分離型結(jié)構(gòu)模型,簡稱MMG模型。本文主要是對于船舶的回轉(zhuǎn)運動進行研究,采用的是MMG模型。根據(jù)13000T散貨船的主要參數(shù),通過計算求出所需的相關(guān)量,建立了船舶的線性響應型模型。在此模型的基礎(chǔ)上,利用MATLAB中的Simulink模塊將此數(shù)學模型在該軟件中建立一個仿真模型。在Simulink中對建立的仿真模型進行運行得到船舶運動參數(shù)。通過Simulink的外部模式將仿真結(jié)果變成實時輸出數(shù)據(jù),利用RS232發(fā)送并接受數(shù)據(jù),用VisualC++連接數(shù)據(jù)庫和RS232的數(shù)據(jù)提取,再利用VisualC++與SQL的接口讀取數(shù)據(jù),并通過OSG進行實現(xiàn)船舶回轉(zhuǎn)運動的可視化虛擬仿真。關(guān)鍵詞:船舶回轉(zhuǎn)運動;數(shù)學模型;Simulink;視覺仿真;OSGAbstractTheshipmotionmathematicalmodelistheproblem’scoreabouttheshipmotionsimulationandcontrol.Currently,therearetwomajorschoolsintheshipmotionmathematicalmodel’smodeling:theoverallstructuremodelrepresentedbyAbkowiteandtheseparationofstructuremodelreferredtoastheMMGmodelproposedbytheJapanTowingTankCommittee(JTTC).Thisarticlemainlyresearchontherotarymovementoftheship,usingtheMMGmodel.Basedonthe13000Tbulkcarrier’smainparameters,weobtaintherequiredrelevantamountbycalculating.Thenweestablishthelinearresponsemodeloftheship.Onthebasisofthismodel,wetransferthismathematicalmodelintoasimulationmodelwiththeSimulinkmoduleofMATLAB.InSimulink,wegettheshipmotionparametersthroughrunningthesimulationmodel.ThroughSimulink’sexternalmode,weconversethesimulationresultsintoreal-timeoutputdata,usingastandardserialportRS232tosendandreceivedata.ThenweuseVisualC++toconnectthedatabasewithRS232dataextraction.UsingVisualC++interfacewithSQLtoreaddatabase,andconductedbyOSGtoenablevisualizationoftheshipturningmotionofthevirtualsimulation.Keywords:shipturningmotion;mathematicalmodel;Simulink;visualsimulation;OSG目錄TOC\o"1-3"\u第一章緒論 11.1課題研究現(xiàn)狀 11.2本課題的意義 2第二章響應型船舶運動數(shù)學模型的建立 42.1線性響應模型 42.1.1線性船舶運動數(shù)學模型的建立 42.1.2線性響應模型 112.2船舶運動的風、流干擾力數(shù)學模型 122.2.1風的干擾力數(shù)學模型 132.2.2水流的干擾力數(shù)學模型 142.2.3風和流共同作用下船舶的操縱模型 152.3模型參數(shù)的計算 152.3.1船舶質(zhì)量與轉(zhuǎn)動慣量的計算 162.3.2流體動力及流體動力導數(shù)的計算 162.3.3、、的計算 192.3.4風、流模型中的參數(shù)計算 19第三章基于Simulink的船舶運動模型的建立與仿真 213.1Simulink的簡介 213.2線性響應型船舶運動模型的建立 223.2.1流體動力模型的建立 233.2.2操縱性指數(shù)K、T模型的建立 293.2.3線性響應型船舶運動模型的建立 303.3風、流模型的建立 313.3.1風力模型的建立 313.3.2流力模型的建立 343.3.3附加舵角模型的建立 343.4模型的整合 353.4.1壓縮子系統(tǒng) 353.4.2模型的組合 363.5仿真試驗 383.5.1回轉(zhuǎn)試驗 383.5.2風對船舶運動影響 403.5.3流對船舶運動的影響 413.5.4結(jié)論 42第四章Simulink與數(shù)據(jù)庫的連接及視覺仿真的實現(xiàn) 444.1Simulink模型仿真結(jié)果的實時輸出 444.2利用VC++連接數(shù)據(jù)庫與RS232的數(shù)據(jù)提取 454.3利用0SG實現(xiàn)視覺仿真 48第五章結(jié)論 525.1存在的問題及解決方案 525.2發(fā)展前景 52致謝 54參考文獻 55附錄I 56江蘇科技大學畢業(yè)論文(論文)第一章緒論1.1課題研究現(xiàn)狀船舶運動控制以其重要性和復雜性仍然是國內(nèi)外研究的熱點領(lǐng)域。船舶動態(tài)具有大慣性的特點,萬噸級油輪的時間常數(shù)可達百秒以上,對動舵的響應緩慢,且操舵伺服子系統(tǒng)中存在著時滯和繼電器特性等非線性因素,船速的變化和裝載增減造成船舶質(zhì)量、慣性矩、重心坐標發(fā)生變化,引起各種流體動力導數(shù)相應改變,最終導致船舶運動數(shù)學模型的參數(shù)甚至結(jié)構(gòu)產(chǎn)生攝動,這就是讓現(xiàn)研究者感到棘手的不確定性;同時,風、浪、流的存在也造成對船舶運動的附加干擾動力(風的低頻干擾動力和浪的高頻干擾動力),實質(zhì)上這些干擾最終也轉(zhuǎn)換成船舶模型的參數(shù)和結(jié)構(gòu)的攝動,即干擾同樣引起不確定性。這正是當前船舶運動控制研究面臨的主要問題之一:船舶運動控制系統(tǒng)表現(xiàn)出大干擾、時變、不確定,非線性的特點和隨機的環(huán)境干擾。另一方面,在對船舶運動進行閉環(huán)控制時,獲得反饋信息的測量手段也不可能是完善的,一些重要的量測數(shù)據(jù)例如航向、船位等都有一定的誤差,這就成為了船舶運動控制研究的另一主要問題:測量信息的不精確性,無強魯棒性,傳統(tǒng)控制策略的效果不能令人滿意??刂撇呗允谴斑\動控制科學的主要研究對象。從20世紀20年代到70年代,自動舵的PID算法延續(xù)了50年;70年代~80年代出現(xiàn)自適應控制并在自動舵商品化方面獲得了成功,產(chǎn)生了明顯的經(jīng)濟效益;90年代始,控制論的全面繁榮為船舶運動控制系統(tǒng)設計提供了諸多的新控制算法,如神經(jīng)網(wǎng)絡控制、模糊控制、多模態(tài)仿人智能控制、混合智能控制、H魯棒控制等都被不同程度地引入到自動舵研制之中,目前主要有以下幾種控制策略:1、PID控制2、自適應控制3、變結(jié)構(gòu)控制4、當前流行的船舶運動控制算法,分為兩類,一類為神經(jīng)網(wǎng)絡控制、模糊邏輯控制、混合智能控制;另一類為魯棒控制。船舶控制目標由航向控制到航跡控制,再到航速、航姿和航跡聯(lián)和控制等,以實現(xiàn)復雜環(huán)境下的自動航行、自動靠泊等,要求越來越高。在自動操舵儀產(chǎn)品設計開發(fā)和調(diào)試過程中,需要對新的控制算法以及相應的硬件電路的綜臺性能反復試驗,不斷改進,最終通過實船試驗驗證。開發(fā)船舶運動控制仿真平臺,模擬船舶操縱運動和各種海況,對控制算法和自動舵整體性能進行綜合檢驗,無疑能顯著加快開發(fā)速度,降低試驗成本。船舶運動控制的仿真有三種模式,即單機仿真、雙機仿真(半物理仿真)和物理仿真。前面兩種都是先建立起船舶運動的數(shù)學模型,再對其進行控制仿真,成本較低,容易實現(xiàn);而物理仿真則是利用縮尺模型代替實船進行各種實時控制實驗,要求較大的資金投入,且不易實現(xiàn)。而船舶運動數(shù)學模型是船舶運動仿真與控制問題的核心??梢詮牟煌慕嵌葘ο到y(tǒng)數(shù)學模型加以分類,如下所示:1、靜態(tài)模型和動態(tài)模型2、確定性模型和不確定性模型3、連續(xù)模型和離散化模型4、線性模型和非線性模型。但是從實際應用上來看,以線性模型或非線性模型的區(qū)別為主要線索進行討論是方便和有益的。嚴格地說,任何一個實際系統(tǒng)都或多或少存在著非線性,不過從控制器設計的角度看,在大多數(shù)情況下都可以應用線性模型,因為閉環(huán)反饋控制能使系統(tǒng)的各種時間變量對于它們的平衡狀態(tài)僅有較小的偏離。船舶運動非線性模型用途廣泛,實質(zhì)都是基于這種模型可精確預報船舶操縱運動特性這一點。船舶運動控制問題的兩個重點研究領(lǐng)域是船舶運動控制器設計和船舶動態(tài)模型建立。建立一個復雜程度適宜、精度滿足要求的數(shù)學模型對于進行系統(tǒng)閉環(huán)性能研究是至關(guān)重要的。太復雜和精細的模型可能包含難于估計的參數(shù),也不便于分析.過于簡單的模型不能描述系統(tǒng)的重要性能。近年來,Mathworks公司推出Matlab軟件包被越來越多地運用于工程系統(tǒng)的仿真領(lǐng)域,尤其是其Simulink模塊具有超強仿真能力,引起了工程界廣泛興趣。本文在狀態(tài)空間型的船舶運動數(shù)學模型的基礎(chǔ)上,給出了基于輸入—輸出信息構(gòu)造的響應型船舶運動數(shù)學模型的系統(tǒng)性方法,這種響應型模型僅考慮了過程線性影響。然后建立基于Matlab/Simulink的船舶運動模型,在此基礎(chǔ)上對船舶的操縱性能進行仿真計算。再通過VisualC++將得到的實時數(shù)據(jù)與數(shù)據(jù)庫連接,利用VisualC++與SQL的接口讀取數(shù)據(jù),并通過OSG進行船舶運動的視覺仿真實驗。1.2本課題的意義船舶運動控制是一個重要的研究領(lǐng)域,其最終目的是提高船舶自動化、智能化水平,保證航行的安全性、經(jīng)濟性和舒適性。而船舶操縱性是船舶航行的重要性能之一,對航運安全有非常大的影響。特別是近年來,隨著海運的發(fā)展,船舶的噸位急劇增大,航速提高,航運頻繁,使船舶航運安全成為一個突出的問題。許多國家都要求新建造的船舶及進入該國水域的船舶提交操縱性計算書和相關(guān)的試驗報告。國際海事組織(IMO)和各國政府都在致力于“船舶操縱性標準”的制定。隨著人們對船舶操縱性的日益關(guān)注,準確計算船舶操縱性已經(jīng)提上了議事日程?;谏鲜瞿康谋疚姆治隽孙L和水流對船舶操縱性能的影響,研究船舶對操舵的動態(tài)響應。建立了在風和流共同作用下船舶操縱系統(tǒng)的動力學模型,用于模擬船舶在操舵后的運行狀況。同時通過回轉(zhuǎn)性實驗對該模型進行了驗證。通過建立船舶的動態(tài)響應型運動模型,并對其運動進行仿真,旨在研究Simulink環(huán)境下船舶運動控制的單機仿真,為船舶的操縱性能和船舶運動控制規(guī)律的研究提供方便手段。能夠使我們了解船舶對于操舵的動態(tài)響應,操舵對于船舶的航跡改變的具體影響,也能起到預報船舶操縱特性的作用。通過引入風與水流的動力模型,可以分析風速、風舷角、流速、流舷角對于船舶運動的大致影響,讓大家了解在大風流下如何對船舶進行操縱才能保持船舶運動的穩(wěn)定性。對于船舶的回轉(zhuǎn)運動的仿真,可以加深對船舶回轉(zhuǎn)運動特征的認識,對于定?;剞D(zhuǎn)運動的特征參數(shù)(定?;剞D(zhuǎn)直徑、定?;剞D(zhuǎn)周期等)有進一步的了解,在仿真過程中也能夠讓我們了解到影響船舶回轉(zhuǎn)運動的一些因素。判斷一個船舶的回轉(zhuǎn)性的好壞可以從其相對回轉(zhuǎn)直徑看出。將Simulink模型中仿真的數(shù)據(jù)通過其外部模式變成實時輸出數(shù)據(jù),用標準串行端口RS232發(fā)送并接受數(shù)據(jù),再通過C++編寫程序連接數(shù)據(jù)庫和RS232的數(shù)據(jù)提取,利用VisualC++與SQL的接口讀取數(shù)據(jù),并通過OSG實現(xiàn)實船的運動視覺仿真。這樣可以讓我們更形象的觀察操舵、風流對于船舶在航行中影響,航跡的具體改變,有助于我們形象具體的進一步認識。第二章響應型船舶運動數(shù)學模型的建立響應型模型是船舶運動數(shù)學模型的另一種表達形式。50年代末野(Nomoto)從控制工程的觀點將船舶看成為一個動態(tài)系統(tǒng),舵角為系統(tǒng)的輸入、首向角或首搖角速度為系統(tǒng)的輸出。首先從簡捷的物理考察上,建立了系統(tǒng)輸入輸出的響應關(guān)系的一階響應模型。后來又從狀態(tài)空間型的線性船舶運動數(shù)學模型出發(fā),建立了二階響應模型。以后根據(jù)不同的需要,建立了非線性響應型模型。這些模型的一個重要特點是:模型參數(shù)可直接從規(guī)定的實船試驗中獲得,從而避免了狀態(tài)空間型的模型(如MMG模型)參數(shù)需用模型試驗獲得的缺陷,這就自動消除了尺度效應。因此,響應型船舶運動數(shù)學模型在船舶操縱性的研究領(lǐng)域中及在船舶航向、航跡自動控制研究中,在早期的航海模擬器、操縱模擬器研制中都得到了廣泛的應用。它實質(zhì)上為船舶運動數(shù)學模型的研究開辟了一個新領(lǐng)域。2.1線性響應模型建立一個系統(tǒng)的數(shù)學模型主要有兩方面的工作要做:一是根據(jù)物理意義在一定的簡化條件下建立模型的結(jié)構(gòu);二是根據(jù)系統(tǒng)的特征數(shù)據(jù),確定模型的參數(shù)。線性響應模型的結(jié)構(gòu),一般是通過對狀態(tài)空間型的線性船舶運動數(shù)學模型進行一定的推導獲得。線性響應模型的參數(shù),一方面可通過實船或自航船模進行規(guī)定試驗的結(jié)果求得,另一方面也可由線性船舶運動數(shù)學模型中的流體動力導數(shù)計算而得。本節(jié)首先介紹線性船舶運動數(shù)學模型,再建立響應性模型,最后給出由流體動力導數(shù)求響應型模型參數(shù)的計算公式。2.1.1線性船舶運動數(shù)學模型的建立建立線性船舶運動數(shù)學模型一般有兩種途徑:一種途徑是利用整體建模思想直接對作用于船舶(包括船體、舵、槳)上的流體動力和力矩進行泰勒級數(shù)展開,取一階項,再根據(jù)船舶的幾何特征進行整理而得。但是,由于目前可利用的整體性模型流體動力導數(shù)資料有限,從而使響應模型的參數(shù)計算受到了限制。另一種途徑是根據(jù)MMG模型,由船舶運動的特點,簡化成線性船舶運動數(shù)學模型。該方法利用MMG分離建模的優(yōu)點,能直接有船型參數(shù)計算流體動力導數(shù),在此基礎(chǔ)上響應模型參數(shù)的計算也相當方便了。本節(jié)我們采用后一種方法。MMG模型取附體坐標系原點在船舶重心G,則采用如下船舶運動方程式(2-1-1)式(2-1-1)中的第三個方程右端出現(xiàn)了,其原因是模型試驗時測量流體動力矩是相對于船舶中心進行的,因此需要將修正到相對于重心的力矩故而作項變動,是船舶中心在坐標系中軸坐標值。按MMG建模的基本要求,將作用于船體上流體動力和力矩分解為(2-1-2)其中,、、分別為裸船體、槳和舵上單獨作用的流體動力和力矩,其余為它們之間相互干涉的流體動力和力矩,如表示槳對船體干涉的流體動力等。這樣的分解意義明確。但試驗時求取有些項會有一定的困難,因為這些項數(shù)量級不大可以忽略。另外,為了表示簡潔,一般可表示成下式(2-1-3)我們進一步將作用于裸船體上的流體動力和力矩按產(chǎn)生的性質(zhì)分解為慣性類和粘性類流體動力和力矩,所以式(2-1-3)可改寫為(2-1-4)其中,下標表示為慣性類,表示粘性類流體動力和力矩。將式(2-1-4)代入式(2-1-1)可得(2-1-5)一般假設坐標系原點與船舶中心和重心重合,同時將慣性類的力與力矩轉(zhuǎn)換為船舶沿、軸的附加質(zhì)量和繞軸的附加質(zhì)量慣性矩。則式(2-1-5)變?yōu)橄率剑簩τ诖扒斑M對于船舶橫移 (2-1-6)對于船舶轉(zhuǎn)頭式中:、、為作用于裸船體上的流體動力,、、為螺旋槳推力,、、為舵力;、為船舶運動的加速度分量;為轉(zhuǎn)首角加速度;為船舶質(zhì)量;、為船舶沿軸和軸的附加質(zhì)量;為船舶繞軸的質(zhì)量慣性矩;為船舶繞軸的附加質(zhì)量慣性矩?,F(xiàn)將式(2-1-6)中有關(guān)各項的計算總結(jié)如下:作用于船體流體動力的計算裸船體流體動力== (2-1-7)=式中的、是非線性流體動力,相對于線性流體動力來說為高階小量可以略去。螺旋槳推力==(2-1-8)這里僅考慮船舶的前進運動,螺旋槳橫向力和力矩應為零,即==0。舵力, (2-1-9)其中 (2-1-10)二、作用于船體流體動力的線性化所謂線性船舶,是指船舶受到的外界干擾較小,它的運動始終在平衡狀態(tài)附近。作用于船舶上的各種流體動力是線性項取支配地位,二階以上項的數(shù)量級相對較小可以忽略不計。一般把船舶的勻速直線運動作為初始平衡狀態(tài)。假設,,,,為船舶的初始縱向速度。船舶受到外界干擾后,運動狀態(tài)變化量分別為,,和,從而運動狀態(tài)為,,,。下面討論由擾動運動產(chǎn)生的作用于船舶上的流體動力。裸船體流體動力保留一階小量、、和,略去二階以及上的高階小量,得== (2-1-11)=其中為船舶直航阻力,可表示為=-,為船舶的總阻力系數(shù),它也是船速的函數(shù),則上式可展示為=-(2-1-12)為船速時的總阻力系數(shù)。對上式作對的線性化處理,并令-- (2-1-13)為船舶在初始狀態(tài)時的直航阻力,則(2-1-14)螺旋槳推力由于(2-1-8)中為進速系數(shù)J的函數(shù),而又是的函數(shù),則展開為=(2-1-15)其中,為船舶初始航行狀態(tài)時的推力系數(shù),且=(2-1-16)令則式(2-1-15)變?yōu)椋?-1-17)舵力舵處來流的沖角=()中,考慮到小擾動時,()為小量,可用近似,且=,故有=+(2-1-18)因此(2-1-19)其中為小量,≈,得(2-1-20)將式(2-1-20)代入式(2-1-18),并考慮到為小量,有≈,≈1,則(2-1-21)++≈++(2-1-22)++≈++(2-1-23)由于小擾動,上面討論中最后假設≈1,且采用了下列簡化符號分別將上述結(jié)果代入式(2-1-6)可得△+++(2-1-24)++在式(2-1-24)中,考慮以下幾個問題:在初始狀態(tài)時,船舶阻力應與螺旋槳推力平衡,即(2-1-25)2)忽略二階量和并令(2-1-26)則式(2-1-24)為△+(2-1-27)由式(2-1-27)可見,在線性運動時第一方程與第二、三方程解耦,即船舶縱向運動與橫向和旋轉(zhuǎn)運動互無影響,可以分別考慮。假設我們暫不考慮縱向速度變化的影響設船舶受外界小擾動時,縱向速度不變,則式(2-1-27)中的第一式可以除去,其余兩式可以改為(2-1-28)式(2-1-28)即為線性船舶運動數(shù)學模型,它和由整體模型觀點而得到的線性船舶運動方程的形式完全相同。 2.1.2線性響應模型一、二階線性響應模型由式(2-1-28)推導的響應模型一般由兩種方法,一種直接消去法,另一種是拉普拉斯變換法,我們采用后一種方法。為使問題簡化,假設初始狀態(tài)為勻速直線運動,則所有運動變量具有零初值,這樣,經(jīng)拉普拉斯變換后,方程組(2-1-28)為一代數(shù)方程組(2-1-29)其中,,,。由此可解得舵角到轉(zhuǎn)首角速度的傳遞函數(shù)為(2-1-30)其中,;;;。同理可得舵角到橫漂速度的傳遞函數(shù),但在實際應用中,在技術(shù)上人們對轉(zhuǎn)首運動要比對橫向速度考慮得多。這在另一方面也是因為在實船或自航船模試驗中,航向或轉(zhuǎn)首角速度的測量比較容易,而對橫向速度到目前為止還沒有足夠精確的測量設備。特別是對于實船,更是如此。所以我們僅考慮轉(zhuǎn)首運動。二、一階線性模型船舶運動時呈現(xiàn)出非常大的慣性,并且操舵機構(gòu)的能量有限,能提供的舵葉運動速度通常低于,因此船舶運動具有低頻特征。傳遞函數(shù)式(2-1-30)在低頻下可降階為一階模型(2-1-31)其中,與式(2-1-30)中的相同,且。相應地,二階轉(zhuǎn)首響應方程也可近似簡化為一階轉(zhuǎn)首響應方程,即(2-1-32)其暫態(tài)響應方程如下(2-1-33)通過前面的計算求出操縱性指數(shù)、,給出舵角則可計算出時間后的轉(zhuǎn)頭角。將式(2-1-32)積分求解,可得到(2-1-34)式中:為積分常數(shù)。若在正舵直進中開始操舵,在初始條件時,,可得到操舵開始后的變化為:(2-1-35)因此船舶操舵以后的旋回角速度將取決于和的值。2.2船舶運動的風、流干擾力數(shù)學模型無論是研究船舶操縱運動仿真還是船舶運動的閉環(huán)控制,都要求有相當準確地描述自然環(huán)境、海況和氣象環(huán)境造成的作用于船體上的干擾力的數(shù)學模型。本文僅考慮風與流對船舶運動的影響。由于風、流的干擾具有明顯的隨機性,故建立風、流的干擾力模型較對船舶本身的動態(tài)研究困難更大。本節(jié)就從比較實用的角度介紹風、流干擾的物理本質(zhì),干擾力的計算方法不是那么的精確,只是想讓大家認識到風、流對于船舶運動的大致影響。2.2.1風的干擾力數(shù)學模型船舶在海上或港內(nèi)航行時,其上層建筑將受風力的作用,致使船舶偏離航向或引起操船困難。特別是在港內(nèi)低速航行時,風力對操縱性的影響尤為顯著。了解船舶在風中的操縱運動性能,可避免產(chǎn)生事故,還可以利用風力的作用來增加船舶操縱的靈活性。風作用在船體上層建筑以上造成流體動力和力矩,在船舶平面運動情況下,具有分量、和。在船舶上感受的風,風速和風向與實際的不同,原因在于船速的影響。我們將實際風速、風向稱為絕對風速、絕對風向;將船舶上感受到的風速、風向稱為相對風速、相對風向。下面介紹作用于船體上的平均風壓力和力矩的計算。船體上的風壓力和力矩的計算作用于船舶的風力其值可用Hughes公式予以估算:(2-2-1)式中:為水線上船體所受風力;為空氣密度;為風力系數(shù);為相對風速,;為相對風舷角;為水線上船體正面投影面積;為水線上船體側(cè)面投影面積。相對風速和風舷角可用船上的風速儀測得,受風面積可以從該船資料中根據(jù)不同吃水求得。風力系數(shù)、風動力作用點至船首的距離以及風動力角等值,根據(jù)船體上層建筑的形狀、布局的不同及風向的不同而有差異,一般用實船風洞試驗獲得。表1是根據(jù)各個船舶風洞試驗結(jié)果得到的。表1、、和變化關(guān)系00.45~0.95201.20~1.450.25~0.4045~75401.40~1.750.30~0.4570~82601.25~1.500.35~0.4570~82801.05~1.250.40~0.5085~87901.05~1.250.45~0.5587~951201.25~1.500.55~0.7092~1051401.40~1.800.58~0.80100~1151601.25~1.500.60~0.85105~1301800.60~0.90(注:為船舶垂線間長,)當船舶處于運動狀態(tài)時,以重心為支點,則風動壓力轉(zhuǎn)船力矩為:(2-2-2)式中:為重心至船首的距離,(為船舶垂線間長,)。2.2.2水流的干擾力數(shù)學模型通常來說,流從時間上分為定常和非定常,從地理位置上分為均勻和非均勻的假設,即流速度的數(shù)值和方向不隨時間和空間點的位置變化而變化。這種流的干擾模型只適用于海洋上的操縱模擬,在港灣、航道、近海航道等處的流一般會因時因地發(fā)生變化。而本文僅考慮均勻流的干擾模型。實用中在考慮水動力時,常將其分為首尾向分力和橫向分力加以處理,而首尾向水動力在操縱中可通過用車予以克服,一般商船可不予以考慮。這樣,只考慮橫向分力:(2-2-3)式中:為水動力系數(shù);為流壓力橫向分力系數(shù);為船舶吃水;為船舶兩柱間長;為相對流速(水流對船速度),。流壓力圍繞船舶重心所產(chǎn)生的流壓力轉(zhuǎn)船力矩可用下式估算:(2-2-4)式中:為重力加速度,;為船舶水線長,;為流壓力轉(zhuǎn)船力矩系數(shù)。表2列出了不同水深/吃水下,與流舷角的關(guān)系。力矩系數(shù)20406080901001201401600.010.080.070.000.040.080.120.110.020.100.200.150.010.080.180.300.320.120.280.480.380.050.150.300.600.600.38表2不同水深/吃水下與流舷角的關(guān)系當為表中某兩值之間時,可用插值法求得。2.2.3風和流共同作用下船舶的操縱模型將風和水流的影響轉(zhuǎn)換為產(chǎn)生同樣大小力矩的舵角的變化,這個附加舵角用表示。在式(2-1-33)的基礎(chǔ)上,通過計算可得到系統(tǒng)暫態(tài)方程為:(2-2-5)將舵轉(zhuǎn)船力矩替換為風和水流產(chǎn)生的轉(zhuǎn)船力矩,則附加舵角可表示為:(2-2-6)這樣我們就建立了有外界干擾力的響應型船舶運動數(shù)學模型。即輸入控制量為舵角,輸出量為船舶的首向角或首搖角速度。但是對于該系統(tǒng)我們還需要大量的計算,利用已知的船型參數(shù)求出該模型中的參數(shù),我們將在下面的一節(jié)中給出詳細的參數(shù)計算過程。2.3模型參數(shù)的計算由于我們模擬是13000DWT散貨船,根據(jù)提供的船體的基本參數(shù)和主機的基本參數(shù)(詳細見附錄),可以對模型的參數(shù)進行一系列的計算。但是由于計算過程繁瑣,具體分為三個部分來敘述。2.3.1船舶質(zhì)量與轉(zhuǎn)動慣量的計算1、船舶在運行中其質(zhì)量為空船質(zhì)量與其載重量之和,即,由已知條件求出為:2、由阿基米德原理知船舶的浮力即為船舶的質(zhì)量,即可以求出其排水量為(我們設為淡水,密度為)3、方型系數(shù)的計算通過查閱書籍知方形系數(shù),代入數(shù)據(jù)求出4、附加質(zhì)量、的計算從實用計算的角度來看,到目前為止,計算附加質(zhì)量和附加慣性矩有兩種方法,一是周昭明等人的回歸公式;另一個是Clarke等人的回歸公式。在這里主要采用Clarke的回歸公式。便于下面計算我們先用周昭明回歸公式計算。=2\*GB2⑵根據(jù)Clarke回歸公式~,代入數(shù)據(jù)得,5、轉(zhuǎn)動慣量和附加轉(zhuǎn)動慣量計算=1\*GB2⑴查閱書籍知=2\*GB2⑵根據(jù)Clarke回歸2.3.2流體動力及流體動力導數(shù)的計算1、基礎(chǔ)量的計算=1\*GB2⑴螺旋槳處的來流速度查閱資料,對于單螺旋槳船其伴流系數(shù),則,代入數(shù)據(jù)求出=2\*GB2⑵流入舵的有效縱向速度根據(jù)藤井提出的公式,其中為槳的增速量,為試驗系數(shù),為,為螺旋槳的失滑。取螺距比為,則。而,代入數(shù)據(jù)可以求出(為螺旋槳的轉(zhuǎn)速)=3\*GB2⑶整流系數(shù)可由下式求出=4\*GB2⑷可視為舵的縱向坐標,概念上應為,但是大量的模型試驗結(jié)果表明,約為的倍,取=5\*GB2⑸、為計入操舵誘導船體橫向力后關(guān)于舵力的修正因子,可用下面的擬合式:;為操舵誘導船體橫向力作用中心到船舶重心的距離,,實用上約為(~),取為,計算結(jié)果如下:,=6\*GB2⑹是舵升力系數(shù)在時的斜率,在船舶操縱性研究中,對可采用Prandtl公式,其中為展弦比,根據(jù)資料查閱單槳貨船,代入求出=7\*GB2⑺舵面積查閱得知其計算公式為,其中對于單槳單舵海洋貨船~,取為;為垂線間長,將數(shù)據(jù)代入公式求得2、流體動力導數(shù)的計算在第一節(jié)建模的過程中我們已經(jīng)給出了一些公式,利用這些公式將上面求得一些基本量代入公式可求得=1\*GB2⑴=2\*GB2⑵=3\*GB2⑶=4\*GB2⑷由于、是關(guān)于、的函數(shù),故、、、可通過、的偏導求得。下面給出、的表達式:(2-3-1)其中,;,而;是處橫截面的附加慣性系數(shù)的最大值,對于船體而言,一般有>,通過查閱資料令。在求、、、時我們將看作,則計算結(jié)果如下:=5\*GB2⑸=6\*GB2⑹=7\*GB2⑺=8\*GB2⑻3、流體動力的計算=1\*GB2⑴=2\*GB2⑵=3\*GB2⑶=4\*GB2⑷=5\*GB2⑸=6\*GB2⑹2.3.3、、的計算由于、、的值的計算公式在第一節(jié)中已給出計算公式,因計算結(jié)果表達式較為復雜,我們將通過Simulink給出計算公式的模擬,從而求出這些值。2.3.4風、流模型中的參數(shù)計算1、風力模型中的力與力矩的計算由公式(2-2-1)、(2-2-2)我們知道式中:為水線上船體所受風力;為空氣密度;為風力系數(shù);為相對風速,;為相對風舷角;為水線上船體正面投影面積;為水線上船體側(cè)面投影面積;為重心至船首的距離,(為船舶垂線間長,)。=1\*GB2⑴取空氣密度=2\*GB2⑵由船體的參數(shù)我們可以計算出、大約為,=3\*GB2⑶由第二節(jié)中的表1知、、與相對風舷角有關(guān),但是具體的數(shù)學關(guān)系不是很清楚,基于這點,這三個量的計算我們將在Simulink中利用其模塊進行插值從而求出任意一個下對應的、、的值。從而2、流模型中的力與力矩的計算因為從公式(2-2-6)我們發(fā)現(xiàn)只需計算流力矩,而由公式(2-2-4)式中:為重力加速度,;為船舶水線長,;為船舶吃水;為流壓力轉(zhuǎn)船力矩系數(shù)。=1\*GB2⑴為與前面的計算保持一致我們令=2\*GB2⑵由前面的分析知與流舷角和不同水深有關(guān),我們?nèi)闹翟赟imulink中進行數(shù)值插值,從而得出不同流舷角對應的因此3、附加舵角的計算由公式(2-2-6)知公式中,其中為有效沖角,由于其計算表達式中、與風速、風舷角、流速、流舷角有關(guān),與柴油機轉(zhuǎn)速和船舶縱向速度有關(guān),所以我們在這不給出的展開表達式,同樣將在Simulink中給出模擬,在模擬時由于難以求得,我們令其為。接下來我們將在下一章詳細介紹數(shù)學模型在Simulink中的建模過程。第三章基于Simulink的船舶運動模型的建立與仿真3.1Simulink的簡介Simulink是一種用來實現(xiàn)計算機仿真的軟件工具。它是MATLAB的一個附加組件,用來提供一個系統(tǒng)級的建模與動態(tài)仿真工作平臺。它一般可以附在MATLAB上同時安裝,也有獨立安裝版。Simulink是用模塊組合的方法來使用戶能夠快速、準確地創(chuàng)建動態(tài)系統(tǒng)的計算機模型的,特別是對于復雜的非線性系統(tǒng),它的效果更為明顯。Simulink是一種基于MATLAB的框圖設計環(huán)境,支持線性系統(tǒng)和非線性系統(tǒng),可以用連續(xù)采樣時間、離散采樣時間或兩種混合的采樣時間進行建模,它也支持多速率系統(tǒng),也就是系統(tǒng)中的不同部分具有不同的采樣速率。為了創(chuàng)建動態(tài)系統(tǒng)模型,Simulink提供了一個建立模型方塊圖的圖形用戶接口(GUI),這個創(chuàng)建過程只需要單擊和拖動鼠標操作就能完成。利用這個接口,用戶可以像用筆在草紙上繪制一樣,只要構(gòu)建出系統(tǒng)的方塊圖即可,這與以前的仿真軟件包要求解算微分方程和編寫算法語言程序不同,它提供的是一種更快捷、更直接明了的方式,而且用戶可以立即看到系統(tǒng)的仿真結(jié)果。Simulink沒有單獨的語言,但它提供了S函數(shù)規(guī)則。所謂的S函數(shù)可以是一個M文件、FORTRAN程序、C或C++語言程序等,通過特殊的語言規(guī)則使之能夠被Simulink模型或模塊調(diào)用。S函數(shù)使Simulink更加充實、完備、具有更大的處理能力。同MATLAB一樣,Simulink也不是封閉的,它允許用戶可以很方便的定制自己的模塊或模塊庫。Simulink中包括了許多實現(xiàn)不同功能的模塊庫,如Sources(輸入源模塊庫)、Sinks(輸出模塊庫)、連續(xù)模塊庫、MathOperations(數(shù)學模塊庫),以及線性模塊和非線性模塊等各種組件模塊庫。用戶可以自定義和創(chuàng)建自己的模塊,利用這些模塊,用戶可以創(chuàng)建層次化系統(tǒng)模型,可以自上而下或自下而上地閱讀模型,這不僅方便工程人員的設計,而且可以使用自己的模型方塊圖功能更清晰,結(jié)構(gòu)更合理。創(chuàng)建了系統(tǒng)模型后,用戶可以利用Simulink菜單或在MATLAB命令的方式選擇不同的積分方法來仿真系統(tǒng)模型。對于交互式的仿真過程,使用菜單是非常方便的,如果要運行大量的仿真,使用命令行方法則非常有效。例如,執(zhí)行蒙卡洛仿真,或想要掃描某一范圍的參數(shù)值,可以在命令行輸入變參數(shù)值,觀察參數(shù)值改變后的系統(tǒng)輸出。此外,利用示波器顯示模塊或其他顯示模塊,用戶可以在仿真的同時觀察仿真結(jié)果,而且還可經(jīng)在仿真運行期間改變仿真參數(shù),并同時觀察改變后的結(jié)果,最后的結(jié)果數(shù)據(jù)也可以輸出到MATLAB工作區(qū)進行處理,或利用命令行命令在圖形窗口中繪制仿真曲線。Simulink中的模型分析工具包括線性化工具和調(diào)整工具,這可以從MATLAB命令行獲取。MATLAB及其工具箱內(nèi)還有許多其他的適用于不同工程領(lǐng)域的分析工具,由于MATLAB與Simulink是集成在一起的因此任何時候用戶都可以在這兩個環(huán)境中仿真、分析和修改模型。Simulink系統(tǒng)建模的主要特性是:=1\*GB3①框圖式建模。Simulink提供了一個圖形化的建模環(huán)境,通過鼠標單擊和拖拉操作進行框圖式建模;=2\*GB3②支持非線性系統(tǒng);=3\*GB3③支持混合系統(tǒng)仿真,即系統(tǒng)中包含連續(xù)采樣時間和離散采樣時間;=4\*GB3④支持多速率系統(tǒng)仿真,即系統(tǒng)中存在以不同速率運行的組件;=5\*GB3⑤MATLAB與Simulink是集成在一起,因此,無論何時在任何環(huán)境下都可以建模、分析和仿真用戶模型3.2線性響應型船舶運動模型的建立要在Simulink中建立一個模型,首先我們需要先啟動Simulink,但由于Simulink是MATLAB中的一個附加組件,所以需先啟動MATLAB。在MATLAB窗口中單擊按鈕或在命令窗口中輸入命令Simulink,將會進入Simulink庫模塊瀏覽界面,如圖3-1所示。單擊窗口左上方的按鈕,Simulink會打開一個名為untitled的模型窗口,如圖3-2所示。圖3-1Simulink的主界面—庫模塊瀏覽器圖3-2空的模塊窗口下面即可在新創(chuàng)建的空模塊窗口進行模型的創(chuàng)建。3.2.1流體動力模型的建立1、流體動力表達式的分析我們在第二章已經(jīng)將流體動力的表達式給出,如下所示:=1\*GB2⑴=2\*GB2⑵=3\*GB2⑶=4\*GB2⑷=5\*GB2⑸=6\*GB2⑹下面只需要根據(jù)得到的公式進行模型的建立,觀察得知有三個輸入量即、、,且、、、中都含有相同的一個表達式即(3-2-1),所以我們先將建立這個表達式的模型。2、表達式(3-2-1)模型的建立=1\*GB2⑴添加模塊=1\*alphabetica、雙擊Simulink庫塊瀏覽器窗口中的源圖標,打開源模塊庫(Sources),如圖3-3所示。圖3-3打開源模塊庫從源模塊庫(Sources)中把常數(shù)模塊(Constant)拖曳到模型窗口,用鼠標右鍵點中此模塊不放并移動鼠標,則完成了此模塊的復制,再次重復這樣的操作,即得到三個常數(shù)模塊,如圖3-4所示。圖3-4添加常數(shù)模塊=2\*alphabeticb、打開數(shù)學模塊庫(MathOperations),將增益模塊(Gain)、除法模塊(Divide)、開方模塊(Sqrt)拖到窗口中;再打開用戶自定義函數(shù)模塊庫(User-DefinedFunctions),將自定義函數(shù)模塊(Fcn)拖至窗口中。根據(jù)公式(3-2-1)中的運算符號把相應的模塊按上述方法進行復制,并將各模塊移動至適當位置,如圖3-5所示。 圖3-5添加剩余所需模塊=3\*alphabeticc、各模塊參數(shù)的設置只需雙擊各模塊即會彈出其參數(shù)設置界面。將Constant當作V,Constant1當作u,Constant2當作n。Gain中的值不變?yōu)?,F(xiàn)cn中的參數(shù)項的表達式變?yōu)閡^2,如圖3-6所示。圖3-6Fcn參數(shù)的設置將Gain1中的值變?yōu)?.651,Gain2中的值變?yōu)?,F(xiàn)cn1中的表達式改為1+6.3*(1-u)^1.5,如圖3-7所示。圖3-7Fcn1參數(shù)的設置改變Divide1的參數(shù)輸入個數(shù),只需將輸入個數(shù)項變?yōu)?//,即實現(xiàn)輸入量為三,如圖3-8所示。圖3-8Divide1輸入量的設置=2\*GB2⑵改變模塊注釋如將Constant改為V,雙擊Constant字樣即可以進行操作,如圖3-9所示。下面按此方法依次將Constant1改為u,Constant2改為n。當想改變模塊大小時需先選中模塊,模塊四角出現(xiàn)了小方塊。單擊一個角上的小方塊,并按住鼠標鍵,拖曳鼠標,如圖3-10所示。圖3-9改變標簽的操作圖3-10改變模塊大小的操作=3\*GB2⑶連接模塊一般模塊左邊的“>”符表示輸入,右邊的“>”符表示輸出。將鼠標指針放到Constant模塊的輸出口處,則鼠標指針即變?yōu)槭植嫘?,拖曳鼠標從輸出口到Gain的輸入口,當放開鼠標按鍵后,信號線就變成了帶有指向信號輸入方向箭頭的有向線段。當遇到需要引信號線的分支時,如在Gain1和Divide1之間,可在信號線某處按下鼠標右鍵,則指針變?yōu)槭植嫘?。按住鼠標并拖曳到Divide的乘法輸入端端口處,則十字叉變?yōu)殡p十字叉形。放開鼠標按鍵,新的分支信號線形成了。接下來用同樣的方法完成剩余模塊的連接,如圖3-11所示。圖3-11表達式(3-2-1)的模型圖3、流體動力模型的建立=1\*GB2⑴按照公式將所需的模塊按照上述的方法拖入到模型窗口中=2\*GB2⑵設置各模塊的參數(shù)值,并改變模塊的標簽=3\*GB2⑶連接模塊,結(jié)果如圖3-12所示。圖3-12流體動力模型3.2.2操縱性指數(shù)K、T模型的建立我們從K、T的計算公式可以看出其與上節(jié)的流體動力以及質(zhì)量和轉(zhuǎn)動慣量有關(guān),故在上述流體動力模型的基礎(chǔ)上來建立K、T的模型。方法同上面的相似。=1\*GB2⑴從模塊庫中添加所需的模塊到模型窗口中=2\*GB2⑵改變模塊的參數(shù)以及標簽名=3\*GB2⑶連接模塊。結(jié)果如圖3-13所示。圖3-13K、T模型的建立3.2.3線性響應型船舶運動模型的建立由于在上一小節(jié)我們已經(jīng)將操縱性指數(shù)K、T模型建好,現(xiàn)在只需要將表達式(2-1-33)的模型建立好即可實現(xiàn)以舵角為輸入,轉(zhuǎn)首角為輸出的響應型船舶運動模型。=1\*GB2⑴添加模塊因為一階轉(zhuǎn)首響應方程為(其中),其積分求解后為,所以在建立的模型上再進行一次積分即可求出轉(zhuǎn)首角的變化。根據(jù)分析從連續(xù)模塊庫(Continuous)中拖一個積分模塊(Integrator)到模型窗口中;從源模塊庫(Sources)中拖一個仿真時間模塊(Clock)到模型窗口中;再從輸出顯示模塊庫(Sink)中拖示波器模塊(Scope)、顯示模塊(Display)至窗口中,以便在運行仿真過程中觀察所需數(shù)值的變化和航跡的變化。其余的所需模塊通過在內(nèi)部進行復制。=2\*GB2⑵設置模塊參數(shù)以及改變模塊標簽=3\*GB2⑶連接模塊連接好后的模型見圖3-14。我們設置V=5,u=5,n=500,δ=35,進行運行仿真,過程中沒有報錯,所以模型建立基本正確。至于仿真結(jié)果我們在下面會進行詳細分析。圖3-14線性響應型船舶運動模型3.3風、流模型的建立由于剛建好的線性響應型船舶運動模型的界面空間不是很大,考慮到Simulink中有創(chuàng)建子系統(tǒng)的功能,所以我們考慮新創(chuàng)建一個Simulink模型來創(chuàng)建風、流模型,然后將創(chuàng)建好的模型壓縮為子系統(tǒng),最后全部復制到圖3-14中。3.3.1風力模型的建立方法同上面的相似,分析公式可知輸入量為相對風速和風舷角,而、、和變化關(guān)系見第二章的表1。通過計算模擬、和的關(guān)系大致可以如下式表達:,則通過查表模塊進行擬合。=1\*GB2⑴添加模塊對于常用的模塊我們在此不再贅述,對于,從查表模塊庫(LookupTables)中將LookupTable模塊添加到窗口中;從數(shù)學模塊庫(MathOperations)中將特殊數(shù)學函數(shù)(MathFunctions)模塊加入到窗口中。=2\*GB2⑵設置模塊參數(shù)依照表1我們將LookupTable模塊中的Main項內(nèi)的參數(shù)改為圖3-15所示;對于MathFunctions模塊,其參數(shù)設置模塊界面中的Function后有一個下拉符號,點擊將公式變?yōu)閟quare,如圖3-16所示。圖3-15的擬合圖3-16MathFunctions模塊公式的設置=3\*GB2⑶連接模塊由于在Simulink中三角函數(shù)的默認輸入是弧度,所以在sin(u)前需要將弧度轉(zhuǎn)化為角度,連接后的見圖3-17。圖3-17風力模型3.3.2流力模型的建立同樣根據(jù)公式分析輸入量,由于與流舷角有關(guān),且研究方法同的一樣,參數(shù)設置見圖3-18??芍斎肓繛榱骶€角和相對流速。因為建立的方法同風力模型相似,所以就不再敘述,結(jié)果如圖3-19。圖3-18的擬合圖3-19流力模型3.3.3附加舵角模型的建立根據(jù)公式,可知與有關(guān),而與線性響應型船舶運動模型的相關(guān)量有關(guān),所以在這我們先把當作常數(shù)輸入。結(jié)果如圖3-20所示。圖3-20風、流引起的附加舵角模型3.4模型的整合通過上幾節(jié)的操作已經(jīng)將所需的模型建好,但是并不在一個文件中,所以需要將這幾個分散的模型整合到一個模型中。我們知道只需要將風、流引起的附加舵角的模型加入到線性響應型船舶運動模型中即可。但是由于操作界面尺寸的限制,同時為了模型簡潔化,將采用Simulink中的壓縮子系統(tǒng)的方法。3.4.1壓縮子系統(tǒng)隨著模型變得越來越大、越來越復雜,人們很難輕易地讀懂它們。在這種情況下,子系統(tǒng)通過把大的模型分割成幾個小的模型系統(tǒng)以使得整個模型更簡捷、可讀性更高,而且這種操作并不復雜。創(chuàng)建Simulink子系統(tǒng)共有兩種方法:第一種是對已存在的模型的某些部分或全部使用菜單命令【Edit〉CreateSubsystem】進行壓縮轉(zhuǎn)化,使之成為子系統(tǒng);另一種方法是使用Connections模塊庫中的Subsystem模塊直接創(chuàng)建子系統(tǒng)。我們采用第一種方法將附加舵角模型壓縮為子系統(tǒng)。1、首先使用范圍框?qū)⒁獕嚎s成子系統(tǒng)的部分選中,包括模塊和信號線;也可以通過shift鍵逐一添加。如圖3-21所示。圖3-21選中要壓縮的模塊2、在模塊窗口菜單選項中選擇【Edit〉CreateSubsystem】,Simulink將會用一個子系統(tǒng)模塊代替被選中的模塊組,將模塊位置適當調(diào)整,結(jié)果如圖3-22所示。圖3-22壓縮后的模型圖3、若想查看子系統(tǒng)的內(nèi)容或?qū)ψ酉到y(tǒng)進行再編輯,可以雙擊子系統(tǒng)模塊。3.4.2模型的組合1、將壓縮后的子系統(tǒng)整體復制到線性響應型船舶運動模型中,由于圖3-22模型中的Vr與圖3-14中的量有關(guān),所以根據(jù)關(guān)系將兩者進行連接。結(jié)果如圖3-23所示。圖3-23組合后的模型2、由于這樣不容易觀察輸入量和輸出量,故采用相同的方法壓縮子系統(tǒng),將圖3-23的模塊進行壓縮,壓縮后的模塊見圖3-24。圖3-24壓縮后的船舶運動模型3、運行模型在過程中沒有發(fā)現(xiàn)任何問題,但是將所有輸入量值設為零時,系統(tǒng)報錯,由于模塊中存在除法且為零項位于分母位置,故將其做稍微修改,修改處見圖3-25。在后面的仿真過程中表明對原系統(tǒng)的精確度影響甚小。 圖3-25對于原模型的修改處3.5仿真試驗由于在建立船舶運動數(shù)學模型和隨后確定流體動力及其導數(shù)等參數(shù)時,引用了一系列的簡化和假設,從而得到的結(jié)果只能是近似的。而這種方法本身不能證實它自己的近似程度,故我們將對其作一些典型的試驗來進行分析和比較。同時還通過試驗來觀察風與流對船舶運動的影響。船舶在實際操作中可能遇到的操縱情況是各種各樣的,不可能一一進行試驗,因此只進行幾個典型的試驗。3.5.1回轉(zhuǎn)試驗船舶的回轉(zhuǎn)運動是船舶最基本的操縱運動。船舶作回轉(zhuǎn)運動時,其重心G的運動軌跡稱為回轉(zhuǎn)圈。船舶的回轉(zhuǎn)圈是衡量船舶操縱性優(yōu)劣的方法之一。回轉(zhuǎn)試驗的目的是評價回轉(zhuǎn)的迅速程度和所需要的水域大小?;剞D(zhuǎn)圈可用下列參數(shù)表征:進距;正橫距;戰(zhàn)術(shù)回轉(zhuǎn)直徑;定?;剞D(zhuǎn)直徑。船舶在滿舵回轉(zhuǎn)時的定?;剞D(zhuǎn)直徑稱為最小回轉(zhuǎn)直徑,它是評價船舶回轉(zhuǎn)性的重要指標。定常回轉(zhuǎn)直徑與船長的比值(D/L)稱為相對回轉(zhuǎn)直徑,常用此比值來衡量船舶的回轉(zhuǎn)性能。為了檢驗本模型是否能達到操縱的基本要求,做了如下船舶回轉(zhuǎn)性實驗。由于本模型的限制,回轉(zhuǎn)試驗的操作步驟大致如下:設置船速和柴油機轉(zhuǎn)速(都設為額定值),并保持不變。先設舵角為,暫不考慮風、流的影響。開始運行模塊,待船舶回轉(zhuǎn)一圈時立馬將變?yōu)椋辉俚却耙源硕娼呛叫幸蝗r,將舵角變?yōu)椤T诖诉^程中記錄航行軌跡見圖3-26。圖3-26船舶回轉(zhuǎn)性試驗圖回轉(zhuǎn)圈由大到小,依次為操舵、、時所劃軌跡。計算可知對于時的相對回轉(zhuǎn)直徑為8.25,而一般大型貨船的相對回轉(zhuǎn)直徑為3.5~7.5,相對回轉(zhuǎn)直徑越小則回轉(zhuǎn)性越好,即船舶操縱性能越好。并且從航向圖(見圖3-27)讀出船舶以額定航速、轉(zhuǎn)速、最大舵角回轉(zhuǎn)一圈的時間是10分鐘左右。由上述分析知,本型的操縱性不是很好。圖3-27船首轉(zhuǎn)向角隨時間的變化3.5.2風對船舶運動影響風對船舶的主要影響是:相對風速作用在船體水線上產(chǎn)生風動力及風動力的縱向分力,使船舶的航跡和沖程增加或降低;風動力的橫向分力,使船舶向下風方向漂移;風動力與船舶重心形成的風動力轉(zhuǎn)船力矩,使船舶發(fā)生偏轉(zhuǎn)運動。為了使我們對影響有形象的了解做如下幾個試驗。舵角,航速為額定航速,相對風速,風舷角。船舶的運動軌跡見圖3-28。(風向為自北向南)圖3-28,的航跡2、舵角,航速為額定航速,相對風速,風舷角。船舶航跡如圖3-29所示。(風向為自北向南)圖3-29,時的航跡有此圖可見,船舶運動時受到風力的作用會發(fā)生漂移。3.5.3流對船舶運動的影響船舶在均勻水流的水域中航行,其航速等于船速與流速的矢量和,同時船舶受水流的影響易產(chǎn)生偏轉(zhuǎn)、漂移和橫傾。同樣試驗如下:舵角,航速為額定航速,流舷角,相對流速。船舶航跡如圖3-30所示。(流向為自北向南)圖30,時的船舶航跡2、舵角,航速為額定航速,流舷角,相對流速。船舶航跡見圖3-31。(流方向為自西向東)圖3-31,時的船舶航跡3、舵角,航速為額定航速,流舷角從,相對流速。船舶航跡如圖3-32所示。圖3-32,時的航跡從上面幾個試驗可知在恒流值的作用下,船舶進行回轉(zhuǎn)運動時,船仍進行回轉(zhuǎn),但是航跡沿流作用的方向發(fā)生了漂移。3.5.4結(jié)論本模型是建立船舶對舵響應的操縱模型。在模擬操舵后,船舶航向就會發(fā)生變化,雖然每種船舶航向變化大小不同,但其基本規(guī)律是相同的。在回轉(zhuǎn)試驗中,由于每艘船的操縱性指數(shù)不同,故其進入回轉(zhuǎn)時間和回轉(zhuǎn)圈大小就會不同,但它們的軌跡基本都是在做圓周運動;當考慮風、流影響時,船舶的航向就會發(fā)生改變,風、流的作用效果有點相似,都會使船舶發(fā)生漂移,風還會使船舶的航跡和沖程增加或降低。對于本模型仿真來說,由于它能夠進行回轉(zhuǎn)操作,說明模型基本正確,但是D/L值大于一般同類型的船舶范圍,說明模型計算時有些參數(shù)的計算還存在一點問題;風、流對船舶的影響也只是一個大致描述,還需要進一步研究。第四章Simulink與數(shù)據(jù)庫的連接及視覺仿真的實現(xiàn)為了實現(xiàn)仿真的實時性,模型產(chǎn)生的數(shù)據(jù)必須要與數(shù)據(jù)庫連接實時更新,再通過一定的函數(shù)讀取數(shù)據(jù)庫中的數(shù)據(jù)從而實現(xiàn)視覺仿真。4.1Simulink模型仿真結(jié)果的實時輸出輸出方法是利用Simulink的外部輸出模式即:在模型窗口的菜單欄點擊Simulation,再點擊ConfigurationParameters,彈出如圖4-1的對話框。將SolverOptions下的Type類型改為Fixed-step,再點擊左邊Select的Real-TimeWorkshop,出現(xiàn)如圖4-2所示的對話框。將Language改為C++,確定后按Build進行編譯,最終編譯成一個實時輸出文件。同時需要在MATLAB窗口中需要說明下文件的路徑。圖4-1ConfigurationParameters對話框圖4-2利用標準串行端口RS232將編譯文件中的數(shù)據(jù)發(fā)送到另一臺計算機中,且用RS232接受數(shù)據(jù)。4.2利用VC++連接數(shù)據(jù)庫與RS232的數(shù)據(jù)提取進行VC++編程連接數(shù)據(jù)庫的過程與代碼如下:進行串口設置,并打開串口:voidCCommWizardDlg::OpenPort(){ if(m_Com.GetPortOpen()) m_Com.SetPortOpen(FALSE); m_Com.SetCommPort(m_nPort);//選擇com1 if(!m_Com.GetPortOpen()) m_Com.SetPortOpen(TRUE);//打開串口 else AfxMessageBox("cannotopenserialport"); m_Com.SetSettings(m_strSettings);//波特率9600,無校驗,8個數(shù)據(jù)位,1個停止位 m_Com.SetRThreshold(1);//參數(shù)1表示每當串口接收緩沖區(qū)中有多于或等于1個字符時將引發(fā)一個接收數(shù)據(jù)的OnComm事件 m_Com.SetInputMode(1); m_Com.SetInputLen(0);//設置當前接收區(qū)數(shù)據(jù)長度為0 m_Com.GetInput();//先預讀緩沖區(qū)以清除殘留數(shù)據(jù)}接收數(shù)據(jù),將其存入緩存區(qū),并進行分類,之后存入數(shù)據(jù)庫,并清除緩存區(qū)的數(shù)據(jù):voidCCommWizardDlg::OnOnCommCommctrl(){ //TODO:Addyourcontrolnotificationhandlercodehere VARIANTvariant_inp; COleSafeArraysafearray_inp; LONGlen,k; BYTErxdata[2048];//設置BYTE數(shù)組An8-bitintegerthatisnotsigned. CStringstrtemp; if(bReceive) { if(m_Com.GetCommEvent()==2)//事件值為2表示接收緩沖區(qū)內(nèi)有字符 { variant_inp=m_Com.GetInput();//讀緩沖區(qū) safearray_inp=variant_inp;//VARIANT型變量轉(zhuǎn)換為ColeSafeArray型變量 len=safearray_inp.GetOneDimSize();//得到有效數(shù)據(jù)長度 for(k=0;k<len;k++) safearray_inp.GetElement(&k,rxdata+k);//轉(zhuǎn)換為BYTE型數(shù)組 for(k=0;k<len;k++)//將數(shù)組轉(zhuǎn)換為Cstring型變量 { BYTEbt=*(char*)(rxdata+k);//字符型 if(m_nInputMode==2) strtemp.Format("%02X",bt);//將字符以十六進制方式送入臨時變量strtemp存放,注意這里加入一個空隔 else strtemp.Format("%c",bt);//將字符送入臨時變量strtemp存放 if(strtemp=="s")//檢測數(shù)據(jù)開始位 { m_strReceive=""; check=1; } if(check>=1&&check<checklast) { if(check==1) { strtemp=""; } if(check==2) { name=strtemp; strtemp=""; } if(check==3) { if(strtemp=="-") { checklast=17; } else { checklast=16; } }m_strReceive=m_strReceive+strtemp; check=check+1; } if(check==(checklast-1)) { updataparameters(m_strReceive,name);//更換 UpdateData(FALSE); }} } }//更新編輯框內(nèi)容重復接收數(shù)據(jù)并分類進行存儲實現(xiàn)實時更新。4.3利用0SG實現(xiàn)視覺仿真利用VisualC++與SQL的接口讀取數(shù)據(jù),并通過OSG進行視景仿真,主要程序如下:class
Mytransformcallback1
:public
osg::NodeCallback{public://構(gòu)造函數(shù),傳入一個角度,這個角度為計算移動值用的,移動的原理是,每一次時間變化乘以這個角度的量綱Mytransformcallback1(float
angularVelocity){m_angularVelocity=angularVelocity;HRESULT
hr;try
{
hr=m_pConnection.CreateInstance(__uuidof(Connection));if(SUCCEEDED(hr)){m_pConnection->ConnectionString="File
Name=testData.udl";m_pConnection->ConnectionTimeout=20;hr=m_pConnection->Open("","","",adConnectUnspecified);if(FAILED(hr)){AfxMessageBox("open
fail!");;
}
}else{AfxMessageBox("createinstance
of
Connection
fail!");}}catch
(_com_error
e){//_bstr_t
bstrSource(e.Source());//_bstr_t
bstrDescription(e.Description());AfxMessageBox("
數(shù)據(jù)庫連接失敗!");
}m_pRecordset.CreateInstance(__uuidof(Recordset));try{m_pRecordset->Open("SELECT
*
FROM
dataupdata",
//
查詢DemoTable表中所有字段m_pConnection.GetInterfacePtr(),
//
獲取庫接庫的IDispatch指針adOpenDynamic,adLockOptimistic,adCmdText);}catch(_com_error
*e){AfxMessageBox(e->ErrorMessage());}m_tankPosistion=osg::Vec3(0,0,0);m_tankPosistion1=osg::Vec3(0,0,0);angle=0;}virtual
void
operator()(osg::Node
*node,osg::NodeVisitor*
nv){//驗證得到的點是不是MatrixTransformosg::MatrixTransform
*transform=dynamic_cast<osg::MatrixTransform*
>(node);//如果是的if
(nv&&transform&&nv->getFrameStamp()){//得到參考時間與當前時間差,用來計算cos然后改變移動值double
time=nv->getFrameStamp()->getReferenceTime();m_pRecordset->MoveFirst();
_variant_tvar
=
m_pRecordset->GetCollect("hengyao");//
_variant_tvar1
=
m_pRecordset->GetCollect("speed");//
_variant_tvar2
=
m_pRecordset->GetCollect("addangle");
hengyao=var;//
speed=var1;//
addangle=var2;//
angle=addangle;//
m_tankPosistion+=osg::Vec3(speed*cosf(osg::DegreesToRadians(angle+90)),speed*sinf(osg::DegreesToRadians(angle+90)),0);//同時計算速度和轉(zhuǎn)彎角度//
m_tankPosistion1+=osg::Vec3(0.0/*speed*cosf(osg::DegreesToRadians(0.5*angle+180))*/,speed/**sinf(osg::DegreesToRadians(angle+90))*/,0);/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024學校鍋爐工環(huán)境保護與節(jié)能減排合同范本3篇
- 自動打鈴器課程設計數(shù)電
- 漢川市汽車營銷課程設計
- 自動飛行系統(tǒng)課程設計
- 2024年裝表接電工(初級工)技能鑒定理論考試復習題庫(含答案)
- 2024年美術(shù)教案課件
- 童話課程設計封面
- 立式車床主軸箱課程設計
- 小班兔子繪本課程設計
- 金融投資行業(yè)顧問工作總結(jié)
- Unit 1 You and Me Section A 1a~Pronunciation說課稿-2024-2025學年人教版英語七年級上冊
- 2024年托管裝修責任協(xié)議
- 補牙講課課件
- 電動車著火應急預案
- 國家自然科學基金申請書模板三篇
- 系統(tǒng)運行維護方案
- 外貿(mào)企業(yè)海外市場開拓計劃書
- (醫(yī)學課件)護理人文關(guān)懷
- 河長制工作總結(jié)報告5篇河長制年度工作總結(jié)
- 第二期專題04-短文填空(6選5)-沖刺中考英語必考題型終極預測(深圳專用)
- 民間借貸利息計算表
評論
0/150
提交評論