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