張 洋 (大慶鉆探工程公司鉆井工程技術研究院信息中心,黑龍江大慶1 6341 3)
王 鑫 (東北石油大學計算機與信息技術學院,黑龍江大慶1 63318)
虛擬現實技術在諸多行業已經廣泛興起,其主要技術是利用先進的軟件和硬件設備 (如計算機、仿真手套等),使參與者產生身臨其境的感覺。該技術在培訓領域有著巨大應用潛力,而在油田鉆井方面的應用培訓還是處于起步階段。為此,筆者結合虛擬現實技術和油田鉆井作業的特點,以大慶某鉆探公司的一個野外鉆井現場為虛擬對象,使用Virtools工具開發出鉆井作業考試系統。
法國的全球交互三維開發解決方案公司Virtools開發的Virtools軟件,因其方便易用、應用領域廣,在各行業中被廣泛應用,其三維引擎已經成為微軟XBox認可系統[1]。Virtools軟件是1套具有豐富行為交互模塊的可視化三維開發工具,其應用目前主要針對靜態模型的虛擬漫游和系統仿真等方面,由開發模塊、生成模塊和發布模塊組成[2](見圖1)。

圖1 Virtools組成模塊
該系統漫游平臺下的圖形渲染是實時的,同時還應具有較強的人機交互能力,可根據不同登陸者的身份給予不同的操作權限,操作者可以在場景中自由移動,針對培訓者考試后還給出考試分數和未完成的作業步驟??紤]到該系統主要為工人培訓使用,需要專門人員進行分值設置,故加入了登陸模塊,以便區分參加培訓者和管理員。針對培訓者設計了該系統核心模塊,即評分模塊。由于鉆井相關設備較多,初級操作者難以區分,加入了鼠標識別功能模塊。此外,還加入了漫游模塊和音樂控制模塊。
針對不同用戶的不同權限分配設計了相應登陸方式,普通用戶 (接受培訓的用戶)可以直接進入該系統,并自動進入考評界面,而管理員則憑口令登陸并可以修改每步操作的分值??紤]到趣味性,登錄模塊設置了背景音樂和動態背景,對于登陸按鈕和界面采用了漸隱漸顯并且與聲音配合的方式。
對于鉆井作業考試中的每步分值,可以通過Virtools內部自帶的表格進行初始化??紤]到一旦被發布為html或exe文件就難以再次編輯array,因此預留出設置分支的接口,方便管理員隨時設置某一鉆井作業的每步分值。當普通用戶操作完畢后,可將考試成績和沒有完成操作規程的相應步驟自行顯示在評分界面上。
該模塊的功能是使操作者在考試過程中明確當前鼠標所指物體得名稱,當鼠標移到相關操作物體上時,馬上顯示該物體名字,從而方便操作者識別和確認當前操作設備或工具。
將該模塊分為自主漫游模塊和自動漫游模塊:①自主漫游模塊。通過該模塊操作者能自由控制虛擬角色在整個漫游場景的移動,從而到達虛擬作業場景中任一位置。操作者通過鍵盤和鼠標操作,可以進行任何視角的旋轉及前、后、左、右的移動。②自動漫游模塊。通過該模塊操作者可以根據需求選擇虛擬場景中1條事先制定好的路線,而漫游引擎可根據該路線為用戶展示沿線的虛擬作業場景。此外,操作者也可以按照自己的想法定制漫游路徑。
普通用戶可直接進入該系統,而管理員用戶要通過口令驗證才能登陸 (見圖2),但其擁有更高權限,如可以修改分值等。
1)建表 該步驟包括建立記錄操作表和對比操作表,并在對比操作表中記錄好每1步的名稱及相應分值。
在VT中建立一個能夠用于參照的評分標準,包括具體操作步驟及每1步的分值,將該表命名為對比操作表。以表層鉆進中的二開操作演練系統例,打開 VT單擊選項卡 “level Manager”左邊會出現一系列的新建命令,單擊 “Creat Array”命令,在彈出的 “Array Setup”設置界面中單擊 “Add Column”按鈕,同時修改列名和數據類型為 “步驟”和 “String”,接著再添加一列列名和數據類型分別為 “分值”和 “intger”,再根據操作演練的步驟來設置行數,通過多次單擊“Add Row”來實現添加行。

圖2 管理員登陸界面
在彈出的 Add Column對話框修改列名和數據類型,建立記錄操作表 (見圖3),與對比操作表的不同之處是該表多1列,命名為 “是否讀取過”,數據類型為integer,由于默認值是0,可以用 “1”來代表該行 (步)并確定是否進行了該步的操作。

圖3 記錄操作表
2)建立線性腳本 按照操作順序,為每1步驟建立腳本,且每1步驟之間的關系是線性的,即只有完成上1步驟后才能執行下1步驟,與此同時根據對比操作表向記錄操作表中寫入數據。該系統中由于相關模型可能需要經過多次點擊才能進行操作,而如何判斷是正確操作下的點擊還是錯誤操作導致的點擊以及當前被點擊模型是第幾次被點擊,一個好的方法是把正確操作做成線性的腳本 (不能跳躍執行),再建立一個等待單擊所有可點擊物體的腳本。由于設定用戶對于可點擊物體僅可以點擊一次,因此每點擊一次就對比表中該次所對應步驟的行的第2列,看其標志量是否為1,如果是則證明該步操作已經正確完成,否則證明當前操作錯誤,并改寫標志量為1(見圖4)。
3)計算分值 將對比操作表和記錄操作表加以比較,測試哪些步驟已經完成,哪些步驟沒有完成,然后計算分值并顯示出來 (見圖5)。

圖4 部分線性腳本

圖5 計算分值腳本
根據鼠標當前拾取物體是否在指定的組中來判定當前物體的名稱,再將名稱顯示到鼠標所在位置 (見圖6)。考慮到系統不間斷地判斷鼠標所指物體名稱會消耗大量CPU的處理能力,從而導致漫游畫面出現停滯、閃爍的現象,所以在該次點擊完畢和下次點擊之前應將鼠標識別功能關閉。

圖6 鼠標識別物體腳本
結合虛擬現實技術和油田鉆井作業的特點,以大慶某鉆探公司的一個野外鉆井現場為虛擬對象,使 用Virtools工具開發出鉆井作業考試系統。通過該系統能夠隨時隨地針對需要考核的鉆井工人進行鉆井專業的考評,而且能夠實現考試數據結果的保存,也可以對鉆井操作規程中的具體作業步驟的分值進行修改,為鉆井工人技術考核提供了全新方式。
[1]劉賢梅,李勤,司國海,等.虛擬現實技術及其應用[J].大慶石油學院學報,2002,26(2):112-115.
[2]劉曉波,張琴舜,張和林.一個基于MultiGen/Vega的虛擬場景漫游系統 [J].計算機應用,2009,22(12):85-86.
[3]劉明昆.三維游戲設計師寶典 [M].成都:四川電子音像出版中心,2005.