晏云閩,李杰,劉雪霞,何宇航
(大連交通大學(xué)a.機(jī)械工程學(xué)院;b.創(chuàng)新創(chuàng)業(yè)教育學(xué)院;c.軟件學(xué)院,遼寧 大連116000)
目前,高校十分注重大學(xué)生創(chuàng)新能力的培養(yǎng),而工程訓(xùn)練課程是工科大學(xué)生重要的學(xué)科基礎(chǔ)課,是培養(yǎng)大學(xué)生創(chuàng)新精神、工程意識(shí)和動(dòng)手能力的重要環(huán)節(jié),在培養(yǎng)創(chuàng)新型人才方面是其他課程不可替代的。傳統(tǒng)的工程訓(xùn)練教學(xué)受到設(shè)備資源少、時(shí)間和場(chǎng)地空間受限等問題的制約,學(xué)生在現(xiàn)場(chǎng)實(shí)操過程中往往由于設(shè)備臺(tái)套數(shù)不足而存在著排隊(duì)等待時(shí)間過長(zhǎng)、實(shí)際動(dòng)手機(jī)會(huì)有限等諸多問題,導(dǎo)致學(xué)生在實(shí)訓(xùn)過程中積極性不高、實(shí)踐效果較差。
虛擬現(xiàn)實(shí)技術(shù)的出現(xiàn),為教育行業(yè)帶來了全新的教育理念和教育方法,其利用計(jì)算機(jī)生成一種實(shí)時(shí)動(dòng)態(tài)的三維立體逼真圖像模擬環(huán)境。將該技術(shù)應(yīng)用到工程訓(xùn)練教學(xué)中,可以打破設(shè)備、時(shí)間、場(chǎng)地的限制,同時(shí)提供給學(xué)生科學(xué)系統(tǒng)的教學(xué)內(nèi)容,學(xué)生可以根據(jù)自己的實(shí)際情況自主安排學(xué)習(xí)內(nèi)容和學(xué)習(xí)進(jìn)程,滿足學(xué)生自主實(shí)踐的需求。鑒于此,目前國(guó)內(nèi)許多高校將虛擬現(xiàn)實(shí)技術(shù)應(yīng)用于實(shí)踐教學(xué),開發(fā)出各具特色的虛擬實(shí)訓(xùn)系統(tǒng)。如文獻(xiàn)[1]采用虛擬現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí)技術(shù),基于Unity3D構(gòu)建了RV減速器虛擬仿真實(shí)踐教學(xué)系統(tǒng);文獻(xiàn)[2]基于Unity3D構(gòu)建了典型減速器虛擬拆裝實(shí)驗(yàn)系統(tǒng);文獻(xiàn)[3]基于Unity3D開發(fā)了工業(yè)機(jī)器人本體拆裝的虛擬教學(xué)系統(tǒng);文獻(xiàn)[4]基于Cult3D技術(shù)構(gòu)建了基于網(wǎng)絡(luò)的減速器虛擬拆裝實(shí)驗(yàn)平臺(tái);文獻(xiàn)[5]利用VRMI技術(shù)設(shè)計(jì)了減速器拆裝虛擬教學(xué)實(shí)驗(yàn)室;文獻(xiàn)[6] 基于Unity3D開發(fā)了機(jī)械基礎(chǔ)虛擬實(shí)驗(yàn)平臺(tái),并以二級(jí)展開式斜齒圓柱減速器為例詳細(xì)介紹了實(shí)現(xiàn)方法。
本文采用Unity3D 作為開發(fā)引擎,結(jié)合使用SolidWorks、3D Max軟件進(jìn)行離心泵拆裝場(chǎng)景建模和拆裝動(dòng)畫制作,并利用C#語(yǔ)言進(jìn)行界面交互邏輯控制,開發(fā)了離心泵拆裝虛擬實(shí)訓(xùn)教學(xué)系統(tǒng)。目前,該系統(tǒng)已經(jīng)應(yīng)用于工程訓(xùn)練實(shí)踐教學(xué)中,效果良好。
離心泵是利用葉輪高速旋轉(zhuǎn)產(chǎn)生的離心力來抽取液體或其它物料,是給水系統(tǒng)中不可缺少的重要設(shè)備,廣泛應(yīng)用于化工、市政、農(nóng)業(yè)等行業(yè),圖1所示為典型的單級(jí)單吸式離心泵外觀。
離心泵的基本組成部件有葉輪、泵體、泵體蓋、泵軸、軸封裝置、聯(lián)軸器和軸承等,如圖2所示。
圖2 離心泵的典型結(jié)構(gòu)組成
葉輪工作時(shí)高速旋轉(zhuǎn),是直接對(duì)泵內(nèi)的液體做功的部件,系離心泵的供能裝置。泵體為固定件,其外形像蝸牛,其作用是為了匯集從葉輪甩出的液流,由于它的過水?dāng)嗝媸侵饾u增大的,所以能夠保持液體的流速基本不變。由于泵軸轉(zhuǎn)動(dòng)而泵體固定不動(dòng),在兩者接觸處必然存在一定的間隙。為了避免泵內(nèi)高壓液體沿著泵軸與泵體之間的間隙泄漏或防止外界空氣進(jìn)入泵內(nèi),離心泵內(nèi)必須設(shè)置軸封裝置,一般有填料函和機(jī)械密封兩種形式。
離心泵拆裝是工程訓(xùn)練課程中機(jī)械拆裝實(shí)訓(xùn)模塊中的一個(gè)重要項(xiàng)目。離心泵拆裝實(shí)訓(xùn)項(xiàng)目的主要目的是使學(xué)生了解離心泵的工作原理、機(jī)械結(jié)構(gòu)組成、拆裝方法,學(xué)會(huì)使用常用的拆裝工具,是培養(yǎng)學(xué)生工程意識(shí)、動(dòng)手操作能力、啟迪學(xué)生創(chuàng)新思維的重要手段。
根據(jù)該實(shí)訓(xùn)項(xiàng)目的教學(xué)目的,本文所設(shè)計(jì)的離心泵虛擬拆裝實(shí)訓(xùn)系統(tǒng)包含多個(gè)模塊:離心泵基礎(chǔ)知識(shí)講解、組成零部件認(rèn)識(shí)、拆裝動(dòng)畫演示、手動(dòng)交互拆裝操作,如圖3所示。
圖3 系統(tǒng)結(jié)構(gòu)框架
基于Unity3D的虛擬實(shí)訓(xùn)系統(tǒng)開發(fā)主要分為3個(gè)階段:第一個(gè)階段是素材準(zhǔn)備,利用三維建模軟件SolidWorks和動(dòng)畫渲染軟件3D Max制作較為較為真實(shí)的三維幾何模型素材;第二階段是系統(tǒng)的交互功能設(shè)計(jì),將利用SolidWorks軟件和3D Max軟件處理好的三維幾何模型導(dǎo)入U(xiǎn)nity3D引擎軟件中,進(jìn)行虛擬場(chǎng)景搭建,并編寫腳本,實(shí)現(xiàn)人機(jī)交互;最后是系統(tǒng)的發(fā)布。具體的開發(fā)流程如圖4所示。
2.3.1 搭建虛擬場(chǎng)景
將利用三維建模軟件SolidWorks軟件和動(dòng)畫渲染軟件3D Max軟件處理后的接近于真實(shí)的離心泵三維幾何模型導(dǎo)出為FBX格式文件與場(chǎng)景圖片JPG文件,一起導(dǎo)入至Unity3D 軟件中。將場(chǎng)景圖片和離心泵模型拖入到初始場(chǎng)景后,需進(jìn)行位置的調(diào)試,利用Unity NGUI 插件創(chuàng)建面板,為用戶提供多種功能模塊的選擇,完成系統(tǒng)的多個(gè)場(chǎng)景搭建,同時(shí)為控制器添加場(chǎng)景切換腳本,最后運(yùn)用SceneManager. LoadScene功能進(jìn)行場(chǎng)景管理,來實(shí)現(xiàn)多場(chǎng)景之間的切換。
2.3.2 離心泵虛擬拆裝功能的實(shí)現(xiàn)
該系統(tǒng)具有離心泵的自動(dòng)拆裝動(dòng)畫演示和學(xué)生自主拆裝操作兩個(gè)不同的環(huán)節(jié)。自動(dòng)拆裝動(dòng)畫演示是根據(jù)離心泵正確的拆裝順序,編寫相應(yīng)的C#腳本,控制離心泵各組成零部件的移動(dòng)順序來實(shí)現(xiàn)的,其主要目的是給學(xué)生演示,讓學(xué)生了解離心泵的詳細(xì)結(jié)構(gòu)組成并掌握正確的拆裝順序;而自主拆裝模塊需要用戶通過鼠標(biāo)或者鍵盤拖拽離心泵各個(gè)零部件到指定位置,從而實(shí)現(xiàn)離心泵的拆卸和安裝,該模塊以真實(shí)模擬現(xiàn)場(chǎng)拆裝操作為目的,起到讓學(xué)生自主動(dòng)手訓(xùn)練的效果。
1)拆裝演示。自動(dòng)拆裝為離心泵模型整體拆卸,通過腳本控制事先準(zhǔn)備好的模型進(jìn)行實(shí)時(shí)渲染,進(jìn)而產(chǎn)生動(dòng)畫的效果,并具備實(shí)現(xiàn)動(dòng)畫片段選擇播放、動(dòng)畫播放速度控制兩個(gè)功能。
使用Unity3D的DOTween插件來實(shí)現(xiàn)離心泵的自動(dòng)拆裝演示。通過設(shè)置離心泵中各組成零部件在不同時(shí)間節(jié)點(diǎn)上的Position和rotation屬性值,從而實(shí)現(xiàn)位移和旋轉(zhuǎn)的功能,利用Unity3D引擎強(qiáng)大的可擴(kuò)展性和兼容性環(huán)境下的DOTween插件實(shí)現(xiàn)動(dòng)作變換,使其在用戶選擇該功能時(shí)進(jìn)行實(shí)時(shí)渲染,最終表現(xiàn)出離心泵的拆卸效果。當(dāng)用戶了解離心泵拆裝后,可以點(diǎn)擊手動(dòng)拆裝按鈕進(jìn)入手動(dòng)拆裝場(chǎng)景。圖5為系統(tǒng)進(jìn)行離心泵自動(dòng)拆裝演示的界面。
圖4 系統(tǒng)開發(fā)流程
圖5 自動(dòng)拆裝演示
2)自主拆裝。手動(dòng)拆卸和裝配是該系統(tǒng)的一個(gè)核心功能模塊,通過該功能模塊的操作,可以使學(xué)生掌握離心泵的拆裝要領(lǐng),也是現(xiàn)場(chǎng)實(shí)訓(xùn)中的主要目的。
手動(dòng)裝配模塊,設(shè)計(jì)為用戶通過拖動(dòng)零部件,將其擺放到指定的位置處,并通過設(shè)計(jì)腳本實(shí)現(xiàn)所有裝配對(duì)象的順序展示、目標(biāo)對(duì)象的閃爍提示、鼠標(biāo)檢測(cè)并拾取待裝配對(duì)象、鼠標(biāo)拖拽待裝配對(duì)象等功能。圖6為系統(tǒng)進(jìn)行離心泵手動(dòng)拆裝場(chǎng)景。
圖6 手動(dòng)拆裝場(chǎng)景
該功能的設(shè)計(jì)過程為用戶從零件庫(kù)中選擇合適的零件移動(dòng)到場(chǎng)景中,當(dāng)該零件與場(chǎng)景中綠色半透明部件接觸且特征完全吻合,零件將替代半透明部件,完成該零件的裝配,同時(shí)重新生成新的綠色半透明待裝配部件,等待下一零件的裝配,如此往復(fù),最終完成裝配。
2.3.3 交互功能的設(shè)計(jì)和實(shí)現(xiàn)
人機(jī)交互操作,是指用戶通過計(jì)算機(jī)的輸入輸出設(shè)備來實(shí)現(xiàn)。學(xué)生通過使用計(jì)算機(jī)的輸入設(shè)備鍵盤或者鼠標(biāo),來控制系統(tǒng)中實(shí)時(shí)渲染出的零部件模型,即切換不同的界面就可以實(shí)現(xiàn)不同的功能,同時(shí)在顯示器上對(duì)用戶的操作做出實(shí)時(shí)更新。該系統(tǒng)中的交互功能是采用C#編程設(shè)計(jì)語(yǔ)言和Unity3D游戲開發(fā)引擎進(jìn)行模塊化的開發(fā)。既保證了邏輯代碼文件封裝性完好,又使用戶能輕松、簡(jiǎn)單地操作系統(tǒng)中相關(guān)的元素。
主界面為進(jìn)入系統(tǒng)的第一個(gè)場(chǎng)景,可實(shí)現(xiàn)用戶與系統(tǒng)的交互,通過按鍵點(diǎn)擊各個(gè)功能模塊的鏈接可進(jìn)行相應(yīng)場(chǎng)景的跳轉(zhuǎn),該系統(tǒng)的主界面如圖7所示。
在主界面上,用戶通過點(diǎn)擊對(duì)應(yīng)的按鈕來選取要體驗(yàn)的功能。點(diǎn)擊“零件相關(guān)”按鈕進(jìn)入離心泵詳細(xì)信息展示場(chǎng)景,此時(shí)用戶能夠看到離心泵旋轉(zhuǎn)展示的動(dòng)畫效果并在右側(cè)包含離心泵的介紹信息。此外,用戶也可以自由選擇零件并顯示其相關(guān)信息,控制模型的視角變換和放大縮小,可清楚查看零件細(xì)節(jié)結(jié)構(gòu),零件相關(guān)界面如圖8所示。點(diǎn)擊返回按鈕回到系統(tǒng)主界面,選擇手動(dòng)拆裝按鈕。進(jìn)入手動(dòng)拆裝功能界面,按照綠色透明部件提示進(jìn)行離心泵的裝配,點(diǎn)擊左上角的返 回 按鈕,系統(tǒng)再次回到主界面。
將虛擬現(xiàn)實(shí)技術(shù)應(yīng)用到工程訓(xùn)練課程的具體實(shí)訓(xùn)項(xiàng)目中,基于Unity3D技術(shù)開發(fā)了一套具有良好的身臨其境效果、交互性強(qiáng)、功能性全的離心泵拆裝虛擬實(shí)訓(xùn)系統(tǒng)。利用該系統(tǒng),學(xué)生可以自主完成理論知識(shí)學(xué)習(xí)、熟練掌握產(chǎn)品拆裝動(dòng)作,不僅充分調(diào)動(dòng)了學(xué)生的積極主動(dòng)性,提升了學(xué)習(xí)效果,還有效緩解了設(shè)備緊缺及場(chǎng)地有限等硬件問題,為工程實(shí)踐教學(xué)提供了新型且高效的教學(xué)手段,值得進(jìn)一步研究和應(yīng)用。
圖7 系統(tǒng)主界面
圖8 零件相關(guān)界面