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