李仁鎖,王 瑞,張政潑,潘守鵬
(桂林航天工業學院,廣西 桂林 541004)
隨著計算機技術的發展,硬件和軟件的處理能力不斷提升,虛擬仿真技術構造的虛擬環境越來越逼真,體驗感也越來越真實[1]。計算機在教育教學和工程訓練等領域的應用也越來越廣泛,應用層次越來越高。教育部要求基于建設虛擬仿真實驗室這一任務已對各高校提出并有部分高校已建成。《廣西教育事業發展“十四五”規劃》(桂政發〔2021〕35號)也提出:推動建設一批自治區一流線上本科課程、線上線下混合式一流課程、虛擬仿真實驗教學一流課程、職業教育示范課等。組織開展“互聯網+教育”示范試點建設”。
近年來,隨著仿真技術的發展和完善,也因新冠疫情要開展線上教學而助力推進了線上教學活動的全面開展。我國許多高校的機械類課程以眾多課程的課內實驗內容為依據,分別依托不同的仿真軟件,開發出了許多虛擬仿真實驗項目[2,3]。本文依托桂林航天工業學院已有的機械制造技術課程線下“機床拆裝實驗”項目,使用UE4虛幻引擎探索開發逼真的線上虛擬仿真實驗項目,以方便疫區學生在未返校的情況下進行線上實驗和校內學生“線下+線上”實驗的目的。
首先要對CA6140普通車床內182個零件進行尺寸測繪和數據收集;同時測出我校拆裝室建筑物尺寸和車間內桌椅貨物架的尺寸。獲得數據依據實測數據后,分別在UG中進行三維建模和裝配[4]。裝配完成后以STL或STP格式導出。本次實踐使用的是STL格式導入第三方軟件3Dmax[5],然后轉換成FBX格式導出,再以FBX格式導入UE4平臺軟件中。接著在UE4進行模型裝配和碰撞體設置。裝配完成后使用UE4藍圖編輯功能對各部件進行相關動作加持。完成相關功能動作設置后,檢測是否出現動作不自然或者有沒有達到預想效果,而后進行虛擬拆裝機床零部測試。圖1為技術路線圖。

圖1 技術路線圖
CA6140機床是由若干個裝配單元組成,如合件、組件和部件等。在進行拆裝時需要進行劃分裝配單元,確定裝配順序,裝配順序確定一般按先下后上、先內后外、先易后難、先重大后輕小的規律進行。圖2為部件裝配系統圖。

圖2 部件裝配系統圖
主軸箱內部零件多達182個,結構形狀又較為復雜,為了能讓用戶看清楚零件的結構、形狀、位置,可以在系統中設置第一人稱和第三人稱兩個視角,并設置靈活轉換。具體辦法是在機床四周設置四個相機,用戶可根據提前設好的按鍵,調整切換方向視角。
一系列拆卸過程的操作,可以通過VR視點控制,也可以通過鼠標控制,本文選擇鼠標控制操作。由鼠標檢測藍圖程序,依據檢測邏輯模型,識別三維模型后,拖動鼠標進行控制,實現零件的拆裝。
當把模型零件從機床上卸下放進正確的區域中,模型會顯示拆除成功提示,如果拆卸零件順序不對,或者拆卸零部件沒有放在正確位置上,會有聲音、燈光、文字等綜合報警提示。
在建模前先把機床零部件的尺寸數據進行子父級分類,同時理清零件之間的位置關系并進行序號標記,以便于后期進行建模和裝配。在實踐過程中發現,如果模型不在UG中進行裝配約束,直接將UG零件模型未用約束的簡單裝配,導入到3Dmax中時會發生零件模型錯位重疊現象。為避免這種現象出現,需要在UG中零件之間設置好約束,裝配完成后再導入3Dmax。
為分級建模及轉配路線,圖3所示。

圖3 分級建模及裝配路線圖
根據圖3,進行軸模塊零件裝配。為確保裝配的有序性,首先對軸模型中的零件進行裝配保存,接著進行另一個軸模型的裝配,最后進行主軸箱中各部件升溫裝配。車床由主軸、底座、刀架、進給箱、溜板箱、尾座組成。各部件之間存在相互的轉矩或轉速傳遞關系,在螺紋加工時還具有轉速和進給速度的聯動關系,所以最后進行車床的總裝配時,應該考慮到各零部件之間的復雜裝配關系、干涉情況。按圖3對機床各個組成部分進行裝配,確認無誤后,將模型以STL格式導出。
進入虛幻引擎軟件有兩種方式,第一種是直接打開UE4,另一種是通過Epic Games Launcher打開。進入后,點擊新建創建新的藍圖編程項目,這時會出現藍圖和C++兩個標簽選項。如果直接點擊確認,系統默認為藍圖模式,本實踐采用藍圖編程模式。因為該模式易懂易學,只要明白方案的邏輯關系,連線即可。雖然操作簡單,但是其連線背后的核心行為邏輯,仍然是由UE4軟件平臺中的C++語言編寫完成。
UE4虛擬引擎中控制物體運動的方法有:VR視點控制、鍵盤按鍵控制和鼠標拖動控制。考慮到學生線上和線下實驗的實際設備操作習慣,在實踐中選擇了鼠標按鍵來控制零部件的移動。這種操作簡單便捷,有利于學生開展仿真實驗。
為了實現仿真實驗的逼真性,可以在仿真軟件中打開Blueprints文件,調出一個第三人稱三維小白人。這樣學生在仿真實驗操作的時候,可以讓操控視窗中的小白人隨意走動,從而實現模擬第三人稱行走操作逼真場景。需要注意的是需要提前調整好小白人的尺寸,使其與機床、零件和環境比例相協調,從而避免失真。對小白人的操作可以通過鼠標控制視角方向,通過鍵盤上W、A、D鍵進行左右移動。操作簡單便捷,類似現在市場上的吃雞游戲。
為了實現環境光線效果的逼真性,需要對光影效果進行設計和控制。一般需要將兩個“聚光源”和兩個“點光源”設置在車床上方,使零件在任意角度都能夠清晰呈現。為了增加沉浸感和真實性,在室外場景增加了一個“天空光照”,在每個窗戶都增加了一個“點光源”,使場景達到一定的光影效果。
在零件的拆裝仿真操作時,為了保證拆裝的正確順序,需要提前指定拆裝工藝流程,并在UE4中按照設計好的邏輯編程。在拆卸零件時,為了模仿拆卸零件的逼真效果,還需要設置零件和其他物體之間的碰撞現象,并通過UE4的檢測通道的響應,使之能被檢測到。如果該零件是從初始位置被拆卸的,會在該位置顯示半透明狀的零件形態作為Debug的提示。并提前設置碰撞的對應的音效和動畫提示。如圖4就是拆卸零件的邏輯設置和藍圖編程截圖。該邏輯設計是用來檢測當前指向的是,拆下的零件是否正確放置在工具箱。正確的放置位置已經提前設置在了工具箱上,并設置其為可以被檢測的物體,當放置正確時,其碰撞檢測通道為[工具箱]。如果碰到工具箱,返回“真”,否則返回“假”。

圖4 拆卸零件的邏輯設置流程圖
當場景中的模型、光照、和車床的藍圖類設置完成后將裝飾品模型導入UE4中,由于裝飾品碰撞體范圍要求不高,所以裝飾碰不用進行碰撞設置。最后進行環境布局并對未上材質的模型賦予材質。經過前期的各項邏輯設計和UE4的藍圖編程,已經將規劃方案內容邏輯和軟件中的功能實現。這時在虛幻引擎的視圖窗口上邊欄點擊“播放”按鈕,然后操作鼠標或鍵盤“W、A、S、D”鍵,進入虛擬場景操作小白人行走仿真操作。
通過控制小白人從實驗室外部場景進入拆裝實驗室,當接近虛擬場景中的機床后,機床UI面板將出現文字、聲音的操作功能提示,以及用戶需要完成仿真實驗實驗項目的提示。按照這些面板上出現的操作提示,用戶可以輕松實現實驗軟件的電腦操作。比如虛擬仿真實驗中,通用夾具——三角卡盤的拆卸:首先按照提示選取正確工具——扳手,然后通過鼠標操作扳手將卡盤連接的逐一螺栓卸下,卸下的螺栓要放入正確的位置——桌面托盤中,接著更換正確工具——鋁棒,將三抓卡盤往刀架方向敲打,觀察得到松動后,放下工具,用鼠標(或模擬手)取三角卡盤,最后將三角卡盤放入正確位置。從而完成三角卡盤的虛擬拆卸工作。從三角卡盤的虛擬仿真實驗操作可以看出,無論從場景還是操作流程上,虛擬實驗如同線下實際操作一樣,都是逼真的。安裝時按照反向安裝步驟,用戶將三抓卡盤裝回相應位置時系統會自動識別位置變量將卡盤裝回原位,從而完成虛擬機床零件的拆裝操作。
通過采用實際測繪獲得線下實驗設備數據,然后依據實測數據在UG中進行零件建模和機器裝配,接著使用3Dmax對環境美化,最后依據設計好的虛擬仿真試驗方案,借助UE4虛幻引擎完成邏輯和動作編程,從而完成虛擬仿真實驗項目的開發。在實踐中完成和獲得的成果:182個機床零件的UG建模,6個機床部件和一個機床的三維模型裝配;虛擬仿真實驗方案和計算機邏輯設計;UE4藍圖編程和一個機床拆裝虛擬仿真平臺。通過初期校內學生的“線下+線上”教學的實踐和校外疫區學生的線上虛擬仿真實驗效果來看,達到了實驗逼真、操作流程正確、認識機床結構、培養實驗動手能力的實驗目的。