時光志,周毅,李萌,張海濤,王瑛
(中海油能源發(fā)展股份有限公司 采油服務分公司,天津 300452)
虛擬現(xiàn)實技術(virtual reality,VR)在船舶領域應用廣泛[1],其交互性、沉浸感和構想性的特性可以較好地解決傳統(tǒng)教學、訓練方法無法解決的問題。相比其他船舶,LNG船的駕駛及貨物裝卸難度較大,為提高船員對LNG船舶的整體認知及應對各種海況的能力,有必要開發(fā)LNG船舶航行仿真系統(tǒng)。近幾年,國內(nèi)在虛擬船舶仿真領域的研究較多,主要集中在船舶運動數(shù)學模型開發(fā)、航行環(huán)境模擬等[3-5]。缺少對船舶主體和相關設備的仿真研究,也沒有將海上航行環(huán)境、船舶運動數(shù)學模型、船舶三維模型等有機結合起來。根據(jù)LNG船舶的實際航行情況,考慮圍繞三維船體和虛擬航行環(huán)境,開發(fā)基于虛擬現(xiàn)實的LNG船舶仿真系統(tǒng),以達到降低學習、訓練成本和風險,提高對LNG船舶整體認知的目的。
LNG船舶仿真系統(tǒng)是一個人機交互平臺,利用最新的虛擬現(xiàn)實理論,通過剛體、流體建模及航行環(huán)境模擬等基于物理的復雜場景動態(tài)演化技術實現(xiàn)高沉浸感、高可信度的虛擬仿真系統(tǒng)。仿真系統(tǒng)的總體架構見圖1。

圖1 仿真系統(tǒng)總體架構
考慮到船舶自身的運動問題和海面與船舶的相對運動問題[6],采用固定坐標系和運動坐標系相結合,船舶運動的描述更符合實際航行情況。如圖2所示,為了簡化方程,將運動坐標系固定在船體上,該坐標系隨船體做多個方向的軸向運動。船舶在海平面理想狀態(tài)下的運動是沿著3個坐標軸的運動,在3個軸向上的速度向量分別表示為VGx,VGy,VGz,重心速度則用VG表示,3個方向的坐標向量因航行環(huán)境的影響,還會進行一定的旋轉運動,因此船舶航行運動是一個6自由度運動。

圖2 船舶運動坐標系
在建立運動模型前,需要對船舶運動過程中的兩個坐標系進行轉換[7]。完成船舶運動坐標系和固定坐標系的轉換后,為了系統(tǒng)數(shù)學建模的方便,假設船舶是一個強度足夠大的剛體,且運動環(huán)境為微幅規(guī)則波,海水運動時產(chǎn)生的動力頻率與船體的振動頻率無關。基于以上假設,得到船舶在海面上運動的運數(shù)學模型。
模擬船舶航行環(huán)境時,海洋約占整個場景的一半?yún)^(qū)域,其模擬效果好壞直接關系系統(tǒng)運行的環(huán)境真實感。對海水等流體建模時,考慮到水體作為一種流體,具有不可壓縮性,采用WCSPH(weakly compressible smoothed particle hydrodynamics)方法實現(xiàn)流體的建模。在屏幕空間能夠高效率的繪制粒子,但在屏幕空間進行繪制的同時也會帶來流體表面凹凸不平的問題[8]。針對此問題,利用三維拉普拉斯平滑處理對應位置上的流體粒子[4],使粒子分布更加緊密,解決粒子排布不規(guī)律的問題。流體建模效果見圖3。

圖3 流體建模效果
船上有錨鏈、纜繩等柔性物體,針對柔性物體的模擬,比較常見的方法有質(zhì)點-彈簧模型、PBD、ASM等。考慮到船舶系泊過程中纜繩的特點,采用PBD方法進行模擬。PBD方法可以直接控制對柔性體粒子的位置,具有簡單快捷、高效性、可控性等優(yōu)點[9]。PBD方法的原理是通過對約束條件進行控制,從而改變?nèi)嵝泽w中粒子的位置[10]。
根據(jù)纜繩的特點,在采用PBD方法的過程中主要考慮距離約束和彎曲約束。距離約束是指纜繩粒子在經(jīng)過積分計算后,粒子之間的距離會變化,此時約束移動粒子的位置,讓粒子之間保持1個確定的距離d。彎曲約束則是讓3個不在1條直線的相鄰粒子趨向1條直線,用以實現(xiàn)實際情況下纜繩的高抗彎曲度和低拉伸度的效果。
假設p按照某運動控制方程移動,且將每個約束函數(shù)單獨線性化,基于非線性Gauss-Seidel迭代求解約束方程,△p按照與原方向垂直的梯度方向▽pC(p)移動,因此令:
△p=λ▽pC(p)
式中:λ為拉格朗日乘子。之后求解由單個約束給出的非線性方程的常規(guī)迭代步長。從而得到單個粒子i約束后的位移向量。
△pi=-s▽piC(p1,…,pN)
式中,對約束C作用范圍內(nèi)的粒子,s的值都是恒定的。求出△p后,當前位置更新為p←p+△p。通過在新的位置評估▽pC(p)和C(p),然后重復該過程。
三維船舶建模主要建立LNG船舶整體和各典型區(qū)域的三維模型,主要工作分為2部分:一是建立船舶主體、上層建筑、駕駛室、儀器儀表、甲板設備等船舶駕駛部分的三維模型;二是建立LNG船舶貨物系統(tǒng)、動系統(tǒng)等船舶輪機部分的三維模型,實現(xiàn)LNG船舶貨物系統(tǒng)和動力系統(tǒng)的高精度仿真與運行模擬。而針對于船舶上每一個設備的建模包含兩個方面:形狀和外觀[11]。對設備形狀的建模主要通過點、線、面等來確定,物體的外觀則由表面紋理、顏色、光照系數(shù)等來確定。
使用多邊形建模方法對船舶進行建模,主要的工具是3D Studio Max,具體建模過程見圖4。建模過程中,首先在3D Studio Max中對模型進行烘焙、渲染得到模型的UV,提取出模型的UV圖,繪制出相應的紋理,然后保存帶有貼圖的圖片。將所有烘焙貼圖繪制好后,在3D Studio Max中,將貼圖重新賦給模型,查看效果再進行進一步修改完善,從而達到最佳效果。LNG船舶建模效果見圖5。

圖4 三維建模流程

圖5 LNG船舶三維模型
為了模擬高可信度的船舶航行環(huán)境,基于前述流體建模技術,通過屏幕空間流體繪制來實現(xiàn)海洋場景的模擬,具體過程見圖6。

圖6 屏幕空間海洋場景模擬流程
在渲染海水的過程中,首先要獲得距離觀察者位置最近的流體自由表面,記錄下每個像素點到眼睛的距離,即為深度值;其次,對這些深度值構成的深度紋理圖進行雙邊濾波,得到過濾后的深度紋理;再次,將過濾后的深度紋理作為輸入值,根據(jù)平滑后的深度圖計算視點空間的位置和法向量,同時結合背景紋理和厚度紋理,進行光照計算并對流體進行著色,得到流體紋理;最后,將流體紋理和泡沫紋理作為輸入值,并在一個幀緩沖對象中渲染,得到最終的流體渲染效果見圖7,海水與船舶的相互作用效果見圖8。

圖7 流體的渲染效果

圖8 海水與船舶的相互作用
為了逼真展現(xiàn)船舶的海上航行環(huán)境,要求虛擬場景中的物體建模應更加精細,同時三維場景的實時繪制要更加高效。考慮到兩者之間的平衡,需要對場景做一定的處理,在不影響視景效果的前期下,提高場景繪制的效率。
3.3.1 模型結構優(yōu)化
模型結構的優(yōu)化是指對場景模型采用空間組織和邏輯組織相結合的結構,這樣既方便場景庫的編輯和維護,又可以保證整個場景的繪制效率。如圖9碼頭場景先根據(jù)模型所在位置將其安排到Area1、Area2、Area3和Area4 4個節(jié)點中,對每一個Arean,再根據(jù)模型的邏輯意義組織數(shù)據(jù),例如,Area1節(jié)點下,樹和建筑物又被分成了Tree1和Buildings12個節(jié)點。

圖9 模型結構的優(yōu)化
3.3.2 LOD技術
LOD技術主要根據(jù)模型的距離和重要程度來劃分在場景中的顯示層級。根據(jù)視點的遠近,將模型顯示為一個細節(jié)層次不同的狀態(tài),其模型的分辨率和精細度隨著漫游視點而改變。船舶場景中基本上每一個模型都采用了LOD技術,這樣場景既能提供足夠的細節(jié),又能保持相對快速和穩(wěn)定的顯示。但在場景庫中應注意LOD的結構。圖10為一采用LOD的模型,model1、model2、model3、model4為模型的各級LOD,系統(tǒng)根據(jù)LOD的切入(Switch in)/切出(Switch out)距離選擇不同的等級。圖10a)為平層LOD結構,此時系統(tǒng)必須檢查每個LOD節(jié)點以判斷其是否顯示,效率較低。圖10b)為嵌套LOD結構,系統(tǒng)對此結構進行如下判斷:根據(jù)視點和模型的距離選擇顯示l1或l2(或什么都不顯示);如果l1切入,系統(tǒng)選擇顯示l3或l4,如果l2切入,系統(tǒng)選擇顯示l5或l6;如果l1或l2切出,它的后代直接剔除。LOD采用嵌套結構,場景可以更加快速的剔除不在顯示距離內(nèi)的LOD,有效提高系統(tǒng)的運行效率。

圖10 LOD的結構
采用上述場景優(yōu)化技術實現(xiàn)的“301”船舶停靠碼頭時的模擬效果見圖11,場景多邊形數(shù)量在2 000萬以上,繪制速度不低于35幅/s。

圖11 場景優(yōu)化效果
本文以“海洋石油301”LNG船舶為母型船,將海上航行環(huán)境、船舶運動數(shù)學模型、船舶三維模型等有機結合起來,研發(fā)了基于虛擬現(xiàn)實技術的LNG船舶航行仿真系統(tǒng),達到降低學習、訓練成本和風險,提高對LNG船舶整體認知的目的。
在后續(xù)研究中,將對系統(tǒng)運行效率、惡劣海況模擬等做進一步研究,使其成為LNG船舶仿真研究的科研平臺。