本發(fā)明屬于工業(yè)設(shè)備虛擬拆裝技術(shù)領(lǐng)域,具體涉及一種基于unity三維引擎和vr設(shè)備的自動(dòng)綁定拆裝工具到設(shè)備零件上正確位置的方法,適用于工業(yè)設(shè)備虛擬拆裝的各類設(shè)備零件的拆裝操作中。
背景技術(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ù)所生成的視覺感知外,還有聽覺、觸覺、力覺、運(yùn)動(dòng)等感知,甚至還包括嗅覺和味覺等,也稱為多感知,自然技能是指人的頭部轉(zhuǎn)動(dòng),眼睛、手勢、或其他人體行為動(dòng)作,由計(jì)算機(jī)來處理與參與者的動(dòng)作相適應(yīng)的數(shù)據(jù),并對用戶的輸入作出實(shí)時(shí)響應(yīng),并分別反饋到用戶的五官,傳感設(shè)備是指三維交互設(shè)備。
vr主要是利用計(jì)算機(jī)生成的一種模擬環(huán)境,通過各種傳感設(shè)備使用戶進(jìn)入到這個(gè)環(huán)境中,實(shí)現(xiàn)了該環(huán)境直接進(jìn)行交互的技術(shù)。由于虛擬現(xiàn)實(shí)技術(shù)在很大的程度上解決很多的實(shí)際問題,還節(jié)約了資金不受環(huán)境限制等問題,因此成為了目前各個(gè)領(lǐng)域如工業(yè)、娛樂、游戲、軍事、旅游等倍受青睞的技術(shù)?,F(xiàn)在和將來很長時(shí)間內(nèi),vr技術(shù)將會(huì)越來越成熟,給人帶來越來越多的立體感官體驗(yàn)。
vr虛擬拆裝是目前vr應(yīng)用比較廣泛的一個(gè)領(lǐng)域。在某些場景模式下,虛擬拆裝需要手拿工具來模擬真實(shí)的拆解零件,當(dāng)手拿工具在拆裝設(shè)備零件前需要先將工具綁定對應(yīng)的位置才能合理的模擬拆解零件,但目前還沒有針對這種使用方式的解決方案。
技術(shù)實(shí)現(xiàn)要素:
鑒于現(xiàn)有技術(shù)缺少成熟的將vr手柄與工具緊密結(jié)合起來的交互控制系統(tǒng)的問題,提出了本發(fā)明的一種設(shè)備零件虛擬拆裝前工具自動(dòng)綁定到目標(biāo)零件正確位置的解決方案,以解決上述背景技術(shù)中提出的問題。
根據(jù)本發(fā)明的第一個(gè)方面,本發(fā)明提供一種基于unity三維引擎和vr設(shè)備的工具自動(dòng)綁定系統(tǒng),其包括:
數(shù)據(jù)采集模塊,用于采集vr手柄在其空間中的位置信息;
工具控制模塊,用于將vr手柄的位置信息應(yīng)用到虛擬工具模型上,使得所述虛擬工具模型綁定到手柄上;
碰撞檢測模塊,根據(jù)所述虛擬工具模型和目標(biāo)零件模型在空間中的位置信息判斷虛擬工具模型與目標(biāo)零件模型是否碰撞;
數(shù)據(jù)處理模塊,當(dāng)碰撞檢測判斷為發(fā)生碰撞時(shí),根據(jù)預(yù)設(shè)參數(shù)計(jì)算所述虛擬工具模型和所述目標(biāo)零件模型綁定所需的綁定數(shù)據(jù);
工具綁定模塊,當(dāng)所述虛擬工具模型和所述目標(biāo)零件模型的相對位置滿足綁定數(shù)據(jù)時(shí),將所述虛擬工具模型綁定到所述目標(biāo)零件模型上;
數(shù)據(jù)傳輸模塊,在vr設(shè)備與客戶端之間傳輸所述虛擬工具模型、目標(biāo)零件模型、vr手柄和vr頭盔的位置信息。
優(yōu)選地,所述位置信息包括位置坐標(biāo)position和旋轉(zhuǎn)rotation數(shù)據(jù)。
優(yōu)選地,在所述虛擬工具模型與所述目標(biāo)零件模型綁定時(shí),所述工具綁定模塊將所述預(yù)設(shè)參數(shù)應(yīng)用到所述虛擬工具模型與所述目標(biāo)零件模型上。
優(yōu)選地,所述預(yù)設(shè)參數(shù)包括虛擬工具模型相對于目標(biāo)零件中心點(diǎn)的位置坐標(biāo)position、旋轉(zhuǎn)rotation、比例scale數(shù)據(jù)、虛擬工具模型和目標(biāo)零件對象的子父級層級結(jié)構(gòu)中的一種或多種。
優(yōu)選地,所述虛擬工具模型和目標(biāo)零件模型綁定后,當(dāng)所述碰撞檢測模塊檢測到工具模型和目標(biāo)零件之間超出可綁定范圍后,解除工具模型與目標(biāo)零件的綁定。
在本發(fā)明的一些實(shí)施方式中,所述位置坐標(biāo)position和旋轉(zhuǎn)rotation為相對值。
在本發(fā)明的一些實(shí)施方式中,所述位置坐標(biāo)position和旋轉(zhuǎn)rotation為絕對值。
在本發(fā)明的一些實(shí)施方式中,所述綁定數(shù)據(jù)包括旋轉(zhuǎn)角度。
在本發(fā)明的一些實(shí)施方式中,所述可綁定范圍為可發(fā)生碰撞的范圍。
根據(jù)本發(fā)明的第二個(gè)方面,本發(fā)明提供一種基于unity三維引擎和vr設(shè)備的工具自動(dòng)綁定方法,其包括:
s110采集vr手柄在其空間中的位置信息;
s120將vr手柄的位置信息應(yīng)用到虛擬工具模型上,使得所述虛擬工具模型綁定到vr手柄上;
s130根據(jù)所述虛擬工具模型和目標(biāo)零件模型在空間中的位置信息判斷虛擬工具模型與目標(biāo)零件模型是否碰撞;
s140當(dāng)碰撞檢測判斷為發(fā)生碰撞時(shí),根據(jù)預(yù)設(shè)參數(shù)計(jì)算所述虛擬工具模型和所述目標(biāo)零件模型綁定所需的綁定數(shù)據(jù);
s150當(dāng)所述虛擬工具模型和所述目標(biāo)零件模型的相對位置滿足綁定數(shù)據(jù)時(shí),將所述虛擬工具模型綁定到所述目標(biāo)零件模型上。
優(yōu)選地,所述位置信息包括位置坐標(biāo)position和旋轉(zhuǎn)rotation數(shù)據(jù)。
優(yōu)選地,在所述虛擬工具模型與所述目標(biāo)零件模型綁定時(shí),所述工具綁定模塊將所述預(yù)設(shè)參數(shù)應(yīng)用到所述虛擬工具模型與所述目標(biāo)零件模型上。
優(yōu)選地,所述預(yù)設(shè)參數(shù)包括虛擬工具模型相對于目標(biāo)零件中心點(diǎn)的位置坐標(biāo)position、旋轉(zhuǎn)rotation、比例scale數(shù)據(jù)、虛擬工具模型和目標(biāo)零件對象的子父級層級結(jié)構(gòu)中的一種或多種。
優(yōu)選地,所述虛擬工具模型和目標(biāo)零件模型綁定后,當(dāng)檢測到工具模型和目標(biāo)零件之間超出可綁定范圍后,解除工具模型和目標(biāo)零件的綁定。
在本發(fā)明的一些實(shí)施方式中,所述綁定數(shù)據(jù)包括旋轉(zhuǎn)角度。
在本發(fā)明的一些實(shí)施方式中,所述可綁定范圍為可發(fā)生碰撞的范圍。
附圖說明
通過閱讀參考一下附圖所作的對非限制性實(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視覺效果截圖。
圖4是示意地表示本發(fā)明的一些實(shí)施方式的方法的流程圖。
具體實(shí)施方式
在下文的描述中,給出了大量具體的細(xì)節(jié)以便提供對本發(fā)明更為徹底的理解。然而,對于本領(lǐng)域技術(shù)人員來說顯而易見的是,本發(fā)明可以無需一個(gè)或多個(gè)這些細(xì)節(jié)而得以實(shí)施。在其他的例子中,為了避免與本發(fā)明發(fā)生混淆,對于本領(lǐng)域公知的一些技術(shù)特征未進(jìn)行描述。
在本發(fā)明中,術(shù)語“unity軟件”:是指基于unity三維引擎平臺開發(fā)的軟件。unity是由unitytechnologies開發(fā)的一個(gè)讓玩家輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實(shí)時(shí)三維動(dòng)畫等類型互動(dòng)內(nèi)容的多平臺的綜合型游戲開發(fā)工具,是一個(gè)全面整合的專業(yè)游戲引擎。
在本發(fā)明中,術(shù)語“htcvivelighthouse”是htcvr設(shè)備使用的定位系統(tǒng)“l(fā)ighthouse”,由兩個(gè)激光基站構(gòu)成:每個(gè)基站里有一個(gè)紅外led陣列,兩個(gè)轉(zhuǎn)軸互相垂直的旋轉(zhuǎn)的紅外激光發(fā)射器。轉(zhuǎn)速為10ms一圈?;镜墓ぷ鳡顟B(tài)是這樣的:20ms為一個(gè)循環(huán),在循環(huán)開始的時(shí)候紅外led閃光,10ms內(nèi)x軸的旋轉(zhuǎn)激光掃過玩家自由活動(dòng)區(qū)域,y軸不發(fā)光;下10ms內(nèi)y軸的旋轉(zhuǎn)激光掃過玩家自由活動(dòng)區(qū)域,x軸不發(fā)光。
在本發(fā)明中,術(shù)語“碰撞體”(collider)是unity3d軟件下剛體碰撞的組件,能夠讓模型之間模擬發(fā)生物理碰撞,附加在模型上。unity三維引擎中自身的物理系統(tǒng)包含了物體間的碰撞檢測方法。在本發(fā)明中,可以設(shè)置為一旦發(fā)生碰撞即綁定,也可以設(shè)置為發(fā)生碰撞并相對位置滿足預(yù)設(shè)條件時(shí)綁定。
通過vr設(shè)備的兩個(gè)手柄模擬控制虛擬空間的手或者工具物體,來實(shí)現(xiàn)虛擬物體的控制效果。如圖3所示,其中手柄與虛擬的扳手綁定,虛擬扳手再與虛擬螺釘綁定,當(dāng)手柄(虛擬手)控制的虛擬扳手與虛擬螺釘?shù)南鄬ξ恢脻M足綁定數(shù)據(jù)時(shí),隨著手柄的運(yùn)動(dòng),帶動(dòng)虛擬扳手與虛擬螺釘一同運(yùn)動(dòng)(即綁定)。
在虛擬空間中進(jìn)行虛擬拆裝操作時(shí),當(dāng)對目標(biāo)零件進(jìn)行拆裝操作前,需要根據(jù)當(dāng)前工具相對目標(biāo)零件所處位置,將工具綁定到目標(biāo)零件正確位置上后才開始繼續(xù)其他拆裝操作,實(shí)現(xiàn)模擬真實(shí)世界的視覺效果,從而使虛擬培訓(xùn)更有沉浸感。
圖1示出了本發(fā)明的一些實(shí)施方式的系統(tǒng)原理圖。vr設(shè)備中包括頭盔和手柄,頭盔和手柄都設(shè)有傳感器,采集自身的動(dòng)作信息及空間中的位置信息,并將數(shù)據(jù)發(fā)送到客戶端。手柄對虛擬工具的控制可以通過系統(tǒng)直接設(shè)置,例如選擇虛擬工具為扳手。選定虛擬工具后,手柄的位置信息被應(yīng)用到與手柄綁定的虛擬工具上。
如圖2所示,本發(fā)明的工具自動(dòng)綁定系統(tǒng)包括:數(shù)據(jù)采集模塊、工具控制模塊、碰撞檢測模塊、數(shù)據(jù)處理模塊、工具綁定模塊和數(shù)據(jù)傳輸模塊。
數(shù)據(jù)采集模塊:
s110采集設(shè)備數(shù)據(jù)信息。獲取vr設(shè)備手柄數(shù)據(jù),每個(gè)vr設(shè)備都有自己的空間定位技術(shù),通過vr設(shè)備空間定位技術(shù)獲取手柄位置信息。例如htc的lighthouse室內(nèi)定位技術(shù)屬于激光掃描定位技術(shù),靠激光和光敏傳感器來確定運(yùn)動(dòng)物體的位置。兩個(gè)激光發(fā)射器被安置在對角,形成大小可調(diào)的長方形區(qū)域。激光束由發(fā)射器里面的兩排固定led燈發(fā)出,每秒6次。每個(gè)激光發(fā)射器內(nèi)有兩個(gè)掃描模塊,分別在水平和垂直方向輪流對定位空間發(fā)射激光掃描定位空間。獲取到vr手柄數(shù)據(jù)包括坐標(biāo)position、旋轉(zhuǎn)rotation;
工具控制模塊:
s120手柄控制工具。數(shù)據(jù)傳輸模塊將數(shù)據(jù)采集模塊采集的手柄數(shù)據(jù)傳輸?shù)焦ぞ呖刂颇K。根據(jù)采集并記錄下的數(shù)據(jù),使用手柄的坐標(biāo)position、旋轉(zhuǎn)rotation數(shù)據(jù),應(yīng)用到虛擬工具模型上,使得工具模型綁定到手柄上,跟隨手柄移動(dòng)。再通過數(shù)據(jù)傳輸模塊將綁定虛擬工具后的數(shù)據(jù)傳輸?shù)絭r設(shè)備上,使用者能夠在vr頭盔中清楚看到工具的模型隨手柄移動(dòng)。
碰撞檢測模塊:
s130模型碰撞檢測。目標(biāo)零件在虛擬空間中有預(yù)定的位置。首先對工具模型和目標(biāo)零件進(jìn)行碰撞檢測,例如碰撞檢測指模型的碰撞體之間接觸的檢測。通過操縱手柄,改變虛擬空間中工具模型的位置,判斷工具模型和目標(biāo)零件是否處于可綁定范圍內(nèi),當(dāng)檢測到工具模型和目標(biāo)零件發(fā)生碰撞后,才可進(jìn)行工具綁定。反之,工具模型與目標(biāo)零件綁定后,當(dāng)檢測到工具模型和目標(biāo)零件之間超出可綁定范圍,解除工具模型與目標(biāo)零件的綁定。工具一旦綁定到零件上后,受手柄位置和零件位置雙重控制,工具會(huì)和零件完全綁定,同步移動(dòng)。在一些與零件綁定的情況下,手柄對工具在某些軸向的控制會(huì)受限制。當(dāng)工具模型和目標(biāo)零件之間超出可綁定范圍后,工具僅受手柄控制。
數(shù)據(jù)處理模塊:
s140數(shù)據(jù)分析處理。當(dāng)碰撞檢測結(jié)果為發(fā)生碰撞后,根據(jù)采集并記錄下的數(shù)據(jù),對數(shù)據(jù)進(jìn)行處理分析,根據(jù)預(yù)設(shè)參數(shù)計(jì)算所述虛擬工具模型和所述目標(biāo)零件模型綁定所需的綁定數(shù)據(jù)。
例如根據(jù)虛擬工具模型和所述目標(biāo)零件模型的坐標(biāo)position判定發(fā)生碰撞,根據(jù)預(yù)設(shè)參數(shù),當(dāng)旋轉(zhuǎn)rotation達(dá)到某值時(shí),則綁定數(shù)據(jù)滿足。
根據(jù)具體的需要,所述坐標(biāo)position和旋轉(zhuǎn)rotation可以為絕對值,也可以為相對值。
在本發(fā)明的一些實(shí)施方式中,為滿足視覺效果的需要,當(dāng)虛擬工具模型和目標(biāo)零件模型實(shí)現(xiàn)綁定時(shí)綁定處加載修飾效果??梢栽谀繕?biāo)零件上設(shè)定預(yù)設(shè)綁定位置,其上加載隱藏的修飾效果。當(dāng)虛擬工具模型和目標(biāo)零件模型發(fā)生碰撞時(shí),根據(jù)預(yù)設(shè)參數(shù)計(jì)算所述虛擬工具模型和所述目標(biāo)零件模型綁定所需的綁定數(shù)據(jù)。其中,所述綁定數(shù)據(jù)包括預(yù)設(shè)綁定位置到碰撞位置的差值,例如旋轉(zhuǎn)角度。
工具綁定模塊:
s150工具綁定。得到經(jīng)過計(jì)算處理的數(shù)據(jù)后,將工具綁定到目標(biāo)零件上的正確位置,并反饋到vr頭盔中。通過這樣實(shí)時(shí)數(shù)據(jù)的傳輸更新,在vr眼鏡能清楚的看到工具準(zhǔn)確綁定到正確位置。
本發(fā)明不限于上述實(shí)施方式,在本發(fā)明思想的范圍內(nèi)可以進(jìn)行各種變更。本發(fā)明已通過上述實(shí)施例進(jìn)行了說明,但應(yīng)當(dāng)理解的是,上述實(shí)施例只是用于舉例和說明的目的,而非意在將本發(fā)明限制于所描述的實(shí)施例范圍內(nèi)。此外本領(lǐng)域技術(shù)人員可以理解的是,本發(fā)明并不局限于上述實(shí)施例,根據(jù)本發(fā)明教導(dǎo)還可以做出更多種的變型和修改,這些變型和修改均落在本發(fā)明所要求保護(hù)的范圍以內(nèi)。本發(fā)明的保護(hù)范圍由附屬的權(quán)利要求書及其等效范圍所界定。