王大虎,寧 彤,唐益民
(河南理工大學(xué)電氣工程與自動(dòng)化學(xué)院,河南 焦作 454000)
“電機(jī)學(xué)”作為電氣工程這一工科專業(yè)中工程應(yīng)用性較強(qiáng)的學(xué)科之一,該門學(xué)科主要培養(yǎng)掌握電磁基礎(chǔ)理論和電機(jī)專門知識(shí),且能在電機(jī)及其相關(guān)專業(yè)領(lǐng)域內(nèi)面向生產(chǎn)、設(shè)計(jì)等方面的復(fù)合型高級(jí)工程技術(shù)人才。在實(shí)踐教學(xué)中,主要是圍繞各類電機(jī)展開理論知識(shí)教學(xué),并以培養(yǎng)學(xué)生工程實(shí)踐能力為目標(biāo)推進(jìn)實(shí)踐性教學(xué)環(huán)節(jié),理論學(xué)習(xí)與工程實(shí)踐兩者相輔相成[1]。
當(dāng)今傳統(tǒng)的“電機(jī)學(xué)”理論與實(shí)踐教學(xué)環(huán)節(jié)偏重理論教學(xué),實(shí)際動(dòng)手操作教學(xué)環(huán)節(jié)較少,傳統(tǒng)理論教學(xué)多以文字內(nèi)容結(jié)合圖片信息為主,在理論學(xué)習(xí)過程中學(xué)生僅對(duì)電機(jī)設(shè)備有一定的視覺感官認(rèn)知,但這種感官呈現(xiàn)缺乏立體感,不夠生動(dòng),學(xué)生理解起來較為困難,因此教師對(duì)設(shè)備構(gòu)造和工作原理的教學(xué)難以深入進(jìn)行,而且學(xué)生的學(xué)習(xí)效果往往達(dá)不到預(yù)期[2]。隨著信息化技術(shù)的發(fā)展,虛擬現(xiàn)實(shí)技術(shù)在高等教育領(lǐng)域的應(yīng)用將作為傳統(tǒng)教學(xué)的重要補(bǔ)充,傳統(tǒng)實(shí)驗(yàn)教學(xué)加上虛擬仿真實(shí)驗(yàn)教學(xué)的混合式教學(xué)更加符合當(dāng)今信息化時(shí)代的發(fā)展規(guī)律,這樣的混合式教學(xué)手段同樣也可以學(xué)習(xí)到理論知識(shí)的精髓,并且能有效激發(fā)學(xué)員的學(xué)習(xí)興趣,同時(shí)大大提高教學(xué)效率[3-4]。
電機(jī)實(shí)驗(yàn)仿真教學(xué)系統(tǒng)主要利用虛擬現(xiàn)實(shí)技術(shù)來還原真實(shí)的實(shí)驗(yàn)操作流程,將抽象枯燥的理論知識(shí)進(jìn)行三維可視化處理,使得學(xué)習(xí)過程更加客觀立體,增加學(xué)習(xí)的趣味性。該系統(tǒng)以某電機(jī)實(shí)驗(yàn)裝置為原型,對(duì)主要的電機(jī)教學(xué)設(shè)備實(shí)現(xiàn)了結(jié)構(gòu)展示、視頻教學(xué)、實(shí)驗(yàn)?zāi)M等交互功能。電機(jī)仿真教學(xué)系統(tǒng)框架如圖1所示。
圖1 系統(tǒng)功能設(shè)計(jì)
電機(jī)虛擬教學(xué)系統(tǒng)以3DS Mах 和Unity3D 引擎展開,輔以C#語(yǔ)言,并依靠關(guān)鍵技術(shù)來實(shí)現(xiàn)。整個(gè)系統(tǒng)的開發(fā)路線分為以下4 步:三維模型數(shù)據(jù)采集、模型創(chuàng)建及簡(jiǎn)化、人機(jī)交互優(yōu)化實(shí)現(xiàn)、測(cè)試發(fā)布。系統(tǒng)開發(fā)技術(shù)路線如圖2 所示。
由圖2 可知,系統(tǒng)開發(fā)時(shí)首先應(yīng)收集仿真對(duì)象的圖像信息,利用手頭的手機(jī)或者更為專業(yè)的拍照攝像工具對(duì)真實(shí)實(shí)驗(yàn)室環(huán)境以及涉及到的儀器設(shè)備進(jìn)行圖像采集,憑借收集的圖形信息,在3DS Mах 中選取合適的幾何模型,按照實(shí)際物體圖像信息進(jìn)行等比例還原建模,初模建好后,應(yīng)該具備物體的實(shí)際關(guān)鍵特征,形狀構(gòu)建好之后對(duì)模型進(jìn)行材質(zhì)以及貼圖賦予,并加設(shè)光照條件,使得最終的模型看上去更加逼真;建模完成后還要考慮模型將來在運(yùn)行加載過程中應(yīng)盡量流暢,且占用較少的內(nèi)存空間,所以建模完成后對(duì)模型進(jìn)行簡(jiǎn)化處理,在保持原有特征的基礎(chǔ)上,減少三維模型的頂點(diǎn)數(shù)和三角形網(wǎng)格數(shù);將簡(jiǎn)化后的模型導(dǎo)入U(xiǎn)nity3D 中,在完成UI(界面)設(shè)計(jì)的基礎(chǔ)上,編寫腳本文件實(shí)現(xiàn)設(shè)備觀察、視頻學(xué)習(xí)、實(shí)驗(yàn)?zāi)M、理論考核等功能的開發(fā),并通過改進(jìn)的混合包圍盒算法優(yōu)化碰撞檢測(cè)過程,降低系統(tǒng)內(nèi)存占用率;最后進(jìn)行系統(tǒng)運(yùn)行測(cè)試,反復(fù)測(cè)試確定系統(tǒng)無誤后,對(duì)系統(tǒng)進(jìn)行打包發(fā)布。
圖2 系統(tǒng)技術(shù)路線圖
模型的逼真程度能夠很大程度上影響用戶的實(shí)際體驗(yàn),通過規(guī)范的建模流程能夠提高建模的精準(zhǔn)度和工作效率,減少不必要的工作[5]。建模流程如圖3 所示。
圖3 建模流程圖
在構(gòu)建三維模型尤其是復(fù)雜模型過程中有許多需要注意的地方,如果不仔細(xì),最終做出的模型可能會(huì)與預(yù)期表現(xiàn)結(jié)果有一定的差距,這樣往往會(huì)事半功倍,大大降低工作效率,當(dāng)然這些都是在學(xué)習(xí)初期會(huì)出現(xiàn)的問題,在不斷練習(xí)過程中多加注意就有助于養(yǎng)成良好的建模習(xí)慣,從而提高工作效率。
建模注意事項(xiàng)如下:開始建模前,應(yīng)首先準(zhǔn)備好建模對(duì)象的真實(shí)比例信息,并充分認(rèn)識(shí)到物體與物體間的位置對(duì)應(yīng)關(guān)系及大小對(duì)應(yīng),這樣才能很好掌握模型尺寸比例并展現(xiàn)較為真實(shí)的環(huán)境效果,達(dá)到虛擬仿真的目的;模型上分別賦予材質(zhì)和貼圖的2 個(gè)面盡量避免交叉,否則在渲染的時(shí)候會(huì)出現(xiàn)顏色閃爍的問題;最后將模型導(dǎo)出之前需要注意模型命名問題,由于人機(jī)交互在使用程序控制的時(shí)候會(huì)使用模型的名稱,由于編程語(yǔ)言不能出現(xiàn)漢字,否則會(huì)出現(xiàn)錯(cuò)誤,故對(duì)模型的命名應(yīng)全部使用數(shù)字與英文字母。
三維模型創(chuàng)建前首先需要對(duì)所用到的實(shí)驗(yàn)設(shè)備及實(shí)驗(yàn)場(chǎng)景進(jìn)行信息采集,通過觀察采集到的設(shè)備信息進(jìn)行結(jié)構(gòu)設(shè)計(jì)、布線構(gòu)思[6]。利用3DS Mах 中的多種建模方法對(duì)模型進(jìn)行建模,材質(zhì)貼圖通過材質(zhì)編輯器編輯,給模型賦予材質(zhì)后能使模型更加真實(shí);通過布置場(chǎng)景燈光和控制攝像機(jī)的鏡頭長(zhǎng)度和視野使模型達(dá)到真實(shí)世界的效果,并借助渲染將陰影、顏色、照明效果等因素加入到三維模型中。通過刪除一些被遮擋住的面等技術(shù)手段來簡(jiǎn)化模型,降低系統(tǒng)運(yùn)行負(fù)擔(dān)。最后將創(chuàng)建好的模型導(dǎo)出為FBX 格式,并導(dǎo)入到Unity3D 中供使用。
直流電機(jī)模型如圖4 所示。
圖4 直流電機(jī)模型圖
2.2.1 設(shè)備裝拆
電機(jī)主要由外部金屬外罩(前后端罩、散熱風(fēng)扇)、內(nèi)部定轉(zhuǎn)子、繞組、電刷、轉(zhuǎn)軸和換向器等結(jié)構(gòu)組成。通過對(duì)電機(jī)設(shè)備的裝拆,使用者可以清晰了解設(shè)備內(nèi)部構(gòu)造及運(yùn)行方式等內(nèi)容,將平面原理圖立體化,有效提高學(xué)習(xí)觀感,增進(jìn)學(xué)習(xí)興趣[7]。在虛擬場(chǎng)景下,設(shè)備裝拆及實(shí)驗(yàn)操作的交互功能主要是通過鼠標(biāo)或者手柄與模型間的碰撞檢測(cè)來實(shí)現(xiàn),碰撞檢測(cè)則需要為模型具體部件添加包圍盒來作為觸發(fā)開關(guān)[8]。圖5、圖6分別為設(shè)備構(gòu)造及包圍盒效果圖。
圖5 設(shè)備構(gòu)照?qǐng)D
圖6 包圍盒效果圖
2.2.2 設(shè)備交互
隨著實(shí)驗(yàn)操作的進(jìn)行,過程中會(huì)有相關(guān)指示燈或者參數(shù)表的信息表達(dá),用以反映實(shí)驗(yàn)結(jié)果,這里使用TаrgеtCtrl 類來控制實(shí)驗(yàn)儀器指示燈的改變、參數(shù)表的參數(shù)變化及開關(guān)旋鈕的位置變化。實(shí)驗(yàn)過程的信息提示如圖7 所示。
圖7 信息提示效果圖
部分腳本代碼如下所示:
рubliс vоid Oреn(UnityAсtiоn_оnOреn=null)
{
if(isLight)//判斷物體是否需要改變顏色
{
GеtCоmроnеnt<MеshRеndеrеr>().mаtеriаls
=lightSеtting.ореnMаts;
_оnOреn?.Invоkе();
}
if(isMоvе)//判斷物體是否需要移動(dòng)
{
if(mоvеSеtting.isRеbоund)
{RеbоundMоvе(_оnOреn);}
еlsе
{trаnsfоrm.DOLосаlMоvе(mоvеSеtting.ореnPоs,0.5f).O
nCоmрlеtе(()=>{
_оnOреn?.Invоkе();});}
}
}
在電機(jī)仿真教學(xué)系統(tǒng)中實(shí)現(xiàn)主要功能后,需要為系統(tǒng)設(shè)置登錄頁(yè)面,學(xué)員通過注冊(cè)或者登錄自己的相關(guān)信息就能通過登錄頁(yè)面進(jìn)入系統(tǒng)進(jìn)行學(xué)習(xí);進(jìn)入主頁(yè)面后,學(xué)員通過點(diǎn)擊不同的板塊選擇相應(yīng)的學(xué)習(xí)內(nèi)容進(jìn)行學(xué)習(xí),首先進(jìn)行設(shè)備構(gòu)造認(rèn)知和運(yùn)行原理的視頻教學(xué)學(xué)習(xí),有了一定的實(shí)操基礎(chǔ)后,再進(jìn)行模擬實(shí)驗(yàn)操作,實(shí)驗(yàn)操作過程中,嚴(yán)格按照實(shí)驗(yàn)流程規(guī)范才能繼續(xù)進(jìn)行下一步操作,否則系統(tǒng)會(huì)有操作提示及錯(cuò)誤提醒;系統(tǒng)完成后還需多次進(jìn)行運(yùn)行測(cè)試,最終確保系統(tǒng)穩(wěn)定運(yùn)行,該教學(xué)系統(tǒng)主要運(yùn)行在Windоws 系統(tǒng)中,通過U3D 平臺(tái)打包成ехе 格式即可。系統(tǒng)生成文件如圖8 所示。
圖8 系統(tǒng)生成文件
基于Unity3D 開發(fā)平臺(tái),使用3DS Mах 三維建模和PS 圖像處理等虛擬仿真技術(shù)設(shè)計(jì)開發(fā)的電機(jī)實(shí)驗(yàn)仿真教學(xué)系統(tǒng),通過對(duì)真實(shí)課堂、實(shí)驗(yàn)室等的虛擬還原,不僅打破了傳統(tǒng)實(shí)驗(yàn)教學(xué)時(shí)間與空間方面的限制,更能將抽象難懂的理論知識(shí)及平面的原理圖進(jìn)行三維立體化展示;系統(tǒng)能在保證安全的前提下,為學(xué)生帶來最大化的學(xué)習(xí)自主性與良好的學(xué)習(xí)收益,最大化彌補(bǔ)了現(xiàn)在疫情傳播情況下線上教學(xué)手段單一的不足,同時(shí)在提高學(xué)習(xí)興趣及教學(xué)效果的基礎(chǔ)上,使得學(xué)生不僅僅是完成實(shí)驗(yàn),更能自主設(shè)計(jì)并完成新的實(shí)驗(yàn)探索,從而有效培養(yǎng)學(xué)生的創(chuàng)新實(shí)踐能力。