劉杰宇,單 奇
(西南交通大學機械工程學院,四川 成都 610031)
虛擬現實(virtual reality,VR),1992 年由美國國家科學基金資助的交互式系統項目工作組的報告提出,并作了全面論述——它是一種逼真的模擬人在自然環境中視覺、聽覺和運動行為的人機界面技術,不同于傳統的三維動畫演示作品,突出特點是實時、逼真、開放、互動。它通過在多維信息空間上創建一個虛擬信息環境,使用戶具有身臨其境的沉浸感,具有完善的人機交互能力,并有助于啟發構思。
伴隨現代化機械制造技術和進口裝備應用程度的不斷提高,對國內工程機械行業從業者特別是售后維修人員的要求也越來越高。進口裝備的拆裝操作難度大、技術含量高、使用壽命有限[1],所以售后維修人員的日常拆卸、裝配訓練已經成為影響裝備效能發揮的重要因素。目前的維修人員訓練中,存在下列缺陷:
1)進口裝備結構功能復雜,造價昂貴,數量和機型有限,難以及時全面配備,學員的操作時間難以得到保證,造成了訓練工作的滯后。
2)傳統裝配維修培訓中,學員主要是通過分析二維工程圖紙以及裝配工藝流程圖來完成裝配任務,裝配訓練效率低且質量不高。
3)實體裝備上進行訓練,需要許多其他實體裝備的支持,在訓練過程中存在著大量工具、零件和材料的損耗,訓練成本較高。
虛擬裝配是近十幾年興起的,是虛擬制造技術研究的重要方向,它利用計算機輔助設計技術、VR技術、計算機建模與仿真技術、信息技術等,建立一個具有較強真實感的虛擬環境,用戶可在虛擬環境中交互式地進行產品設計,裝配操作、規劃、檢驗和評價產品的裝配性能,并制定合理的裝配方案[2]。它可以避免或減少物理樣機的制作,縮短產品開發周期,降低成本,有利于產品并行開發,提高維修人員的裝配質量和效率,改善產品售后服務。
本文以某進口型號挖掘機的液壓系統核心部件——多路換向閥為對象,在充分利用先進CAD技術、VR技術的基礎上,通過研究復雜機械部件在實體建模、互動仿真、虛擬裝配等環節的實現方法和關鍵技術,開發出一整套適應于工程機械行業從業者的虛擬裝配系統。通過該系統,學員能夠在虛擬環境中觀察多路閥的裝配過程并直接操作零部件模型,有效地加深了學員對裝配任務的理解和感知。實踐結果表明:將其與傳統的人工圖文培訓方式結合起來,可以大大提高各類機械部件的裝配質量和效率,改善產品售后服務質量,提升檢修技師與學員的專業素質,減少日常培訓學習費用,提高企業的勞動生產率。
虛擬裝配系統總體結構設計如圖1所示。

圖1 虛擬裝配系統設計示意圖
硬件平臺:專業圖形工作站(基于Windows/Intel架構)1臺。
軟件平臺:UG NX 8.0,Autodesk 3Ds Max 2012,Virtools Dev 5.0,Virtools-Max exporter,Virtools-Make Exe。
多路閥虛擬裝配系統具有向學員提供操作說明、演示多路閥拆裝過程動畫和互動式虛擬裝配等功能。系統設計流程包括:資料整理、實體建模、格式轉換、模型優化、虛擬裝配和整合發布。在多路閥資料整理的基礎上,利用專業的機械三維建模軟件UG對各個零部件進行實體建模,輸出文件經格式轉換后導入3Ds Max,模型優化后導入Virtools,在三維世界編輯區(3D Layout)添加一系列行為模塊(behavior blocks)并編輯腳本,實現各種預定的功能。系統經過整合發布后,學員可以在PC、Pad或其它移動設備終端上,對多路閥主要機械部件進行互動式虛擬裝配等日常培訓內容,具有顯著的實用價值。
精確建模是整個虛擬裝配系統實現的基礎,模型質量直接決定了虛擬環境的真實度。多路閥主要零部件包括:殼體、各類閥芯總成、彈簧蓋、螺栓、螺釘、O型圈、彈簧座、彈簧、制動器、閥芯蓋、蓋板、液壓油堵頭、選配件等,圖2為旋轉閥芯總成。

圖2 旋轉閥芯總成
由于多路閥所含零部件種類多、數量大、結構復雜,在建模過程中應考慮以下3個問題:
1)針對標準件如螺栓、O型圈、螺釘等,構建標準件庫以減少重復性工作,提高建模效率。
2)應對復雜機械部件進行結構分析,將復雜部件分解為幾類簡單零部件,盡量使零部件結構由UG的基本特征要素組成。
3)選擇合理的建模順序。雖然不同的建模順序可以構造出相同的模型結構,但不同方法構造出的模型卻具有不同的穩定性、可修改性和可驅動性[3]。當零部件數量加劇上升、系統容量不斷擴大時,這一點尤為重要。
由于Virtools無法直接讀取UG的三維模型文件,故需要借助3Ds Max進行文件格式轉換,將UG的模型文件最終轉換為*.nmo格式的文件,才可導入Virtools。UG NX 8.0具有豐富的文件格式轉換接口,能 夠 輸 出 VRML、STL、ProE、IGES、PhotoShop 在 內的諸多文件格式。多路閥的零部件模型由UG輸出*.STL格式的文件,根據多路閥零件結構樹,按照層級依次合理命名,這樣便于后臺零部件管理。將*.STL文件導入3Ds Max,對模型進行優化,在導入時需要設置一系列參數,包括鋸齒數目、焊接精度等,應該根據不同的精度要求選擇合理的參數,否則導入到3Ds Max的零件模型會出現破面和特征丟失。由3Ds Max輸出*.nmo格式的文件時,首先要安裝Virtools提供的插件Virtools-Max exporter,同時注意參數設置。
雖然UG輸出的零部件模型尺寸、配合度精確,但是色澤、材質、燈光都比較死板生硬,與實際使用的零部件有較大差異,真實度很低,因此需要在3Ds Max中進行一系列模型優化處理。3Ds Max功能強大、插件豐富,有著出色的視覺渲染能力,渲染速度快,畫面質量高。它可以最大程度地對多路閥各類零部件進行顏色渲染、材質貼圖、表面紋理、燈光影像等處理,減少不必要的多邊形,提高顯示的刷新速率,增強系統的真實性和用戶體驗的沉浸性[4]。
Virtools除了自身的三維開發平臺Virtools Dev之外,還有5大可選模塊,分別是:物理屬性模塊、沉浸式平臺、人工智能模塊、Xbox開發模塊、網絡服務器模塊[5]。其包含數百個行為交互模塊BB,每個BB都是封裝了的行為控制函數,并且提供了行為輸入、輸出,參數輸入、輸出4個引腳。通過對零件模型添加不同類型的BB,在Schematic中編輯一系列運動行為腳本,實現多路閥虛擬裝配過程的三維實時瀏覽、三維實體變換、三維場景管理、環境效果等復雜的三維程序開發。
首先在3D Layout區域導入*.nmo模型文件,然后通過對多路閥各零部件拆裝前后的空間位置坐標值進行控制,系統自動完成規定順序的拆裝操作演示。由于多路閥包含的零部件數目較多,本系統將多路閥總成分為兩個層級:(1)殼體——閥芯總成層級;(2)閥芯總成——零件層級。以閥芯總成——零件層級中的旋轉閥芯總成為例,按照螺釘、彈簧蓋、旋轉閥芯、外彈簧座、外彈簧、內彈簧、制動器、內彈簧座、內六角螺栓、O型圈的拆卸工序構建旋轉閥芯陣列。在3D Layout區域建立一個3D Frame基準點,坐標設置為(0,0,0),作為各零部件模型運動的參考點。通過陣列存儲旋轉閥芯各零件拆裝前后的坐標值,然后調用陣列迭代器(Iterator)對拆裝后的旋轉閥芯陣列進行遍歷,利用貝塞爾級數(Bezier Progression)和內插運算(Interpolator)實現各零件拆裝前后坐標值的獲取以及零件空間坐標的變換過渡,最后通過設定位置坐標(Set Position)將各零件放置在拆裝后停留的實際空間位置[6]。旋轉閥芯的拆卸演示模塊腳本如圖3所示。
裝配過程與拆卸過程相反,只需將各零件拆裝前后的坐標位置調換即可。此外,為了便于學員全面地掌握拆裝過程中各類注意事項,應加以文字信息提示。當拆裝某一零件的操作有注意事項時,在該零件開始運動的瞬間觸發文字提示,界面側邊顯示相應文字內容,零件到達既定位置后,文字內容隱藏。考慮到用戶使用的舒適性,文字提示采用漸入漸出方式。

圖3 旋轉閥芯的拆卸演示模塊腳本
學員在互動裝配場景中,可以根據文字提示,通過鼠標點擊、拖動和鍵盤控制,在三維虛擬空間內按照拆裝工序對多路閥總成進行交互式拆裝,還可以拾取具體的零件并瀏覽其三維信息。目前在所有的交互式裝配系統設計中,鼠標動作是核心內容,需要解決鼠標在三維空間的拾取和定位、鼠標在拖動零部件時物體的位置和視角方向這兩個技術難題[7]。
鼠標動作檢測模塊腳本如圖4所示,其中2D Picking一直處于開啟狀態,用于接收鼠標的狀態,當鼠標拾取的物體為群組中的零部件時(Test輸出值為真),觸發 Mouse Waiter,設定引腳參數:Left Button Down Received連接 Keep Active的 In端口,Left Button Up Received連接Keep Active的Reset端口。當鼠標左鍵按下時觸發Keep Active,使得其后的行為模塊一直處于運行狀態;當鼠標左鍵彈起時,關閉Keep Active后面的行為模塊。

圖4 鼠標動作檢測模塊腳本
鼠標拾取定位模塊如圖5所示,利用Get Mouse Displacement獲得鼠標相對運動的位移,其中X和Y兩個輸出值表示鼠標在X軸和Y軸的相對位移值,由于X、Y的輸出值為Integer型,在實際運用中單位和精度要求較為嚴格,故需要進行數值轉換,將其轉換為Float型。此外,選擇前文提到的3D Frames作為一個虛擬參考基準,用于輔助定位零部件的空間位移和視角方向。將上述X、Y轉換后的浮點數值實時賦給虛擬參考基準,再將其位移信息傳遞給拾取的零部件。用戶可以在零部件上點擊鼠標左鍵不放開,將零部件拖動至期望位置時,松開左鍵,實現零部件的鼠標拾取定位功能。
根據不同用戶的需求,本系統也可以實現由操作鍵盤來控制零部件運動的功能。鍵盤行為模塊是一系列3D Transformations子模塊與Switch On Key的組合,包括平移Translate、旋轉Rotate、縮放Scale、移動Move to等。用戶通過操作鍵盤來控制零部件的運動,W、S、A、D 控制上、下、左、右平移,LEFT、RIGHT控制向左、向右旋轉,UP、DOWN控制放大、縮小。

圖5 鼠標拾取定位模塊

圖6 視角方向模塊腳本
視角方向模塊可以增強使用者與場景在交互過程中的真實性。要求編寫攝像機運動腳本,使其在進入場景后能夠上下左右平移、前進后退、左右旋轉和仰視俯視,這些均通過控制由視點指向參考點的視線變化來實現。視角方向模塊腳本如圖6所示,通過鼠標滾輪的滾動控制視線的前進和后退,點擊鼠標右鍵并拖動鼠標改變觀察角度,從而實現由不同視角方向觀察多路閥裝配和具體零件信息。
特別需要注意的是,由于液壓多路閥零部件數目繁多、裝配精密,單一場景必然無法展現特定零部件的所有信息,所以整個虛擬裝配系統在設計時分為多個場景,例如:多路閥總成場景、閥芯總成場景、單個零件場景等。這樣,用戶就可以在適合的場景中,直觀清晰地看到裝配體和零部件的所有細節。這也是本系統有別于其他虛擬裝配系統的特點,雖然在設計時工作量有所加大,但是避免了很多實踐中的客觀問題,減少了后期修改系統設計的風險,更加貼近用戶在實際工作中的需求。
多路閥虛擬裝配系統設計完成后,可以采用兩種方式進行整合發布:1)播放方式,將整個系統文件保存為*.vmo格式,就可以在任何一臺安裝有Virtools Player的計算機上運行播放。2)可執行文件方式,通過插件Virtools-Make Exe將整個系統輸出打包為為一個可執行文件*.exe,任意一臺計算機不用安裝任何插件就可以運行。本系統采用第二種方式,輸出的exe執行文件還可以刻錄在光盤里,制成教學培訓光盤。在實際應用過程中,這種方式既省去了用戶安裝播放軟件的程序,又能使用戶方便快捷地進行虛擬裝配學習訓練。
本文研究的虛擬裝配系統可以使用戶真實、交互、全方位地掌握液壓多路閥的裝配過程,在工廠培訓、學校教學等領域都具有廣闊的應用前景。它不僅能夠滿足工程機械行業培訓任務的需要,也能為其他虛擬現實系統提供一定的參考,具有非常重要的現實意義。隨著近些年VR技術的蓬勃發展,其交互設備也推陳出新[8],本文作者目前正在研究包括數據手套、空間位置追蹤器、3D鼠標等設備在內的驅動程序,以建立更完備的虛擬現實系統。
[1] 劉金林,曾凡明.基于Catia/Virtools的艦船主動力裝置虛擬維修訓練技術研究 [J].艦船科學技術,2008,30(6):104-141.
[2] 李建廣,夏平均.虛擬裝配技術研究現狀及其發展[J].航空制造技術,2010(3):34-38.
[3] 劉明昆.三維游戲設計師寶典-Virtools開發工具篇[M].成都:四川電子音像出版社,2005:38-65.
[4] 孫倩.基于3DS MAX的三維建模及其在Virtools環境中的應用[J].中國科技信息,2008(12):94-95.
[5] 劉明昆.三維游戲設計師寶典-Virtools游戲開發實戰[M].汕頭:電腦報電子音像出版社,2009:153-167.
[6] 徐英欣,王丹東,胥林.三維游戲設計師寶典-Virtools虛擬裝配制作實例[M].重慶:電腦報電子音像出版社,2009:27-53.
[7] 王丹東,王永友.基于Virtools的復雜機械設備虛擬裝配技術研究[J].中國民航飛行學院學報,2010,21(5):32-34.
[8] 沈可,蔣建國,彭太樂.基于增強現實的人機物理交互仿真系統研究[J].計算機仿真,2008,25(4):210-212.