李夢(mèng)如, 陳茂林, 陳 哲, 于睿坤, 奚 鷹
(同濟(jì)大學(xué) 機(jī)械與能源工程學(xué)院, 上海 201804)
隨著科學(xué)技術(shù)的發(fā)展,虛擬仿真實(shí)驗(yàn)教學(xué)成為了一種新興的教與學(xué)互動(dòng)教學(xué)模式,憑借其較高的擬實(shí)性和交互性、較高的資源利用率和開放性等優(yōu)點(diǎn),正迅速地發(fā)展起來,并得到越來越廣泛的應(yīng)用[1-3]。虛擬仿真實(shí)驗(yàn)的構(gòu)建對(duì)于高校實(shí)驗(yàn)教學(xué)具有非常重大意義和應(yīng)用價(jià)值。它將完全顛覆傳統(tǒng)實(shí)驗(yàn)教學(xué)的時(shí)空觀念,對(duì)傳統(tǒng)實(shí)驗(yàn)教學(xué)模式產(chǎn)生重大的變革。通過虛擬仿真實(shí)驗(yàn),就學(xué)生而言,體驗(yàn)和熟悉實(shí)驗(yàn)環(huán)境,操作虛擬實(shí)驗(yàn)設(shè)備,了解實(shí)驗(yàn)原理。在學(xué)習(xí)過程中或以后實(shí)際動(dòng)手的實(shí)驗(yàn)過程中,學(xué)生就能夠更好地提高學(xué)習(xí)效率和發(fā)揮自主創(chuàng)新能力[4];就學(xué)校而言,可減少了教育資源需求量和成本,實(shí)現(xiàn)教學(xué)資源的遠(yuǎn)程共享,應(yīng)對(duì)教育資源相對(duì)匱乏這一現(xiàn)象[5]。現(xiàn)今,我國各大高等院校已經(jīng)開始大力建設(shè)虛擬仿真實(shí)驗(yàn)項(xiàng)目,并著重推廣和發(fā)展,將其納入到教學(xué)改革與實(shí)踐中來[6]。
目前我校機(jī)械實(shí)驗(yàn)教學(xué)中心的虛擬仿真實(shí)驗(yàn)項(xiàng)目僅涉及一些能夠動(dòng)態(tài)演示實(shí)驗(yàn)過程的計(jì)算機(jī)輔助教學(xué)(Computer Assisted Instruction,CAI)類型實(shí)驗(yàn),只能實(shí)現(xiàn)實(shí)驗(yàn)過程的演示,缺少交互性的虛擬仿真實(shí)驗(yàn)[7]。學(xué)生往往只能被動(dòng)地觀察實(shí)驗(yàn)過程,而無法自主地進(jìn)行學(xué)習(xí),影響了學(xué)習(xí)和教學(xué)效果。由此可見,構(gòu)建虛擬仿真實(shí)驗(yàn)已迫在眉睫。
漸開線齒輪范成原理實(shí)驗(yàn)[8-9]儀為漸開線齒輪范成儀,其主要由機(jī)架、圓盤及壓板、齒條型刀具、溜板、手柄、變位滾花等組成。機(jī)架起支承作用。轉(zhuǎn)動(dòng)手柄,可通過絲杠結(jié)構(gòu)調(diào)節(jié)圓盤相對(duì)于齒條型刀具的徑向距離。溜板可帶著刀具左右移動(dòng)。調(diào)節(jié)圓盤至一定位置時(shí),溜板也可帶著圓盤轉(zhuǎn)動(dòng)。變位滾花可微調(diào)圓盤相對(duì)于齒條型刀具的徑向距離。漸開線齒輪范成儀實(shí)物圖如圖1所示。
目前我校所擁有的漸開線齒輪范成儀年代久遠(yuǎn),儀器老舊,損壞率高,維護(hù)及更換成本較高。不僅如此,在2學(xué)時(shí)內(nèi),要求教師完成相關(guān)實(shí)驗(yàn)?zāi)康摹?nèi)容、原理和步驟講解;要求學(xué)生完成加工17齒標(biāo)準(zhǔn)齒輪、9齒標(biāo)準(zhǔn)齒輪和9齒變位齒輪,通過觀察漸開線齒廓的形成過程,掌握用范成法切制漸開線齒輪的基本原理,了解漸開線齒廓產(chǎn)生根切的原因和避免產(chǎn)生根切的方法,并比較標(biāo)準(zhǔn)齒輪和變位齒輪的異同點(diǎn)。往往2個(gè)學(xué)時(shí)的時(shí)間是不夠的,需要占用額外的實(shí)驗(yàn)室資源,來完成相關(guān)實(shí)驗(yàn)。此外,機(jī)械基礎(chǔ)實(shí)驗(yàn)課程主要面向我校機(jī)械設(shè)計(jì)制造及其自動(dòng)化、車輛工程、工業(yè)工程、軌道交通等機(jī)類專業(yè)學(xué)生,人數(shù)眾多,實(shí)驗(yàn)室資源有限,難以協(xié)調(diào),以滿足學(xué)生和教師的需求。
開設(shè)漸開線齒輪范成原理虛擬實(shí)驗(yàn),逼真地模擬該實(shí)驗(yàn)過程,供學(xué)生做預(yù)習(xí)和復(fù)習(xí)之用,豐富實(shí)驗(yàn)室資源,是非常有必要的且具有意義的。
實(shí)現(xiàn)漸開線齒輪范成原理虛擬實(shí)驗(yàn)的技術(shù)路線如圖2所示。
漸開線齒輪范成原理虛擬實(shí)驗(yàn)的模型制作軟件采用的是面向產(chǎn)品開發(fā)的三維CAD軟件:Autodesk Inventor Professional (AIP)。運(yùn)用軟件中草圖、拉伸、倒角、圓角、投影幾何圖元、抽殼、放樣、掃掠、陣列等命令,結(jié)合基本的機(jī)械繪圖知識(shí),將模型制作出來[10](在此不贅述)。
采用基于個(gè)人計(jì)算機(jī)系統(tǒng)的三維動(dòng)畫渲染和制作軟件3Ds Max對(duì)漸開線齒輪范成原理虛擬實(shí)驗(yàn)的模型賦予材質(zhì)。該軟件與Inventor具有極佳的適配性[11]。
在實(shí)際操作過程中,采用3Ds Max的材質(zhì)編輯器為各零件賦予材質(zhì),渲染,之后導(dǎo)入U(xiǎn)nity 3D過程中材質(zhì)會(huì)部分失去,例如顏色無法一起導(dǎo)出,因此需要在Unity 3D中再做修改。但在3Ds Max中賦予材質(zhì)的工作不能省略,因?yàn)橹挥芯邆洳煌庥^的零件賦予不同的材質(zhì)球之后,在Unity 3D中才可以分別賦予材質(zhì),否則Unity 3D會(huì)認(rèn)為所用零件是一個(gè)材質(zhì),不能加以區(qū)分。
漸開線齒輪范成原理虛擬實(shí)驗(yàn)的交互設(shè)計(jì)采用Unity 3D軟件。Unity 3D[12-14]是一個(gè)集三維游戲視頻、建筑可視化、實(shí)時(shí)三維動(dòng)畫、腳本后臺(tái)編輯綁定等多種類型于一體的多平臺(tái)綜合型游戲開發(fā)工具。Unity支持3種腳本語言:JavaScript、C#和Boo[15]。本虛擬實(shí)驗(yàn)采用C#。需要注意的是,C#中類名被隱式的設(shè)置為腳本的文件名(不包含文件擴(kuò)展名),且類名必須手工編寫。如果類名與文件名不符,軟件會(huì)報(bào)錯(cuò)。實(shí)驗(yàn)界面與交互場(chǎng)景的搭建主要涉及以下幾個(gè)方面:
(1) 主要函數(shù)應(yīng)用。在漸開線齒輪范成原理虛擬實(shí)驗(yàn)的界面與交互場(chǎng)景的搭建過程中,涉及到一些主要函數(shù)的應(yīng)用,例如初始化設(shè)置函數(shù)(Start)、循環(huán)函數(shù)(Update)、事件會(huì)在鼠標(biāo)停留在指定對(duì)象上時(shí)發(fā)生的函數(shù)(OnMouseOver)、事件會(huì)在鼠標(biāo)進(jìn)入物體碰撞器范圍時(shí)發(fā)生的函數(shù)(OnMouseEnter)、事件會(huì)在鼠標(biāo)離開物體碰撞器范圍時(shí)發(fā)生的函數(shù)(OnMouseExit)、事件會(huì)在鼠標(biāo)按下時(shí)發(fā)生的函數(shù)(OnMouseDown)、事件會(huì)在鼠標(biāo)釋放時(shí)發(fā)生的函數(shù)(OnMouseUp)、事件會(huì)在按住鼠標(biāo)時(shí)發(fā)生的函數(shù)(OnMouseDrag)、進(jìn)入碰撞時(shí)被調(diào)用函數(shù)(OnCollisionEnter)、退出碰撞時(shí)被調(diào)用函數(shù)(OnCollisionExit)、逗留碰撞時(shí)被調(diào)用函數(shù)(OnCollisionStay)、激活物體對(duì)象及其腳本函數(shù)(gameObject.SetActive)等。
(2) 攝像機(jī)的應(yīng)用。在本虛擬實(shí)驗(yàn)中,實(shí)驗(yàn)者通過攝像機(jī)來觀察虛擬場(chǎng)景并發(fā)出操作指令。
(3) 場(chǎng)景的切換。只用一個(gè)虛擬實(shí)驗(yàn)場(chǎng)景展示本實(shí)驗(yàn),非常不便于實(shí)現(xiàn)所有操作控制,需要搭建其他實(shí)驗(yàn)場(chǎng)景。
運(yùn)用C#切換虛擬實(shí)驗(yàn)場(chǎng)景時(shí),需要在C#腳本文件中增加一個(gè)“using UnityEngine.SceneManagement”的頭文件;并且用腳本寫下“SceneManager.LoadScene(場(chǎng)景編號(hào));”或者“SceneManager.LoadScene(“場(chǎng)景名字”);”,以加載新的場(chǎng)景,如圖3所示;或者,用腳本寫下“SceneManager.UnloadScene(場(chǎng)景編號(hào));”或者“SceneManager.UnloadScene(“場(chǎng)景名字”);”,加載新場(chǎng)景,具體加載場(chǎng)景腳本如下。
using UnityEngine:
using System.Collections;
using UnityEngine.SceneManagement;
public class test2:MonoBehaviour{
void Start(){
SceneManager.LoadScene(1);
}
void Update(){
}
}
或者,用腳本寫下“SceneManager.Unlead Scene(“場(chǎng)景名字”);”來卸載當(dāng)前場(chǎng)景。
圖3 漸開線齒輪范成原理虛擬實(shí)驗(yàn)
(4) 按鈕(Button)的創(chuàng)建與連接。在菜單里創(chuàng)建好按鈕(Button)后,需要為按鈕(Button)創(chuàng)建并鏈接腳本,當(dāng)按鈕(Button)被按下時(shí),調(diào)用腳本內(nèi)容控制虛擬實(shí)驗(yàn)。
using UnityEngine;
using System.Collections;
public class NewBehaviourScript:MonoBehaviour{
void Start(){
}
1)選用抗倒伏品種。利用小麥品種本身的抗倒伏能力,是防止和減輕小麥倒伏最經(jīng)濟(jì)有效的技術(shù)途徑[9,10]。建議科研和技術(shù)推廣部門開展品種抗倒性試驗(yàn),篩選出適合當(dāng)?shù)氐目沟狗贩N。
void Updage(){
}
Public void test3(){
}
}
完成腳本后,將其掛載在按鈕(Button)上,此時(shí)腳本還不能使用。點(diǎn)擊選擇按鈕(Button),在其檢視面板上,點(diǎn)擊“On Click()”下面的“+”號(hào),在“None”一欄里選擇剛才腳本掛載的物體對(duì)象“Button”,在“No Function”一欄里選擇所需腳本的名字以及函數(shù)的名字。
(5) 剛體及碰撞器的使用。剛體——在虛擬實(shí)驗(yàn)中,要使實(shí)驗(yàn)儀器、實(shí)驗(yàn)對(duì)象等呈現(xiàn)物理效果,需為其添加剛體(Rigidbody)屬性。具體方法:在選擇物體的情況下,點(diǎn)擊檢視面板中的“Add Component”|“Physics”|“Rigidbody”。碰撞檢查方式——默認(rèn)模式為離散模式(Discrete)。但是當(dāng)物體運(yùn)動(dòng)速度很快時(shí),可能會(huì)出現(xiàn)前一幀仍在另一物體的前面,而后一幀已經(jīng)在另一物體的后面的情況。在這種情況下不會(huì)觸發(fā)碰撞事件。所以,要檢測(cè)該情況,必須使用下面兩種檢測(cè)方式:連續(xù)方式(可以與靜態(tài)網(wǎng)絡(luò)碰撞,并對(duì)實(shí)驗(yàn)對(duì)象進(jìn)行碰撞檢測(cè))和連續(xù)動(dòng)態(tài)方式(可以對(duì)設(shè)置了連續(xù)或連續(xù)動(dòng)態(tài)方式的物體對(duì)象進(jìn)行碰撞檢測(cè))。碰撞器——Unity 3D中碰撞器分成3種類型:靜態(tài)碰撞器、剛體碰撞器和運(yùn)動(dòng)學(xué)剛體碰撞器。在選擇物體的情況下,點(diǎn)擊檢視面板中的“Add Component”|“Physics”|“Box Collider”。碰撞檢測(cè)——Unity 3D中有內(nèi)置的兩種方法來實(shí)現(xiàn)物體之間的碰撞檢測(cè):剛體碰撞方法和使用射線方法。若在虛擬實(shí)驗(yàn)中想要通過鼠標(biāo)點(diǎn)擊某物體對(duì)象觸發(fā)某事件時(shí),必須先為該物體對(duì)象添加碰撞器,否則不能觸發(fā)點(diǎn)擊事件。
Unity 3D的編輯器運(yùn)行在Windows 和Mac OS X下,可發(fā)布虛擬實(shí)驗(yàn)至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平臺(tái)。也可以利用Unity web player插件發(fā)布網(wǎng)頁版虛擬實(shí)驗(yàn),支持Mac和Windows的網(wǎng)頁瀏覽。它的網(wǎng)頁播放器也被Mac widgets所支持[16]。
漸開線齒輪范成原理虛擬實(shí)驗(yàn)設(shè)計(jì)在一個(gè)虛擬的實(shí)驗(yàn)教室中,齒輪范成儀、兩種規(guī)格的紙片、實(shí)驗(yàn)原理書以及實(shí)驗(yàn)步驟說明書擺放在實(shí)驗(yàn)桌上(見圖3)。
點(diǎn)擊桌上的的兩本書,可進(jìn)入實(shí)驗(yàn)原理界面以及實(shí)驗(yàn)步驟界面。按下Esc鍵,調(diào)出菜單,可選擇查看實(shí)驗(yàn)原理、實(shí)驗(yàn)步驟以及軟件操作說明,同時(shí)限制對(duì)實(shí)驗(yàn)臺(tái)上物品的點(diǎn)擊觸發(fā)事件。點(diǎn)擊菜單上的按鈕,觸發(fā)相應(yīng)事件,并隱藏菜單。再次按下Esc鍵,轉(zhuǎn)回到原來實(shí)驗(yàn)狀態(tài)。實(shí)驗(yàn)結(jié)構(gòu)如圖4所示。
圖4 漸開線齒輪范成原理虛擬實(shí)驗(yàn)結(jié)構(gòu)示意圖
在實(shí)驗(yàn)操作過程中,當(dāng)鼠標(biāo)移動(dòng)到需要操作的部件上時(shí),該部件呈綠色,表明可以對(duì)該部件進(jìn)行相應(yīng)操作。
實(shí)驗(yàn)者的視角通過控制攝像機(jī)的平移和轉(zhuǎn)動(dòng)來實(shí)現(xiàn),即鍵盤上的W、S、A、D、V、Space、Q、E、R、F、Z、X鍵來控制。為了能逼真地反映實(shí)驗(yàn)環(huán)境,在一般位置,其移動(dòng)速度較快;到達(dá)特殊位置,例如實(shí)驗(yàn)儀器的極限位置、墻壁的極限位置等,其相應(yīng)方向上的移動(dòng)速度為零,表示不可移動(dòng),但其他方向的移動(dòng)速度正常。鼠標(biāo)中鍵按下后,可增大攝像機(jī)的移動(dòng)速度,方便實(shí)驗(yàn)者的視角快速地到達(dá)指定位置,進(jìn)行實(shí)驗(yàn)。鼠標(biāo)經(jīng)過所有可操作對(duì)象上方時(shí),該對(duì)象顏色變成綠色,鼠標(biāo)離開后變回原來顏色。
按下Tab鍵,可調(diào)出副攝像機(jī),以便觀察在紙上的畫圖情況。裝上繪圖紙后按下回車鍵,才可在繪圖紙上繪圖。本虛擬實(shí)驗(yàn)采用在圓盤上的繪圖紙上實(shí)例化子級(jí)來實(shí)現(xiàn)這個(gè)真實(shí)的繪圖效果。
具體實(shí)驗(yàn)步驟如下:
步驟1鼠標(biāo)左擊齒輪范成儀機(jī)蓋,機(jī)蓋放置到實(shí)驗(yàn)桌右上角,準(zhǔn)備開始實(shí)驗(yàn)。
步驟2鼠標(biāo)左擊壓板,拆下壓板。
步驟3鼠標(biāo)左擊齒條刀具,翻開刀具。
步驟4若選擇加工17齒標(biāo)準(zhǔn)齒輪,轉(zhuǎn)動(dòng)圓盤的大扇面與溜板壓緊;若選擇加工9齒標(biāo)準(zhǔn)齒輪和9齒變位齒輪,轉(zhuǎn)動(dòng)圓盤的小半圓面與溜板壓緊。鼠標(biāo)左擊圓盤,可實(shí)現(xiàn)圓盤的轉(zhuǎn)動(dòng)。
步驟5若選擇加工17齒標(biāo)準(zhǔn)齒輪,選擇大紙片進(jìn)行操作;若選擇加工9齒標(biāo)準(zhǔn)齒輪和9齒變位齒輪,選擇小紙片進(jìn)行操作。鼠標(biāo)移動(dòng)到紙片上,紙片呈綠色,鼠標(biāo)左擊,紙片自動(dòng)安裝到范成儀上。若未執(zhí)行步驟2和步驟3,紙片無法安裝到范成儀上,系統(tǒng)也將提示“請(qǐng)先點(diǎn)擊壓板與刀具?!?。
步驟6鼠標(biāo)左擊壓板,裝上壓板;鼠標(biāo)左擊齒條刀具,合上刀具。
步驟7鼠標(biāo)左擊手柄,粗調(diào)圓盤相對(duì)于溜板的徑向位置,使圓盤與溜板壓緊。手柄設(shè)置了一定的旋轉(zhuǎn)范圍。
步驟8鼠標(biāo)左擊變位滾花,微調(diào)圓盤相對(duì)于溜板的徑向位置,使齒條刀具的分度線與齒坯的分度圓相切。若加工變位齒輪,調(diào)節(jié)變位滾花,使齒條刀具的分度線與齒坯的分度圓相距一定的變位量。變位滾花設(shè)置了一定的旋轉(zhuǎn)范圍。
步驟9點(diǎn)擊鼠標(biāo)右鍵,并按住A或者D鍵,可實(shí)現(xiàn)溜板的左右移動(dòng)。移動(dòng)齒條刀具至范成儀一端,每移動(dòng)2~3mm,按下回車鍵,可在紙上畫下刀具廓線,此即為每次切削形成的加工面。
步驟10實(shí)驗(yàn)完成之后,鼠標(biāo)左擊壓板和齒條刀具,拆下壓板,翻開刀具,隨后左擊繪圖紙,繪圖紙回到桌面原來位置,如圖5所示。
圖5 實(shí)驗(yàn)結(jié)果展示
漸開線齒輪范成原理虛擬實(shí)驗(yàn)仿真,結(jié)合“課內(nèi)”與“課外”的實(shí)驗(yàn)教學(xué)方法,培養(yǎng)學(xué)生學(xué)習(xí)的自主性及實(shí)踐動(dòng)手能力,滿足了學(xué)校師生對(duì)課程的需求,并豐富了實(shí)驗(yàn)室資源。不僅如此,漸開線齒輪范成原理虛擬實(shí)驗(yàn)的技術(shù)路線可運(yùn)用到其他虛擬實(shí)驗(yàn)的建立。