本發(fā)明屬于工業(yè)設(shè)備虛擬拆裝技術(shù)領(lǐng)域,具體涉及一種基于unity三維引擎和vr頭盔的多點(diǎn)交互控制方法,適用于工業(yè)設(shè)備虛擬拆裝仿真系統(tǒng)的各類設(shè)備零件的交互控制操作,主要用于工業(yè)設(shè)備拆裝工作人員、設(shè)備運(yùn)行維護(hù)和檢修人員的培訓(xùn)。
背景技術(shù):
vr(virtualreality:虛擬現(xiàn)實(shí))技術(shù)是一種可以創(chuàng)建和體驗(yàn)虛擬世界的計(jì)算機(jī)仿真系統(tǒng),它利用計(jì)算機(jī)生成一種模擬環(huán)境是一種多源信息融合的交互式的三維動(dòng)態(tài)視景和實(shí)體行為的系統(tǒng)仿真,使用戶沉浸到該環(huán)境中。
虛擬現(xiàn)實(shí)技術(shù)(vr)主要包括模擬環(huán)境、感知、自然技能和傳感設(shè)備等方面,模擬環(huán)境是由計(jì)算機(jī)生成的、實(shí)時(shí)動(dòng)態(tài)的三維立體逼真圖像。感知是指理想的vr應(yīng)該具有一切人所具有的感知,除計(jì)算機(jī)圖形技術(shù)所生成的視覺(jué)感知外,還有聽(tīng)覺(jué)、觸覺(jué)、力覺(jué)、運(yùn)動(dòng)等感知,甚至還包括嗅覺(jué)和味覺(jué)等,也稱為多感知,自然技能是指人的頭部轉(zhuǎn)動(dòng),眼睛、手勢(shì)、或其他人體行為動(dòng)作,由計(jì)算機(jī)來(lái)處理與參與者的動(dòng)作相適應(yīng)的數(shù)據(jù),并對(duì)用戶的輸入作出實(shí)時(shí)響應(yīng),并分別反饋到用戶的五官,傳感設(shè)備是指三維交互設(shè)備。
vr主要是利用計(jì)算機(jī)生成的一種模擬環(huán)境,通過(guò)各種傳感設(shè)備使用戶進(jìn)入到這個(gè)環(huán)境中,實(shí)現(xiàn)了該環(huán)境直接進(jìn)行交互的技術(shù)。由于虛擬現(xiàn)實(shí)技術(shù)在很大的程度上解決很多的實(shí)際問(wèn)題,還節(jié)約了資金不受環(huán)境限制等問(wèn)題,因此成為了目前各個(gè)領(lǐng)域如工業(yè)、娛樂(lè)、游戲、軍事、旅游等倍受青睞的技術(shù)?,F(xiàn)在和將來(lái)很長(zhǎng)時(shí)間內(nèi),vr技術(shù)將會(huì)越來(lái)越成熟,給人帶來(lái)越來(lái)越多的立體感官體驗(yàn)。
vr虛擬拆裝是目前vr應(yīng)用比較廣泛的一個(gè)領(lǐng)域。在某些場(chǎng)景模式下,虛擬拆裝需要多人共同協(xié)作來(lái)拆裝操作,而目前還沒(méi)有支持這種場(chǎng)景的系統(tǒng)和方法。
技術(shù)實(shí)現(xiàn)要素:
鑒于現(xiàn)有技術(shù)缺少成熟的將vr手柄與虛擬現(xiàn)實(shí)緊密結(jié)合起來(lái)的交互控制系統(tǒng)的問(wèn)題,提出了本發(fā)明的一種虛擬現(xiàn)實(shí)環(huán)境中通過(guò)手柄與虛擬設(shè)備零件交互控制方法,以便解決上述問(wèn)題。
根據(jù)本發(fā)明的第一個(gè)方面,本發(fā)明提供一種基于unity三維引擎和vr頭盔的多點(diǎn)交互控制系統(tǒng),其包括:
第一數(shù)據(jù)采集模塊,用于采集第一客戶端對(duì)應(yīng)的第一vr手柄在其空間中的位置信息;
第二數(shù)據(jù)采集模塊,用于采集第二客戶端對(duì)應(yīng)的第二vr手柄在其空間中的位置信息;
第一數(shù)據(jù)傳輸模塊,用于將第一客戶端對(duì)應(yīng)的第一vr手柄在其空間中的位置信息傳輸?shù)椒?wù)器;
第二數(shù)據(jù)傳輸模塊,用于將第二客戶端對(duì)應(yīng)的第二vr手柄在其空間中的位置信息傳輸?shù)椒?wù)器;
數(shù)據(jù)處理模塊,對(duì)數(shù)據(jù)進(jìn)行匯總分析,識(shí)別出控制點(diǎn)的數(shù)量,得到目標(biāo)物體的移動(dòng)數(shù)據(jù);
交互控制模塊,將匯總分析后的數(shù)據(jù)返回第一客戶端和第二客戶端,并將目標(biāo)物體的移動(dòng)數(shù)據(jù)反饋在第一客戶端對(duì)應(yīng)的第一vr頭盔和第二客戶端對(duì)應(yīng)的第二vr頭盔中。
優(yōu)選地,所述對(duì)數(shù)據(jù)進(jìn)行匯總分析包括將第一vr手柄和第二vr手柄在各自空間中的位置信息匯總到同一空間內(nèi)。
優(yōu)選地,所述交互控制模塊將第二vr手柄與第一vr手柄匯總到同一空間中的空間位置反饋到第一vr頭盔中。
優(yōu)選地,所述交互控制模塊將第一vr手柄與第二vr手柄匯總到同一空間中的空間位置反饋到第二vr頭盔中。
優(yōu)選地,所述第一數(shù)據(jù)傳輸模塊和第二數(shù)據(jù)傳輸模塊通過(guò)有線或無(wú)線連接的方式實(shí)時(shí)傳輸?shù)椒?wù)器。
根據(jù)本發(fā)明的第二個(gè)方面,本發(fā)明提供一種基于unity三維引擎和vr頭盔的多點(diǎn)交互控制方法,其包括:
s110采集各客戶端對(duì)應(yīng)的vr手柄在其空間中的位置信息;
s120將各客戶端對(duì)應(yīng)的vr手柄在其空間中的位置信息傳輸?shù)椒?wù)器;
s130對(duì)數(shù)據(jù)進(jìn)行匯總分析,識(shí)別出控制點(diǎn)的數(shù)量,得到目標(biāo)物體的移動(dòng)數(shù)據(jù);
s140將匯總分析后的數(shù)據(jù)返回各客戶端,并將目標(biāo)物體的移動(dòng)數(shù)據(jù)反饋在各客戶端對(duì)應(yīng)的vr頭盔中。
優(yōu)選地,所述對(duì)數(shù)據(jù)進(jìn)行匯總分析包括將各客戶端對(duì)應(yīng)的vr手柄在其空間中的位置信息匯總到同一空間內(nèi)。
優(yōu)選地,所述vr手柄在其空間中的位置信息通過(guò)有線或無(wú)線連接的方式實(shí)時(shí)傳輸?shù)椒?wù)器。
優(yōu)選地,各客戶端對(duì)應(yīng)的vr手柄在其空間中的位置信息實(shí)時(shí)傳輸?shù)皆摽蛻舳藢?duì)應(yīng)的vr頭盔中。
附圖說(shuō)明
通過(guò)閱讀參考一下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其他特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1是示意地表示本發(fā)明的一些實(shí)施方式的系統(tǒng)原理圖。
圖2是示意地表示本發(fā)明的一些實(shí)施方式的系統(tǒng)結(jié)構(gòu)圖。
圖3是本發(fā)明的一些實(shí)施方式的vr視覺(jué)效果截圖。
圖4是示意地表示本發(fā)明的一些實(shí)施方式的方法的流程圖。
具體實(shí)施方式
在下文的描述中,給出了大量具體的細(xì)節(jié)以便提供對(duì)本發(fā)明更為徹底的理解。然而,對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō)顯而易見(jiàn)的是,本發(fā)明可以無(wú)需一個(gè)或多個(gè)這些細(xì)節(jié)而得以實(shí)施。在其他的例子中,為了避免與本發(fā)明發(fā)生混淆,對(duì)于本領(lǐng)域公知的一些技術(shù)特征未進(jìn)行描述。
在本發(fā)明中,術(shù)語(yǔ)“unity軟件”:是指基于unity三維引擎平臺(tái)開(kāi)發(fā)的軟件。unity是由unitytechnologies開(kāi)發(fā)的一個(gè)讓玩家輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實(shí)時(shí)三維動(dòng)畫(huà)等類型互動(dòng)內(nèi)容的多平臺(tái)的綜合型游戲開(kāi)發(fā)工具,是一個(gè)全面整合的專業(yè)游戲引擎。
在本發(fā)明中,術(shù)語(yǔ)“htcvivelighthouse”是htcvr設(shè)備使用的定位系統(tǒng)“l(fā)ighthouse”,由兩個(gè)激光基站構(gòu)成:每個(gè)基站里有一個(gè)紅外led陣列,兩個(gè)轉(zhuǎn)軸互相垂直的旋轉(zhuǎn)的紅外激光發(fā)射器。轉(zhuǎn)速為10ms一圈。基站的工作狀態(tài)是這樣的:20ms為一個(gè)循環(huán),在循環(huán)開(kāi)始的時(shí)候紅外led閃光,10ms內(nèi)x軸的旋轉(zhuǎn)激光掃過(guò)玩家自由活動(dòng)區(qū)域,y軸不發(fā)光;下10ms內(nèi)y軸的旋轉(zhuǎn)激光掃過(guò)玩家自由活動(dòng)區(qū)域,x軸不發(fā)光。
在本發(fā)明中,術(shù)語(yǔ)“多點(diǎn)控制”是指在同一場(chǎng)景中,多個(gè)手柄對(duì)物體的控制。在vr中通過(guò)手柄模擬手來(lái)控制模型物體,已經(jīng)對(duì)零件實(shí)施抓住動(dòng)作的手柄被看作是一個(gè)控制點(diǎn)。識(shí)別出控制點(diǎn)數(shù)量,就是識(shí)別出當(dāng)前狀態(tài)零件模型有幾個(gè)手柄與零件發(fā)生了碰撞并將手柄(在虛擬空間中識(shí)別為例如手的形態(tài))綁定。所述控制點(diǎn)也就是手柄在虛擬空間中與零件綁定的點(diǎn),通過(guò)多個(gè)控制點(diǎn)移動(dòng)達(dá)到與虛擬物體的交互。
在本發(fā)明的一些實(shí)施方式中,通過(guò)vr設(shè)備的兩個(gè)手柄模擬控制虛擬空間的兩只手,來(lái)實(shí)現(xiàn)虛擬物體的抓取控制效果。如圖3所示,圖中兩套vr設(shè)備通過(guò)4個(gè)手柄共同控制虛擬零件,其中有4個(gè)控制點(diǎn)。
在本發(fā)明的另一些實(shí)施方式中,通過(guò)vr設(shè)備的兩個(gè)手柄模擬控制虛擬空間的兩只手握住工具(虛擬工具),來(lái)實(shí)現(xiàn)虛擬物體(例如零件)的抓取控制效果。在此情況下,控制點(diǎn)可以為虛擬物體被手柄(虛擬場(chǎng)景中的手)間接綁定的點(diǎn)(例如零件與被手柄控制的虛擬工具綁定的點(diǎn))。
在現(xiàn)實(shí)世界中存在對(duì)物體的移動(dòng)和旋轉(zhuǎn)操作,而在vr頭盔中看到的虛擬空間同樣需要對(duì)虛擬物體的移動(dòng)和旋轉(zhuǎn)操作,來(lái)達(dá)到模擬真實(shí)世界的效果,從而實(shí)現(xiàn)工業(yè)上的虛擬培訓(xùn)。
圖1示出了本發(fā)明的一些實(shí)施方式的系統(tǒng)原理圖。第一vr設(shè)備和第二vr設(shè)備通過(guò)其各自的客戶端與服務(wù)器保持?jǐn)?shù)據(jù)傳輸和數(shù)據(jù)共享。服務(wù)器對(duì)接收到的數(shù)據(jù)進(jìn)行匯總和轉(zhuǎn)換,再通過(guò)客戶端傳輸?shù)礁鱾€(gè)vr設(shè)備。這樣,在一臺(tái)vr設(shè)備中,可以“看”到另一臺(tái)vr設(shè)備的動(dòng)作,從而實(shí)現(xiàn)在同一虛擬空間中的交互。
本發(fā)明的多點(diǎn)交互控制系統(tǒng)包括:數(shù)據(jù)采集模塊、數(shù)據(jù)傳遞模塊、解析識(shí)別模塊和交互控制模塊,如圖2所示。
數(shù)據(jù)采集模塊:
s110采集設(shè)備數(shù)據(jù)信息。獲取vr設(shè)備手柄數(shù)據(jù),每個(gè)vr設(shè)備都有自己的空間定位技術(shù),通過(guò)vr設(shè)備空間定位技術(shù)獲取多個(gè)操作手柄位置信息,能夠在vr頭盔中清楚看到手的模型跟隨手柄移動(dòng)。例如htc的lighthouse室內(nèi)定位技術(shù)屬于激光掃描定位技術(shù),靠激光和光敏傳感器來(lái)確定運(yùn)動(dòng)物體的位置。兩個(gè)激光發(fā)射器被安置在對(duì)角,形成大小可調(diào)的長(zhǎng)方形區(qū)域。激光束由發(fā)射器里面的兩排固定led燈發(fā)出,每秒6次。每個(gè)激光發(fā)射器內(nèi)有兩個(gè)掃描模塊,分別在水平和垂直方向輪流對(duì)定位空間發(fā)射激光掃描定位空間。獲取到vr手柄數(shù)據(jù)包括坐標(biāo)position、旋轉(zhuǎn)rotation。
數(shù)據(jù)傳輸模塊:
s120設(shè)備數(shù)據(jù)傳輸。如圖1所示,將獲取的多個(gè)設(shè)備信息從客戶端向服務(wù)端發(fā)送,通過(guò)有線連接或無(wú)線連接的方式傳輸實(shí)時(shí)記錄的設(shè)備數(shù)據(jù),使用自定義協(xié)議的方式進(jìn)行傳輸,保證數(shù)據(jù)傳輸?shù)母咝Х€(wěn)定性,從而使頭盔中看到的畫(huà)面清晰逼真。
數(shù)據(jù)處理模塊:
s130數(shù)據(jù)分析處理。根據(jù)在服務(wù)端接收到的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行匯總分析,識(shí)別出控制點(diǎn)的數(shù)量,通過(guò)算法對(duì)多個(gè)控制點(diǎn)數(shù)據(jù)加權(quán)平均后,得到目標(biāo)物體的移動(dòng)數(shù)據(jù)。
交互控制模塊:
s140交互控制。將經(jīng)過(guò)分析處理后的數(shù)據(jù),通過(guò)自定義的網(wǎng)絡(luò)協(xié)議,從服務(wù)端傳回到客戶端,客戶端根據(jù)傳回的數(shù)據(jù)反饋到vr頭盔中,如圖1所示。通過(guò)這樣實(shí)時(shí)數(shù)據(jù)的傳輸更新,在vr眼鏡能清楚的看到目標(biāo)物體在隨著多個(gè)手柄的共同控制下移動(dòng)。
圖3是本發(fā)明的一些實(shí)施方式的vr視覺(jué)效果截圖,在第一vr頭盔中除顯示第一vr手柄在空間中的位置之外,還可以顯示第二vr手柄在視覺(jué)空間中的位置,甚至可以顯示第二vr頭盔在視覺(jué)空間中的位置,其原理與顯示第二vr手柄類似。
在本發(fā)明的一些實(shí)施方式中,第一數(shù)據(jù)采集模塊采集第一vr頭盔和第一vr手柄在第一客戶端對(duì)應(yīng)的空間中的位置信息,并反饋到第一vr顯示模塊中,同時(shí)將所述第一vr頭盔和第一vr手柄在第一客戶端對(duì)應(yīng)的空間中的位置信息通過(guò)第一數(shù)據(jù)傳輸模塊傳輸?shù)椒?wù)器與其他客戶端共享,第二客戶端同理,如圖2所示。交互控制模塊將解析處理模塊匯總后的各客戶端對(duì)應(yīng)的vr頭盔和vr手柄換算到同一空間中的位置信息通過(guò)各客戶端對(duì)應(yīng)的數(shù)據(jù)傳輸模塊反饋到各客戶端對(duì)應(yīng)的vr顯示模塊中,例如將第二vr手柄和第二vr頭盔的位置信息反饋到第一vr顯示模塊中,從而在第一vr頭盔中可以看到第二vr手柄和第二vr頭盔的旋轉(zhuǎn)和移動(dòng)。
本發(fā)明不限于上述實(shí)施方式,在本發(fā)明思想的范圍內(nèi)可以進(jìn)行各種變更。本發(fā)明已通過(guò)上述實(shí)施例進(jìn)行了說(shuō)明,但應(yīng)當(dāng)理解的是,上述實(shí)施例只是用于舉例和說(shuō)明的目的,而非意在將本發(fā)明限制于所描述的實(shí)施例范圍內(nèi)。此外本領(lǐng)域技術(shù)人員可以理解的是,本發(fā)明并不局限于上述實(shí)施例,根據(jù)本發(fā)明教導(dǎo)還可以做出更多種的變型和修改,這些變型和修改均落在本發(fā)明所要求保護(hù)的范圍以內(nèi)。本發(fā)明的保護(hù)范圍由附屬的權(quán)利要求書(shū)及其等效范圍所界定。