徐玉飛, 何嶺松, 杜建豪, 鄭 武
(1.華中科技大學(xué) 機械科學(xué)與工程學(xué)院, 武漢 430074; 2.武漢華中數(shù)控股份有限公司,武漢 430223)
在機械學(xué)科的教學(xué)中,要加強學(xué)生對于知識的理解和應(yīng)用能力,必然要通過一系列的學(xué)科實驗教學(xué),但是如果學(xué)生未經(jīng)培訓(xùn)直接進(jìn)行實驗,操作的錯誤率很高,存在較大的安全隱患。為改善這種狀況,教育工作者將虛擬實驗技術(shù)引入實驗教學(xué),讓學(xué)生通過互聯(lián)網(wǎng)進(jìn)行虛擬實驗,了解實驗原理、熟悉實驗操作,之后再進(jìn)行實際實驗操作,將極大地提高安全性,降低因誤操作而損壞設(shè)備的概率,進(jìn)而降低教學(xué)成本。同時,學(xué)生通過虛擬實驗平臺能隨時隨地通過網(wǎng)絡(luò)進(jìn)行實驗,突破了實際實驗中對于實驗課時、場地、設(shè)備數(shù)量和操作權(quán)限的限制[1-3]。虛擬實驗憑借其較高的擬實性和交互性、開放性以及提高的資源利用率等優(yōu)勢,受到各大教育及研究機構(gòu)的高度重視[4-6]。
虛擬演播技術(shù)原本是一種新興的電視節(jié)目制作方式,它利用攝像機跟蹤技術(shù)和視頻圖像處理技術(shù),將攝像機拍攝的人物錄像與計算機制作的三維虛擬場景合成,產(chǎn)生人物在虛擬場景中活動的效果[7]。近年來虛擬演播也開始應(yīng)用于教育領(lǐng)域,主要用于慕課的制作和影視編導(dǎo)專業(yè)的虛擬教學(xué)[8-10],成為一種新興的電化教育手段。
虛擬仿真實驗雖然一直致力于模擬真實實驗的場景和功能,但與實際實驗還是存在著巨大差距[11]。這種差距主要體現(xiàn)在:實際實驗過程中,有老師面對面地對學(xué)生進(jìn)行講解和操作指導(dǎo),而虛擬實驗中學(xué)生只能通過PPT或說明文檔的方式了解實驗的內(nèi)容和注意事項,缺乏生動的講解和有針對性的指導(dǎo),降低了學(xué)生的學(xué)習(xí)效率。為了彌補這一缺陷,本文通過虛擬演播的方式為虛擬實驗引入“講解者”的角色。
引入虛擬演播的虛擬實驗的總體工作原理如圖1所示。
圖1虛擬實驗總原理圖
虛擬實驗室系統(tǒng)以交互算法控制設(shè)備模型,模擬真實實驗的環(huán)境、設(shè)備和功能。當(dāng)實驗者對虛擬實驗室中的設(shè)備進(jìn)行操作時,實驗設(shè)備將反饋符合實驗原理的結(jié)果,實現(xiàn)對整個實驗過程的仿真。在虛擬演播廳中建立實驗室場景和實驗設(shè)備的虛擬模型,并導(dǎo)入綠幕下拍攝的前景(一般為人物錄像)視頻,通過調(diào)整虛擬攝像機[12]的位置改變拍攝畫面的角度和景深。圖像合成器將視頻前景與三維背景相結(jié)合,營造人物在三維背景中活動的效果,并生成虛擬演播視頻。
本文提出并實現(xiàn)了將虛擬演播應(yīng)用于虛擬實驗的方法:在虛擬實驗的過程中,不僅將虛擬演播視頻作為介紹虛擬實驗的先導(dǎo)視頻播放,還在實驗過程中通過采集虛擬機床狀態(tài)參數(shù)判斷實驗者的錯誤操作,調(diào)用并播放相關(guān)的虛擬演播視頻片段,講解實驗的原理和操作。以短視頻庫的形式代替?zhèn)鹘y(tǒng)的幫助文檔,引導(dǎo)實驗者進(jìn)行正確的實驗操作,提高虛擬實驗的教學(xué)效果。
下面將以虛擬機床切削實驗為例介紹虛擬實驗以及在虛擬實驗中引入虛擬演播功能的實現(xiàn)。
數(shù)控機床的設(shè)備模型以實際機床外形為模板,通過三維建模軟件3ds Max建立后,導(dǎo)出為VRML格式,應(yīng)用于虛擬實驗。虛擬實驗設(shè)備三維模型的封裝和控制均基于VRML編程語言實現(xiàn)。VRML[13]作為一種圖形描述性語言,可以直接通過程序語言描述建立模型,例如通過語言定義球心和半徑建立一個球體模型。但是面對復(fù)雜的實驗設(shè)備模型,程序語言描述建模的工作量大,因此選擇在3ds Max建模完成后導(dǎo)出VRML語言的兼容格式,再編寫控制程序的方式。機床切削虛擬實驗的總體實現(xiàn)方案可以用圖2表示。
圖2機床加工實驗實現(xiàn)方案
3ds Max導(dǎo)出后的VRML模型程序是混亂無序的,因此需要根據(jù)機床部件的運動層次關(guān)系,通過節(jié)點嵌套的方式封裝各零部件,便于對機床部件的控制。VRML程序具有強大的控制和交互功能[14],虛擬實驗中交互算法的基本原理如圖3所示。通過VRML中提供的多種傳感器節(jié)點,可檢測鼠標(biāo)在虛擬場景中的點擊、拖拽等操作,并通過定義的路由(Route)傳遞給對應(yīng)的幾何屬性關(guān)鍵值,改變部件的位置或角度,若定義路由傳值給腳本(Script)節(jié)點,則可以通過腳本函數(shù)對模型進(jìn)行過更加復(fù)雜的控制,如刀具與工件的干涉檢查和工件形變。在切削算法中,有兩類構(gòu)建工件模型的方法:一種是利用VRML中提供的擠出節(jié)點(Extrusion),定義一個封閉或半封閉的截面曲線沿定義的脊線為軌跡擠出構(gòu)建工件模型,應(yīng)用于車床和外 圓磨床;另一種是利用海拔柵格節(jié)點(ElevationGrid),
圖3VRML交互原理圖
在空間內(nèi)定義一個網(wǎng)格,分別確定x/y方向的網(wǎng)格點數(shù)量和間距,在一個數(shù)組中依次定義網(wǎng)格點的Z坐標(biāo)值。刀具和工件的位置作為入事件傳入腳本函數(shù),通過與該位置工件尺寸的對比,判斷是否干涉,若發(fā)生干涉再根據(jù)干涉程度改變該位置的形狀參數(shù),作為出事件傳至定義工件形狀的節(jié)點,最終實現(xiàn)切削效果。
VRML提供了與JavaScript通信的外部程序接口[15],可以在JavaScript程序中通過“document.scene.Engine.Nodes().Fields()”訪問和修改VRML程序中的相關(guān)參數(shù)。通過這一接口,可讀寫機床的工作狀態(tài)參數(shù),用于實現(xiàn)網(wǎng)頁控件對虛擬機床的控制。網(wǎng)頁對機床控制的功能包括:主軸旋轉(zhuǎn)的開關(guān),刀具、工件的進(jìn)給,工件尺寸的選擇,機床重置、運行特定切削程序等。大部分控制功能可直接通過前面提到與VRML程序的接口直接改寫VRML中相應(yīng)節(jié)點的域值即可實現(xiàn),例如可通過程序接口,將VRML中控制主軸旋轉(zhuǎn)的時間傳感器節(jié)點的使能參數(shù)賦值為“true”,控制主軸開始轉(zhuǎn)動。而運行特定切削程序的功能則需要在JavaScript中預(yù)先定義好一系列機床的操作指令序列,并在運行過程中調(diào)用相關(guān)功能函數(shù)的方式進(jìn)行。
為獲得更加真實的實驗體驗,虛擬演播廳的三維場景應(yīng)當(dāng)貼合實際實驗環(huán)境,因此,虛擬演播廳的搭建參考對應(yīng)實驗的實驗室環(huán)境,通過三維建模軟件(如3ds Max)建立實驗室環(huán)境以及實驗設(shè)備的模型??紤]到引入虛擬演播的需要,需要根據(jù)實驗特點,分析可能需要講解者的位置,預(yù)先定義虛擬演播屏幕模型的坐標(biāo)和大小,后期可根據(jù)需要改變屏幕的可見性,在適當(dāng)?shù)奈恢貌迦胩摂M演播視頻。
虛擬演播廳的搭建在現(xiàn)有的虛擬演播軟件Intensikey中進(jìn)行。Intensikey使用Ogre作為三維模型渲染引擎。為了將三維場景模型導(dǎo)出為可被Ogre引擎識別的格式,需在3ds Max中安裝OgreMax插件,并將模型材質(zhì)改為OgreMax Material類型,后將場景導(dǎo)出為.scene格式。其中,視頻源屏幕需命名為“VideosourceA”,才能被虛擬演播軟件識別。
為實現(xiàn)虛擬演播功能,要求在綠幕背景下錄制指導(dǎo)教師進(jìn)行相關(guān)實驗講解的視頻作為前景素材,導(dǎo)入虛擬演播軟件后通過色鍵技術(shù)[16]摳除綠色的像素點,在虛擬演播廳中預(yù)定義的視頻源屏幕上播放,即可實現(xiàn)人物在三維虛擬實驗室場景下講解的視覺效果,如圖4所示。在講解過程中,通過鼠標(biāo)拖動改變虛擬攝像機(觀察點)的坐標(biāo)和旋轉(zhuǎn)方向,可以模擬攝像機的推拉搖移,改變攝像的角度和景深,對需要觀察細(xì)節(jié)的內(nèi)容進(jìn)行局部放大,不僅能更好地表達(dá)講解內(nèi)容,同時使虛擬演播的過程更具有真實感。
(a)虛擬演播廳(b)綠幕視頻
(c) 虛擬演播合并效果
虛擬實驗需要引進(jìn)講解者的角色,使其能更好地模擬真實實驗中的情景。因此,可以通過虛擬演播的方式模擬指導(dǎo)教師的課前講解,錄制主持人在虛擬演播廳中介紹虛擬實驗室的構(gòu)成與功能,講解實驗原理、內(nèi)容與注意事項以及示范實驗操作的虛擬演播視頻。在學(xué)生開始實驗前,這部分虛擬演播內(nèi)容作為實驗的先導(dǎo)環(huán)節(jié)播放,使學(xué)生對于即將進(jìn)行的虛擬實驗形成初步的認(rèn)知。
但是,如果僅僅局限于把虛擬演播作為一個開場白性質(zhì)的講解,無法模擬實際實驗中指導(dǎo)教師“根據(jù)實驗者操作做出相應(yīng)指導(dǎo)”的作用,而這種基于實驗者操作的實驗指導(dǎo)反饋,關(guān)系到實驗中的“師生交互”,正是提升實驗者實驗體驗的重要環(huán)節(jié)。為模擬實際實驗中講解者與實驗者的交互,在虛擬實驗中增加了基于反饋的實驗指導(dǎo)。
在反饋指導(dǎo)算法中,通過采訪經(jīng)驗豐富的實驗指導(dǎo)教師,定義實驗者在實驗中出現(xiàn)概率較高的典型錯誤操作,并為這些錯誤錄制針對性的虛擬演播視頻片段,組成一個講解視頻庫。在網(wǎng)頁的腳本程序中,根據(jù)標(biāo)準(zhǔn)實驗流程定義操作節(jié)點,在操作節(jié)點通過讀取機床(包括工件)狀態(tài),判斷是否出現(xiàn)了典型的錯誤操作。例如在切換工件的操作節(jié)點讀取主軸的旋轉(zhuǎn)狀態(tài),若旋轉(zhuǎn)狀態(tài)為“true”則表明主軸未停止轉(zhuǎn)動,此時更換工件是不可行的;在進(jìn)行完車削操作后讀取擠出造型節(jié)點內(nèi)的比例數(shù)組,若在數(shù)組中間位置存在(0,0),且數(shù)組尾部元素不為0,則說明車刀在工件中間位置進(jìn)給過量將工件切斷,這在實驗中也是不允許出現(xiàn)的……當(dāng)檢測到這些錯誤的操作結(jié)果,程序?qū)⒎祷劐e誤代碼,網(wǎng)頁彈出錯誤提示,并在虛擬視頻庫中匹配對應(yīng)的錯誤講解視頻,若匹配成功則進(jìn)入虛擬演播環(huán)節(jié),彈出視頻窗口播放虛擬演播視頻,講解者講解該操作的相關(guān)原理和正確操作過程,糾正實驗者的操作。實驗邏輯流程如圖5所示。
圖5引入虛擬演播的虛擬實驗邏輯流程
當(dāng)然,作為一種新的實驗教學(xué)方式,在應(yīng)用的初期,預(yù)定義的操作錯誤無法涵蓋所有可能出現(xiàn)的錯誤操作。為解決這個問題,當(dāng)檢測到實驗者出現(xiàn)了錯誤操作又無法映射到相關(guān)講解視頻時,后臺將收集和統(tǒng)計用戶錯誤操作信息,網(wǎng)站維護(hù)人員定期查看錯誤信息報表,對出現(xiàn)頻次較高卻未定義的錯誤操作,及時補充定義并錄制對應(yīng)的講解視頻,逐步完善錯誤操作庫。同時,通過后臺收集的錯誤操作信息,實際實驗的指導(dǎo)教師可以了解實驗者較普遍的操作誤區(qū),這樣在實際實驗中可以重點講解,實現(xiàn)線上和線下教學(xué)的互相促進(jìn)。
在實驗開始前,先導(dǎo)入一段以虛擬機床車間為背景的虛擬演播片段。場景中三排數(shù)控機床,從左邊起依次是磨床、車床和銑床,主持人從右側(cè)走進(jìn)鏡頭畫面中,并開始對虛擬實驗室概況的講解,效果如前面圖4(c)。在講解到具體的機床時,主持人走到對應(yīng)機床旁邊,同時虛擬攝像機推近,機床局部放大,以便于更清晰地展示機床結(jié)構(gòu),輔助主持人的講解,如圖6所示。
圖6 機床介紹特寫
實驗介紹結(jié)束后,開始進(jìn)入虛擬實驗環(huán)節(jié)。虛擬實驗頁面由上部的虛擬機床功能控件和3D模型窗口構(gòu)成,如圖7所示。在模型窗口內(nèi)可通過底部工具欄選擇縮放、旋轉(zhuǎn)、平移等不同的操作模式,鼠標(biāo)在窗口中拖動時即可實現(xiàn)不同的場景變換效果。虛擬實驗中對機床的操作既可以通過網(wǎng)頁上的機床控制按鈕,也可以通過鼠標(biāo)直接在虛擬機床模型上點擊和操作。實驗開始時,先選擇工件的半徑和長度,虛擬機床中就會裝載相應(yīng)尺寸的工件。鼠標(biāo)拖動虛擬機床上的尾架,使其頂住工件。點擊啟動主軸,主軸開始旋轉(zhuǎn),此時通過控制刀具位置的按鈕或者通過鼠標(biāo)拖動刀架,都能控制刀具的移動,當(dāng)?shù)毒吲c工件發(fā)生了干涉,工件干涉部分即被“切除”,如圖8所示。點擊運行程序按鈕將控制機床自動運行一段預(yù)先定義好的程序,在此過程中為了提高實驗者安全意識,將要求實驗者關(guān)閉機床防護(hù)門。實驗過程中若想要切換工件,則點擊主軸停止,并重新選擇工件尺寸。
圖7 網(wǎng)頁控制界面
(a)車床(b)磨床
(c) 銑床
在實驗過程中,當(dāng)操作者的錯誤操作導(dǎo)致機床出現(xiàn)了錯誤狀態(tài),則實驗中止,網(wǎng)頁開始播放針對該錯誤操作的虛擬演播視頻片段,主持人講解這部分的原理和正確操作,并輔以一段正確的虛擬實驗操作錄像,幫助加深印象。虛擬實驗中可識別的錯誤操作有:開始切削時未開啟主軸、切削過程中未關(guān)閉機床防護(hù)門、刀具進(jìn)給量過大、切換工件時未停止主軸、刀具碰撞夾具或尾座等。
實驗結(jié)束后,點擊主軸停止按鈕,并點擊重置按鈕,機床將恢復(fù)初始狀態(tài)。
本文研究了虛擬演播在虛擬實驗中的應(yīng)用,這種應(yīng)用不只是簡單地把虛擬演播背景替換為虛擬實驗的環(huán)境,而是將虛擬演播作為虛擬實驗的一部分,將虛擬演播作為實驗的講解和指導(dǎo),更接近真實地模擬了實際實驗的內(nèi)容,提升了虛擬實驗的交互性,優(yōu)化了實驗者的實驗操作體驗。本文提出與的基于實驗者操作的反饋式指導(dǎo),能夠針對實驗者的操作錯誤調(diào)用相應(yīng)的指導(dǎo)視頻,更加準(zhǔn)確高效地幫助實驗者學(xué)習(xí)正確的實驗操作。
但是,一方面,出于安全考慮,無論是否引入虛擬演播元素,虛擬實驗都不能完全取代現(xiàn)場教學(xué),可以將虛擬實驗與現(xiàn)場教學(xué)相結(jié)合,以提升實驗教學(xué)效果,減輕教師的教學(xué)壓力;另一方面,由于目前圖像處理技術(shù)的限制,三維虛擬演播只做到了虛擬實驗室場景三維化,其中使用的視頻源還只是二維的視頻圖像,可以說目前的虛擬演播是一種半三維效果。隨著技術(shù)的發(fā)展和普及,可以利用雙目視覺技術(shù)和三維重構(gòu)技術(shù)拍攝三維綠幕演講視頻,在虛擬演播系統(tǒng)中與三維虛擬實驗室相結(jié)合,實現(xiàn)真正全三維的效果。甚至有望將虛擬實驗實室結(jié)合VR技術(shù),實驗者通過佩戴VR眼鏡和肢體傳感器,真正“進(jìn)入”虛擬實驗室,親身操作虛擬的實驗設(shè)備,還能接受虛擬演播中的講解者 “面對面”的教學(xué)指導(dǎo)。
參考文獻(xiàn)(References):
[1]胡林嵐,包崢嶸. 基于Cult 3D的機械創(chuàng)新虛擬實驗項目研究[J]. 實驗室研究與探索,2013,32(5):250-254.
[2]萬桂怡,崔建軍,張振果. 高校虛擬實驗平臺的設(shè)計及實踐[J]. 實驗室研究與探索,2011,30(3):386-389.
[3]張穎.機械學(xué)科網(wǎng)絡(luò)虛擬實驗室的實現(xiàn)方法研究[D].武漢:華中科技大學(xué),2011.
[4]王衛(wèi)國,胡今鴻,劉宏. 國外高校虛擬仿真實驗教學(xué)現(xiàn)狀與發(fā)展[J]. 實驗室研究與探索,2015,34(5):214-219.
[5]李平,毛昌杰,徐進(jìn). 開展國家級虛擬仿真實驗教學(xué)中心建設(shè)提高高校實驗教學(xué)信息化水平[J]. 實驗室研究與探索,2013,32(11):5-8.
[6]王衛(wèi)國. 虛擬仿真實驗教學(xué)中心建設(shè)思考與建議[J]. 實驗室研究與探索,2013,32(12):5-8.
[7]王振雄. 基于Ogre引擎的虛擬演播室系統(tǒng)的設(shè)計與實現(xiàn)[D].廈門:廈門大學(xué),2014.
[8]趙婭,楊麗波.基于Web的虛擬演播實驗室在高校的應(yīng)用研究[J].中國電力教育,2012(20):99-100.
[9]王正宏,李小平.虛擬演播技術(shù)在教學(xué)中的推廣[J].科技信息(科學(xué)教研),2007(16):293+271.
[10]劉京洙,馬金鐘. 三維虛擬演播室在MOOC制作中的應(yīng)用[J]. 中國教育技術(shù)裝備,2015(16):45-46.
[11]王濟(jì)軍,魏雪峰. 虛擬實驗的“熱”現(xiàn)狀與“冷”思考[J]. 中國電化教育,2011(4):126-129.
[12]苗琨.試析無軌虛擬演播室的實現(xiàn)原理及適用環(huán)境[J]. 影視制作,2012(12):62-65.
[13]黃文麗,盧碧紅,楊志剛,等.VRML入門與應(yīng)用[M].北京:中國鐵道出版社,2003.
[14]沈建華,遲權(quán)德,李朋輝,等.基于VRML的虛擬實驗室開發(fā)[J]. 實驗室研究與探索,2011,30(3):342-346.
[15]馮開平,左宗義. VRML外部程序的應(yīng)用研究[J]. 工程圖學(xué)學(xué)報,2003(3):47-51.
[16]王莉莉.虛擬演播室原型系統(tǒng)中的關(guān)鍵技術(shù)研究[D].濟(jì)南:山東科技大學(xué),2004.