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