劉杰宇,單 奇
(西南交通大學機械工程學院,四川 成都 610031)
虛擬現(xiàn)實(virtual reality,VR),1992 年由美國國家科學基金資助的交互式系統(tǒng)項目工作組的報告提出,并作了全面論述——它是一種逼真的模擬人在自然環(huán)境中視覺、聽覺和運動行為的人機界面技術(shù),不同于傳統(tǒng)的三維動畫演示作品,突出特點是實時、逼真、開放、互動。它通過在多維信息空間上創(chuàng)建一個虛擬信息環(huán)境,使用戶具有身臨其境的沉浸感,具有完善的人機交互能力,并有助于啟發(fā)構(gòu)思。
伴隨現(xiàn)代化機械制造技術(shù)和進口裝備應用程度的不斷提高,對國內(nèi)工程機械行業(yè)從業(yè)者特別是售后維修人員的要求也越來越高。進口裝備的拆裝操作難度大、技術(shù)含量高、使用壽命有限[1],所以售后維修人員的日常拆卸、裝配訓練已經(jīng)成為影響裝備效能發(fā)揮的重要因素。目前的維修人員訓練中,存在下列缺陷:
1)進口裝備結(jié)構(gòu)功能復雜,造價昂貴,數(shù)量和機型有限,難以及時全面配備,學員的操作時間難以得到保證,造成了訓練工作的滯后。
2)傳統(tǒng)裝配維修培訓中,學員主要是通過分析二維工程圖紙以及裝配工藝流程圖來完成裝配任務,裝配訓練效率低且質(zhì)量不高。
3)實體裝備上進行訓練,需要許多其他實體裝備的支持,在訓練過程中存在著大量工具、零件和材料的損耗,訓練成本較高。
虛擬裝配是近十幾年興起的,是虛擬制造技術(shù)研究的重要方向,它利用計算機輔助設計技術(shù)、VR技術(shù)、計算機建模與仿真技術(shù)、信息技術(shù)等,建立一個具有較強真實感的虛擬環(huán)境,用戶可在虛擬環(huán)境中交互式地進行產(chǎn)品設計,裝配操作、規(guī)劃、檢驗和評價產(chǎn)品的裝配性能,并制定合理的裝配方案[2]。它可以避免或減少物理樣機的制作,縮短產(chǎn)品開發(fā)周期,降低成本,有利于產(chǎn)品并行開發(fā),提高維修人員的裝配質(zhì)量和效率,改善產(chǎn)品售后服務。
本文以某進口型號挖掘機的液壓系統(tǒng)核心部件——多路換向閥為對象,在充分利用先進CAD技術(shù)、VR技術(shù)的基礎(chǔ)上,通過研究復雜機械部件在實體建模、互動仿真、虛擬裝配等環(huán)節(jié)的實現(xiàn)方法和關(guān)鍵技術(shù),開發(fā)出一整套適應于工程機械行業(yè)從業(yè)者的虛擬裝配系統(tǒng)。通過該系統(tǒng),學員能夠在虛擬環(huán)境中觀察多路閥的裝配過程并直接操作零部件模型,有效地加深了學員對裝配任務的理解和感知。實踐結(jié)果表明:將其與傳統(tǒng)的人工圖文培訓方式結(jié)合起來,可以大大提高各類機械部件的裝配質(zhì)量和效率,改善產(chǎn)品售后服務質(zhì)量,提升檢修技師與學員的專業(yè)素質(zhì),減少日常培訓學習費用,提高企業(yè)的勞動生產(chǎn)率。
虛擬裝配系統(tǒng)總體結(jié)構(gòu)設計如圖1所示。
圖1 虛擬裝配系統(tǒng)設計示意圖
硬件平臺:專業(yè)圖形工作站(基于Windows/Intel架構(gòu))1臺。
軟件平臺:UG NX 8.0,Autodesk 3Ds Max 2012,Virtools Dev 5.0,Virtools-Max exporter,Virtools-Make Exe。
多路閥虛擬裝配系統(tǒng)具有向?qū)W員提供操作說明、演示多路閥拆裝過程動畫和互動式虛擬裝配等功能。系統(tǒng)設計流程包括:資料整理、實體建模、格式轉(zhuǎn)換、模型優(yōu)化、虛擬裝配和整合發(fā)布。在多路閥資料整理的基礎(chǔ)上,利用專業(yè)的機械三維建模軟件UG對各個零部件進行實體建模,輸出文件經(jīng)格式轉(zhuǎn)換后導入3Ds Max,模型優(yōu)化后導入Virtools,在三維世界編輯區(qū)(3D Layout)添加一系列行為模塊(behavior blocks)并編輯腳本,實現(xiàn)各種預定的功能。系統(tǒng)經(jīng)過整合發(fā)布后,學員可以在PC、Pad或其它移動設備終端上,對多路閥主要機械部件進行互動式虛擬裝配等日常培訓內(nèi)容,具有顯著的實用價值。
精確建模是整個虛擬裝配系統(tǒng)實現(xiàn)的基礎(chǔ),模型質(zhì)量直接決定了虛擬環(huán)境的真實度。多路閥主要零部件包括:殼體、各類閥芯總成、彈簧蓋、螺栓、螺釘、O型圈、彈簧座、彈簧、制動器、閥芯蓋、蓋板、液壓油堵頭、選配件等,圖2為旋轉(zhuǎn)閥芯總成。
圖2 旋轉(zhuǎn)閥芯總成
由于多路閥所含零部件種類多、數(shù)量大、結(jié)構(gòu)復雜,在建模過程中應考慮以下3個問題:
1)針對標準件如螺栓、O型圈、螺釘?shù)龋瑯?gòu)建標準件庫以減少重復性工作,提高建模效率。
2)應對復雜機械部件進行結(jié)構(gòu)分析,將復雜部件分解為幾類簡單零部件,盡量使零部件結(jié)構(gòu)由UG的基本特征要素組成。
3)選擇合理的建模順序。雖然不同的建模順序可以構(gòu)造出相同的模型結(jié)構(gòu),但不同方法構(gòu)造出的模型卻具有不同的穩(wěn)定性、可修改性和可驅(qū)動性[3]。當零部件數(shù)量加劇上升、系統(tǒng)容量不斷擴大時,這一點尤為重要。
由于Virtools無法直接讀取UG的三維模型文件,故需要借助3Ds Max進行文件格式轉(zhuǎn)換,將UG的模型文件最終轉(zhuǎn)換為*.nmo格式的文件,才可導入Virtools。UG NX 8.0具有豐富的文件格式轉(zhuǎn)換接口,能 夠 輸 出 VRML、STL、ProE、IGES、PhotoShop 在 內(nèi)的諸多文件格式。多路閥的零部件模型由UG輸出*.STL格式的文件,根據(jù)多路閥零件結(jié)構(gòu)樹,按照層級依次合理命名,這樣便于后臺零部件管理。將*.STL文件導入3Ds Max,對模型進行優(yōu)化,在導入時需要設置一系列參數(shù),包括鋸齒數(shù)目、焊接精度等,應該根據(jù)不同的精度要求選擇合理的參數(shù),否則導入到3Ds Max的零件模型會出現(xiàn)破面和特征丟失。由3Ds Max輸出*.nmo格式的文件時,首先要安裝Virtools提供的插件Virtools-Max exporter,同時注意參數(shù)設置。
雖然UG輸出的零部件模型尺寸、配合度精確,但是色澤、材質(zhì)、燈光都比較死板生硬,與實際使用的零部件有較大差異,真實度很低,因此需要在3Ds Max中進行一系列模型優(yōu)化處理。3Ds Max功能強大、插件豐富,有著出色的視覺渲染能力,渲染速度快,畫面質(zhì)量高。它可以最大程度地對多路閥各類零部件進行顏色渲染、材質(zhì)貼圖、表面紋理、燈光影像等處理,減少不必要的多邊形,提高顯示的刷新速率,增強系統(tǒng)的真實性和用戶體驗的沉浸性[4]。
Virtools除了自身的三維開發(fā)平臺Virtools Dev之外,還有5大可選模塊,分別是:物理屬性模塊、沉浸式平臺、人工智能模塊、Xbox開發(fā)模塊、網(wǎng)絡服務器模塊[5]。其包含數(shù)百個行為交互模塊BB,每個BB都是封裝了的行為控制函數(shù),并且提供了行為輸入、輸出,參數(shù)輸入、輸出4個引腳。通過對零件模型添加不同類型的BB,在Schematic中編輯一系列運動行為腳本,實現(xiàn)多路閥虛擬裝配過程的三維實時瀏覽、三維實體變換、三維場景管理、環(huán)境效果等復雜的三維程序開發(fā)。
首先在3D Layout區(qū)域?qū)?.nmo模型文件,然后通過對多路閥各零部件拆裝前后的空間位置坐標值進行控制,系統(tǒng)自動完成規(guī)定順序的拆裝操作演示。由于多路閥包含的零部件數(shù)目較多,本系統(tǒng)將多路閥總成分為兩個層級:(1)殼體——閥芯總成層級;(2)閥芯總成——零件層級。以閥芯總成——零件層級中的旋轉(zhuǎn)閥芯總成為例,按照螺釘、彈簧蓋、旋轉(zhuǎn)閥芯、外彈簧座、外彈簧、內(nèi)彈簧、制動器、內(nèi)彈簧座、內(nèi)六角螺栓、O型圈的拆卸工序構(gòu)建旋轉(zhuǎn)閥芯陣列。在3D Layout區(qū)域建立一個3D Frame基準點,坐標設置為(0,0,0),作為各零部件模型運動的參考點。通過陣列存儲旋轉(zhuǎn)閥芯各零件拆裝前后的坐標值,然后調(diào)用陣列迭代器(Iterator)對拆裝后的旋轉(zhuǎn)閥芯陣列進行遍歷,利用貝塞爾級數(shù)(Bezier Progression)和內(nèi)插運算(Interpolator)實現(xiàn)各零件拆裝前后坐標值的獲取以及零件空間坐標的變換過渡,最后通過設定位置坐標(Set Position)將各零件放置在拆裝后停留的實際空間位置[6]。旋轉(zhuǎn)閥芯的拆卸演示模塊腳本如圖3所示。
裝配過程與拆卸過程相反,只需將各零件拆裝前后的坐標位置調(diào)換即可。此外,為了便于學員全面地掌握拆裝過程中各類注意事項,應加以文字信息提示。當拆裝某一零件的操作有注意事項時,在該零件開始運動的瞬間觸發(fā)文字提示,界面?zhèn)冗咃@示相應文字內(nèi)容,零件到達既定位置后,文字內(nèi)容隱藏??紤]到用戶使用的舒適性,文字提示采用漸入漸出方式。
圖3 旋轉(zhuǎn)閥芯的拆卸演示模塊腳本
學員在互動裝配場景中,可以根據(jù)文字提示,通過鼠標點擊、拖動和鍵盤控制,在三維虛擬空間內(nèi)按照拆裝工序?qū)Χ嗦烽y總成進行交互式拆裝,還可以拾取具體的零件并瀏覽其三維信息。目前在所有的交互式裝配系統(tǒng)設計中,鼠標動作是核心內(nèi)容,需要解決鼠標在三維空間的拾取和定位、鼠標在拖動零部件時物體的位置和視角方向這兩個技術(shù)難題[7]。
鼠標動作檢測模塊腳本如圖4所示,其中2D Picking一直處于開啟狀態(tài),用于接收鼠標的狀態(tài),當鼠標拾取的物體為群組中的零部件時(Test輸出值為真),觸發(fā) Mouse Waiter,設定引腳參數(shù):Left Button Down Received連接 Keep Active的 In端口,Left Button Up Received連接Keep Active的Reset端口。當鼠標左鍵按下時觸發(fā)Keep Active,使得其后的行為模塊一直處于運行狀態(tài);當鼠標左鍵彈起時,關(guān)閉Keep Active后面的行為模塊。
圖4 鼠標動作檢測模塊腳本
鼠標拾取定位模塊如圖5所示,利用Get Mouse Displacement獲得鼠標相對運動的位移,其中X和Y兩個輸出值表示鼠標在X軸和Y軸的相對位移值,由于X、Y的輸出值為Integer型,在實際運用中單位和精度要求較為嚴格,故需要進行數(shù)值轉(zhuǎn)換,將其轉(zhuǎn)換為Float型。此外,選擇前文提到的3D Frames作為一個虛擬參考基準,用于輔助定位零部件的空間位移和視角方向。將上述X、Y轉(zhuǎn)換后的浮點數(shù)值實時賦給虛擬參考基準,再將其位移信息傳遞給拾取的零部件。用戶可以在零部件上點擊鼠標左鍵不放開,將零部件拖動至期望位置時,松開左鍵,實現(xiàn)零部件的鼠標拾取定位功能。
根據(jù)不同用戶的需求,本系統(tǒng)也可以實現(xiàn)由操作鍵盤來控制零部件運動的功能。鍵盤行為模塊是一系列3D Transformations子模塊與Switch On Key的組合,包括平移Translate、旋轉(zhuǎn)Rotate、縮放Scale、移動Move to等。用戶通過操作鍵盤來控制零部件的運動,W、S、A、D 控制上、下、左、右平移,LEFT、RIGHT控制向左、向右旋轉(zhuǎn),UP、DOWN控制放大、縮小。
圖5 鼠標拾取定位模塊
圖6 視角方向模塊腳本
視角方向模塊可以增強使用者與場景在交互過程中的真實性。要求編寫攝像機運動腳本,使其在進入場景后能夠上下左右平移、前進后退、左右旋轉(zhuǎn)和仰視俯視,這些均通過控制由視點指向參考點的視線變化來實現(xiàn)。視角方向模塊腳本如圖6所示,通過鼠標滾輪的滾動控制視線的前進和后退,點擊鼠標右鍵并拖動鼠標改變觀察角度,從而實現(xiàn)由不同視角方向觀察多路閥裝配和具體零件信息。
特別需要注意的是,由于液壓多路閥零部件數(shù)目繁多、裝配精密,單一場景必然無法展現(xiàn)特定零部件的所有信息,所以整個虛擬裝配系統(tǒng)在設計時分為多個場景,例如:多路閥總成場景、閥芯總成場景、單個零件場景等。這樣,用戶就可以在適合的場景中,直觀清晰地看到裝配體和零部件的所有細節(jié)。這也是本系統(tǒng)有別于其他虛擬裝配系統(tǒng)的特點,雖然在設計時工作量有所加大,但是避免了很多實踐中的客觀問題,減少了后期修改系統(tǒng)設計的風險,更加貼近用戶在實際工作中的需求。
多路閥虛擬裝配系統(tǒng)設計完成后,可以采用兩種方式進行整合發(fā)布:1)播放方式,將整個系統(tǒng)文件保存為*.vmo格式,就可以在任何一臺安裝有Virtools Player的計算機上運行播放。2)可執(zhí)行文件方式,通過插件Virtools-Make Exe將整個系統(tǒng)輸出打包為為一個可執(zhí)行文件*.exe,任意一臺計算機不用安裝任何插件就可以運行。本系統(tǒng)采用第二種方式,輸出的exe執(zhí)行文件還可以刻錄在光盤里,制成教學培訓光盤。在實際應用過程中,這種方式既省去了用戶安裝播放軟件的程序,又能使用戶方便快捷地進行虛擬裝配學習訓練。
本文研究的虛擬裝配系統(tǒng)可以使用戶真實、交互、全方位地掌握液壓多路閥的裝配過程,在工廠培訓、學校教學等領(lǐng)域都具有廣闊的應用前景。它不僅能夠滿足工程機械行業(yè)培訓任務的需要,也能為其他虛擬現(xiàn)實系統(tǒng)提供一定的參考,具有非常重要的現(xiàn)實意義。隨著近些年VR技術(shù)的蓬勃發(fā)展,其交互設備也推陳出新[8],本文作者目前正在研究包括數(shù)據(jù)手套、空間位置追蹤器、3D鼠標等設備在內(nèi)的驅(qū)動程序,以建立更完備的虛擬現(xiàn)實系統(tǒng)。
[1] 劉金林,曾凡明.基于Catia/Virtools的艦船主動力裝置虛擬維修訓練技術(shù)研究 [J].艦船科學技術(shù),2008,30(6):104-141.
[2] 李建廣,夏平均.虛擬裝配技術(shù)研究現(xiàn)狀及其發(fā)展[J].航空制造技術(shù),2010(3):34-38.
[3] 劉明昆.三維游戲設計師寶典-Virtools開發(fā)工具篇[M].成都:四川電子音像出版社,2005:38-65.
[4] 孫倩.基于3DS MAX的三維建模及其在Virtools環(huán)境中的應用[J].中國科技信息,2008(12):94-95.
[5] 劉明昆.三維游戲設計師寶典-Virtools游戲開發(fā)實戰(zhàn)[M].汕頭:電腦報電子音像出版社,2009:153-167.
[6] 徐英欣,王丹東,胥林.三維游戲設計師寶典-Virtools虛擬裝配制作實例[M].重慶:電腦報電子音像出版社,2009:27-53.
[7] 王丹東,王永友.基于Virtools的復雜機械設備虛擬裝配技術(shù)研究[J].中國民航飛行學院學報,2010,21(5):32-34.
[8] 沈可,蔣建國,彭太樂.基于增強現(xiàn)實的人機物理交互仿真系統(tǒng)研究[J].計算機仿真,2008,25(4):210-212.