劉慶濤,趙 權(quán),文國軍,王玉丹,桑明琪
1(中國地質(zhì)大學(xué)(武漢) 機(jī)械與電子信息學(xué)院,武漢 430074)
2(湖北省智能地質(zhì)裝備工程技術(shù)研究中心,武漢 430074)
以交互性好、逼真度高、沉浸感強(qiáng)為特征,同時引入具有人工智能的虛擬現(xiàn)實(shí)技術(shù),已逐步應(yīng)用于農(nóng)機(jī)裝備、地質(zhì)裝備虛擬實(shí)訓(xùn)等領(lǐng)域[1-3].隨著資源開采向地球深部進(jìn)軍,地質(zhì)鉆探過程復(fù)雜性提高,對地質(zhì)鉆探裝備的性能及操作人員的業(yè)務(wù)水平要求越來越高[4].操作人員通過對巖心鉆機(jī)的拆裝實(shí)訓(xùn),能夠?qū)ζ洚a(chǎn)生感性認(rèn)識,有利于掌握巖心鉆機(jī)的結(jié)構(gòu)原理、裝配工藝等知識,從而提高實(shí)際操作和維修保養(yǎng)能力.
巖心鉆探工程實(shí)踐教學(xué)中普遍存在高成本、高風(fēng)險、不能及、周期長等困難,許多高校建立了虛擬仿真實(shí)驗(yàn)教學(xué)平臺,并取得了不錯的教學(xué)效果[5].但目前這些平臺多集中在真實(shí)場景模擬及鉆探工藝上,而缺少裝備本體結(jié)構(gòu)的虛擬仿真教學(xué).
虛擬現(xiàn)實(shí)技術(shù)早已應(yīng)用于各種零部件及整機(jī)拆裝上,如減速器[6]、發(fā)動機(jī)[7]、鄂式破碎機(jī)[8]等,但主要交互手段主要還是通過鼠標(biāo)、手柄等,交互性上還有待提高.zSpace 作為近年來新興的虛擬現(xiàn)實(shí)教學(xué)設(shè)備,以其良好的交互性、增強(qiáng)現(xiàn)實(shí)觀察模式等特點(diǎn),迅速在醫(yī)學(xué)手術(shù)[9]、地理教學(xué)[10]、機(jī)床仿真[11,12]等領(lǐng)域上得到應(yīng)用.
鑒于此,本文以巖心鉆機(jī)為對象,結(jié)合zSpace、Unity3D 軟硬件平臺,開發(fā)一套巖心鉆機(jī)虛擬拆裝實(shí)訓(xùn)系統(tǒng),以六自由度觸控筆為主要交互工具,實(shí)現(xiàn)巖心鉆機(jī)主要部件及整機(jī)的拆裝及相關(guān)理論知識學(xué)習(xí),以提高地質(zhì)鉆探實(shí)踐教學(xué)的效果.
zSpace 是一款整合現(xiàn)實(shí)世界工作環(huán)境的桌面虛擬現(xiàn)實(shí)平臺,可以通過虛擬現(xiàn)實(shí)環(huán)境改變?nèi)藗兲剿?、研究和設(shè)計(jì)事物的方式,加深數(shù)字化學(xué)習(xí)體驗(yàn)深度.圖1描述了zSpace 硬件及3 個坐標(biāo)系之間的空間關(guān)系,硬件系統(tǒng)主要包括3D 顯示器、3D 追蹤眼鏡和觸控筆,其主要特點(diǎn)有:(1)高保真的立體效果,圖像可以隨著眼鏡在跟蹤區(qū)域內(nèi)的位置變化而自動調(diào)節(jié);(2)在立體三維空間與物體進(jìn)行360°旋轉(zhuǎn)移動等交互操作;(3)增強(qiáng)現(xiàn)實(shí)顯示效果,通過zView 軟件,虛擬畫面“掙脫”屏幕,融入現(xiàn)實(shí)環(huán)境之中.
圖1 zSpace 硬件系統(tǒng)與空間坐標(biāo)
zSpace 利用3D 眼鏡產(chǎn)生視差來實(shí)現(xiàn)高保真的立體效果.根據(jù)視差值的不同,視差又可分為正視差、負(fù)視差和零視差.當(dāng)用戶在觀看時,正視差使人產(chǎn)生物體深入屏幕的感覺:負(fù)視差使人產(chǎn)生物體懸浮于屏幕外的感覺:零視差是正視差和負(fù)視差的分界,物體剛好被投射到屏幕上.另外,為了準(zhǔn)確描述3D 眼鏡和觸筆的位置,zSpace 利用紅外追蹤技術(shù)判斷眼鏡和觸筆的空間位置,在顯示器上建立了一個固定坐標(biāo)系xyz,在3D眼鏡和觸筆上分別建立了運(yùn)動坐標(biāo)系x'y'z'、x"y"z",通過坐標(biāo)變換描述運(yùn)動坐標(biāo)系在固定坐標(biāo)系中的位姿,從而實(shí)現(xiàn)對3D 眼鏡和觸筆空間位置的描述.
隨著社會需求不同及技術(shù)進(jìn)步,我國巖心鉆機(jī)發(fā)展呈現(xiàn)出小批量、多品種的特點(diǎn).本文以國內(nèi)巖心鉆機(jī)典型產(chǎn)品XY-4 型為對象,具有普遍意義.XY-4 型巖心鉆機(jī)實(shí)物如圖2所示,是一種機(jī)械傳動、液壓給進(jìn)、滑軌行走的立軸式巖心鉆機(jī),虛擬拆裝系統(tǒng)主要針對其機(jī)械結(jié)構(gòu)部分.該鉆機(jī)機(jī)械系統(tǒng)主要由電機(jī)、減速器、分動箱、卷揚(yáng)機(jī)、回轉(zhuǎn)器、油壓卡盤及機(jī)殼等部件組成,利用SolidWorks 軟件進(jìn)行零部件建模、裝配直至整機(jī)裝配,最終三維模型如圖3所示.
圖2 XY-4 型巖心鉆機(jī)實(shí)物圖
為提高三維模型真實(shí)感,在幾何模型基礎(chǔ)上需要進(jìn)行貼圖渲染.3DMax 具有強(qiáng)大的外觀美化功能,對鉆機(jī)模型進(jìn)行貼圖后,鉆機(jī)模型更加逼真,真實(shí)感更強(qiáng),圖4展示了鉆機(jī)渲染后的效果.
(1) 項(xiàng)目開發(fā)流程
依托硬件平臺進(jìn)行虛擬現(xiàn)實(shí)項(xiàng)目開發(fā),通常需要借助硬件廠商配套提供的軟件開發(fā)包.zSpace 除硬件設(shè)備外,還為軟件開發(fā)提供了相應(yīng)的SDK 開發(fā)包、zCore和zView 兩個Unity3D 插件包以及幫助開發(fā)文檔.結(jié)合Unity3D 軟件和zSpace,項(xiàng)目開發(fā)流程如圖5所示.
本系統(tǒng)開發(fā)以zSpace330 型一體機(jī)為硬件平臺,結(jié)合Unity 3D 虛擬引擎.首先利用SolidWorks 進(jìn)行三維幾何建模,將建好的模型導(dǎo)入到3DMax 軟件中進(jìn)行渲染,并進(jìn)行格式轉(zhuǎn)換,最終導(dǎo)入到Unity3D 軟件中進(jìn)行系統(tǒng)開發(fā).在系統(tǒng)開發(fā)的過程中,須在zSpace 公司提供的開發(fā)網(wǎng)站上下載并安裝好zSpace SDK,并將zSpace 提供的zCore 和zView 兩個插件包導(dǎo)入到Unity3D中,結(jié)合Unity3D 提供的開發(fā)引擎進(jìn)行開發(fā),最后將開發(fā)出來的系統(tǒng)在zSpace 平臺上進(jìn)行測試.
(2) 交互及立體顯示
zSpace 打破傳統(tǒng)的交互方式,使用具有六自由度的觸筆代替了傳統(tǒng)只能在二維平面移動的鼠標(biāo),使人機(jī)交互的方式更加自然,貼合實(shí)際.基于此,zSpace 的一大核心功能就是使用觸筆代替人手與虛擬世界的模型進(jìn)行交互,模擬人抓取并移動物體的過程.實(shí)現(xiàn)這個功能要解決抓取時機(jī)和被抓物體移動這兩個問題.
圖3 巖心鉆機(jī)裝配圖
圖4 三維模型渲染效果圖
圖5 項(xiàng)目開發(fā)流程
對于抓取時機(jī),主要通過射線與待拾取物體包圍盒碰撞檢測的方式來實(shí)現(xiàn),其中主要使用的函數(shù)是zCore插件包中提供的GetTargetPose (targetType,coordinate Space) (獲取射線發(fā)射位置、方向)和Unity3D 軟件提供的Raycast(origin,direction,hitInfo) (檢測是否碰撞).針對被抓物體移動的問題,要想達(dá)到“抓取”的效果,必須讓物體隨著觸筆移動而移動同樣使用GetTargetPose函數(shù)獲取射線發(fā)射位置和方向,再經(jīng)坐標(biāo)變換求取射線末端的位置和方向,將射線末端的位置和方向作為物體的位姿,物體就會隨著觸筆位姿的變化而變化,從而達(dá)到“抓取”的效果.另外,觸筆還內(nèi)置了按鍵、LED 和簡單的力反饋設(shè)備,通過相應(yīng)的程序定義,可以提高用戶的交互感受和效率.圖6為實(shí)現(xiàn)抓取功能的算法流程圖.
增強(qiáng)現(xiàn)實(shí)技術(shù)可以讓虛擬世界與現(xiàn)實(shí)世界融合在一起,增強(qiáng)視覺效果.為提高開發(fā)產(chǎn)品的真實(shí)感,zSpace為開發(fā)人員提供了專門的開發(fā)插件zView 和增強(qiáng)現(xiàn)實(shí)顯示軟件,大大降低了增強(qiáng)現(xiàn)實(shí)功能的開發(fā)難度.增強(qiáng)現(xiàn)實(shí)視圖的實(shí)現(xiàn)依賴外接攝像頭,主要使用的函數(shù)有GetCurrentActiveConnection() (獲取當(dāng)前鏈接)、ConnectToDefaultViewer() (連接到顯示軟件)、以及SetConnectionMode() (設(shè)置連接模式).處于增強(qiáng)現(xiàn)實(shí)模式下,模型可以“掙脫”顯示屏的束縛,跑到屏幕之外和現(xiàn)實(shí)世界融為一體,便于360°觀察虛擬物體.
圖6 抓取功能算法流程圖
(1) 系統(tǒng)框架
為了使巖心鉆機(jī)虛擬拆裝系統(tǒng)更加完善,更加適合學(xué)生學(xué)習(xí)巖心鉆機(jī)的知識,系統(tǒng)除了開發(fā)拆裝模塊,還包括系統(tǒng)管理模塊和鉆機(jī)理論知識模塊,圖7為系統(tǒng)功能框架圖.
系統(tǒng)管理模塊讓系統(tǒng)結(jié)構(gòu)更加完整,使用戶對系統(tǒng)的操作更容易上手,對系統(tǒng)的框架結(jié)構(gòu)更容易掌握,有效地避免了繁瑣復(fù)雜的操作流程:鉆機(jī)理論知識模塊的設(shè)置解決單方面對鉆機(jī)進(jìn)行拆裝而對鉆機(jī)基礎(chǔ)知識掌握不足的問題.拆裝模塊是系統(tǒng)的核心模塊,在該模塊中設(shè)置了5 個拆裝對象,分別是鉆機(jī)整體、分動箱、卷揚(yáng)機(jī)、減速器以及回轉(zhuǎn)器,這樣的設(shè)置能夠讓用戶從整體到局部對鉆機(jī)結(jié)構(gòu)進(jìn)行認(rèn)知.系統(tǒng)管理模塊、鉆機(jī)理論知識模塊和拆裝模塊,這3 個模塊有機(jī)結(jié)合成一體,使得系統(tǒng)更加完整.
圖7 系統(tǒng)功能模塊圖
(2) 功能實(shí)現(xiàn)
為了使拆裝系統(tǒng)具備良好的交互性,增強(qiáng)用戶的拆裝體驗(yàn)感,系統(tǒng)除了在zSpace 基礎(chǔ)上開發(fā)了拆裝功能和增強(qiáng)現(xiàn)實(shí)外,還開發(fā)了縮放模型、爆炸動畫、重置模型、切換模型等幾種功能.圖8展示了系統(tǒng)交互功能框架.
圖8 系統(tǒng)功能框架圖
在拆卸裝配體之后,由于顯示器屏幕空間有限,對各個零部件進(jìn)行觀察學(xué)習(xí)時可能會遇到零件尺寸太小不便于觀察的問題,所以在系統(tǒng)中設(shè)計(jì)了模型縮放的功能,通過該改變模型的Scale 屬性實(shí)現(xiàn)這個功能.當(dāng)需要對模型進(jìn)行縮放時,讓觸筆發(fā)出的射線與模型發(fā)生碰撞,按下觸筆上的一個按鍵,拖動觸筆即可完成縮放.
爆炸動畫是了解鉆機(jī)結(jié)構(gòu)的另一手段.系統(tǒng)使用Unity3D 的動畫系統(tǒng)制作了鉆機(jī)及其重要零部件的爆炸動畫,對要制作動畫的模型的每一個零部件設(shè)置預(yù)定動作,使用動畫狀態(tài)機(jī)設(shè)置動畫邏輯,在程序中使用anima.SetBool(“anima_name”,true)對動畫進(jìn)行播放控制,從而實(shí)現(xiàn)模型爆炸的效果.重置模型可以將拆亂的模型恢復(fù)成原始摸樣,切換模型可以讓學(xué)生對多種模型進(jìn)行拆裝.
這些功能之間相互配合,使得用戶在拆裝系統(tǒng)上的操作更加自然,激發(fā)學(xué)生學(xué)習(xí)興趣,達(dá)到“以娛促教”的效果.
在虛擬拆裝系統(tǒng)中的UI 設(shè)計(jì),主要包括界面、字體、色彩等視覺設(shè)計(jì)以及按鈕、文本框等UI 控件設(shè)計(jì),這些可視化方面的設(shè)計(jì)與改良創(chuàng)造了用戶與虛擬環(huán)境間良好的交互媒介,使用戶進(jìn)入虛擬世界進(jìn)行輸入操作以及得到反饋的過程更加流暢與自然,從而實(shí)現(xiàn)了一套完整而連續(xù)的交互系統(tǒng).圖9~圖11為界面及功能的效果圖.
圖9 學(xué)習(xí)模塊選擇界面
圖10 拆裝界面及拆裝效果圖
圖11 增強(qiáng)現(xiàn)實(shí)模式
熟練掌握巖心鉆機(jī)結(jié)構(gòu)及相關(guān)理論知識,對提高地質(zhì)鉆探人員業(yè)務(wù)水平具有重要意義.通過對巖心鉆機(jī)虛擬實(shí)訓(xùn)需求分析,開發(fā)了一套包含虛擬拆裝和理論知識介紹的虛擬實(shí)訓(xùn)系統(tǒng).系統(tǒng)采用Solidworks 軟件建立鉆機(jī)模型后,聯(lián)合Unity3D 和zSpace 軟硬件平臺,以觸控筆為主要交互工具實(shí)現(xiàn)了對巖心鉆機(jī)部件及整機(jī)進(jìn)行拆裝演示,利用zView 資源包實(shí)現(xiàn)了拆裝過程的增強(qiáng)現(xiàn)實(shí)顯示效果.本系統(tǒng)已應(yīng)用于《工程機(jī)械設(shè)計(jì)》等課程的實(shí)踐教學(xué)環(huán)節(jié),并憑借交互方式靈活、AR 顯示等優(yōu)勢,激發(fā)了學(xué)習(xí)熱情,提高了虛擬實(shí)訓(xùn)的效果.本系統(tǒng)開發(fā)所采用的方法,對工程機(jī)械等復(fù)雜裝備的虛擬拆裝也具有一定的指導(dǎo)意義.