前言:尋找寫作靈感?中文期刊網用心挑選的VR的自動化生產線實驗系統設計和實現,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
【摘要】簡要說明虛擬現實技術在職業院校實驗體系當中的作用,然后介紹如何開發基于虛擬現實技術的自動化生產線實驗系統,從框架設計、功能架構搭建、設計流程、具體制作過程,重點展示利用unity插件vrtk制作虛擬項目的技巧。
【關鍵詞】虛擬現實;VR;自動化生產線;unity;vrtk
職業院校一直重視實驗教學,實驗教學在它的課程體系占用很重要地位,通過實驗教學,培養學生的理論應用實踐和創新能力。在以往的實驗教學環境下,限制于實際條件的約束,學生只能在限定的時間和地點,利用有限的實驗設施,完成規定的實訓內容。為此,以往實驗室的實驗是完成具有程序化的操作命令,極大制約了對學生動手能力及工程創新能力的培養。在這種背景下,利用Photoshop、3DSMAX、Unity3D等技術,結合htcvive硬件設備,開發一套基于虛擬現實(VR)技術的自動化生產線實驗系統,讓學生身臨虛擬實驗現場,自由觀察虛擬實驗設備,進行設備虛擬拆裝練習的虛擬實驗系統,解決實驗師實驗實訓設備不足、實驗受時間地點限制的問題,提高教學效果。
1自動化生產線實驗系統開發總體架構框架設計
制作一個好的系統,首先我們要有一個總體的架構。根據自動化生產線實驗的教學需要,我們設計了這個系統開發方法,系統分別從調查分析,需求報告,開發技術可行性分析,實際開發這五個方面進行構思開發[1]。系統框架圖如圖1所示。
2自動化生產線實驗系統功能架構搭建
在設計好系統總體構架的基礎上,接著設計自動化生產線實驗系統的功能架構。經過前面的調查分析和形成的需求報告,設計出來這樣的架構:一部分是設備展示模塊,一部分是設備拆裝模塊。
2.1設備展示
根據教學的需要,我們把自動化生產線上的主要部件,單獨拿出來進行展示,展示的設備有:變頻器、電動機、plc等。這些虛擬設備都是可以進行360度觀察的,便于學生了解每個設備的細節。
2.2設備拆裝
這是自動化生產線實驗系統的核心部分,通過對自動化生產線的拆裝,可以讓學生掌握生產線拆裝的原理,方法和過程。
3自動化生產線實驗系統開發設計流程
對于自動化生產線實驗系統,首先要收集整個場景所需要的數據圖片資料,然后通過這些數據圖片資料為基礎建立場景模型,為模型添加貼圖、材質,優化處理后將其導入到unity3d中,進行場景模型渲染,產生逼真的虛擬場景。在虛擬場景中,通過鏈接硬件輸入設備htcvive,并用c#進行編程,對虛擬設備進行交互操作[2]。本系統技術實現路線如圖2所示。
(1)與一線實驗教師交流,了解教師的具體需求,包括各種設備的建模、精度、交互、文本說明等。
(2)觀察真實實驗設備,拍攝照片與視頻,獲取實驗設備的真實資料。所需資料包括設備的三視圖、設備的顏色、設備的位置、設備的運動軌跡等信息。
(3)實現虛擬場景。三維模型是整個系統開發的最基礎的部分,自動化生產線系統主要包括自動化生產線整套模型、電動機模型、變頻器模型、PLC模型。
(4)優化三維模型。由于三維模型的數據量比較大,對電腦的要求比較高,為了降低對電腦的要求,對模型進行優化,適合于普通電腦的運行,并且保證運行的流暢。
(5)設計導入虛擬引擎,實現虛擬交互操作。分別將模型文件導入到Unity引擎中,設置場景,添加天空盒效果、光照效果。
(6)連接HTCVive設備,進行漫游和虛擬拆裝設計。連接上HTCVive,利用手柄控制器對場景進行操作,對實驗室場景進行漫游,對單個虛擬實驗設備進行觀察,對自動化生產線進行拆裝實驗練習。
(7)設計UI界面。為了提高用戶體驗,設計美觀整潔的UI界面,包括歡迎界面、操作界面、文字說明等。
4自動化生產線實驗系統制作過程
4.1用3dsmax制作三維模型
三維模型是整個虛擬系統的基礎,沒有它,一切都實現不了。首先,制作模型的時候,先設置好系統單位為毫米,因為這些設備并不屬于很龐大的設備,選擇毫米單位比較適合。其次,選擇多邊形建模方式,這樣可以控制好模型的面數,這在后期的虛擬引擎中的運行,特別關鍵。如果模型的面數太多,會影響系統運行的流暢性;嚴重的時候會導致系統的崩潰,無法運行。為了保證模型的精致和真實,對模型的邊角都采用切角進行圓滑,而不是用網格平滑修改器,因為網格平滑修改器會成倍增加網格數。如圖3、圖4、圖5、圖6所示。
4.2貼圖的制作
關于材質和貼圖部分,實現起來比較簡單,用max默認的標準材質,材質的漫反射基本就是調金屬的光滑反射就行,虛擬實驗室的虛擬空間采用位圖貼圖,貼了墻紙、畫框的圖片、地板的磚塊等。
4.3導出fbx模型
在max中并不用放置燈光,因為后面會把模型導入到unity3d中,在unity中再設置燈光。導出模型的時候使用fbx格式,在彈出的對話框中,選擇包括多媒體選項,這樣在導出的模型文件才會附帶上貼圖。
4.4fbx模型導入unity3d
模型導入untiy3d中的時候,最好是分單個模型導入,這樣對電腦的壓力會小很多。導入模型后,貼圖也會跟進來。然后,在unity3d中打燈光,并進行烘焙。
4.5連接硬件設備HtcVive
鏈接外設HtcVive。在unity3d中用c#語言進行編程,控制硬件手柄的各種動作,包括漫游、拿起、放下、安裝等操作。
4.6VRTK插件的使用
VirtualRealityToolkit簡寫為VRTK,它是SteamVRToolkit繼承而來,最早支撐Htcvive,后來的版本陸續支持其他VR平臺的SDK,如Oculus、Daydream、GearVR等,所以改名為VRTK。它是作為unity的插件存在,通過Unity3d進行虛擬現實開發開發,開發者不需要太多的編程,只需要利用里面的模塊,就能完成大部分虛擬現實開發內容,大大提高開發項目的效率。VRTK插件的功能很多,主要應用漫游及位置傳送和手柄拖拽物體到固定空間位置這兩個功能。
4.6.1漫游及位置傳送
在這個自動化生產線實驗系統中,需要操作人員移動位置。具體實現的效果是戴上htcvive頭套,按下手柄的觸摸板按鈕將發射一條拋物線,松開觸摸板將立即傳送到拋物線指向的目標位置,這就是位置的傳送。要實現這個功能,首先在場景中創建一個空物體,在上面綁上VRTK_SDKManager腳本程序。其中,在ScriptAliasLeft或者RightController項中所設置的物體分別是作為該空物體的子物體的兩個物體。將在這兩個子物體上綁定控制腳本程序,將自動綁定到對應的左右手柄上,這樣更方便管理而且不會破壞[CameraTig]物體的預制體的鏈接。在該物體下再新建一個空物體,命名為Play_Area,并在上面綁上VRTK_BasicTeleport腳本。這樣設置之后,就擁有了基礎傳送的功能。
4.6.2手柄拖拽物體到固定空間位置
手柄拖拽物體到固定空間位置,效果如圖7所示。首先,配置左右手柄[Left/RightController]。在[Left/RightController]對象物體上分別添加VRTK_InteractGrab及VRTK_InteractTouch兩個組件。其次,配置可拖拽對象物體。在可交互物體上添加剛體Rigidbody、交互對象VRTk_InteractableObject、子對象控制抓取VRTK_Chil⁃dOfControllerGrabAttach以及交換控制抓取VRTK_Swap⁃ControllerGrabAction組件,同時將子對象控制抓取VRTK_ChildOfControllerGrabAttach組件和交換控制抓取VRTK_SwapControllerGrabAction組件添加到交互對象VRTk_InteractableObject組件的變量引用中。最后,配置拖拽空間位置物體,拖拽物體動作配置就完成了。此外,還可以用手柄發射射線拖拽物體到指定空間坐標位置。具體做法是在左右手柄[Left/RightController]物體上添加手柄激光射線腳本模塊,同時把VRTK_Point⁃er組件的InteractWithObjects勾選上即可[3]。
4.7根據用戶體驗,美化界面
為了提高用戶體驗,我們特別制作了UI場景界面,虛擬舞臺場景,如圖8、圖9所示。在開頭畫面制作了菜單選項,分操作說明、點擊進入、退出三個選項。具體場景跳轉關鍵代碼如下:
4.8打包生成可執行文件,發布到pc端
充分利用unity的跨平臺的特點,我們最后可以把文件打包成pc端可執行程序。并進行調節測試,完善程序。
5總結
本自動化生產線虛擬實驗系統,有清晰的思路,有完整的用戶操作界面,有符合實驗標準的虛擬操作,適合當前虛擬現實技術在職業院校實驗課程的使用,并能取得良好的效果,特別是在職業院校實驗實訓設備及經費缺少的情況下,會發揮更大的作用。另外,通過這個系統的開發,也給其它的自動化類、電力類、機械類、汽車類虛擬實驗系統的開發提供了很好的思路及解決方案。
作者:陳平 郭平 單位:廣西水利電力職業技術學院