晁大海,宋 楊
(1. 海軍駐大連地區(qū)軍事代表室, 遼寧 大連 116013;2. 大連測(cè)控技術(shù)研究所,遼寧 大連 116013)
隨著計(jì)算機(jī)輔助設(shè)計(jì)的發(fā)展,三維船舶模型建立軟件層出不窮。同時(shí)由于虛擬現(xiàn)實(shí)技術(shù)的發(fā)展以及OPENGL圖形庫(kù)可提供強(qiáng)大的底層命令,為船舶設(shè)計(jì)可視化提供了程序支撐。源于實(shí)船在隨機(jī)海況中運(yùn)動(dòng)的可視化可以使船舶設(shè)計(jì)人員能夠更直觀地了解實(shí)船的運(yùn)動(dòng)性能[1–2],同時(shí),隨著飛速發(fā)展的計(jì)算機(jī)技術(shù),可視化技術(shù)越來(lái)越逼真,近年來(lái),計(jì)算機(jī)輔助設(shè)計(jì)和科學(xué)計(jì)算的可視化已在船舶設(shè)計(jì)領(lǐng)域?qū)乙?jiàn)應(yīng)用,發(fā)展成為船舶在隨機(jī)海況中運(yùn)動(dòng)機(jī)理研究的重要手段之一。由于船舶在隨機(jī)海況中運(yùn)動(dòng)的復(fù)雜性,計(jì)算機(jī)仿真研究已成為必然,即可以直觀再現(xiàn)船舶運(yùn)動(dòng)過(guò)程,又可以研究極端海況下實(shí)船的運(yùn)動(dòng)情況,總結(jié)運(yùn)動(dòng)規(guī)律,為設(shè)計(jì)人員提供參考,為操作人員提供建議,因此實(shí)船運(yùn)動(dòng)仿真研究越來(lái)越得到學(xué)術(shù)上的關(guān)注。
在實(shí)船運(yùn)動(dòng)仿真的研究中,首先要建立數(shù)學(xué)模型,并求解。在此過(guò)程中會(huì)需要大批量的矩陣計(jì)算,并對(duì)分析結(jié)果實(shí)時(shí)圖形化顯示。Matlab是MathWorks公司開(kāi)發(fā)的科學(xué)計(jì)算環(huán)境,具有強(qiáng)大的計(jì)算繪圖能力,提供大量的函數(shù)庫(kù)、工具箱,幾乎涵蓋了所有的工程計(jì)算領(lǐng)域,被譽(yù)為“演算紙”式的工程計(jì)算工具[3–5]。Visual Basic作為一門(mén)簡(jiǎn)單易學(xué)易用的編程語(yǔ)言,在工程上有諸多應(yīng)用,其界面友好且執(zhí)行速度相對(duì)較快[6]。因此將VB與Matlab混合編程,不僅會(huì)大大提高開(kāi)發(fā)
效率[7],對(duì)于解決工程問(wèn)題十分有意義,而且可為科研工作以及工程應(yīng)用提供有力的技術(shù)支持。
實(shí)船在極不規(guī)則的隨機(jī)海況環(huán)境下航行,為了研究實(shí)船在海上的運(yùn)動(dòng)模型,需首先對(duì)海上環(huán)境進(jìn)行建模研究,因海浪對(duì)實(shí)船的作用力矩主要與海浪波傾角有關(guān),所以,環(huán)境建模轉(zhuǎn)化為對(duì)海浪波傾角的仿真研究[8– 9]。
波傾角的仿真模型參考文獻(xiàn)[10]取為:
式中:αθe,α?e分別為隨機(jī)海浪下船舶的橫搖,縱搖有效波傾角;n為組成仿真海浪的規(guī)則海浪的個(gè)數(shù);S(ω)為海浪譜密度函數(shù);ω為海浪仿真頻段; △ω為頻率增量;t為仿真時(shí)間;ε為0~2π之間的隨機(jī)數(shù);Kθ, K?分別為橫搖,縱搖波傾修正系數(shù);為遭遇波傾角。
近年來(lái),船舶運(yùn)動(dòng)模型方程的建立分為以下幾種:時(shí)域或頻域方程、基于操縱性理論、基于源匯分布法或STF切片法,以及基于控制理論建立運(yùn)動(dòng)方程。本文基于控制理論建立數(shù)學(xué)模型。以單自由度橫搖運(yùn)動(dòng)為例,首先根據(jù)Conolly理論,建立微分方程,再對(duì)其進(jìn)行Laplace變換,最后得到船舶單自由度橫搖運(yùn)動(dòng)系統(tǒng)的狀態(tài)方程[11–13]
式中:x1,x2為狀態(tài)變量;輸入信號(hào)為 u =aθe(t);輸出信號(hào)為 y =θ(t)。
式中:ωθ為船舶的橫搖固有角頻率
ξθ為船舶的橫搖阻尼因子
在船舶橫搖運(yùn)動(dòng)仿真中輸入?yún)?shù)如圖2所示,輸出數(shù)據(jù)如圖3和圖4所示。船舶縱搖運(yùn)動(dòng)仿真研究亦可同理獲得,輸出數(shù)據(jù)如圖5和圖6所示。
圖 1 船舶搖蕩運(yùn)動(dòng)仿真平臺(tái)界面Fig. 1 Interface of ship swaying motion simulation
圖 2 船舶橫搖運(yùn)動(dòng)仿真輸入?yún)?shù)界面Fig. 2 Input parameters interface of the ship's rolling motion
圖 3 橫搖波傾角角仿真Fig. 3 Rolling wave inclination angle simulation
圖 4 橫搖角仿真Fig. 4 Rolling angle simulation
圖 5 縱搖波傾角仿真Fig. 5 Pitching wave inclination angle simulation
圖 6 縱搖角仿真Fig. 6 Pitching angle simulation
在單自由度橫搖、縱搖運(yùn)動(dòng)仿真研究基礎(chǔ)上,本文嘗試了基于時(shí)域求解實(shí)船橫搖與垂蕩耦合的運(yùn)動(dòng)方程的求解,輸入?yún)?shù)詳見(jiàn)圖7所示,輸出數(shù)據(jù)如圖8和圖9所示。
在仿真基礎(chǔ)上,應(yīng)用SQLServer數(shù)據(jù)庫(kù)存儲(chǔ)實(shí)船的基本參數(shù)信息、海浪環(huán)境參數(shù)信息以及實(shí)船運(yùn)動(dòng)的仿真數(shù)據(jù)。同時(shí),總結(jié)實(shí)船搖蕩運(yùn)動(dòng)規(guī)律,設(shè)計(jì)者可按查詢條件查詢得出相應(yīng)船型的運(yùn)動(dòng)規(guī)律數(shù)據(jù)信息,從而為實(shí)船設(shè)計(jì)者或?qū)嵈倏v提供更為直觀的參考。將這些仿真數(shù)據(jù)導(dǎo)入到三維模型的運(yùn)動(dòng)控制中,驅(qū)動(dòng)三維模型實(shí)現(xiàn)運(yùn)動(dòng)顯示。
圖 7 船舶橫搖垂蕩耦合運(yùn)動(dòng)的仿真界面Fig. 7 Simulation interface of the ship's rolling and heaving coupling motion
圖 8 耦合運(yùn)動(dòng)中橫搖角Fig. 8 Rolling angle simulation of coupled motions
圖 9 耦合運(yùn)動(dòng)中垂蕩運(yùn)動(dòng)Fig. 9 Heaving angle simulation of coupling motions
OPENGL圖形庫(kù)提供了強(qiáng)大的底層命令,其高層渲染都通過(guò)底層命令來(lái)完成,且對(duì)VB,VC等編程語(yǔ)言是開(kāi)放的?;诒疚牡难芯渴轻槍?duì)不同的實(shí)船進(jìn)行運(yùn)動(dòng)分析,因此為了快速地建立仿真模型,放寬對(duì)模型真實(shí)性的要求,僅反映出正確的幾何外形即可。建模過(guò)程如下:首先讀取實(shí)船型值表數(shù)據(jù),按繪圖要求選取部分型值后再次存儲(chǔ)數(shù)據(jù),然后將其轉(zhuǎn)化為對(duì)應(yīng)的多個(gè)多邊形圖形的繪制,計(jì)算出對(duì)應(yīng)多邊形的頂點(diǎn)坐標(biāo)、法向量、光照等重要數(shù)據(jù),更新以上數(shù)據(jù)快速生成實(shí)船簡(jiǎn)化模型[8–14]。如圖 10 所示。
圖 10 船舶搖蕩運(yùn)動(dòng)三維仿真演示截圖Fig. 10 The 3D simulation interface of the ships′ swaying motions
通過(guò)仿真計(jì)算可歸納出以下幾點(diǎn)結(jié)論:
1)對(duì)于單自由度運(yùn)動(dòng)而言,橫搖運(yùn)動(dòng)對(duì)實(shí)船的設(shè)計(jì)和操縱起著關(guān)鍵作用;對(duì)于耦合運(yùn)動(dòng),橫搖運(yùn)動(dòng)與其他自由度的耦合也是以橫搖運(yùn)動(dòng)響應(yīng)為重。因此,橫搖運(yùn)動(dòng)響應(yīng)的研究成果,是船舶搖蕩運(yùn)動(dòng)的基礎(chǔ)。
2)在本文仿真研究中,可以通過(guò)不同船型、不同海況的參數(shù)輸入計(jì)算出運(yùn)動(dòng)響應(yīng),從而總結(jié)出運(yùn)動(dòng)規(guī)律:船舶質(zhì)量越大,搖擺周期就越長(zhǎng),振幅則減小;航速相同、遭遇角相同條件下,有義波高越高,作用在船舶上的海浪橫搖力矩越大;相同有義波高、相同遭遇角條件下,作用在實(shí)船上的海浪橫搖力矩與航速成反比;有義波高和航速都相同,遭遇角小于90°的情況下,實(shí)船上的波浪橫搖力矩與遭遇角成正比,遭遇角大于90°時(shí)成反比,90°遭遇角時(shí)最大。
3)預(yù)防船舶傾覆事故是一項(xiàng)安全管理的系統(tǒng)工程,應(yīng)對(duì)“人、機(jī)、環(huán)境、管理”各要素采取本質(zhì)化的安全措施。為減少傾覆危險(xiǎn)事故的發(fā)生,預(yù)先研究實(shí)船運(yùn)動(dòng)的情況顯得十分重要。
利用Matlab和VB的混合編程,使所收集到的數(shù)據(jù)更快速、直觀、形象地反映出了實(shí)船運(yùn)動(dòng)的特性,便于更快捷、準(zhǔn)確地對(duì)運(yùn)動(dòng)特性進(jìn)行分析;此程序在運(yùn)行時(shí)由于未脫離Matlab運(yùn)行環(huán)境,這樣會(huì)占用內(nèi)存,從而對(duì)程序的執(zhí)行速度有一定的影響。另外,本文模型是簡(jiǎn)化模型,可以借用成熟的應(yīng)用軟件,如3DMAX,3DSTUDIO等,與OPENGL結(jié)合建立更為精細(xì)的實(shí)船模型。