蔡 寶,朱文華,孫張馳,顧鴻良
(上海第二工業大學 工程訓練中心,上海 201209)
隨著計算機顯示技術的快速發展,虛擬現實(virtual reality,VR)技術的應用研究愈發深入,并在高危險、難實現、難操作、難觀察的實驗教學和實踐教學中得到廣泛應用,其中機械加工實訓教學是其典型應用之一[1-2]。國內在機械加工虛擬仿真方面有很多科研成果,例如四開動梁龍門式五軸聯動高速數控雕銑機床虛擬加工仿真系統、虛擬車床加工過程仿真系統、基于VERICUT 仿真平臺的車銑復合加工中心虛擬仿真加工系統、數控機床機械結構的虛擬裝配與運動仿真實驗等[3-8]。然而國內對于機械加工虛擬仿真系統的開發主要是實現機床的虛擬功能,而且虛擬現實的表現形式比較單一,系統的沉浸性和可交互性也有待完善。本文以銑床切削加工為例,研究開發虛擬現實技術的多種表現形式,使其具有更好的沉浸性與交互性。
在銑床切削加工虛擬現實仿真技術的研究中,首先應用傳統的Unity3D 虛擬仿真軟件對機床加工進行仿真開發,然后分別進行 zSpace 虛擬現實開發和Vuforia 增強現實開發,最后基于裸眼立體的畫面跨屏顯示是建立在zSpace 虛擬現實開發基礎之上進行。
基于zSpace 的虛擬現實系統是在Unity3D 軟件基礎之上建立的。zSpace 提供zCore 開發包,將開發包導入 Unity3D 中便可進行后續開發。開發過程包含 3個核心步驟:模型準備、交互方式開發和碰撞檢測。
三維模型的準備包含幾何建模、物理建模和行為建模3 部分。
(1)幾何建模。使用SolidWorks 建模軟件建立幾何形狀,如圖1 所示。建模時應將機床運動部件與靜止部件分開,以便后續添加運動指令。

圖1 銑床三維模型
(2)物理建模。在立體 Maxs 和 Photoshop 軟件中對幾何模型進行貼圖和渲染。為了使模型更逼真,將相機拍下的實際銑床表面圖案導入 Photoshop 中,進行校正處理后作為素材。在Maya 中進行貼圖操作,銑床操作面板貼圖前后的效果比較如圖2 所示。

圖2 貼圖前后效果對比
(3)運動建模。在Maya 中描述虛擬模型動作與行為邏輯,包括銑床基本運動和切削加工過程。由于該內容單一,本文未列出。
zSpace 虛擬現實是整合現實工作環境的桌面式虛擬現實系統[9-10],它具有高保真的立體顯示系統和低延遲的跟蹤系統。
zSpace 虛擬現實使用的是Unity3D 開發引擎。傳統的人機交互操作大多是通過鼠標和鍵盤手柄完成,而zSpace 提供了6 自由度的交互筆,故在開發虛擬銑床切削加工VR 系統時,將UI 交互改為三維模型直接交互的方式,使其交互性能更為自然。
使用Unity3D 中的LineRender 創建一個可調整寬度、長度的光線來指引現實中的交互筆在虛擬世界中的方向。當交互筆與虛擬模型碰撞時,筆尖會自適應地依附在虛擬模型表面,提示用戶當前可以進行交互,其關鍵程序如下:

虛擬銑床切削過程必須符合實際銑床切削加工的邏輯順序。首先對實際切削數據進行采集,包括銑床切削用量和運動參數等,然后在虛擬切削的程序中增加邏輯判斷與碰撞檢測功能,從而使得整個切削過程既具有邏輯控制性,也符合實際的工藝要求。
Unity3D 中的碰撞檢測是使虛擬銑床切削過程符合邏輯的關鍵環節,其功能不僅是防止虛擬銑床刀具在切削過程中運動部件超出形成范圍,避免由操作失誤導致的部件間的碰撞,還要作為觸發器,觸發連帶的切削動作。
碰撞檢測分為兩種:一種是切削加工碰撞檢測,即如果工件與刀具發生碰撞,表示正在進行切削,反之表示未進行切削;另一種是機床運動部件碰撞檢測,即如果部件間發生碰撞,則表示其運動越界或者超出規定行程,須停止運動,否則可繼續運動。
開發虛擬銑床切削加工的跨屏顯示技術,其目的是更好地顯示內容和進行信息的傳遞,而zSpace 虛擬現實顯示的立體畫面,跨屏幕展示的也為立體畫面,zSpace 虛擬現實屏幕為 26 英寸,立體顯示器屏幕為70 英寸,可適用于一般的教學、展覽等多人互動場景。為了達到zSpace 立體畫面屏幕的分享功能,將zSpace虛擬現實與裸眼立體顯示設備相結合,在zSpace 虛擬現實的基礎上進行開發,具體實現步驟如下:
(1)創建虛擬跨屏相機。在Unity3D 軟件中創建一個跨屏幕照相機,并設置相關參數。參數包括聚焦位置、相機小孔、聚焦尺寸、物體聚焦,相機的方位、角度和投影矩陣。
(2)設置渲染紋理,用于接收Unity3D 畫面。在Unity3D 軟件的場景中創建 RenderTexture 型渲染紋理,此渲染紋理實現DLL 渲染;設置3 種紋理渲染格式,包括s3d(彩色+深度)格式、sbs(左右格式或者上下格式)、null 其他格式。設置渲染紋理分辨率為1920×1080 像素,關鍵代碼如下:


(3)綁定zCore 中的相機。將創建的虛擬相機綁定于zSpace 中的任意一立體相機,即可進行深度方向的渲染。
(4)設置相機參數,形成立體畫面。調整相機的位置等相關參數,使裸眼立體顯示器中的畫面有較好的立體感。裸眼顯示屏幕設置為每25 ms 刷新一次,使畫面傳輸流暢。
如圖 3 所示是按照上述步驟實現的裸眼立體+虛擬現實銑床加工系統跨屏幕顯示畫面,圖中左下為zSpace 虛擬現實立體畫面,右上為裸眼立體跨屏顯示畫面。由于裸眼立體屏幕較大(70 英寸),可以實現立體畫面屏幕的分享。

圖3 裸眼立體+虛擬現實跨屏顯示畫面
增強現實(augmented reality,AR)是近年來發展迅速的虛擬現實技術,其沉浸感主要來源于虛擬場景與現實場景的融合。增強現實的交互性是指現實世界的特征物體與虛擬世界的場景之間的交互,它可拓展人們對現實世界的認知[11]。增強現實利用移動設備的攝像頭采集真實環境信息,并將本地或網絡上的虛擬信息通過特殊處理后疊加顯示,實現增強現實的效果[12]。
銑床加工AR 系統是在Unity3D 虛擬仿真的基礎上開發的,Vuforia 可作為插件導入后直接進行使用,其開發關鍵是特征圖的識別。
特征圖的識別準確與否直接關系到最終顯示效果。識別圖一般為彩色圖,黑白二值圖不利于照相機進行圖的特征識別。通常會設置識別閥值,照相機在識別特征圖時會產生一個實際值,當實際值大于閥值時才會識別,否則識別失敗。當照相機遠離特征圖時,該實際值會變小,識別率變低;當照相機靠近特征圖時,該實際值會變大,識別率變高。
為了能方便、有效地進行虛擬銑床AR 演示和學習,開發了基于移動端(通常為安卓操作系統)的虛擬銑床增強現實APP。按照圖4 所示銑床加工AR 系統的操作流程,需先通過掃描二維碼下載APP 打包文件和特征圖,文件格式為 apk;APP 安裝完成后即可進行特征圖的識別,識別不同的特征圖即可顯示不同的內容。顯示的內容主要包括銑床的基本結構、工作原理、切削加工3 部分。APP 不需借助其他設備,僅利用手機或者平板電腦即可進行操作學習。實踐教學表明:融入虛擬銑床APP 的虛實結合的工程實踐課程能夠加深學生對銑削加工的理解和認識。

圖4 移動端AR 操作流程
本文以銑床加工為例探究了機械加工的虛擬仿真實踐教學方法,將裸眼立體顯示技術與zSpace 虛擬現實開發相結合進行跨屏顯示,初步形成虛實結合的教學體系。作為本研究的后續研究,將以單體設備的虛擬仿真為基礎,開發制造系統的虛擬化實踐教學平臺,特別要研究智能制造系統與虛擬現實技術的融合以及制造系統虛擬化的一般方法。