陳玉山,郭 娜,余建生,郭 家,向良煒
(1.中海油能源發(fā)展股份有限公司工程技術(shù)分公司 天津 300452;2.中海石油(中國(guó))有限公司天津分公司 天津 300459)
隨著當(dāng)前計(jì)算機(jī)虛擬現(xiàn)實(shí)理論、技術(shù)與方法的進(jìn)步,海洋信息技術(shù)的三維可視化日益成為對(duì)海洋進(jìn)行全方位觀察、研究和探索的重要手段之一[1]。三維可視化技術(shù)以其直觀的展示優(yōu)勢(shì)在石油工業(yè)領(lǐng)域得到廣泛應(yīng)用[2]。目前,可視化技術(shù)主要是三維動(dòng)畫和虛擬現(xiàn)實(shí)的形式,主要用于結(jié)構(gòu)展示、技術(shù)原理呈現(xiàn)等,在工程計(jì)算領(lǐng)域應(yīng)用較少。
虛擬現(xiàn)實(shí)技術(shù)是一種可以創(chuàng)建和體驗(yàn)虛擬世界的計(jì)算機(jī)仿真系統(tǒng),它利用計(jì)算機(jī)生成一種模擬環(huán)境,是一種多源信息融合的交互式的三維動(dòng)態(tài)視景和實(shí)體行為的系統(tǒng)仿真,可使用戶沉浸到該環(huán)境中[3]。目前兩大主流引擎分別為 Unity 3D 和 Unreal Engine 4。
Unreal Engine 4(UE4)是由EPIC GAMES公司發(fā)布的新的虛擬現(xiàn)實(shí)制作引擎,是 UDK的后續(xù)版本,具有強(qiáng)勁的圖形處理能力,包括高級(jí)動(dòng)態(tài)光照、新的粒子系統(tǒng)等。UE4的特色是它的編程語言,Blue Print系統(tǒng)使用用戶可以拖拽封裝的 C++代碼來進(jìn)行可視化編程[4]。UE4提供了虛擬現(xiàn)實(shí)開發(fā)者需要的大量的核心技術(shù)、數(shù)據(jù)生成工具和基礎(chǔ)支持。UE4支持DirectX 11、物理引擎 PhysX、APEX 和 NVIDIA 3D技術(shù),能夠呈現(xiàn)出非常逼真的畫面。
隨著海上作業(yè)量的大幅增加,對(duì)鉆完井時(shí)效的要求也越來越高,鉆完井后開發(fā)項(xiàng)目通過采用2個(gè)鉆井船同時(shí)作業(yè)的方式來提效,俗稱“對(duì)打”。雙船對(duì)打作業(yè)雖提高了鉆井效率,同時(shí)也面臨很多問題[5-6]??紤]到雙船對(duì)打作業(yè)當(dāng)中 2個(gè)鉆井船的懸臂梁之間的干涉問題,在原有作業(yè)順序基礎(chǔ)上需要根據(jù)現(xiàn)場(chǎng)作業(yè)進(jìn)度、懸臂梁長(zhǎng)度、井位信息等數(shù)據(jù)實(shí)時(shí)進(jìn)行計(jì)算調(diào)整,以保證作業(yè)的順利進(jìn)行。圖1為某油田開發(fā)項(xiàng)目鉆完井對(duì)打示意。
圖1 某油田開發(fā)項(xiàng)目鉆完井對(duì)打示意圖Fig.1 Schematic diagram of drilling and completion of an oilfield development project
按照鉆完井施工順序?qū)⒚靠诰淖鳂I(yè)時(shí)間細(xì)化分割,如移井架、組合鉆具、一開鉆進(jìn)作業(yè)等;精細(xì)化控制作業(yè)時(shí)間,以小時(shí)為單位設(shè)置作業(yè)時(shí)長(zhǎng),做到每口井實(shí)時(shí)更新輸入。因此,形成了已作業(yè)部分使用實(shí)際時(shí)間數(shù)據(jù),未作業(yè)部分使用設(shè)計(jì)時(shí)間來計(jì)算的方法進(jìn)行整體工期自動(dòng)計(jì)算排序,做到了作業(yè)順序的精細(xì)化控制。表1為雙船對(duì)打工序及設(shè)計(jì)時(shí)間。
表1 雙船對(duì)打工序及設(shè)計(jì)時(shí)間Tab.1 Process and design time of two-vessel drilling operation
以鉆完井設(shè)計(jì)作業(yè)計(jì)劃為基準(zhǔn),根據(jù)井場(chǎng)作業(yè)進(jìn)度的變化實(shí)時(shí)更新作業(yè)數(shù)據(jù)。按 1天 24h計(jì)算每個(gè)小時(shí)的 2個(gè)懸臂梁間距(a+b),并與設(shè)定的安全距離進(jìn)行比較,一旦小于安全距離,系統(tǒng)會(huì)提示有風(fēng)險(xiǎn),并自動(dòng)調(diào)整作業(yè)順序和導(dǎo)出最新作業(yè)順序。圖2為安全距離計(jì)算示意圖,圖3為時(shí)間切割計(jì)算示意圖。
圖2 安全距離計(jì)算示意圖Fig.2 Schematic diagram of safety distance calculation
圖3 時(shí)間切割計(jì)算示意圖Fig.3 Schematic diagram of time cutting calculation
根據(jù)系統(tǒng)計(jì)算的特點(diǎn),利用 UE4在可視化展示方面獨(dú)特的優(yōu)勢(shì)設(shè)計(jì)系統(tǒng)架構(gòu)如圖4所示。
圖4 海洋鉆井井噴失控應(yīng)急工程技術(shù)方案Fig.4 Technical scheme of offshore drilling blowout outof-control emergency engineering
UE4本身的模型構(gòu)建系統(tǒng)不夠精細(xì),構(gòu)建一個(gè)場(chǎng)景時(shí)不能依靠自身建模系統(tǒng)。本次系統(tǒng)構(gòu)建根據(jù)現(xiàn)場(chǎng)提供的圖紙利用3ds Max(3D Studio Max,三維動(dòng)畫渲染和制作軟件)進(jìn)行場(chǎng)景搭建,主要包括海洋、鉆井船、導(dǎo)管架的三維建模,重點(diǎn)關(guān)注鉆井船樁腿高度、升船氣隙高度、懸臂梁長(zhǎng)寬高、隔水導(dǎo)管的分布排列等,其余部分的結(jié)構(gòu)不作為本次系統(tǒng)構(gòu)建的重點(diǎn),因而模型構(gòu)建不用太精細(xì)。模型建立完成后為所有模型賦予材質(zhì)和貼圖,使畫面變得更加逼真。圖5為3ds MAX場(chǎng)景建模。
圖5 3ds MAX場(chǎng)景建模Fig.5 3ds MAX scene modeling
將三維場(chǎng)景從 3ds MAX中導(dǎo)出為.FBX格式的文件,然后導(dǎo)入到UE4虛幻引擎中。在3ds MAX中的每組模型都必須以大寫英文字母開頭,取每個(gè)字的拼音首字母大寫,名稱只允許出現(xiàn)英文字母、下劃線“_”和阿拉伯?dāng)?shù)字,導(dǎo)出后.FBX格式的模型保存名稱為英文“SM 模型名分塊序號(hào) 制作人首字母.FBX”。
UE4中的藍(lán)圖(Blueprint)就是一個(gè)基于面向?qū)ο蟮?、采用?jié)點(diǎn)界面的可視化腳本系統(tǒng)。開發(fā)者只需在引擎編輯器中創(chuàng)建相關(guān)功能模塊結(jié)點(diǎn),并按照一定的邏輯連接各節(jié)點(diǎn),便能實(shí)施、實(shí)現(xiàn)各種行為和功能。這些節(jié)點(diǎn)包括每個(gè)實(shí)例的對(duì)象構(gòu)建、函數(shù)、事件和變量。本系統(tǒng)通過藍(lán)圖的可視化腳本集成計(jì)算功能進(jìn)行設(shè)計(jì)工期數(shù)據(jù)的原始數(shù)據(jù)讀取,并人工輸入實(shí)際工期數(shù)據(jù)。通過設(shè)計(jì)工期和實(shí)際工期的對(duì)比更新,系統(tǒng)會(huì)進(jìn)行工期計(jì)算,識(shí)別出碰撞風(fēng)險(xiǎn),然后進(jìn)行工期進(jìn)度的重新排序。
因系統(tǒng)分為二維模擬仿真和三維模擬仿真 2種展示方法,運(yùn)動(dòng)的部分主要是為2個(gè)鉆井平臺(tái)的懸臂梁和所攜帶的鉆具,懸臂梁的運(yùn)動(dòng)軌跡需要與計(jì)算的作業(yè)順序一致,并隨著作業(yè)順序的調(diào)整而不斷更新。因此,懸臂梁需單獨(dú)拿出來通過腳本設(shè)計(jì)與數(shù)據(jù)對(duì)接,這也是本項(xiàng)目的難點(diǎn)。
配合程序的多章節(jié)選擇和多角度相機(jī)制作了整套 UI系統(tǒng),操作人員可以通過 UI按鈕快速到達(dá)指定章節(jié)學(xué)習(xí),并可采用多角度相機(jī)切換。UI設(shè)計(jì)工作主要通過 Photoshop制作,具體分為 5個(gè)部分,即啟動(dòng)頁面、設(shè)置界面、工期輸入頁面、三維展示頁面、工程進(jìn)度表頁面。
程序包為單獨(dú)的文件夾,文件夾名字和文件內(nèi)部文件名字不能任意更改,原始程序?yàn)榫G色版本,通過拷貝即可供其他 Windows 64位操作系統(tǒng)的電腦使用。電腦配置達(dá)不到最低配置時(shí)運(yùn)行出錯(cuò)[7-8]?!癉rillingDecision”“Engine”文件夾為系統(tǒng)的主程序,“DrillingDecision.exe”為系統(tǒng)的啟動(dòng)文件,雙擊即可啟動(dòng)程序。圖6為啟動(dòng)程序文件夾。
圖6 啟動(dòng)程序文件夾Fig.6 Launcher folder
系統(tǒng)設(shè)置頁面是系統(tǒng)介紹、技術(shù)支持和系統(tǒng)參數(shù)的一些調(diào)節(jié),主要調(diào)節(jié)畫面顯示和屏幕分辨率。
在輸入界面的實(shí)際工期一欄中,根據(jù)作業(yè)工序輸入實(shí)際工期,然后點(diǎn)擊工期計(jì)算按鈕。計(jì)算完成后,最上面的滑動(dòng)軸可以拖動(dòng),以便查看某一天的進(jìn)度,并可以自動(dòng)播放和調(diào)整速率。在二維視圖中會(huì)有顏色高亮顯示作業(yè)順序和具體的作業(yè)名稱。
所有條件都設(shè)置好之后程序開始計(jì)算,得出最優(yōu)的排序和方案的總體工期,并進(jìn)行可視化展示。圖7為三維展示效果。
圖7 三維展示效果Fig.7 3D display effect
以施工設(shè)計(jì)作業(yè)時(shí)間為基準(zhǔn),根據(jù)井場(chǎng)作業(yè)進(jìn)度的變化實(shí)時(shí)更新數(shù)據(jù)。通過系統(tǒng)統(tǒng)計(jì)計(jì)算實(shí)時(shí)自動(dòng)更新進(jìn)度表,點(diǎn)擊進(jìn)度表按鈕可以調(diào)出目前的進(jìn)度安排,還可自動(dòng)導(dǎo)出進(jìn)度表格。
①因?yàn)楹C嬉由熘料c(diǎn),所以海水模型需要將中間的面密度調(diào)高、遠(yuǎn)處的面數(shù)降低,進(jìn)而降低資源消耗。分別設(shè)置海浪高度和曲面細(xì)分度數(shù),再加上動(dòng)態(tài)效果,進(jìn)而將其實(shí)例化[9]。此外,海水的材質(zhì)需要將多種貼圖進(jìn)行混合,利用參數(shù)控制合理的混合方式。
②在制作過程當(dāng)中模型的命名需要統(tǒng)一,應(yīng)使用“英文+數(shù)字”的組合,一方面方便查找管理,另一方面也有利于驅(qū)動(dòng)模型運(yùn)行和腳本程序的編寫[10]。
①鉆井船對(duì)打動(dòng)態(tài)嚙合避讓計(jì)算系統(tǒng)應(yīng)用批鉆精細(xì)化槽口分配與順序優(yōu)化技術(shù)解決了雙鉆機(jī) 11m窄間距的動(dòng)態(tài)避讓問題,實(shí)現(xiàn)了雙船對(duì)打。
②雙鉆機(jī)對(duì)打?qū)崿F(xiàn)某平臺(tái)6口井提前進(jìn)行作業(yè),提前投產(chǎn)117d。
③項(xiàng)目由“串聯(lián)式”向“并聯(lián)式”轉(zhuǎn)變,首次在海工機(jī)械完工前實(shí)施海上鉆完井作業(yè)。