張鈺,李瑋,張利兵,王敏,郭子圣
(西南林業(yè)大學(xué),昆明 650224)
目前,我國(guó)在機(jī)械加工實(shí)訓(xùn)教育中存在諸多的問(wèn)題,如教學(xué)成本較高、安全隱患頗多、教師示范操作演示效果不佳等(圖1為傳統(tǒng)教學(xué)中的數(shù)控車床)。VR技術(shù)的出現(xiàn)能夠很好地解決我國(guó)在機(jī)械加工實(shí)訓(xùn)教育中遇到的諸多問(wèn)題。利用VR技術(shù)搭建的虛擬仿真空間可模仿真實(shí)的機(jī)加工設(shè)備(如圖2),讓使用者能夠身臨其境,對(duì)虛擬空間中的情景有直觀的感受。虛擬仿真教學(xué)是一種理論與實(shí)踐相結(jié)合的教學(xué)方法,能夠激發(fā)學(xué)生的學(xué)習(xí)興趣,更是未來(lái)教學(xué)智能化、虛擬化、興趣化、安全化的一個(gè)縮影[1]。
圖1 數(shù)控車床
圖2 VR虛擬仿真教學(xué)空間中的數(shù)控車床
將VR技術(shù)應(yīng)用在機(jī)械加工實(shí)訓(xùn)的教學(xué)中,采用VR技術(shù)仿真各類機(jī)床,以實(shí)現(xiàn)機(jī)床的拆裝、數(shù)控加工實(shí)訓(xùn)的虛擬教學(xué)、數(shù)控產(chǎn)品的加工等多種操作,通過(guò)直觀形象的展示和操作,完成了傳統(tǒng)教學(xué)無(wú)法完成的任務(wù),拓展了學(xué)生的認(rèn)知領(lǐng)域[2]。
工程機(jī)械類專業(yè)課程著重啟發(fā)、引導(dǎo)和培養(yǎng)學(xué)生專業(yè)知識(shí)領(lǐng)悟及實(shí)操應(yīng)用技能,針對(duì)性強(qiáng)、實(shí)踐性廣。若內(nèi)容枯燥、抽象,用傳統(tǒng)的教學(xué)模式教學(xué),學(xué)生的空間概念很難建立,學(xué)生容易產(chǎn)生厭學(xué)情緒。通過(guò)三維模型的建立,將VR虛擬仿真技術(shù)引入教學(xué)當(dāng)中,可以鞏固學(xué)生對(duì)知識(shí)的理解,轉(zhuǎn)變傳統(tǒng)的教學(xué)模式,促進(jìn)學(xué)生主動(dòng)學(xué)習(xí),調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,有意識(shí)地培養(yǎng)學(xué)生的創(chuàng)新能力、自主探究能力,并能培養(yǎng)學(xué)生的空間思維能力、動(dòng)手能力和創(chuàng)新能力[3]。讓學(xué)生在虛擬教學(xué)空間中進(jìn)行編程、加工等相關(guān)操作的模擬練習(xí)(如圖3、圖4),符合規(guī)范后再進(jìn)行實(shí)機(jī)操作,可有效科學(xué)地處理相關(guān)問(wèn)題,減小誤操作對(duì)設(shè)備的損傷,將對(duì)正常教學(xué)的影響降到最低[4]。
圖3 虛擬加工平臺(tái)中的VR仿真產(chǎn)品
圖4 VR 機(jī)械加工虛擬仿真教學(xué)空間
通過(guò)SolidWorks對(duì)CM6140臥式車床模型進(jìn)行建模裝配。CM6140臥式車床主要由主軸箱、進(jìn)給箱、溜板箱、床身、尾架、刀架組成,對(duì)CM6140臥式車床進(jìn)行簡(jiǎn)化、拆解,以滿足后續(xù)的裝配、仿真的需要[5]。在子裝配體裝配完成后,對(duì)CM6140臥式車床以床身為基礎(chǔ)、采用“自下而上、自左而右”的裝配思路進(jìn)行裝配(如圖5)。同時(shí),在虛擬裝配過(guò)程中產(chǎn)品的裝配尺寸、約束不能配合時(shí),能夠很快找到車床建模時(shí)存在的錯(cuò)誤并進(jìn)行改正。
圖5 整機(jī)裝配模型
1.2.1 虛擬光照和場(chǎng)景的構(gòu)建
在虛擬裝配及仿真模擬的過(guò)程中,首先要搭建虛擬場(chǎng)景。為了讓場(chǎng)景更加真實(shí),需要對(duì)場(chǎng)景從Unreal Enging 4的光源庫(kù)中選擇光源(如圖6)。一般環(huán)境中應(yīng)該有一個(gè)定向光源、一個(gè)天空光源、數(shù)個(gè)聚光源和數(shù)個(gè)點(diǎn)光源,此外還要在虛擬環(huán)境中添加一個(gè)反射球,通過(guò)調(diào)整反射球的反射光照次數(shù)、調(diào)整光照的角度和點(diǎn)聚光源的數(shù)量來(lái)改變環(huán)境的亮度和暖度,使畫(huà)面效果更加逼真,避免同一材質(zhì)在不同位置的光照反射。在場(chǎng)景構(gòu)建的過(guò)程中,根據(jù)目標(biāo)設(shè)備的大小,靈活地設(shè)置場(chǎng)景的大小,以達(dá)到最真實(shí)的虛擬場(chǎng)景的構(gòu)建。隨后,進(jìn)行角色控制權(quán)的獲取,確定操作角色默認(rèn)的出生點(diǎn),并進(jìn)行相關(guān)參數(shù)的設(shè)計(jì)(如圖7)。
圖6 虛擬光源庫(kù)
圖7 角色控制權(quán)的獲取
1.2.2 車床模型的載入和優(yōu)化
利用3D MAX軟件或者SolidWorks自帶插件scanto3D插件完成模型從SolidWorks到Unreal Engine 4的數(shù)據(jù)轉(zhuǎn)換。在轉(zhuǎn)換過(guò)程中,模型的幾何、裝配等信息都得到了完整的保留。將模型導(dǎo)入U(xiǎn)nreal Engine 4之后,為達(dá)到更為真實(shí)的效果,還需要對(duì)導(dǎo)入的模型賦予合適的材質(zhì)。材質(zhì)可以在Unreal Engine4自帶的材質(zhì)庫(kù)(如圖8)中選擇更改。
圖8 Unreal Engine4材質(zhì)庫(kù)
通過(guò)研究SolidWorks→3D MAX→Unreal Engine4的模型轉(zhuǎn)換方法。解決了SolidWorks軟件下的模型到Unreal Engine4軟件下的模型的格式轉(zhuǎn)換問(wèn)題,使它們?cè)跈C(jī)構(gòu)和屬性上較完美地銜接。
1.2.3 仿真CM6140臥式車床的裝配過(guò)程
由于CM6140臥式車床模型的零件數(shù)量較大,因此對(duì)其裝配的仿真可以簡(jiǎn)化為對(duì)重要子裝配體的裝配仿真與整機(jī)的裝配仿真。其中主要子裝配體包括主軸、刀架、尾架三大部分,在實(shí)現(xiàn)這三大部分裝配仿真的情況下,以車架為基礎(chǔ)對(duì)整機(jī)進(jìn)行裝配仿真。
對(duì)于主軸的裝配仿真和后續(xù)裝配體各部分的裝配仿真,將用到Unreal Engine 4藍(lán)圖來(lái)操控物體在場(chǎng)景中空間位置變換,以此實(shí)現(xiàn)車床的裝配工作。首先用Unreal Engine 4自帶幾何體為對(duì)象來(lái)進(jìn)行功能的制作,利用set和get兩個(gè)節(jié)點(diǎn)。set節(jié)點(diǎn)能夠設(shè)置場(chǎng)景中變量的因素或設(shè)置場(chǎng)景中因素的相關(guān)屬性,而get節(jié)點(diǎn)能夠獲取元素的數(shù)值。拉出2個(gè)幾何體設(shè)置坐標(biāo),打開(kāi)藍(lán)圖里面的關(guān)卡藍(lán)圖,右鍵創(chuàng)建一個(gè)cube,連接節(jié)點(diǎn)AddActorlicaloffset(對(duì)自身坐標(biāo)的一個(gè)加法運(yùn)算),設(shè)置X軸加100,然后添加鍵盤“1”連接該節(jié)點(diǎn),將該cube的移動(dòng)性在細(xì)節(jié)面板改為可移動(dòng),這樣就可以控制cube在X方向以100為單位移動(dòng)(如圖9)。同理創(chuàng)建一個(gè)cube2,連接該節(jié)點(diǎn),設(shè)置 Y 軸 加100,再添加一個(gè)鍵盤“1”,將cube2改為可移動(dòng),如此就可以通過(guò)鍵盤“1”同時(shí)控制cube和cube2朝不同方向移動(dòng)(如圖10)。通過(guò)上述操作就完成了車床的拆卸,逆向就完成了車床的裝配。生成的整機(jī)爆炸圖如圖11所示。
圖9 cube 移動(dòng)
圖10 cube and cube2 移動(dòng)
圖11 整機(jī)爆炸圖
主軸、刀架、尾架的裝配仿真過(guò)程中,首先對(duì)車床主軸的裝配,依次裝配夾具和主線旋轉(zhuǎn)軸。隨后進(jìn)行整機(jī)的裝配過(guò)程準(zhǔn)備,最后進(jìn)行整機(jī)裝配,整機(jī)裝配圖如圖12所示。
圖12 整機(jī)裝配圖
1.2.4 主軸的旋轉(zhuǎn)過(guò)程仿真
主軸自轉(zhuǎn)是利用藍(lán)圖通信和自定義事件來(lái)實(shí)現(xiàn),藍(lán)圖通信是一種用于藍(lán)圖之間數(shù)據(jù)通信的方式,可以在一個(gè)類里獲得另外一個(gè)或多個(gè)類的一些變量來(lái)進(jìn)行判斷。
將自定義事件寫(xiě)到actor中,提高其它的可拓展性,按照創(chuàng)建文件夾-創(chuàng)建actor-添加節(jié)點(diǎn)AddLocalRotation-添加時(shí)間Tick-添加分支點(diǎn)-添加布爾變量-路徑判斷-鍵盤控制點(diǎn)-鍵盤控制主軸旋轉(zhuǎn)過(guò)程,控制車床的主軸進(jìn)行旋轉(zhuǎn)。操作過(guò)程圖如圖13~圖20所示。
圖13 創(chuàng)建actor
圖14 添加節(jié)點(diǎn)
圖15 添加事件
圖16 添加分支點(diǎn)
圖17 添加布爾變量
圖18 路徑判斷
圖19 鍵盤控制點(diǎn)
圖20 鍵盤控制主軸旋轉(zhuǎn)
1.3.1 硬件設(shè)備的安裝及調(diào)試
為充分發(fā)揮虛擬現(xiàn)實(shí)系統(tǒng)強(qiáng)大的圖形處理能力和沉浸感顯示。采用一套HTC Vive 設(shè)備(如圖21)來(lái)實(shí)現(xiàn)。
圖21 HTC Vive設(shè)備
安裝HTC Vive設(shè)備后,檢查軟件、顯卡、定位、頭盔、手柄的狀態(tài),連接電腦后進(jìn)行調(diào)試,將Unreal Engine4搭建好的場(chǎng)景通過(guò)藍(lán)圖編程,來(lái)實(shí)現(xiàn)在虛擬空間中的車床的裝配,完成VR機(jī)械加工虛擬仿真教學(xué)空間的搭建。
1.3.2 軟硬件設(shè)備的連接及調(diào)試
利用Seatm VR[6]軟件進(jìn)行連接、定位等操作,隨后進(jìn)行Steam VR插件設(shè)置,在連接好Steam VR硬件設(shè)備和安裝Steam VR驅(qū)動(dòng)之后,需要在Unreal Engine 4中完成相關(guān)的插件調(diào)用設(shè)置。隨后輸入重定義,修改Unreal Engine4系統(tǒng)使用的移動(dòng)默認(rèn)設(shè)置。然后進(jìn)行pawn藍(lán)圖類設(shè)置,實(shí)現(xiàn)手柄控制視線的上下左右移動(dòng)。然后通過(guò)設(shè)置節(jié)點(diǎn),進(jìn)行頭顯、前進(jìn)后退、左右移動(dòng)的設(shè)置。最后進(jìn)行藍(lán)圖關(guān)卡和游戲模式的設(shè)置,設(shè)置運(yùn)動(dòng)控制器節(jié)點(diǎn),輸入出發(fā)節(jié)點(diǎn)后連接事件,事件包括車床爆炸裝配、主軸旋轉(zhuǎn)等,實(shí)現(xiàn)手柄按鍵對(duì)用戶交互的控制。游戲模式的設(shè)置即設(shè)置插件,讓Unreal Engine4能識(shí)別VR設(shè)備,讓VR設(shè)備得以順利工作。操作步驟如圖22~圖27所示。所有設(shè)置完成好后,打開(kāi)創(chuàng)建好的關(guān)卡,檢測(cè)體驗(yàn)是否正常,VR模式下的車床(拆裝過(guò)程)如圖28所示。連接調(diào)試成功后,配合設(shè)備進(jìn)行虛擬現(xiàn)實(shí)輸出及人機(jī)交互。
圖22 輸入設(shè)置
圖23 pawn 藍(lán)圖類設(shè)置
圖24 頭顯設(shè)置
圖25 移動(dòng)設(shè)置
圖26 所需創(chuàng)建藍(lán)圖類
圖27 設(shè)置游戲模式
圖28 VR模式下的車床拆裝過(guò)程
本文旨在融合VR技術(shù)、數(shù)據(jù)庫(kù)技術(shù)、網(wǎng)絡(luò)編程等技術(shù),構(gòu)建多維度、多場(chǎng)景、交互性強(qiáng)、沉浸感高的一個(gè)“VR機(jī)械加工虛擬仿真教學(xué)空間”,但項(xiàng)目經(jīng)多年研究探索,目前仍存在以下問(wèn)題。
從SolidWorks導(dǎo)入到Unreal Engine 4中的模型,在其裝配位置上是準(zhǔn)確的,但部分零部件間的約束關(guān)系沒(méi)有了,部分運(yùn)動(dòng)關(guān)系也隨之丟失了,因此在模型轉(zhuǎn)換的完整性上需要更深層次的研究。
在條件許可的情況下,本文進(jìn)一步簡(jiǎn)化了車床受力與轉(zhuǎn)矩情況,但對(duì)其仿真有一定的影響,與現(xiàn)實(shí)中實(shí)際的車床運(yùn)動(dòng)有一定的不同。后期應(yīng)對(duì)運(yùn)動(dòng)學(xué)進(jìn)行仿真分析,改善受力分析的問(wèn)題,減小該虛擬教學(xué)空間與實(shí)際車床運(yùn)動(dòng)之間的差距。
目前只進(jìn)行了車床的爆炸裝配仿真和主軸旋轉(zhuǎn)仿真,很多機(jī)床的功能還沒(méi)有完全實(shí)現(xiàn),后續(xù)還有待更深的研究和探索。
本文介紹了VR機(jī)械加工虛擬仿真教學(xué)空間的研究背景,指出了本研究可提高機(jī)加工教學(xué)實(shí)訓(xùn)的教學(xué)效果、降低教學(xué)風(fēng)險(xiǎn)及損耗,在一定程度上滿足國(guó)家、社會(huì)、高校層面對(duì)培養(yǎng)機(jī)加工人才的需求,且相對(duì)于傳統(tǒng)機(jī)械加工教學(xué),本研究具有一定的優(yōu)勢(shì)。
本文以CM6140臥式車床為載體,介紹了VR機(jī)械加工虛擬仿真教學(xué)空間的搭建及應(yīng)用。系統(tǒng)地提出了三維模型虛擬裝配的一般操作步驟:首先采用SolidWorks對(duì)CM6140臥式車床進(jìn)行建模裝配,在整機(jī)模型裝配的基礎(chǔ)上,根據(jù)約束關(guān)系對(duì)裝配模型進(jìn)行簡(jiǎn)化,再利用3D MAX軟件和Unreal Engine4軟件,進(jìn)行CM6140臥式車床運(yùn)動(dòng)仿真。最后通過(guò)HTC Vive設(shè)備及Steam VR軟件完成虛擬現(xiàn)實(shí)的輸出和人機(jī)交互操作。
本文利用Unreal Engine4進(jìn)行車床虛擬裝配過(guò)程中的重要過(guò)程為:加載和優(yōu)化車床相關(guān)模型、裝配順序規(guī)劃、制作裝配仿真動(dòng)畫(huà);建立了車床的裝配序列,完成了車床的虛擬裝配。
最后,對(duì)本研究現(xiàn)階段存在的問(wèn)題進(jìn)行闡述及反思,指出了未來(lái)研究的側(cè)重方向。
(編輯 馬忠臣)