謝 宇,何坤金,陳義仁,王江坤
(1. 河海大學物聯網工程學院,江蘇常州 213022;2. 河海大學疏浚技術教育部工程研究中心,江蘇常州 213022)
近年來,我國的水利工程建設逐漸成熟,國家對于近海清淤問題越來越重視。疏浚船在水利工程建設中有重要的作用,其中以絞吸式挖泥疏浚船的應用最為廣泛,鉸吸式挖泥船的工作效率高,適應的范圍廣,但由于疏浚過程的繁瑣,疏浚作業環境復雜多變,為疏浚船的工作人員培訓和工程的預測帶來了不便。
以絞吸式挖泥船為代表的疏浚船,船身由船體、定樁、鉸刀及吸排泥管[1]等組成,如圖1所示,其工作時,通過主副樁固定船身以及驅動船身移動,前端的鉸刀旋轉進行挖掘工作,經過吸排泥管將鉸刀切削的碎片輸送至排泥區,完成整個疏浚的工作過程。

圖1 船體結構
水下的地形,信息復雜,分析難度大,通過提前進行地形數據勘測,生成水下地形的模型,可以在作業前期對整個工作流程進行預估,減少實際施工的準備時間。王娟,季磊等人[2]通過C#編寫CAD,以Delaunay三角網為理論基礎生成了三維地形。何坤金等人[3]提出了三維地形與疏浚鉸刀虛擬生成的方法,采用數據分塊與網格表示三維地形,并建立了鉸刀的三維模型及包圍盒,提出的方法能夠滿足疏浚的要求。
疏浚船的核心作業部分是位于前方的鉸刀頭,傳統培訓工作在疏浚船上進行,船員無法對鉸刀的工作情景有一個直觀的感受,通過虛擬仿真技術對絞吸挖泥過程進行模擬,對水下地形在絞吸過程的變化進行模擬,降低培訓的時間成本和消除潛在的安全的隱患。楊嘯軼[4]對鉸刀進行了有限元分析,計算并驗證鉸刀切削過程中的載荷情況及模態。蘇召斌[5]等人對挖泥船挖巖過程進行了數值模擬,提出了切層厚度及步進距離的數學表示方法。
國外對于疏浚船仿真系統的研究起步較早,荷蘭美國[6]設計的仿真系統,已應用于培訓。國內對于此類仿真系統,倪福生等人[7]在絞吸挖泥船疏浚仿真研究一文中提出了采用多通道環幕投影的仿真系統以增強系統的臨場感。基于Unity3D技術,姚鵬飛等人[8]針對切削流程,著重于解決挖泥船的鉸刀切削的地形變化,以及使用虛擬現實技術進行操作系統的問題。
本文設計了一種基于Unity3D的疏浚船作業仿真系統,通過生成水下地形,疏浚船作業細節仿真,鉸刀地形交互三個方面,對整個系統進行設計,旨在彌補傳統疏浚船培訓的不足,提高疏浚船作業流程的效率。
基于Unity3D的疏浚作業船作業仿真系統主要從以下三個方面來設計:地形生成模塊、船體交互模塊、鉸刀挖掘模塊,如圖2所示。

圖2 整體框架
根據組織框架,系統由三大模塊組成,其中重點為地形生成模塊以及鉸刀切削模塊。首先,在地形生成模塊中,利用已有的數據進行插值處理,生成高程圖,利用網格生成地形模型。其次,船體模型采用3ds Max建模軟件,以“天獅號”疏浚船為模板,對疏浚船進行了建模。系統中設計了船體和船員兩種不同的漫游視角,可自定義選取施工區域,可交互控制,同時加入了駕駛艙的設計,設置了多角度的觀察視角。最后,在鉸刀切削模塊中,通過簡化模型,添加包圍盒,細化地形網格,層次細節(LevelofDetail,LOD)技術[9],曲面細分技術等方法,對鉸刀與地形的交互變形進行了仿真,便于船員的觀察。
水下地形信息復雜,是影響疏浚作業工作效率的主要因素之一,通過在系統中生成水下地形,可以在作業前對整個作業環境做出評估,規避障礙,提升作業效率,降低作業風險。該模塊對水下地形從數據獲取到可視化的整個處理過程進行了設計[10],提出在勘測過地形數據的區域,采用灰度值替代高程值的方法進行地形網格的生成。
地形數據是一組地理數據,包含位置信息和對應位置的高程值[11],其數據格式如表1所示。

表1 輸入數據
對已知數據的水下地形,生成地形的步驟總結如下:
1)將數據進行插值處理,進行數據補足,便于網格細節的生成;
2)對原始數據進行灰度值歸一化,將原有的高程值對應到灰度值中,見式(1)

(1)
其中H表示高程數據,Hmin表示高程數據中的最小值,Hmax表示高程數據中的最大值。
3)將處理好的數據進行灰度化處理,得到整個數據的等高線圖及地形的灰度圖。如圖3所示。

圖3 等高線圖及灰度圖
4)將灰度圖導入到Unity3D中進行網格生成,利用灰度圖生成地形的主要原理是通過網格表示地形[12],同時在網格上覆上灰度格中頂點的位置,黑色像素所對應的灰度值為0,代表海拔最低的位置,白色像素多對應的灰度值為255,代表海拔最高的地方。由此生成的網格地形如圖4所示。左圖中為數據點對應的位置,右圖中為生成的網格模型。

圖4 點云轉化網格模型
由初始數據生成的地形,點的間距較大,生成的地形模型網格變化不連續,地形生成的效果較差,通過插值方法,將數據進行填充,得到填充后的數據灰度圖后進行建模,如圖5所示(圖(a)為原數據建模,圖(b)為采用最近鄰插值法后建模,圖(c)為薄板樣條插值法后建模),通過對比可以發現填充后的數據,較原數據組更具有連續性,可以很好的將地形模型進行優化,原數據生成的模型的邊緣尖銳問題,得到了很好的解決。

圖5 地形建模
本文選擇兩種插值方法:最近鄰插值法和薄板樣條插值法,通過交叉驗證進行對比,如圖6(圖(a)為最近鄰法插值擬合結果,圖(b)為薄板樣條法插值擬合結果),薄板樣條插值法得出的插值高程與實際高程的擬合度更大,且比較穩定,所有點都集中在正交直線上,薄板樣條插值[13]方法的擬合性能更好,數據在擬合曲線的兩側的分布更均勻,因此本文選擇薄板樣條插值方法進行插值,得到的地形插值數據與實際情況更為接近,穩定性更好。

圖6 擬合數據對比
疏浚船的模型結構非常復雜,組成部件眾多,忽略螺絲等較小的模型外,還有四百多個組成部件,若每次在船體運動時,都需要渲染整艘船體模型,不僅工作繁瑣,而且效率低下。而建立船體模型的目錄樹可以支持船體模型在運動渲染時,有針對性的進行選擇渲染,提高模型的加載速度。建立的目錄樹模型層次結構取決于船體模型的層次關系。第一層是根節點,即完整的船體模型,第二層是對根節點的第一次劃分,包括船體的主要組成部分,第三層是對上一層的主要組成部分進行繼續劃分;逐層往下,每層部件的所有孩子節點組合構成。
目錄樹的建立過程:首先,父節點建立成功后可以得到該父節點的句柄;然后,孩子節點尋找到它的父節點句柄后作為孩子節點加入父節點,即可建立父子關系。所以,目錄樹是按照層次順序建立的。如圖7所示。

圖7 船體目錄樹
疏浚船的主要運動部件組成部分如圖8所示。在該模塊中添加了多端漫游系統,設置了兩個不同的對象進行漫游,如圖9,(a)是疏浚船的漫游,(b)為船員的漫游,以用戶交互的方式切換控制對象。

圖8 船體組成

圖9 雙視角漫游
此模塊針對疏浚船的主要運動部件,在船舶內設置了多個漫游交互點,船員在進行漫游時可與之交互,顯示相關設施的信息[14],提供船員進行理解,如圖10(a)顯示的為船體不同位置的駕駛艙觀察視角,圖10(b)為特定位置顯示的部件信息。

圖10 駕駛艙控制鉸刀模型
駕駛艙中設計了主要的運動部件控制系統,以實現一端多控的功能,可以同時觀察船體各部分的實時狀態,船員在駕駛艙內即可進行相應的視角觀察,因此,需要對主要工作部件建立相應的運動模型。疏浚船到達工作區域后,采用主輔樁定位橫挖施工法進行疏浚施工,將挖槽中心線上的主副樁作為船體的旋轉中心,依靠橫移的作用使鉸刀在挖槽寬度內做左右橫向往返擺動,使鉸刀分層切削開挖斷面土層,通過臺車控制主輔樁的移動,改變船體旋轉中心,調整左右橫移絞車收放橫移線纜的速度,改變鉸刀的移動速度及鉸刀在斷面上不同的切削位置。通過橋臂中置的泥漿泵吸入絞吸物,經排泥管線把泥水混合物輸送到指定的吹填區。不同的收纜速度決定了船舶橫移的速度,其速度關系式2如下

(2)
其中Vh表示疏浚船的橫移速度,Vz表示收纜速度,其它符號如圖11所示。

圖11 鉸刀臂運動
疏浚船的核心工作是鉸刀組和橋臂的運動,所以鉸刀切削模擬的效果至關重要[15]。在不同的地形上進行切削,鉸刀和地形的交互變化是核心部分。為了更好的模擬出鉸刀切削的效果,通過簡化鉸刀模型,網格和貼圖變形結合的方式來提高仿真的效果。
鉸刀頭的主體由大環、刀臂、刀齒、輪轂組成,如圖12左圖所示。鉸刀工作時,挖泥船繞主樁旋轉,鉸刀頭也隨之旋轉,由于鉸刀頭距離主樁距離較遠[16],疏浚船轉動角度有限,鉸刀頭繞主樁的轉動可以近似看成橫移運動,鉸刀頭按一定的轉速旋轉,刀齒依次切削泥土,刀齒固定在刀臂上,刀臂旋轉使得泥土聚集到內部的吸泥口,在仿真模擬時可以將鉸刀刀臂上的刀齒進行簡化,以降低計算機的運算消耗,提高運行速率。通過在3dsMax中對鉸刀進行簡化,去掉鉸刀刀臂上的刀齒,只保留刀臂、大環和輪轂,如圖12右圖所示[15]。

圖12 鉸刀組成及簡化模型
不同的地形土質需要配對不同類型的鉸刀,鉸刀,鉸刀的結構形狀可以通過相應的參數進行控制。如圖13鉸刀的結構圖所示,刀臂輪廓1所示的鉸刀內腔較大,適合挖掘土質較軟的土壤,刀臂輪廓線2所示的鉸刀適合挖掘土質中等的土壤,刀臂輪廓線3所示的鉸刀適合挖掘土質堅硬的碎石土和巖石等。

圖13 鉸刀結構
鉸刀的結構及參數如圖14,15所示,根據公式(3)可以確定鉸刀的數學模型,k1為鉸刀介質切削系數,k2為鉸刀形狀參數,它們的取值由土質的力學性質來確定,土質越軟k的取值越小。

(3)

圖14 鉸刀平面

圖15 鉸刀軸面
使用簡化頂點面數的圓臺鉸刀包圍盒來提高碰撞檢測精度并減少碰撞檢測復雜度,提高計算的速度,如圖16所示。

圖16 鉸刀包圍盒
挖掘模塊中采取了網格變形和貼圖變形的形式來進行地形挖掘的仿真[17]。首先提取原始地形網格中的頂點位置,生成點云模型[18],將原始網格頂點的位置儲存在數組中,同時將每個頂點的速度也進行存儲,為了更好的仿真切削力,通過添加偏移量的方式來模擬網格頂點受到的力的方向。由于每個網格頂點受到力的大小方向不同,相應獲得的速度不同,網格的變形程度也不同。通過反平方定律來模擬里的衰減效果,本文中將原始力除以平方距離,即Fv=F/d2,為了在距離為零時,力處于全強度,將公式改為Fv=F/1+d2,將獲得的力轉化為速度,a=F/m,Δv=aΔt,由于網格頂點的質量為0,所以得到Δv=FΔt,同時重新計算頂點的法線方向。
實現步驟如下:
1)設置碰撞檢測的條件,通過在鉸刀模型的包圍盒上設置碰撞體,檢測與地形的碰撞。
2)遍歷點云集合,在三角面片相連的頂點處生成新的頂點來控制網格的變形。
3)根據定點獲得的力的方向和速度,改變網格頂點的坐標位置。
4)將改變的頂點位置應用到相應的頂點處,實現地形網格的變化,如圖17所示。
為了增加地形挖掘的顯示效果,同時在地形的下方放置兩個攝像機,一個攝像機在第一幀時刻記錄下地形的初始深度,另一個相機記錄下鉸刀實時下刀的深度,通過兩個攝像機得到的深度差值信息,計算鉸刀在運動時不同的位置信息。根據計算得到的深度值,進行輪廓檢測,同時記錄顏色,根據最后深度圖的不同,將地形分為不同的通道,通過細分曲面技術,將兩個通道的部分進行反方向移動頂點位置,形成鉸刀掃過后兩邊凸起的部分,如圖17所示,圖(a)和圖(b)為原地形模型和網格模型圖(c)和圖(d)為變形后的地形模型和網格模型。

圖17 網格變形
在利用插值生成的細化地形網格模型上使用曲面細分技術,使得地形與鉸刀進行交互時,可以更好的模擬出地形的變化過程,加入全局的小地圖總覽,可以根據挖掘的深度不同,顯示出挖掘過的地區不同的顯示效果,通過粒子效果的加入,還可以模仿水下地形受水流作用,挖掘的地形緩慢回填的效果,增強了仿真的效果,如圖18所示。

圖18 挖掘痕跡顯示
本文通過Unity3D設計了以鉸吸式挖泥船為代表的疏浚船虛擬仿真系統。該系統使用“天獅號”絞吸挖泥船為模板,在已勘測數據的地形區域通過插值算法,補充數據點,生成高精度的地形模型,為提高培訓的逼真性,加入了多對象切換漫游系統,同時加入一端多控的模塊;結合船舶橫移算法公式、鉸刀切削地形公式對鉸刀切削的過程進行了仿真,提出了仿真優化的兩種方案。該系統可以進一步提高疏浚仿真系統的逼真性,為疏浚船員的培訓提供便利,還可以對疏浚工程進行工程預測與評估,提高了疏浚作業過程的安全性,降低了作業時的不確定性。此外,本文在后續的設計中還將加入船員權限系統,土壤產量的預估,以及對土壤切削過程的塌方等細節效果。