張 洋 (大慶鉆探工程公司鉆井工程技術(shù)研究院信息中心,黑龍江大慶1 6341 3)
王 鑫 (東北石油大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院,黑龍江大慶1 63318)
虛擬現(xiàn)實(shí)技術(shù)在諸多行業(yè)已經(jīng)廣泛興起,其主要技術(shù)是利用先進(jìn)的軟件和硬件設(shè)備 (如計(jì)算機(jī)、仿真手套等),使參與者產(chǎn)生身臨其境的感覺(jué)。該技術(shù)在培訓(xùn)領(lǐng)域有著巨大應(yīng)用潛力,而在油田鉆井方面的應(yīng)用培訓(xùn)還是處于起步階段。為此,筆者結(jié)合虛擬現(xiàn)實(shí)技術(shù)和油田鉆井作業(yè)的特點(diǎn),以大慶某鉆探公司的一個(gè)野外鉆井現(xiàn)場(chǎng)為虛擬對(duì)象,使用Virtools工具開(kāi)發(fā)出鉆井作業(yè)考試系統(tǒng)。
法國(guó)的全球交互三維開(kāi)發(fā)解決方案公司Virtools開(kāi)發(fā)的Virtools軟件,因其方便易用、應(yīng)用領(lǐng)域廣,在各行業(yè)中被廣泛應(yīng)用,其三維引擎已經(jīng)成為微軟XBox認(rèn)可系統(tǒng)[1]。Virtools軟件是1套具有豐富行為交互模塊的可視化三維開(kāi)發(fā)工具,其應(yīng)用目前主要針對(duì)靜態(tài)模型的虛擬漫游和系統(tǒng)仿真等方面,由開(kāi)發(fā)模塊、生成模塊和發(fā)布模塊組成[2](見(jiàn)圖1)。
圖1 Virtools組成模塊
該系統(tǒng)漫游平臺(tái)下的圖形渲染是實(shí)時(shí)的,同時(shí)還應(yīng)具有較強(qiáng)的人機(jī)交互能力,可根據(jù)不同登陸者的身份給予不同的操作權(quán)限,操作者可以在場(chǎng)景中自由移動(dòng),針對(duì)培訓(xùn)者考試后還給出考試分?jǐn)?shù)和未完成的作業(yè)步驟。考慮到該系統(tǒng)主要為工人培訓(xùn)使用,需要專門人員進(jìn)行分值設(shè)置,故加入了登陸模塊,以便區(qū)分參加培訓(xùn)者和管理員。針對(duì)培訓(xùn)者設(shè)計(jì)了該系統(tǒng)核心模塊,即評(píng)分模塊。由于鉆井相關(guān)設(shè)備較多,初級(jí)操作者難以區(qū)分,加入了鼠標(biāo)識(shí)別功能模塊。此外,還加入了漫游模塊和音樂(lè)控制模塊。
針對(duì)不同用戶的不同權(quán)限分配設(shè)計(jì)了相應(yīng)登陸方式,普通用戶 (接受培訓(xùn)的用戶)可以直接進(jìn)入該系統(tǒng),并自動(dòng)進(jìn)入考評(píng)界面,而管理員則憑口令登陸并可以修改每步操作的分值??紤]到趣味性,登錄模塊設(shè)置了背景音樂(lè)和動(dòng)態(tài)背景,對(duì)于登陸按鈕和界面采用了漸隱漸顯并且與聲音配合的方式。
對(duì)于鉆井作業(yè)考試中的每步分值,可以通過(guò)Virtools內(nèi)部自帶的表格進(jìn)行初始化??紤]到一旦被發(fā)布為html或exe文件就難以再次編輯array,因此預(yù)留出設(shè)置分支的接口,方便管理員隨時(shí)設(shè)置某一鉆井作業(yè)的每步分值。當(dāng)普通用戶操作完畢后,可將考試成績(jī)和沒(méi)有完成操作規(guī)程的相應(yīng)步驟自行顯示在評(píng)分界面上。
該模塊的功能是使操作者在考試過(guò)程中明確當(dāng)前鼠標(biāo)所指物體得名稱,當(dāng)鼠標(biāo)移到相關(guān)操作物體上時(shí),馬上顯示該物體名字,從而方便操作者識(shí)別和確認(rèn)當(dāng)前操作設(shè)備或工具。
將該模塊分為自主漫游模塊和自動(dòng)漫游模塊:①自主漫游模塊。通過(guò)該模塊操作者能自由控制虛擬角色在整個(gè)漫游場(chǎng)景的移動(dòng),從而到達(dá)虛擬作業(yè)場(chǎng)景中任一位置。操作者通過(guò)鍵盤和鼠標(biāo)操作,可以進(jìn)行任何視角的旋轉(zhuǎn)及前、后、左、右的移動(dòng)。②自動(dòng)漫游模塊。通過(guò)該模塊操作者可以根據(jù)需求選擇虛擬場(chǎng)景中1條事先制定好的路線,而漫游引擎可根據(jù)該路線為用戶展示沿線的虛擬作業(yè)場(chǎng)景。此外,操作者也可以按照自己的想法定制漫游路徑。
普通用戶可直接進(jìn)入該系統(tǒng),而管理員用戶要通過(guò)口令驗(yàn)證才能登陸 (見(jiàn)圖2),但其擁有更高權(quán)限,如可以修改分值等。
1)建表 該步驟包括建立記錄操作表和對(duì)比操作表,并在對(duì)比操作表中記錄好每1步的名稱及相應(yīng)分值。
在VT中建立一個(gè)能夠用于參照的評(píng)分標(biāo)準(zhǔn),包括具體操作步驟及每1步的分值,將該表命名為對(duì)比操作表。以表層鉆進(jìn)中的二開(kāi)操作演練系統(tǒng)例,打開(kāi) VT單擊選項(xiàng)卡 “l(fā)evel Manager”左邊會(huì)出現(xiàn)一系列的新建命令,單擊 “Creat Array”命令,在彈出的 “Array Setup”設(shè)置界面中單擊 “Add Column”按鈕,同時(shí)修改列名和數(shù)據(jù)類型為 “步驟”和 “String”,接著再添加一列列名和數(shù)據(jù)類型分別為 “分值”和 “intger”,再根據(jù)操作演練的步驟來(lái)設(shè)置行數(shù),通過(guò)多次單擊“Add Row”來(lái)實(shí)現(xiàn)添加行。
圖2 管理員登陸界面
在彈出的 Add Column對(duì)話框修改列名和數(shù)據(jù)類型,建立記錄操作表 (見(jiàn)圖3),與對(duì)比操作表的不同之處是該表多1列,命名為 “是否讀取過(guò)”,數(shù)據(jù)類型為integer,由于默認(rèn)值是0,可以用 “1”來(lái)代表該行 (步)并確定是否進(jìn)行了該步的操作。
圖3 記錄操作表
2)建立線性腳本 按照操作順序,為每1步驟建立腳本,且每1步驟之間的關(guān)系是線性的,即只有完成上1步驟后才能執(zhí)行下1步驟,與此同時(shí)根據(jù)對(duì)比操作表向記錄操作表中寫入數(shù)據(jù)。該系統(tǒng)中由于相關(guān)模型可能需要經(jīng)過(guò)多次點(diǎn)擊才能進(jìn)行操作,而如何判斷是正確操作下的點(diǎn)擊還是錯(cuò)誤操作導(dǎo)致的點(diǎn)擊以及當(dāng)前被點(diǎn)擊模型是第幾次被點(diǎn)擊,一個(gè)好的方法是把正確操作做成線性的腳本 (不能跳躍執(zhí)行),再建立一個(gè)等待單擊所有可點(diǎn)擊物體的腳本。由于設(shè)定用戶對(duì)于可點(diǎn)擊物體僅可以點(diǎn)擊一次,因此每點(diǎn)擊一次就對(duì)比表中該次所對(duì)應(yīng)步驟的行的第2列,看其標(biāo)志量是否為1,如果是則證明該步操作已經(jīng)正確完成,否則證明當(dāng)前操作錯(cuò)誤,并改寫標(biāo)志量為1(見(jiàn)圖4)。
3)計(jì)算分值 將對(duì)比操作表和記錄操作表加以比較,測(cè)試哪些步驟已經(jīng)完成,哪些步驟沒(méi)有完成,然后計(jì)算分值并顯示出來(lái) (見(jiàn)圖5)。
圖4 部分線性腳本
圖5 計(jì)算分值腳本
根據(jù)鼠標(biāo)當(dāng)前拾取物體是否在指定的組中來(lái)判定當(dāng)前物體的名稱,再將名稱顯示到鼠標(biāo)所在位置 (見(jiàn)圖6)??紤]到系統(tǒng)不間斷地判斷鼠標(biāo)所指物體名稱會(huì)消耗大量CPU的處理能力,從而導(dǎo)致漫游畫面出現(xiàn)停滯、閃爍的現(xiàn)象,所以在該次點(diǎn)擊完畢和下次點(diǎn)擊之前應(yīng)將鼠標(biāo)識(shí)別功能關(guān)閉。
圖6 鼠標(biāo)識(shí)別物體腳本
結(jié)合虛擬現(xiàn)實(shí)技術(shù)和油田鉆井作業(yè)的特點(diǎn),以大慶某鉆探公司的一個(gè)野外鉆井現(xiàn)場(chǎng)為虛擬對(duì)象,使 用Virtools工具開(kāi)發(fā)出鉆井作業(yè)考試系統(tǒng)。通過(guò)該系統(tǒng)能夠隨時(shí)隨地針對(duì)需要考核的鉆井工人進(jìn)行鉆井專業(yè)的考評(píng),而且能夠?qū)崿F(xiàn)考試數(shù)據(jù)結(jié)果的保存,也可以對(duì)鉆井操作規(guī)程中的具體作業(yè)步驟的分值進(jìn)行修改,為鉆井工人技術(shù)考核提供了全新方式。
[1]劉賢梅,李勤,司國(guó)海,等.虛擬現(xiàn)實(shí)技術(shù)及其應(yīng)用[J].大慶石油學(xué)院學(xué)報(bào),2002,26(2):112-115.
[2]劉曉波,張琴舜,張和林.一個(gè)基于MultiGen/Vega的虛擬場(chǎng)景漫游系統(tǒng) [J].計(jì)算機(jī)應(yīng)用,2009,22(12):85-86.
[3]劉明昆.三維游戲設(shè)計(jì)師寶典 [M].成都:四川電子音像出版中心,2005.