陳玉山,郭 娜,余建生,郭 家,向良煒
(1.中海油能源發展股份有限公司工程技術分公司 天津 300452;2.中海石油(中國)有限公司天津分公司 天津 300459)
隨著當前計算機虛擬現實理論、技術與方法的進步,海洋信息技術的三維可視化日益成為對海洋進行全方位觀察、研究和探索的重要手段之一[1]。三維可視化技術以其直觀的展示優勢在石油工業領域得到廣泛應用[2]。目前,可視化技術主要是三維動畫和虛擬現實的形式,主要用于結構展示、技術原理呈現等,在工程計算領域應用較少。
虛擬現實技術是一種可以創建和體驗虛擬世界的計算機仿真系統,它利用計算機生成一種模擬環境,是一種多源信息融合的交互式的三維動態視景和實體行為的系統仿真,可使用戶沉浸到該環境中[3]。目前兩大主流引擎分別為 Unity 3D 和 Unreal Engine 4。
Unreal Engine 4(UE4)是由EPIC GAMES公司發布的新的虛擬現實制作引擎,是 UDK的后續版本,具有強勁的圖形處理能力,包括高級動態光照、新的粒子系統等。UE4的特色是它的編程語言,Blue Print系統使用用戶可以拖拽封裝的 C++代碼來進行可視化編程[4]。UE4提供了虛擬現實開發者需要的大量的核心技術、數據生成工具和基礎支持。UE4支持DirectX 11、物理引擎 PhysX、APEX 和 NVIDIA 3D技術,能夠呈現出非常逼真的畫面。
隨著海上作業量的大幅增加,對鉆完井時效的要求也越來越高,鉆完井后開發項目通過采用2個鉆井船同時作業的方式來提效,俗稱“對打”。雙船對打作業雖提高了鉆井效率,同時也面臨很多問題[5-6]。考慮到雙船對打作業當中 2個鉆井船的懸臂梁之間的干涉問題,在原有作業順序基礎上需要根據現場作業進度、懸臂梁長度、井位信息等數據實時進行計算調整,以保證作業的順利進行。圖1為某油田開發項目鉆完井對打示意。

圖1 某油田開發項目鉆完井對打示意圖Fig.1 Schematic diagram of drilling and completion of an oilfield development project
按照鉆完井施工順序將每口井的作業時間細化分割,如移井架、組合鉆具、一開鉆進作業等;精細化控制作業時間,以小時為單位設置作業時長,做到每口井實時更新輸入。因此,形成了已作業部分使用實際時間數據,未作業部分使用設計時間來計算的方法進行整體工期自動計算排序,做到了作業順序的精細化控制。表1為雙船對打工序及設計時間。

表1 雙船對打工序及設計時間Tab.1 Process and design time of two-vessel drilling operation
以鉆完井設計作業計劃為基準,根據井場作業進度的變化實時更新作業數據。按 1天 24h計算每個小時的 2個懸臂梁間距(a+b),并與設定的安全距離進行比較,一旦小于安全距離,系統會提示有風險,并自動調整作業順序和導出最新作業順序。圖2為安全距離計算示意圖,圖3為時間切割計算示意圖。

圖2 安全距離計算示意圖Fig.2 Schematic diagram of safety distance calculation

圖3 時間切割計算示意圖Fig.3 Schematic diagram of time cutting calculation
根據系統計算的特點,利用 UE4在可視化展示方面獨特的優勢設計系統架構如圖4所示。

圖4 海洋鉆井井噴失控應急工程技術方案Fig.4 Technical scheme of offshore drilling blowout outof-control emergency engineering
UE4本身的模型構建系統不夠精細,構建一個場景時不能依靠自身建模系統。本次系統構建根據現場提供的圖紙利用3ds Max(3D Studio Max,三維動畫渲染和制作軟件)進行場景搭建,主要包括海洋、鉆井船、導管架的三維建模,重點關注鉆井船樁腿高度、升船氣隙高度、懸臂梁長寬高、隔水導管的分布排列等,其余部分的結構不作為本次系統構建的重點,因而模型構建不用太精細。模型建立完成后為所有模型賦予材質和貼圖,使畫面變得更加逼真。圖5為3ds MAX場景建模。

圖5 3ds MAX場景建模Fig.5 3ds MAX scene modeling
將三維場景從 3ds MAX中導出為.FBX格式的文件,然后導入到UE4虛幻引擎中。在3ds MAX中的每組模型都必須以大寫英文字母開頭,取每個字的拼音首字母大寫,名稱只允許出現英文字母、下劃線“_”和阿拉伯數字,導出后.FBX格式的模型保存名稱為英文“SM 模型名分塊序號 制作人首字母.FBX”。
UE4中的藍圖(Blueprint)就是一個基于面向對象的、采用節點界面的可視化腳本系統。開發者只需在引擎編輯器中創建相關功能模塊結點,并按照一定的邏輯連接各節點,便能實施、實現各種行為和功能。這些節點包括每個實例的對象構建、函數、事件和變量。本系統通過藍圖的可視化腳本集成計算功能進行設計工期數據的原始數據讀取,并人工輸入實際工期數據。通過設計工期和實際工期的對比更新,系統會進行工期計算,識別出碰撞風險,然后進行工期進度的重新排序。
因系統分為二維模擬仿真和三維模擬仿真 2種展示方法,運動的部分主要是為2個鉆井平臺的懸臂梁和所攜帶的鉆具,懸臂梁的運動軌跡需要與計算的作業順序一致,并隨著作業順序的調整而不斷更新。因此,懸臂梁需單獨拿出來通過腳本設計與數據對接,這也是本項目的難點。
配合程序的多章節選擇和多角度相機制作了整套 UI系統,操作人員可以通過 UI按鈕快速到達指定章節學習,并可采用多角度相機切換。UI設計工作主要通過 Photoshop制作,具體分為 5個部分,即啟動頁面、設置界面、工期輸入頁面、三維展示頁面、工程進度表頁面。
程序包為單獨的文件夾,文件夾名字和文件內部文件名字不能任意更改,原始程序為綠色版本,通過拷貝即可供其他 Windows 64位操作系統的電腦使用。電腦配置達不到最低配置時運行出錯[7-8]。“DrillingDecision”“Engine”文件夾為系統的主程序,“DrillingDecision.exe”為系統的啟動文件,雙擊即可啟動程序。圖6為啟動程序文件夾。

圖6 啟動程序文件夾Fig.6 Launcher folder
系統設置頁面是系統介紹、技術支持和系統參數的一些調節,主要調節畫面顯示和屏幕分辨率。
在輸入界面的實際工期一欄中,根據作業工序輸入實際工期,然后點擊工期計算按鈕。計算完成后,最上面的滑動軸可以拖動,以便查看某一天的進度,并可以自動播放和調整速率。在二維視圖中會有顏色高亮顯示作業順序和具體的作業名稱。
所有條件都設置好之后程序開始計算,得出最優的排序和方案的總體工期,并進行可視化展示。圖7為三維展示效果。

圖7 三維展示效果Fig.7 3D display effect
以施工設計作業時間為基準,根據井場作業進度的變化實時更新數據。通過系統統計計算實時自動更新進度表,點擊進度表按鈕可以調出目前的進度安排,還可自動導出進度表格。
①因為海面要延伸至消失點,所以海水模型需要將中間的面密度調高、遠處的面數降低,進而降低資源消耗。分別設置海浪高度和曲面細分度數,再加上動態效果,進而將其實例化[9]。此外,海水的材質需要將多種貼圖進行混合,利用參數控制合理的混合方式。
②在制作過程當中模型的命名需要統一,應使用“英文+數字”的組合,一方面方便查找管理,另一方面也有利于驅動模型運行和腳本程序的編寫[10]。
①鉆井船對打動態嚙合避讓計算系統應用批鉆精細化槽口分配與順序優化技術解決了雙鉆機 11m窄間距的動態避讓問題,實現了雙船對打。
②雙鉆機對打實現某平臺6口井提前進行作業,提前投產117d。
③項目由“串聯式”向“并聯式”轉變,首次在海工機械完工前實施海上鉆完井作業。