萬柳梅 耿建寧 姚帥 榮凱 胡文妹
(中船航??萍加邢挢熑喂?北京市 100070)
近年來,隨著計算機技術的迅速發(fā)展,國內(nèi)外船舶駕駛模擬器供應商一直以高度熱情投入研發(fā),船舶駕駛模擬器功能從簡單到復雜、從單一到綜合, “物理真實感”、“行為真實感”、“環(huán)境真實感”都逐步提高,模擬器在船舶駕駛員培訓中發(fā)揮的作用日益增大。
船舶靠離碼頭一直是船員駕駛培訓的重點項目之一,但相較于自由航行狀態(tài)下的船舶六自由度仿真計算精度較高,靠離碼頭過程中船與岸碰撞的過程仿真計算效果則不盡人意,主要表現(xiàn)在兩方面:定性方面是當前船舶駕駛模擬器對船岸碰撞的處理算法問題,定量方面船靠離碼頭缺少相應的實船試驗數(shù)據(jù)。根據(jù)武漢理工大學關于《內(nèi)河船舶駕駛模擬器性能及訓練標準研究報告(修改稿V8.2)》調(diào)研結果顯示,在早期版本的模擬器上,碰撞岸壁后模擬器系統(tǒng)甚至會出現(xiàn)“死機”現(xiàn)象,近年來包括瓦錫蘭船商、康斯伯格、大連海事大學等各家單位研發(fā)的船舶駕駛模擬器新版本雖然已解決了這一問題,但整體仿真效果距離“逼真的靠離碼頭”要求還有差距。
船舶駕駛模擬器中表現(xiàn)船舶靠離泊過程中與碼頭的碰撞計算主要包含碰撞力、碰撞法線、碰撞后的運動解算三大塊核心內(nèi)容。
當前船舶碰撞力的計算方法主要包括經(jīng)驗公式與數(shù)值模擬計算兩大類,數(shù)值計算方法不能滿足船舶駕駛模擬器中實時計算的需求,故取經(jīng)驗公式計算船舶碰撞碼頭力。國內(nèi)外關于船舶碰撞力的經(jīng)驗公式有很多,包括Woisin 公式、AASHTO 公式、國際橋梁和結構工程協(xié)會推薦的索爾-諾特-格林納(Sau-Svensson-Knott-Greiner)公式,歐洲規(guī)范公式(Eurocode)、我國鐵路橋涵設計基本規(guī)范公式等[1]。根據(jù)前人的研究,這些經(jīng)驗公式的計算結果在模擬器中計算船靠碼頭時不能解決船舶碰撞點、碰撞法向確定的問題。
這里筆者提出采用基于多邊形求交的方法,結合與形變相關的碰撞力經(jīng)驗公式來解算船舶碰撞岸壁運動,從定性的角度增加船舶靠離碼頭的仿真精度,提高船舶駕駛員靠離碼頭的培訓效果。
如圖1,X0O0Y0為空間固定坐標系,X0指向正北,xoy 為隨船運動坐標系。Ψ 為船首與正北方向夾角,α 為碼頭方向。C 為碰撞點,F(xiàn) 為碼頭對船產(chǎn)生的法向作用力(注:本文重點是提出多邊形求交算法在船舶碰撞計算中的應用,忽略碰撞時的切向作用力,實際計算時不可忽略)。碰撞點C 相對船中心點o 的位移分量為xc,yc。
因為將船與岸壁的碰撞簡化為二維平面關系,計算船舶碰撞力時只考慮碰撞對船舶三個自由度運動的影響,即縱蕩、橫蕩、艏搖。該三自由度的船舶運動MMG 模型如下[2]:
圖1:船碰碼頭計算坐標系
其中,m、mx、my、Izz、Jzz分別為船舶質量、附加質量和附加慣性矩;XH、YH、NH為船舶水動力與水動力矩;…表示船舶收到的如螺旋槳、舵、錨、纜、拖船、風、浪、流等各種外界力與力矩;XCollision、YCollision、NCollision分別為碰撞時碼頭對船舶產(chǎn)生的力及力矩。船與碼頭碰撞時產(chǎn)生的法向力F 采用國際橋梁和結構工程協(xié)會(IABSE)推薦的經(jīng)驗公式[1]:
其中:F(MN)為船舶碰撞力;V(m/s)為船只撞擊速度;Dact(t)為船撞擊時排水量;Dmax(t)為船滿載時排水量。則碰撞后碼頭對船舶產(chǎn)生的力和力矩為:
考慮到仿真時船舶不會像真實船出現(xiàn)毀傷現(xiàn)象,特設定船舶碰撞碼頭后的反彈與碰墊的彈性形變δ 相關,當δ>0.6m 時,認為船舶出現(xiàn)毀傷,卡在岸壁中。
因此要想得到碼頭對船作用力XCollision、YCollision、NCollision,重點在于檢測碰撞點位置xc,yc以及船舶碰墊發(fā)生的形變δ。這里采用多邊形求交的算法判斷船與碼頭的位置關系。
圖2:DE-9IM 模型
圖3:船與岸壁的空間關系
目前國內(nèi)外不少研究人員對多邊形求交問題提出了很多解決方法,本文采取調(diào)用GEOS(幾何引擎)開源庫中的函數(shù)來求取多邊形交集[4]。
GEOS 是C++開源庫,擁有強大的空間操作和空間判斷函數(shù),基于DE-9IM(九交模型)來判斷空間關系。
根據(jù)前人總結,任意兩個幾何圖形空間關系均可用DE-9IM,即九交集模型來進行描述。DE-9IM,全稱是Dimensionally Extended nine-Intersection Model,是一種拓撲模型,它的思想是將每個幾何圖形分成三部分:外部(exterior)、邊界(boundary)和內(nèi)部(iterior)。兩個圖形的關系判斷,實際上就是三個部分的分別判斷,因此會有3*3 個交叉矩陣,這個矩陣就是DE-9IM 模型,如圖2。
圖4:船舶與碼頭碰撞檢測流程
其中,a 和b 分別代表兩個面,I,B,E 分別代表它的三個部分。dim()函數(shù)表示相交部分的維度。如果相交部分是一個面,則為二維,即dim()=2;若相交部分是一條線,則為一維,dim()=1;若相交部分為幾個點,則為0 維度,dim()=0;若不相交,則dim()=-1。上圖無不相交情況。
DE-9IM 模型適用于任何空間幾何圖形的空間關系判斷,包括點、線、面[5]。
表1:某型船主尺度
GEOS 一個重要的應用是計算幾何圖形之間的空間關系,它提供了多種多樣的用于處理空間關系的辦法,包括相等(Equals)、脫節(jié)(Disjoint)、相交(Intersects)、接觸(Touches)、交叉(Crosses)、內(nèi)含(Within)、包含(Contains)、重疊(Overlaps),還提供了空間分析的多種接口,如緩沖區(qū)分析(Buffer)、凸包分析(ConvexHull)、交叉分析(Intersection)、聯(lián)合分析(Union)、差異分析(Difference)、對稱差異分析(SymDifference)、距離(Distance)。
將船的碰撞模型簡化為二維平面,碼頭的局部碰撞模型簡化為與船共面的多邊形,則船與船、船與岸之間的空間關系主要有兩種:碰撞(dim()=0,1)與未碰撞(dim()=-1)。如圖3所示。
檢測船舶與碼頭碰撞的流程及相關函數(shù)算法見圖4:
(1)將船舶與碼頭的碰撞模型分別擬合為多邊形Ship()、Dock();
(2)使用GEOS 庫中intersection()函數(shù)對Ship()、Dock()求交,判斷交點個數(shù),若交點個數(shù)為0 或1,則形變δ 為0,碰撞長度l 為0,若交點個數(shù)大于1,則表示船岸碰撞,進入下一步;
(3)使用getCoordinates()函數(shù)獲取碰撞點P1(x1, y1)、P2(x2,y2),采用平均法求取碰撞中心點C(xc, yc),其中
(4)計算碰撞法線方向(y2-y1, x2-x1);
(5)延長碰撞法線,與船、碼頭相交區(qū)域的交點P3(x3, y3)、P4(x4, y4),計算碰撞彈性形變?nèi)籀?≤0.6,則進入下一步,若δ>0.6,船舶卡在岸壁中;
(6)代入到公式(3),即可得到碼頭對船舶的碰撞力與力矩XCollision、YCollision、NCollision。再對公式(1),采用4 階龍格-庫塔法,求解得到船碰撞后的運動速度及位移。
采用上述方法對某型船舶與碼頭碰撞效果進行驗證,該船部分主尺度參數(shù)見表1。
因碰撞過程時間短,假設碰撞時排水量不發(fā)生變化,即Dact=Dmax,對該船模碰撞模型及碼頭碰撞模型進行簡化,Ship()簡化為一個規(guī)則膠囊體,Dock()取一段直線段,分別計算了低速、中速、高速下船與碼頭的碰撞工況,計算結果見圖5,圖6,圖7。
圖5:V=0.5m/s
圖6:V=2m/s
圖7:V=3m/s
從圖中可以看出,在船速0.5m/s、2m/s 時船與碼頭發(fā)生碰撞,在碰墊彈性形變范圍內(nèi),船舶發(fā)生反彈運動,且航速越大碰撞反彈越明顯;船速為3m/s 時,船與碼頭碰撞后,碰墊形變過大(δ>0.6),超出回彈范圍,船舶卡在碼頭中,發(fā)生破損事故,能夠定性反映船舶靠離碼頭與碼頭之間的碰撞現(xiàn)象。
采用多邊形求交結合經(jīng)驗公式的方法對船舶碰撞碼頭運動進行仿真,在不同初始速度下均得到較好的計算結果,為船員靠離碼頭的訓練提供了逼真的訓練場景。該方法同樣適用于船與船之間的碰撞、拖船頂推等多物體接觸的訓練場景計算。
不足之處在于由于實船碰撞缺乏試驗數(shù)據(jù),碰撞力的經(jīng)驗公式精確度也有待驗證,無法進行更精確的定量對比,僅提供了定性的分析。
沿著該方法的思路,后續(xù)可開展三方面工作:
(1)增加船舶碰撞碼頭切向力的計算,對低速、小角度船舶靠離碼頭過程尤其重要。
(2)從船舶、碼頭碰撞模型立體化著手,即采用三維碰撞模型,產(chǎn)生六自由度的碰撞運動效果。