徐慧靖,胡小梅,張 翼
(上海大學(xué) 機電工程與自動化學(xué)院,上海 200072)
隨著科學(xué)技術(shù)的進步和發(fā)展,增強現(xiàn)實技術(shù)[1-3]與虛擬現(xiàn)實技術(shù)[4-6]逐步應(yīng)用于人們的生活、工作、學(xué)習(xí)當(dāng)中,隨之出現(xiàn)的虛擬仿真平臺與傳統(tǒng)的虛擬仿真平臺相比發(fā)生了較大的變化。目前的虛擬仿真平臺框架[7]已經(jīng)不能完全適用于現(xiàn)有的虛擬仿真平臺,為此,提出了一個具有通用性、多技術(shù)集成、可擴展性的基于語義的虛擬仿真平臺框架。首先對所提出框架的相關(guān)工作進行詳細描述;然后對框架的特征進行介紹并基于語義將框架分為6個層次;再以相關(guān)案例對該框架進行應(yīng)用和驗證;最后得出相應(yīng)的結(jié)論。
從20世紀(jì)90年代以來,運用計算機進行模擬和仿真已經(jīng)成為科學(xué)和工程等眾多領(lǐng)域內(nèi)解決問題的主流方法,與理論分析、實驗研究一起成為科學(xué)研究的三大支柱方法之一[8]。虛擬仿真是由計算機硬件、軟件以及各種傳感設(shè)備等構(gòu)成的人工信息虛擬環(huán)境,可以在計算機中逼真地模擬出現(xiàn)實世界中存在的事物以及創(chuàng)造出現(xiàn)實世界中不存在的事物。虛擬仿真涉及計算機圖形學(xué)、人機交互技術(shù)、可視化顯示技術(shù)、傳感技術(shù)等多個領(lǐng)域。虛擬仿真的應(yīng)用可以極大地節(jié)約社會資源,縮短研究、生產(chǎn)等方面的周期。
虛擬仿真平臺是以虛擬仿真軟件為核心,結(jié)合相關(guān)的硬件設(shè)備,實現(xiàn)虛擬物體創(chuàng)建以及仿真的系統(tǒng)。傳統(tǒng)上,建立虛擬仿真平臺所采用的技術(shù)方法有:
(1)基于美國NI公司圖形化編程語言的LabVIEW的動態(tài)顯示功能和Matlab/Simulink仿真開發(fā)工具構(gòu)建虛擬仿真平臺[9]。
(2)通過.NET技術(shù)結(jié)合多媒體技術(shù),構(gòu)建基于Web的虛擬仿真平臺[10]。
(3)運用VRML建模語言構(gòu)建具有動態(tài)性、交互性的三維虛擬仿真場景的虛擬仿真平臺[11]。
近年來,增強現(xiàn)實技術(shù)與虛擬現(xiàn)實技術(shù)高速發(fā)展,虛擬仿真平臺也隨著這些技術(shù)的發(fā)展而不斷產(chǎn)生新的應(yīng)用。增強現(xiàn)實技術(shù)是將計算機生成的虛擬物體、場景信息等疊加到真實場景中,實現(xiàn)對現(xiàn)實場景的增強[12]?;谠鰪姮F(xiàn)實的虛擬仿真平臺有:運用谷歌公司的可穿戴式的增強現(xiàn)實設(shè)備—谷歌眼鏡(Google Glasses),可與谷歌強大的分布式搜索引擎對接[13],并借助谷歌提供的軟件開發(fā)包,構(gòu)建虛擬仿真平臺;美國高通(Qualcomm)公司研發(fā)的Vuforia,是一套專業(yè)的增強現(xiàn)實軟件開發(fā)包,通過與Unity 3D引擎結(jié)合,能夠?qū)崿F(xiàn)物理、化學(xué)、工程、醫(yī)療等多領(lǐng)域的虛擬仿真實驗[14]。
虛擬現(xiàn)實技術(shù),是一種可以創(chuàng)建和體驗虛擬世界的計算機仿真技術(shù),能夠利用計算機生成一種多源信息融合的、三維的、可交互的動態(tài)實景,提供使用者視覺、聽覺、觸覺等多感官的模擬,給使用者身臨其境的體驗[15]。基于虛擬現(xiàn)實的虛擬仿真平臺有:日本的Sonoda等研制的模擬電站培訓(xùn)仿真系統(tǒng),提供了和真實場地同尺寸的虛擬空間,應(yīng)用三維立體顯示技術(shù)制作了大量三維模型和用戶界面,使得培訓(xùn)人員能夠像在真實環(huán)境中一樣完成操作培訓(xùn)[16];法國標(biāo)致雪鐵龍(PSA)公司利用CAVE系統(tǒng)、被動式單通道立體投影系統(tǒng)、光學(xué)跟蹤系統(tǒng)、力反饋系統(tǒng)等,構(gòu)建工業(yè)虛擬仿真平臺,進行汽車設(shè)計的檢視、虛擬裝配等[17]。
文中提出的基于語義的虛擬仿真平臺框架是一個虛擬仿真平臺的高層結(jié)構(gòu),高度抽象,超越了算法以及數(shù)據(jù)結(jié)構(gòu),基本著眼點在于虛擬仿真平臺框架和需求與實現(xiàn)之間的交互,是一個用于理解系統(tǒng)級目標(biāo)的框架結(jié)構(gòu)。該框架具有以下幾點特征:
(1)通用性:媒體類型上,框架能夠展示文本、圖形、圖像、聲音、觸覺等多媒體信息,對于各個應(yīng)用領(lǐng)域的信息基本上都可以使用,而非只能使用特定領(lǐng)域的信息。應(yīng)用對象上,該框架適用于大多虛擬仿真平臺,由于框架采用模塊化設(shè)計,對于傳統(tǒng)的虛擬仿真平臺、現(xiàn)階段較為流行的增強現(xiàn)實和虛擬現(xiàn)實以及未來出現(xiàn)的虛擬仿真平臺都有較強的適應(yīng)性。
(2)多技術(shù)集成:目前的虛擬仿真平臺使用的技術(shù)系統(tǒng)是多樣化的,單一技術(shù)系統(tǒng)的框架難以適用于當(dāng)前的發(fā)展。該框架集成多種技術(shù)系統(tǒng),從用戶進行數(shù)據(jù)信息輸入操作到獲取計算機數(shù)據(jù)信息這一過程中,采用人機交互、協(xié)同、可視化顯示等多技術(shù)集成,共同搭建出一個通用的虛擬仿真平臺的框架。
(3)可擴展性:在如今的信息化時代,虛擬仿真平臺的信息量逐漸增加,信息的展示方式也不盡相同,任何框架都無法預(yù)測到未來所有的變化。該框架具有可擴展性,通過對每一層次增加新的構(gòu)件模塊,可以實現(xiàn)每一層次的功能與實現(xiàn)方式的可擴展性,并且這種方式不會改變框架的整體結(jié)構(gòu)。
(4)個性化:虛擬仿真平臺的設(shè)計者可針對自身的具體需求,利用該框架搭建出不同的虛擬仿真平臺,以滿足特定領(lǐng)域的需求。
基于語義的虛擬仿真平臺框架是滿足各種不同類型的虛擬仿真平臺的系統(tǒng)集成框架,能夠支持圖、文、聲、觸感等不同類型媒體的通用信息的集合,并且通過擴展方式不斷集成新的技術(shù)。根據(jù)以上要求,文中提出的框架如圖1所示。整個框架結(jié)構(gòu)根據(jù)語義分為6個層次,分別為應(yīng)用對象層、人機交互層、解釋層、語法層、映射層以及虛擬空間層,并通過語義模型逐層地提取語義信息。
圖1 基于語義的虛擬仿真平臺框架
2.2.1 應(yīng)用對象層
應(yīng)用對象層包含的是用戶,具體而言,是指虛擬仿真平臺的使用者。使用者日益增長的新需求是推動虛擬仿真平臺發(fā)展的根本動力,任何虛擬仿真平臺的設(shè)計與使用都必須滿足使用者的要求。在該框架中,用戶通過人機交互層實現(xiàn)與虛擬仿真平臺之間的交互,用戶的語義信息,如文字、手勢位姿、視點改變等通過人機交互層的輸入設(shè)備傳達給虛擬仿真平臺,通過輸出設(shè)備接受虛擬仿真平臺的語義信息,如圖像、圖形、文字、音頻、觸感等信息。
2.2.2 人機交互層
人機交互層包含輸入設(shè)備以及輸出設(shè)備。輸入設(shè)備是用于獲取用戶語義信息,并將其傳輸?shù)浇忉寣舆M行數(shù)據(jù)處理。輸出設(shè)備是為用戶提供計算機語義信息,能夠?qū)⒔?jīng)由解釋層中場景繪制的計算機語義以用戶便于獲取的方式提供給用戶。輸入和輸出設(shè)備大體上可分為接觸式和非接觸式兩類。
(1)接觸式設(shè)備。
接觸式輸入設(shè)備是人機交互技術(shù)發(fā)展以來應(yīng)用最多、發(fā)展最久的人機交互設(shè)備。最常用的接觸式輸入設(shè)備有鼠標(biāo)、鍵盤、手寫板、控制桿等。隨著智能手機的普及以及大屏、多屏?xí)r代的到來,觸摸屏、光筆等也得到了越來越多的應(yīng)用。近年來,虛擬現(xiàn)實以及增強現(xiàn)實技術(shù)逐步的發(fā)展使得常規(guī)的接觸式輸入設(shè)備無法滿足相應(yīng)的需求,數(shù)據(jù)手套、磁定位跟蹤器等設(shè)備也應(yīng)運而生。
接觸式輸出設(shè)備較多地應(yīng)用在聽覺以及觸覺上的計算機語義信息輸出。聽覺上,接觸式輸出設(shè)備主要為耳麥、耳機等各種音頻輸出設(shè)備。觸覺上,接觸式輸出設(shè)備主要為觸覺、力反饋器,例如用觸覺、力反饋器獲取用戶的移動語義來移動虛擬環(huán)境中的虛擬物體時,當(dāng)碰到障礙物,觸覺、力反饋器會直接通過觸覺反饋出碰撞信息,實現(xiàn)真實、自然的人機交互。
(2)非接觸式設(shè)備。
非接觸式輸入設(shè)備在日常生活中也會經(jīng)常接觸到,常見的有話筒、攝像設(shè)備、掃描儀等。為了提高用戶語義的輸入效率以及考慮到部分殘障人士無法利用接觸式輸入設(shè)備實現(xiàn)與計算機系統(tǒng)的交互,眼動跟蹤系統(tǒng)近年來逐漸成為非接觸式輸入設(shè)備的研究熱點。伴隨著大場景下的虛擬仿真以及智能空間中實現(xiàn)場景驅(qū)動,空間跟蹤定位系統(tǒng)等新一代的非接觸式輸入設(shè)備得到了極大的發(fā)展。
非接觸式輸出設(shè)備最常應(yīng)用于視覺以及聽覺上的計算機語義信息輸出。聽覺上,非接觸式輸出設(shè)備有音響、功放等各種音頻輸出設(shè)備。由于用戶通過視覺能夠獲取更多以及更直觀的信息,因此大多數(shù)研究者致力于研究視覺上的非接觸式輸出設(shè)備,關(guān)于此類的輸出設(shè)備有顯示器、移動智能終端的顯示屏以及主、被動投影儀等,硬件的集成化、多功能化、模塊化以及軟件的快速發(fā)展促進了顯示內(nèi)容由以前的文字、二維圖形、圖像轉(zhuǎn)變?yōu)槿S圖形、立體圖像等。
2.2.3 解釋層
解釋層是將用戶語義解釋為計算機語義或?qū)⒂嬎銠C語義解釋為用戶語義,包含數(shù)據(jù)提取、特征識別以及場景繪制,數(shù)據(jù)提取、特征識別用于將用戶語義轉(zhuǎn)換為計算機語義,場景繪制用于將計算機語義轉(zhuǎn)換為用戶語義。
數(shù)據(jù)提取是對人機交互設(shè)備中輸入設(shè)備所獲取的原始數(shù)據(jù)庫中的數(shù)據(jù)信息進行篩選和提取,以此獲取有效的數(shù)據(jù)信息。例如,用戶用數(shù)據(jù)手套獲取的原始手勢數(shù)據(jù)信息中,即有抓取、移動等有效的數(shù)據(jù)信息,也有大量的用戶無意識的數(shù)據(jù)信息。特征識別是對經(jīng)由數(shù)據(jù)提取后的數(shù)據(jù)信息進行分析和識別,提取出其中能夠表示信息本質(zhì)的特征。例如,先通過數(shù)據(jù)提取獲得抓取、移動、旋轉(zhuǎn)等有效信息,再進行特征識別獲得在虛擬環(huán)境中虛擬物體的具體操作。數(shù)據(jù)提取和特征識別都是用于對原始數(shù)據(jù)庫中的數(shù)據(jù)信息進行整理和歸納,從而加快虛擬仿真平臺對數(shù)據(jù)信息的處理速度,避免服務(wù)器對無用的數(shù)據(jù)信息進行處理和運算而占用過多的內(nèi)存。
場景繪制用于對映射層中進行視圖映射和音頻映射的視圖對象和音頻對象實現(xiàn)在虛擬場景內(nèi)的具體描述,通過人機交互設(shè)備中的輸出設(shè)備傳達給用戶。場景繪制既可以實現(xiàn)當(dāng)前虛擬場景的修改,也可以實現(xiàn)新的虛擬場景的創(chuàng)建。
2.2.4 語法層
語法層是利用算法將解釋層中由數(shù)據(jù)提取和特征識別后的數(shù)據(jù)信息進一步轉(zhuǎn)化為能夠映射的模式和結(jié)構(gòu)。語法層是將用戶語義轉(zhuǎn)換為計算機語義的核心步驟,主要包含交互算法以及協(xié)同算法。
(1)交互算法。
交互算法是人機交互技術(shù)的關(guān)鍵內(nèi)容,任何人機交互操作都必須以交互算法為依托。如圖2所示,交互算法就是將用戶語義,例如移動、縮放、旋轉(zhuǎn)等操作,轉(zhuǎn)化為計算機語義,實現(xiàn)虛擬仿真平臺中虛擬對象的移動、縮放、旋轉(zhuǎn)等。優(yōu)化的交互算法能夠?qū)崿F(xiàn)用戶與虛擬仿真平臺之間實時的、準(zhǔn)確的、自然的交互。
圖2 交互算法演化
(2)協(xié)同算法。
協(xié)同算法是虛擬仿真平臺在網(wǎng)絡(luò)環(huán)境下,實現(xiàn)多人協(xié)同操作的關(guān)鍵技術(shù)。在虛擬仿真平臺中,運用協(xié)同算法,能夠?qū)⒍嘤脩粲行У芈?lián)系在一起,實現(xiàn)共同操作。如圖3所示,多用戶可以利用協(xié)同算法實現(xiàn)非交叉式的共同協(xié)作,當(dāng)某一用戶對虛擬仿真平臺中的某一模塊進行操作時,其他用戶無法實現(xiàn)對同一模塊的操作,保證模塊的唯一操作性以及虛擬仿真平臺的安全性、有序性。
圖3 協(xié)同算法演化
2.2.5 映射層
映射層是用于將語法層處理后的屬性、結(jié)構(gòu)、模式等結(jié)合虛擬空間層中的底層數(shù)據(jù),實現(xiàn)對視圖對象以及音頻對象的映射。映射層根據(jù)映射對象的不同,可以分為視圖映射和音頻映射。用戶語義經(jīng)過人機交互層、解釋層以及語法層處理后生成的計算機語義通過映射,將虛擬空間中的底層數(shù)據(jù)進行相對應(yīng)的轉(zhuǎn)換。
2.2.6 虛擬空間層
虛擬空間層包含底層數(shù)據(jù),是通過映射層實現(xiàn)映射的虛擬對象。底層數(shù)據(jù)一部分是虛擬仿真平臺所自帶的原始數(shù)據(jù),另一部分是通過人機交互設(shè)備中的輸入設(shè)備將底層數(shù)據(jù)輸入到虛擬仿真平臺中。底層數(shù)據(jù)是所有類型原始數(shù)據(jù)的統(tǒng)稱,包含文本數(shù)據(jù)、圖形數(shù)據(jù)、圖像數(shù)據(jù)、音頻數(shù)據(jù)等。底層數(shù)據(jù)是用戶的具體操作對象,是虛擬仿真平臺的重要載體。
按照文中提出的基于語義的虛擬仿真平臺框架,設(shè)計并開發(fā)了一款基于C/S架構(gòu)并采用增強現(xiàn)實技術(shù)的FANUC機器人示教虛擬仿真平臺。該虛擬仿真平臺搭載于移動智能終端中,如圖4所示。該平臺為用戶提供FANUC機器人的基本信息示教,例如,介紹基本參數(shù)信息、關(guān)鍵軸的運動、重要部件的拆分等功能。
圖4 FANUC機器人示教虛擬仿真平臺演示圖
在該虛擬仿真平臺中,依照提出的基于語義的虛擬仿真平臺框架,可以進行以下分析:
應(yīng)用對象層中,用戶是指FANUC機器人示教虛擬仿真平臺的使用者。
人機交互層中,輸入設(shè)備是移動智能終端的觸摸屏,用戶通過觸摸屏實現(xiàn)虛擬仿真平臺具體功能的響應(yīng)。輸出設(shè)備是移動智能終端,移動智能終端的顯示屏可以顯示文字、圖形、圖像等數(shù)據(jù)信息,移動智能終端的音響可以展示音頻信息。
解釋層中,需要進行數(shù)據(jù)提取以及特征識別的有模型的尺寸大小、轉(zhuǎn)動速度等,進行場景繪制的是電機的拆分、機械腕的拆分、軸的轉(zhuǎn)動、具體細節(jié)的音頻提醒等。
語法層中,所運用的虛擬仿真平臺引擎為Unity引擎。語法層中的交互算法是通過在Unity引擎中編輯C#腳本實現(xiàn)按鈕響應(yīng),并將交互算法封裝于FANUC機器人示教虛擬仿真平臺中?,F(xiàn)階段設(shè)計的虛擬仿真平臺沒有涉及到協(xié)同部分,接下來的工作要實現(xiàn)人—機協(xié)同以及人—人協(xié)同。人—機協(xié)同是實現(xiàn)通過操作虛擬仿真平臺中模型的運動帶動真實世界中機器人的運動,人—人協(xié)同是實現(xiàn)多用戶通過多部移動智能終端共同實現(xiàn)某一操作。
映射層中,需要對文字顯示、模型拆分等視圖信息進行視圖映射,對音頻提示信息進行音頻映射。
虛擬空間層中,底層數(shù)據(jù)包含Unity引擎中自帶的原始數(shù)據(jù)信息,例如字體的顏色、按鈕的形狀等;也包含導(dǎo)入Unity引擎的數(shù)據(jù)信息,例如模型數(shù)據(jù)信息通過3ds Max軟件進行繪制,再導(dǎo)入到Unity引擎中。底層數(shù)據(jù)通過Unity引擎封裝于FANUC機器人示教虛擬仿真平臺中。
隨著增強現(xiàn)實技術(shù)和虛擬現(xiàn)實技術(shù)的不斷進步,虛擬仿真平臺也在不斷發(fā)展,在虛擬仿真平臺的設(shè)計和使用中,都需要通用的虛擬仿真平臺框架。對基于語義的虛擬仿真平臺框架進行設(shè)計和研究,介紹分析了框架的特征,并將框架內(nèi)容分為6個層次,對所劃分的應(yīng)用對象層、人機交互層、解釋層、語法層、映射層以及虛擬空間層進行詳細介紹。再以FANUC機器人示教虛擬仿真平臺這一案例對所提出的框架進行驗證。在該框架的基礎(chǔ)上,未來的研究重點在于設(shè)計框架中各層次的特殊模塊,進一步增強框架的通用性以及適應(yīng)性。