劉瑞歌,宋 鋒
(濱州學(xué)院 機(jī)電工程學(xué)院,山東 濱州256603)
機(jī)械設(shè)計基礎(chǔ)在機(jī)械類或近機(jī)械類專業(yè)的課程體系中具有十分重要的作用,起著承上啟下的橋梁作用[1]。課程涉及大量的機(jī)械原理分析、運(yùn)動分析、力學(xué)分析等,具有理論性強(qiáng)、知識點(diǎn)多的特點(diǎn)。設(shè)計理論和計算公式抽象繁雜,教者難教,學(xué)者難學(xué)。近年來,隨著工程教育中“新工科”建設(shè)的快速開展和工程教育專業(yè)認(rèn)證工作的不斷推進(jìn),國內(nèi)各高校在機(jī)械工程專業(yè)的教學(xué)中越來越強(qiáng)調(diào)對學(xué)生科技創(chuàng)新能力和解決復(fù)雜工程問題能力的培養(yǎng)[2]。要培養(yǎng)上述能力,離不開科學(xué)的實(shí)踐教學(xué)體系和完善的校內(nèi)外實(shí)驗(yàn)基地建設(shè)[3]。但目前許多高校的機(jī)械專業(yè)實(shí)踐教學(xué)存在以下問題:(1)理論與實(shí)踐脫節(jié)。一般高校都是課程進(jìn)行到一定章節(jié)的時候,實(shí)驗(yàn)教學(xué)才開始。又由于資金、場地和實(shí)驗(yàn)人員有限,學(xué)生需要分組進(jìn)行,造成學(xué)生在做實(shí)驗(yàn)時,只是單純地做實(shí)驗(yàn),而非驗(yàn)證所學(xué)理論知識,無法將實(shí)驗(yàn)與理論知識緊密結(jié)合[4-6]。(2)實(shí)踐不能有效地補(bǔ)充理論。傳統(tǒng)的課程教學(xué)中教師講述與多媒體演示并不能真實(shí)反映各構(gòu)件之間的運(yùn)動關(guān)系,學(xué)生并不能理解機(jī)構(gòu)組成原理[7],而實(shí)驗(yàn)室由于受配套硬件設(shè)施等限制,又不能支持相應(yīng)的理論教學(xué)。針對以上問題,構(gòu)建了機(jī)械設(shè)計基礎(chǔ)虛擬仿真實(shí)驗(yàn)教學(xué)平臺,實(shí)現(xiàn)機(jī)械工程教學(xué)與虛擬現(xiàn)實(shí)(Virtual reality,VR)技術(shù)相結(jié)合[8],為機(jī)械工程學(xué)科的教與學(xué)帶來新教學(xué)模式。VR技術(shù)使抽象、模糊成為具體、直觀,將單調(diào)乏味變成豐富多變、極富趣味。虛擬實(shí)驗(yàn)與實(shí)踐讓學(xué)習(xí)者在創(chuàng)設(shè)的虛擬環(huán)境中,通過與虛擬對象的主動交互,親身經(jīng)歷與感受機(jī)器拆解、裝配、驅(qū)動與操控等,獲得現(xiàn)實(shí)般的實(shí)踐體驗(yàn),增加學(xué)習(xí)者的直接經(jīng)驗(yàn);有效地對理論知識進(jìn)行補(bǔ)充,隨用隨調(diào),方便靈活、交互性強(qiáng),解決了理論教學(xué)枯燥無味、晦澀難懂的問題,實(shí)現(xiàn)了資源共享,具有一定的參考和應(yīng)用價值。
機(jī)械設(shè)計虛擬仿真實(shí)驗(yàn)平臺要根據(jù)機(jī)械設(shè)計課程內(nèi)容要求以及現(xiàn)實(shí)實(shí)驗(yàn)需求進(jìn)行開發(fā),能夠用來展示實(shí)驗(yàn)室的教學(xué)內(nèi)容、傳遞教學(xué)知識、模擬實(shí)踐要求,實(shí)驗(yàn)者可以根據(jù)自身時間安排和需求,選擇性地開展實(shí)驗(yàn)。因此,該實(shí)驗(yàn)平臺的搭建需要滿足以下要求:(1)確保平臺內(nèi)的理論知識以及實(shí)驗(yàn)內(nèi)容絕對正確,并且表達(dá)方式合理;(2)滿足實(shí)驗(yàn)者基本需求,開發(fā)多項實(shí)驗(yàn)項目,反映實(shí)驗(yàn)過程和教學(xué)策略;(3)具有友好的人機(jī)交互界面,達(dá)到虛擬操作的目的。
機(jī)械設(shè)計虛擬實(shí)驗(yàn)平臺能模擬真實(shí)實(shí)驗(yàn)過程,既能實(shí)現(xiàn)真實(shí)實(shí)驗(yàn)?zāi)康模帜軐⒁恍C(jī)構(gòu)的運(yùn)動過程通過動畫模擬出來,更方便空間想象能力差的學(xué)生理解相應(yīng)的知識點(diǎn),以實(shí)驗(yàn)促進(jìn)理論知識的理解與應(yīng)用。為實(shí)現(xiàn)此功能,虛擬實(shí)驗(yàn)平臺包括以下部分:(1)控制面板——用戶通過鼠標(biāo)、鍵盤等發(fā)出操作指令,啟動相應(yīng)程序,進(jìn)入相應(yīng)的實(shí)驗(yàn),實(shí)現(xiàn)友好交互;(2)場景顯示——利用可視化的操作場景,模擬真實(shí)的實(shí)驗(yàn)環(huán)境,有身臨其境的感覺;(3)實(shí)驗(yàn)結(jié)果——完成實(shí)驗(yàn)后,要及時顯示實(shí)驗(yàn)結(jié)果,方便判斷實(shí)驗(yàn)結(jié)果的正確與否,確保實(shí)驗(yàn)效果;(4)自主性操作——用戶可以根據(jù)自身需求,選擇相應(yīng)的實(shí)驗(yàn),例如模擬裝配既可以自動裝配,也可以通過鼠標(biāo)拖曳零件的方式進(jìn)行自主化裝配;(5)在線模擬測試——為檢查學(xué)生對相應(yīng)實(shí)驗(yàn)及理論的掌握情況,增加測試環(huán)節(jié),進(jìn)一步提高學(xué)習(xí)效果。目前機(jī)械設(shè)計基礎(chǔ)虛擬實(shí)驗(yàn)平臺包括機(jī)械設(shè)計認(rèn)知實(shí)驗(yàn)、減速器拆裝實(shí)驗(yàn)、機(jī)構(gòu)運(yùn)動特性分析、機(jī)構(gòu)創(chuàng)新組合設(shè)計、滑動軸承等實(shí)驗(yàn)項目,隨著后續(xù)實(shí)驗(yàn)項目的開發(fā),基本能滿足機(jī)械相關(guān)專業(yè)的實(shí)驗(yàn)教學(xué)需求,具體實(shí)現(xiàn)功能見圖1。
圖1 機(jī)械設(shè)計基礎(chǔ)虛擬實(shí)驗(yàn)仿真平臺的功能框架
減速器是原動機(jī)和工作機(jī)之間獨(dú)立的閉式傳動裝置,主要由傳動零件(齒輪或蝸輪)、軸、軸承、箱體和其附件等組成[9]。減速器拆裝實(shí)驗(yàn)中涉及零部件結(jié)構(gòu)分析、拆裝順序與方法等,對學(xué)生培養(yǎng)工程意識,提高分析和解決問題的能力等具有重要意義,同時也是啟迪學(xué)生創(chuàng)新思維的重要手段[10]。虛擬實(shí)驗(yàn)系統(tǒng)主要功能框架為實(shí)驗(yàn)準(zhǔn)備、減速器拆裝及運(yùn)行動畫、拆裝仿真、齒輪傳動與實(shí)驗(yàn)幫助,見圖2。
圖2 減速器拆裝虛擬仿真實(shí)驗(yàn)總體框架
以Unity 3D虛擬引擎為載體,利用UG、3dsMax、C#完成虛擬實(shí)驗(yàn)系統(tǒng)的開發(fā)。通過Unity 3D打包發(fā)布,可以使虛擬實(shí)驗(yàn)系統(tǒng)成為獨(dú)立文件,從而可以脫離Unity 3D環(huán)境在其他電腦運(yùn)行和傳播。Unity 3D打包發(fā)布,可以直接在Unity界面的“File”目錄下點(diǎn)擊“Build Settings”,就可以發(fā)布到PC、iOS、Android等客戶端[11]。由于其數(shù)據(jù)化的便攜性,經(jīng)過適配,可在多種設(shè)備上隨時隨地進(jìn)行虛擬實(shí)驗(yàn)。
減速器拆裝實(shí)驗(yàn)系統(tǒng)以一級圓柱齒輪減速器和擺線針輪減速器為例進(jìn)行拆裝,包括手動和自動兩種方式,用戶可以通過點(diǎn)擊相應(yīng)的操作按鈕進(jìn)行選擇。操作方式簡單,交互性好。拆裝之前,學(xué)生可觀看減速器的拆裝動畫,準(zhǔn)確把握減速器的結(jié)構(gòu)組成,理解軸上各零件的軸向定位、周向定位以及密封情況,認(rèn)識各零件的結(jié)構(gòu)。當(dāng)鼠標(biāo)點(diǎn)擊相應(yīng)的減速器時,會了解該減速器的用途及適用場合。對于識圖能力較差的學(xué)生,平臺還提供了各零件的三視圖,使學(xué)生提高減速器各部分如何通過圖紙來表達(dá)的能力,為后續(xù)的機(jī)械設(shè)計課程打下基礎(chǔ)。
圖3 一級圓柱齒輪減速器拆裝
圖3為減速器拆裝的運(yùn)行界面,界面的左側(cè)為組成減速器的各種零件,右側(cè)為組裝的進(jìn)度情況。學(xué)生可以通過拖動鼠標(biāo)進(jìn)行組裝和拆卸,若裝配正確可繼續(xù)進(jìn)行,否則不能進(jìn)行下一步。同時,按住鼠標(biāo)可進(jìn)行零部件的360°旋轉(zhuǎn)和縮放,讓學(xué)生做到邊裝配、邊思考,這加深了學(xué)生對知識點(diǎn)的理解。通過對不同減速器的實(shí)驗(yàn)拆裝,比較異同之處,學(xué)生能進(jìn)一步理解所學(xué)知識。
點(diǎn)擊實(shí)驗(yàn)頁面內(nèi)的手動拆卸按鈕,即進(jìn)入手動拆卸過程。平臺中間為減速器的三維模型,利用鼠標(biāo)點(diǎn)擊后滑輪可以控制減速器模型的放大和縮小。通過鼠標(biāo)左鍵點(diǎn)擊減速器某部分,拖動拆卸的零件到平臺兩側(cè),即可進(jìn)行手動拆卸。如果零件拆卸順序錯誤則不會被拖動,需要選擇正確的零件進(jìn)行手動拆卸,完成手動拆卸的擺線針輪減速器如圖4所示。
圖4 擺線針輪減速器拆卸
減速器手動裝配是手動拆卸的逆過程,操作步驟相反。當(dāng)完成減速器模擬拆裝實(shí)驗(yàn)后,點(diǎn)擊右上角的返回按鈕可以返回減速器拆裝界面,再點(diǎn)擊退出實(shí)驗(yàn)即可返回實(shí)驗(yàn)平臺主界面。
在線模擬測試是通過模仿考試系統(tǒng)搭建而成,幫助實(shí)驗(yàn)者檢驗(yàn)學(xué)習(xí)效果,增加知識儲備量。通過不斷完善測試題庫,后期可抽取不同題目進(jìn)行在線測試。按照題目章節(jié)類型不同,將題目測試區(qū)分為不同的入口,學(xué)生根據(jù)自身知識需求,可以選擇章節(jié)進(jìn)行測試。測試題目全部以選擇題的方式呈現(xiàn),設(shè)置4個選項備選,學(xué)生完成一道題目后,點(diǎn)擊右下角的下一題按鈕可進(jìn)入下一道題,如圖5所示。在完成所有測試題目后,點(diǎn)擊提交按鈕,所做題目將提交到平臺進(jìn)行批閱,平臺批閱完成后會將做對、做錯題目的數(shù)量呈現(xiàn)給實(shí)驗(yàn)者,這樣實(shí)驗(yàn)者對于自身知識能夠有一個全面的了解,為下一步學(xué)習(xí)和開展實(shí)驗(yàn)提供依據(jù)。點(diǎn)擊返回主頁面按鈕,即可返回主界面,選擇進(jìn)行其他實(shí)驗(yàn)。
由于鼠標(biāo)是虛擬拆裝實(shí)驗(yàn)的重要控制工具,因此在該實(shí)驗(yàn)平臺的設(shè)計過程中,需要充分考慮如何判別鼠標(biāo)是否觸碰到或選中場景中的零件。為實(shí)現(xiàn)該功能,需要給場景中的每一個零件設(shè)置一個碰撞器,依據(jù)給定的范圍進(jìn)行識別檢測。在虛擬開發(fā)引擎Unity中,有很多可以選擇的碰撞器類型。通過對比,網(wǎng)格碰撞器與零件的形狀最為適合,精細(xì)度最高,因此優(yōu)先選用網(wǎng)格碰撞器。為避免每個零件都添加網(wǎng)格碰撞器占用大量內(nèi)存,可以依據(jù)零部件的具體形狀進(jìn)行選擇,例如軸承和端蓋部分可以選擇立方體碰撞器。在實(shí)驗(yàn)平臺中,只要鼠標(biāo)進(jìn)入碰撞器的范圍內(nèi),就代表鼠標(biāo)事件對碰撞器里的零件生效。
圖5 在線測試界面
在拆裝過程中,要實(shí)現(xiàn)鼠標(biāo)拖動零件,即零件跟隨鼠標(biāo)移動。這個過程是通過實(shí)例化實(shí)現(xiàn)的,當(dāng)主攝像機(jī)發(fā)出的射線與碰撞器接觸時,即鼠標(biāo)點(diǎn)擊碰撞器時,與其對應(yīng)的零件就會顯現(xiàn)出來,跟隨鼠標(biāo)實(shí)例化的零件就會消失。 主攝像機(jī)發(fā)射射線到鼠標(biāo)觸碰位置的相關(guān)代碼為Ray ray=Camera.main.ScreenPointToRay(Input.mousePosition)。在平臺中,如果要保證實(shí)例化的零件能夠跟隨鼠標(biāo)在屏幕內(nèi)隨意移動,就需要轉(zhuǎn)換屏幕坐標(biāo),具體為在Sence視圖中設(shè)置一個Cube,將其放到坐標(biāo)為(0,0,0)的位置。相關(guān)的部分代碼如下:
ScreenSpace=Camera.main.WorldToScreenPoint(GameObject.transform.position);
CompPos=Camera.main.ScreenToWorldPoint(newVector3(Input.mousePosition.x,Input.mousePosition.y,ScreenSpace.z))。
鑒于高校機(jī)械設(shè)計實(shí)驗(yàn)存在教學(xué)實(shí)驗(yàn)設(shè)備不足、設(shè)備老舊磨損,以及受時間和場地的限制等問題,線下實(shí)驗(yàn)室的使用有諸多不便。利用Unity作為開發(fā)平臺,通過使用Unity 3D開發(fā)引擎,設(shè)計開發(fā)了一款基于Unity 3D的機(jī)械設(shè)計虛擬仿真實(shí)驗(yàn)平臺。該平臺打破了傳統(tǒng)實(shí)驗(yàn)室的限制,不僅實(shí)現(xiàn)了預(yù)期的實(shí)驗(yàn)功能,還有效地對機(jī)械設(shè)計的理論知識點(diǎn)進(jìn)行了動畫模擬,彌補(bǔ)了學(xué)生實(shí)踐操作少的缺點(diǎn),提高了學(xué)生的學(xué)習(xí)興趣,達(dá)到了理論與實(shí)踐結(jié)合的目的,大大提升了教學(xué)質(zhì)量,具有一定的應(yīng)用價值。