張旭(中海油能源發(fā)展股份有限公司工程技術(shù)分公司,天津 300452)
虛擬現(xiàn)實(shí)(VR)技術(shù)在20世紀(jì)60年代起源于美國,隨著虛擬現(xiàn)實(shí)技術(shù)的不斷完善提升,其應(yīng)用越來越廣。國內(nèi)對(duì)于VR技術(shù)研究的起步稍晚,目前主要的虛擬現(xiàn)實(shí)成果為VR游戲,在井控培訓(xùn)行業(yè)中很少有成熟的產(chǎn)品出現(xiàn)。文章主要討論虛擬現(xiàn)實(shí)技術(shù)在井控培訓(xùn)中的應(yīng)用。
井控是石油天然氣勘探開發(fā)中重要的一環(huán),其培訓(xùn)體系涉及到井控技術(shù)培訓(xùn)、井控裝備培訓(xùn)、應(yīng)急演練培訓(xùn)等方面。傳統(tǒng)的井控培訓(xùn)依靠PPT及井控模擬器進(jìn)行,這種形式的培訓(xùn)主要是以培訓(xùn)師為中心,學(xué)員的參與感較差。在實(shí)際的培訓(xùn)過程中,通過簡單的模擬設(shè)備無法真實(shí)模擬井控作業(yè)期間的場景,導(dǎo)致培訓(xùn)結(jié)束后學(xué)員的收獲較少,井控培訓(xùn)也逐漸流于形式。
采用虛擬現(xiàn)實(shí)技術(shù)建立的井控智能情景培訓(xùn)系統(tǒng),利用三維建模及虛擬現(xiàn)實(shí)技術(shù),可以增強(qiáng)學(xué)員在培訓(xùn)中的沉浸感與交互性,能夠使學(xué)員在虛擬的場景中進(jìn)行角色扮演,不僅能夠全面投入學(xué)習(xí)中,還提升培訓(xùn)興趣,更能夠演練技能、提升水平[1]。由于場景及設(shè)備都是虛擬的,并且培訓(xùn)師的虛擬現(xiàn)實(shí)硬件體積小,占地面積小,能夠避免因?yàn)閳龅?、天氣和環(huán)境的影響,與操作真實(shí)設(shè)備相比大幅降低了安全隱患。基于人工智能技術(shù),可以模擬井控作業(yè)期間的各個(gè)崗位人員的操作,可以彌補(bǔ)演練期間班組崗位人員不全的現(xiàn)實(shí)問題[2]。
由于系統(tǒng)開發(fā)時(shí)已經(jīng)進(jìn)行了多種演練培訓(xùn)場景的三維物理模型搭建,培訓(xùn)過程中可以根據(jù)需要進(jìn)行組合,通過在教師機(jī)的操作,就可以輕松的切換場景,不僅能縮短真實(shí)井場場景搭建及切換的時(shí)間,還能讓學(xué)員充分利用培訓(xùn)時(shí)間進(jìn)行更多的技能演練,提升培訓(xùn)效率的同時(shí),也降低了實(shí)物井場場景變換帶來的高額費(fèi)用和風(fēng)險(xiǎn)。虛擬現(xiàn)實(shí)技術(shù)的沉浸感與交互性,還能在培訓(xùn)中強(qiáng)化其崗位職責(zé),提升井控技能。
將三維建模與虛擬現(xiàn)實(shí)技術(shù)相結(jié)合的整體設(shè)計(jì)思路,為降低海上油氣勘探開發(fā)過程中的井控風(fēng)險(xiǎn),切實(shí)提高海上鉆井、完井和井下作業(yè)相關(guān)人員的井控水平,針對(duì)現(xiàn)場一級(jí)、二級(jí)和三級(jí)井控應(yīng)急狀態(tài)下的演練流程以及現(xiàn)場井控設(shè)備故障排查與識(shí)別演練流程,開發(fā)一套適用于陸地、淺水和深水3類作業(yè)環(huán)境下具備海洋特色的井控智能情景演練系統(tǒng),從而增強(qiáng)培訓(xùn)效果,為現(xiàn)場作業(yè)提供技術(shù)支撐和安全保障。
系統(tǒng)架構(gòu)采用C/S 模式,通過客戶端與服務(wù)器的模式,統(tǒng)一管理項(xiàng)目各培訓(xùn)模塊內(nèi)容。
(1)一級(jí)井控情景展示。通過服務(wù)器端統(tǒng)一管理培訓(xùn)內(nèi)容,對(duì)動(dòng)畫資源的內(nèi)容分類進(jìn)行管理
(2)二級(jí)井控情景展示。通過服務(wù)器端統(tǒng)一管理二級(jí)井控培訓(xùn)項(xiàng)目、培訓(xùn)模式、培訓(xùn)內(nèi)容參數(shù),及分組情況設(shè)置,將配置文件發(fā)送至客戶端程序,待學(xué)生端操作完成后將成績進(jìn)行統(tǒng)一管理。
(3)三級(jí)井控情景展示。通過服務(wù)器端統(tǒng)一管理三級(jí)井控培訓(xùn)項(xiàng)目、培訓(xùn)模式、培訓(xùn)內(nèi)容參數(shù),及分組情況進(jìn)行設(shè)置,將配置文件發(fā)送至客戶端程序,待學(xué)生端操作完成后將成績進(jìn)行統(tǒng)一管理。
2.切實(shí)貫徹群眾路線是做好調(diào)查研究工作的重要保證。全黨在調(diào)查研究中注重收集群眾的意見和訴求,據(jù)此制定方針、政策和辦法,然后征求群眾的意見,以便作出進(jìn)一步修正,因此,此次調(diào)查研究切實(shí)貫徹了黨的群眾路線。
其中一級(jí)井控情景展示模塊遵循二維和三維動(dòng)畫制作流程,完成培訓(xùn)內(nèi)容的制作。二三級(jí)井控和隱患排查與識(shí)別模塊采用三維軟件系統(tǒng)架構(gòu),在工作的時(shí)候程序流程如圖1所示,客戶端程序會(huì)與服務(wù)器進(jìn)行所需數(shù)據(jù)通訊。服務(wù)器在啟動(dòng)后即等待客戶機(jī)的連接,如果有一臺(tái)計(jì)算機(jī)進(jìn)行單機(jī)培訓(xùn),客戶端可直接完成所有計(jì)算;如果是團(tuán)隊(duì)培訓(xùn),則服務(wù)器創(chuàng)建一個(gè)新的線程,加載該場景需要的數(shù)學(xué)物理模型進(jìn)行實(shí)時(shí)計(jì)算,整個(gè)團(tuán)隊(duì)的操作均會(huì)發(fā)送到服務(wù)器上,服務(wù)器更新人物的位置、設(shè)備的狀態(tài)并判斷操作的正確與否,在計(jì)算完成后服務(wù)器將整個(gè)團(tuán)隊(duì)的計(jì)算結(jié)果下發(fā)給各臺(tái)學(xué)員計(jì)算機(jī)。如此推進(jìn),直到整個(gè)培訓(xùn)結(jié)束。
圖1 場景管理
系統(tǒng)具備教學(xué)、練習(xí)和考評(píng)模式,考評(píng)結(jié)果包括分?jǐn)?shù)、解析和測評(píng)報(bào)告,其中:(1)教學(xué)模式為一步步的執(zhí)行所有處理流程,通過點(diǎn)擊下一步,電腦自動(dòng)完成需要完成的動(dòng)作,并給出相應(yīng)的提示,方便老師教學(xué);(2)練習(xí)模式則是只給出提示,需要學(xué)員自行走位,完成相應(yīng)步驟;(3)考核模式則是不提供相應(yīng)的提示,需要學(xué)員根據(jù)信號(hào),當(dāng)前動(dòng)畫表現(xiàn)等,自行判斷需要做出的反應(yīng);考評(píng)模式提供分?jǐn)?shù)、正確解析和教師端提供對(duì)分?jǐn)?shù)的分析測評(píng)報(bào)告。
二三級(jí)井控情景展示及隱患排查與識(shí)別程序采用統(tǒng)一架構(gòu)形式,分為服務(wù)器端和客戶端??蛻舳酥С痔摂M現(xiàn)實(shí)模式和桌面式虛擬現(xiàn)實(shí)模式。在此架構(gòu)基礎(chǔ)上,功能擴(kuò)展便捷,系統(tǒng)結(jié)構(gòu)穩(wěn)定,便于培訓(xùn)內(nèi)容添加及系統(tǒng)軟硬件管理。
服務(wù)器端使用6層架構(gòu)設(shè)計(jì),各層設(shè)計(jì)結(jié)構(gòu)清晰,功能內(nèi)聚性高,具有高度可擴(kuò)展性,可訂制性。分別為:基礎(chǔ)服務(wù)層、虛擬層、邏輯層、工藝層、預(yù)案層、操作層。
服務(wù)器端程序具有單機(jī)運(yùn)行能力,單臺(tái)計(jì)算機(jī)在進(jìn)行單機(jī)應(yīng)急培訓(xùn)和考核,啟動(dòng)的是服務(wù)器端程序,并且將該計(jì)算機(jī)設(shè)置為單機(jī)運(yùn)行模式??蛻舳耸褂幂p量化設(shè)計(jì)三層架構(gòu)設(shè)計(jì),僅僅包含基礎(chǔ)服務(wù)層、虛擬層和操作層。它是服務(wù)器端程序的簡化版。
(1)基礎(chǔ)服務(wù)層由兩個(gè)模塊組成:三維圖形引擎模塊和網(wǎng)絡(luò)接口模塊。三維圖形引擎使用Unity3D,網(wǎng)絡(luò)接口使用“協(xié)議UDP”和服務(wù)器端相連接。
井控智能情景演練系統(tǒng)的開發(fā)過程演練過程結(jié)構(gòu)設(shè)計(jì)使用了四個(gè)層級(jí)來實(shí)現(xiàn)。最頂層的是全局管理級(jí),該級(jí)用于管理整個(gè)應(yīng)急救援的公有數(shù)據(jù)(例如學(xué)員信息、成績等信息)和完成通訊功能;第二層是全局GUI級(jí),用于顯示全局菜單;第三層是場景級(jí),該層用于管理二、三級(jí)井控作業(yè)的場景部分;第四層是操作級(jí),用于管理服務(wù)器發(fā)送來的演練過程,根據(jù)過程要點(diǎn)判斷操作是否正確。整個(gè)系統(tǒng)結(jié)構(gòu)如圖1所示。
全局管理層管理整個(gè)應(yīng)急救援的公有數(shù)據(jù)(例如學(xué)員信息、成績等信息)和完成通訊功能。該層上使用了兩個(gè)類:GlobelManager類和TCPClinet 類來實(shí)現(xiàn)。GlobelManager是全局管理類,該類中的所有數(shù)據(jù)均是靜態(tài)的公有數(shù)據(jù),這個(gè)類所在的腳本不綁定到任何場景中的物體上。TCPClient類會(huì)開辟新的線程用于與服務(wù)器的數(shù)據(jù)通訊,該類管理多個(gè)TCP端口的數(shù)據(jù)傳輸、加密、數(shù)據(jù)正確性檢測。TCP數(shù)據(jù)發(fā)送使用同步發(fā)送方式進(jìn)行,數(shù)據(jù)接收使用同步的方式進(jìn)行。
全局GUI是一個(gè)單獨(dú)的Unity3D場景,在該場景里具有多組菜單和按鈕用于場景的選擇、對(duì)應(yīng)場景的作業(yè)選擇、難度設(shè)置、角色選擇、考核模式選擇等功能。該層使用NGUI插件來實(shí)現(xiàn),將多組按鈕進(jìn)行合理分組,使界面美觀,便于應(yīng)用操作。
場景級(jí)用于管理Unity3D內(nèi)的場景,該層內(nèi)包含九大應(yīng)急救援模塊的所有場景,每個(gè)應(yīng)急救援模塊包含多個(gè)要求的場景,每個(gè)場景是一個(gè)獨(dú)立的操作環(huán)境,包含多個(gè)應(yīng)急救援培訓(xùn)項(xiàng)目。每個(gè)場景中有一個(gè)靜態(tài)類SceneManager用于管理本場景中所有的非靜態(tài)物體,該類中具有一個(gè)物體數(shù)組,用于保存場景中的所有物體。SceneManager中包含場景數(shù)學(xué)模型計(jì)算函數(shù)和鼠標(biāo)、鍵盤事件處理函數(shù)。每個(gè)場景內(nèi)均包含一個(gè)場景GUI菜單,用于設(shè)置場景中虛擬人物的各種操作,例如工具選擇、命令發(fā)送、指北針導(dǎo)航窗格的顯示、任務(wù)顯示等工作。
場景中具有一個(gè)虛物體,該物體的作用是輔助管理整個(gè)場景,該虛擬物體綁定一個(gè)C#腳本,該腳本的作用是:(1)在場景管理虛物體的Awake函數(shù)里根據(jù)應(yīng)急救援項(xiàng)目里的設(shè)置,初始化整個(gè)場景,設(shè)置場景中對(duì)應(yīng)的物質(zhì)數(shù)量、設(shè)備位置、人物初始位置、工藝流程狀態(tài)、環(huán)境情況、虛擬人物數(shù)量及參數(shù)值。(2)在場景管理虛物體的Start函數(shù)里將整個(gè)場景中的物體鏈接到SceneManager場景管理類的公有數(shù)組中,便于數(shù)據(jù)集中管理,場景中的物體腳本在計(jì)算時(shí)均從SceneManager中的公共數(shù)組中取數(shù)據(jù),不進(jìn)行相互數(shù)據(jù)調(diào)用,做到各腳本耦合度低,內(nèi)聚度高。
場景中的非靜態(tài)物體均綁定一個(gè)C#腳本,這個(gè)腳本內(nèi)的Start函數(shù)用于初始化該物體的位置,F(xiàn)ixed-Update函數(shù)用于判斷該物體的狀態(tài),更新SceneManager場景管理類中的物體數(shù)組狀態(tài)。OnCollisionEnter函數(shù)用于判斷碰撞檢測類的狀態(tài)。所有非靜態(tài)物體腳本均具有控制位移、旋轉(zhuǎn)、縮放的函數(shù)。對(duì)于特定的設(shè)備,腳本內(nèi)還具有特定的設(shè)備控制函數(shù)。
操作級(jí)處于場景級(jí)的下一層,主要用于應(yīng)急救援操作步驟加載、應(yīng)急救援流程判斷和操作評(píng)價(jià),操作級(jí)的應(yīng)急救援步驟來源于服務(wù)器的應(yīng)急預(yù)案。
系統(tǒng)由多層次結(jié)構(gòu)組成,模塊中的每個(gè)模塊都包含多個(gè)場景,每個(gè)場景中的環(huán)境、設(shè)備、設(shè)施和配備的工種與真實(shí)現(xiàn)場一致,每個(gè)場景下可進(jìn)行屬于該場景的多個(gè)應(yīng)急救援培訓(xùn)項(xiàng)目。整個(gè)系統(tǒng)使用樹形結(jié)構(gòu)來設(shè)計(jì),層次結(jié)構(gòu)清晰。應(yīng)急救援的場景以文件的形式存儲(chǔ)于培訓(xùn)服務(wù)器和培訓(xùn)客戶端上,客戶端程序在啟動(dòng)的時(shí)候,連接服務(wù)器,取得最新的場景管理文件。
場景的加載使用資源動(dòng)態(tài)加載技術(shù),場景文件被分為多個(gè)小模型文件,所有的資源都被制作成AssestBundles,客戶端運(yùn)行時(shí),系統(tǒng)根據(jù)選擇的作業(yè)生成場景配置文件,然后再根據(jù)生成的配置文件動(dòng)態(tài)的加載所需要的模型,貼圖以及其他的動(dòng)態(tài)資源。
系統(tǒng)開發(fā)完成后,已安裝在技能實(shí)訓(xùn)教室,已穩(wěn)定運(yùn)行3個(gè)月,期間約有340名學(xué)員參加了培訓(xùn)。試用反饋如下:井控智能情景培訓(xùn)系統(tǒng)場景非常逼真,能夠做到貼近作業(yè)現(xiàn)場,有很強(qiáng)的體驗(yàn)感與沉浸感,學(xué)員的學(xué)習(xí)興趣大大提高,提高了井控安全意識(shí)。
此外,采用虛擬現(xiàn)實(shí)技術(shù)開發(fā)的井控智能情景培訓(xùn)系統(tǒng),節(jié)約了大量的實(shí)景井場及平臺(tái)搭建的成本,課件虛擬現(xiàn)實(shí)技術(shù)在井控培訓(xùn)中的應(yīng)用潛力巨大。
(1)虛擬現(xiàn)實(shí)技術(shù)應(yīng)用于井控專業(yè)技術(shù)培訓(xùn)能夠提升沉浸感和交互性,有利于提升培訓(xùn)效果。
(2)利用虛擬現(xiàn)實(shí)技術(shù)搭建的仿真培訓(xùn)場地,能夠降低實(shí)景演練帶來的安全隱患,更有利于工作年限短,經(jīng)驗(yàn)及安全意識(shí)不足的學(xué)員進(jìn)行技能提升。
(3)利用虛擬現(xiàn)實(shí)技術(shù)搭建仿真培訓(xùn)場地模型,可以做到不同場景,不同作業(yè)類型的無縫切換,提高了培訓(xùn)效率,降低了培訓(xùn)成本,有助于井控技能演練類培訓(xùn)的大規(guī)模開展。