黃魯蒙,齊明俠,張彥廷,2,唐甫世
(1.中國石油大學(華東)機電工程學院,山東青島 266555;2.浙江大學流體傳動及控制國家重點實驗室,浙江杭州 310058)
高校石油鉆井作業實習受到教學資源、人身安全等方面的限制,嚴重影響了教學質量。進行鉆井可視化教學軟件的開發可以為鉆井行業提供規范化、科學化的培訓、教學手段,是虛擬實驗室教學的發展趨勢[1-3]。傳統的鉆井模擬器圖形開發采用3D MAX、MAYA 等工具進行,但畫面固定,不能根據外部的操作而實時變化[4]。虛擬現實技術具有實時交互、渲染的能力,可以在實驗室內營造一個逼真的鉆井現場環境。
VRML(虛擬現實建模語言)具有創建三維造型與場景的能力,并可嵌入JAVA、JavaScript等語言,實現復雜的人機交互,形成更為逼真的虛擬世界[5-7]。針對傳統教學方法的不足,提出一種新型鉆井可視化軟件開發方案,降低了開發及教學成本,提高了建模效率,尤其適合于機械設備復雜、裝配要求精度高的系統。
海洋鉆井可視化教學軟件主要采用了結構分析與建模(Solidworks)、虛擬現實運動仿真(VRML)、瀏覽器ActiveX 控件二次開發的技術流程。首先對各種鉆井設備進行結構分析與設計,利用三維軟件進行建模、裝配,并將3D 模型輸出到VRML 文件中,同時在程序詞法分析的基礎上,利用多種手段進行模型優化;其次利用VRML內部及外部節點實現系統動態設計;最后利用VB.net語言對VRML 瀏覽器控件進行二次開發。這樣不僅增強了整個系統的仿真和交互功能,并且界面更加簡潔,有利于用戶使用和學習,技術路線如圖1所示。

圖1 仿真軟件開發技術流程圖
Solidworks導出的VRML 文件雖然可以直接載入VRML器使用,但分析該文件的語法結構可以發現其中存在著一些無用節點、默認域值、空格以及過于精確的數據。因此有必要對其進行優化預處理,在盡量不影響其顯示質量的前提下,減少文件體積。采用的VRML文件優化方法包括:
(1)基于面片數的優化。在構造虛擬場景模型時,其構成的多邊形面片數越多,則曲面過渡越光滑,其真實感也就越強,但是一旦面片數過大,就造成虛擬場景實時渲染困難。所以創建模型時,在保證一定模型品質的情況下,盡可能地減少模型的面片數,以提高虛擬場景的實時渲染速度。
(2)基于節點復用的優化。在虛擬場景中經常有部分節點有著相同或相近的特點,比如石油鉆機中的立根,1個立根由完整的3個單根連接而成,它們的外形是完全相同的,僅有位置上的區別。可以使用DEF和USE對單根的模型進行節點復用。
(3)基于數據精度的優化。Solidworks導出的VRML文件中,頂點三維坐標數據的精度很高,精確到微米,因此在不影響視覺效果的前提下,進行精度修正。
(4)基于文件壓縮的優化。由于VRML 文件屬于純文本文件,其壓縮空間是相當大的。目前主流的VRML瀏覽器都支持直接瀏覽壓縮的VRML 文件,因此該方法是切實可行的。該方法屬于文件無損壓縮,只會減少文件的占用空間,但對于文件的載入、渲染速度沒有影響。
以鉆機大鉤的VRML 模型優化為例(如表1 所示),通過優化,文件體積是原文件的3.3%,面片數減少70%,而模型品質僅稍有下降,如圖2所示。

表1 大鉤VRML模型優化結果

圖2 大鉤文件優化效果對比
對半潛式深水鉆井平臺結構進行分析,以實際某型號深水鉆井平臺為參考,在Solidworks中,嚴格按照1∶1的比例建立平臺零部件,然后裝配出鉆井平臺系統模型(如圖3 所示)。海洋鉆井平臺總裝配體包括:半潛式鉆井平臺、鉆井起升系統、天車升沉補償系統、鉆桿自動排放系統、鉆井循環系統及其他平臺相關設備[8],該總裝配體共擁有零部件5 500余個。通過干涉檢查工具對鉆井平臺系統模型進行檢查,得出干涉率為0,符合建模要求。
此外,采用VRML 中Background(空間背景)節點、ElevationGrid(高程網格)節點來分別實現天空與海洋的仿真效果,并利用紋理貼圖與紋理變換模擬一個運動的大海。

圖3 半潛式深水鉆井平臺模型圖
鉆井運動建模。石油鉆機的運動部件如大鉤、游車、鉆桿等均可視為剛體,任何剛體運動都可以分為平動與轉動,或是平動與轉動的合成。因此對虛擬場景中運動對象的平動和轉動分別通過虛擬現實建模語言中自帶的Translation與Rotation 2個節點進行控制,從而實現鉆機的復雜運動[9-10]。此外,石油鉆機中還有2種特殊的運動部件:鋼絲繩運動與泥漿流動,這2種運動是需要解決的難題。
(1)鋼絲繩運動建模。鋼絲繩是彈性件,在拉升過程中其長度與方向會發生實時變化,為了實現鋼絲繩的特殊運動,設計了一個基于三維坐標系的Line原型節點,通過調用該節點并對起點坐標、終點坐標及鋼絲繩直徑賦值,即可實現六自由度鋼絲繩建模。其語法定義如下:

(2)泥漿流動建模。相對于剛體運動,流體的運動過程非常復雜。利用流體紋理的旋轉、平移、縮放來實現流體效果,結果證明該方法實現簡單、效果逼真。其語法定義如下:

按照以上方法,完成了鉆井系統的靜態與動態建模(如圖4所示)。

圖4 鋼絲繩、鉆井泥漿、鉆井系統模型圖
海洋鉆井教學仿真系統是一個擁有大型場景和復雜交互能力的虛擬現實系統。VRML 自帶的Script節點和VRMLScript、JavaScript腳本語言功能滿足不了較大系統設計的要求,因此必須借助其他編程語言。目前常用的有JSAI、EAI和瀏覽器ActiveX 控件2次開發等3種方案[11-12]。通過對比,第3種方案無論在交互能力、軟件界面,還是在開發環境、可移植性方面都具有較大的優勢。
所謂的瀏覽器控件二次開發就是在Visual Basic、Visual C++、Delphi 等可視化編程環境中導入VRML瀏覽器的相關控件,通過VB、VC 等語言編程實現控件與VRML 場景的交互,在此基礎進行選單(菜單)、圖形界面等部分的定制修改,開發出滿足自己需求的新軟件。因此,在 Windows XP SP3 系統VB2005開發環境中導入Blaxxun Contact瀏覽器的blaxxuncc3d.ocx控件,進行二次開發。在VB2005中通過blaxxun CC3D 特有的屬性、事件與方法來實現其與VRML場景的交互功能。一些常用的重要方法見表2。

表2 blaxxunCC3D組件部分常用方法
為了便于實現后續軟件的模塊化設計,海洋鉆井可視化教學軟件包括海洋平臺鉆井過程的鉆進、起鉆、下鉆、循環系統和升沉補償5個模塊,考慮了海洋平臺的震動與升沉補償作用,可以較好地演示深水鉆井平臺的相關鉆井過程和設備結構。圖5為軟件部分模塊截圖。

圖5 深水鉆井仿真軟件部分模塊圖
經驗數據表明:當運動畫面的幀率不低于15時,運行流暢,軟件運行計算機配置需求見表3。
硬件配置需求表

表3
(1)采用三維CAD 軟件加VRML的開發方法簡單、方便、技術難度小,大大增強了建模與轉換的效率,尤其適合于大型復雜機械場景的仿真。
(2)Solidworks導出的VRML文件必須經過優化才有實用價值,否則會造成顯示不連貫的現象。經過多種方法的優化,達到了理想的效果,文件體積是原文件的3.3%,面片數減少70%,而模型品質僅稍有下降。
(3)利用VB 語言數據處理和通信能力,以及VRML瀏覽器ActiveX 控件二次開發的方式實現了復雜運動數據的處理、軟件的編制。深水鉆井可視化教學軟件界面友好、安裝方便,三維場景的動態交互及靈活變化可以較好地演示深水鉆井平臺主要結構和鉆井作業相關過程,使學生或用戶對石油鉆機及其作業流程有一個整體、直觀的了解。
(
)
[1]張進海,潘麗華.淺談鉆井模擬器在行業培訓中的作用[J].鉆采工藝,2000,23(5):60-61.
[2]寧超,張世英,高巍然,等.網絡虛擬實驗的研究與開發[J].實驗技術與管理,2005,22(4):76-78.
[3]宋象軍.虛擬實驗室在高校實驗教學中的應用前景[J].實驗技術與管理,2005,22(1):35-37.
[4]王武禮,李瑞民,王延江.基于Virtools技術的鉆井三維場景動態仿真[J].科學技術與工程,2010,10(30):7554-7557.
[5]Hodgson R,Hassard P.Advanced drilling simulators offer realistic models to reduce crews learning curve[J].DRILLING CONTRACTOR,2006(8):23-25.
[6]李占利,孫秀英.RP 軟件中VRML模型的可視化研究[J].計算機工程與設計,2007,28(5):1185-1187.
[7]盧碧紅,徐軍,葛研軍.VRML圖形文件瀏覽器的開發[J].計算機輔助設計與圖形學學報,2004,16(8):1176-1178.
[8]孫松堯.鉆井機械[M].北京:高等教育出版社,2006:15-2.
[9]郭海新,周秋利.VRML 與Java交互技術在虛擬裝配中的應用[J].河北軟件職業技術學院學報,2007,9(3):60-62.
[10]那順.VRML原理及應用探討[J].內蒙古民族大學學報,2009,15(2):17-18.
[11]何圣華,袁清珂,曾挺潮.利用VRML及其EAI實現機械運動仿真與性能展示同步化[J].機電工程技術,2004,33(3):36-38.
[12]游萬里,姚涵珍.VRML虛擬現實中EAI的研究及應用[J].天津科技大學學報,2005,20(4):73-76.