趙崇博 邢世林 馮奕銘 甄潤佳 郭慶
摘? 要:虛擬維修在航空培訓(xùn)領(lǐng)域被廣泛應(yīng)用,隨之出現(xiàn)了某單一設(shè)備弊端突出等問題。虛擬維修重定位技術(shù)的研究是為了解決虛擬維修系統(tǒng)在實(shí)際應(yīng)用中存在的人體模型飄移,靈敏度低,人體動(dòng)作存在時(shí)延等問題所導(dǎo)致的低浸入感的弊端。本次研究將通過結(jié)合光學(xué)動(dòng)作捕捉系統(tǒng)和慣性動(dòng)作捕捉系統(tǒng)兩種不同的動(dòng)作捕捉技術(shù),同時(shí)利用光學(xué)高位置定位精度及慣性高轉(zhuǎn)角測量精度的特點(diǎn),生成系統(tǒng)而全面可行的低成本、高可靠性多系統(tǒng)融合的混合式解決方案。最終,建立一個(gè)虛擬維修場景加以驗(yàn)證。
關(guān)鍵詞:虛擬現(xiàn)實(shí)? 慣性傳感器? 運(yùn)動(dòng)重定向? 動(dòng)作捕捉
中圖分類號:TP317 ? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2020)07(c)-0004-03
Abstract: Virtual maintenance is widely used in the field of aviation training. The research of virtual maintenance repositioning technology is to solve the disadvantages of low immersion caused by drifting, low sensitivity and delay of human body movement in the practical application of virtual maintenance system. This research will combine the two different motion capture technologies of optical motion capture system and inertial motion capture system, and at the same time make use of the characteristics of optical high position positioning accuracy and inertial high angle measurement accuracy to generate a comprehensive and feasible hybrid solution with low cost and high reliability of multi-system fusion. Finally, a virtual maintenance scenario is established for verification.
Key Words: Virtual reality;Inertial sensor;Motion redirection;Motion capture
虛擬現(xiàn)實(shí)技術(shù) (VR技術(shù)) 是模擬人在自然環(huán)境中的視、聽、觸等人類感官,將現(xiàn)實(shí)中的各類感覺高度還原。目前,作為體感交互主流的慣捕系統(tǒng)(下文簡稱“慣捕”),基于人體工程學(xué)各部位的六自由度信息捕獲,實(shí)時(shí)展現(xiàn)人體運(yùn)動(dòng)姿態(tài)。此系統(tǒng)不易受外部環(huán)境影響,性價(jià)比高,但飄移誤差較大,靈敏度低。而VR技術(shù)主要應(yīng)用的光捕系統(tǒng)(下文簡稱“光捕”)在靈敏度,漂移誤差,動(dòng)作時(shí)延等方面都要優(yōu)于慣捕系統(tǒng),但也存在易受場地環(huán)境影響的問題。此次研究將兩項(xiàng)技術(shù)結(jié)合使用,實(shí)現(xiàn)更好的VR浸入式體驗(yàn)。
1? 實(shí)驗(yàn)系統(tǒng)總體框架
VR技術(shù)綜合了多種先進(jìn)的技術(shù),能夠?yàn)槿藗儎?chuàng)造一個(gè)仿真的虛擬環(huán)境, 帶給使用者高度的真實(shí)感和沉浸感[1-2]。本系統(tǒng)采用3dsMAX為虛擬場景和三維模型的建模工具,以Unity3D虛擬仿真軟件作為虛擬現(xiàn)實(shí)開發(fā)引擎,Perception Neuron體感設(shè)備作為捕捉用戶動(dòng)作信息的采集器,Microsoft Visual Studio2018為程序開發(fā)整合平臺,HTC vive作為用戶浸入體驗(yàn)窗口和用戶頭部轉(zhuǎn)角信息采集器,開發(fā)了基于U3D的人物重定位虛擬仿真系統(tǒng)。通過建模、虛擬環(huán)境建模、動(dòng)捕數(shù)據(jù)與虛擬人物骨骼的綁定、光捕對慣捕的綁定和算法優(yōu)化4個(gè)階段完成[3]。有效避免光捕受信號遮擋造成數(shù)據(jù)間斷以及運(yùn)動(dòng)捕捉系統(tǒng)在實(shí)時(shí)驅(qū)動(dòng)過程中受到外界干擾會產(chǎn)生噪聲數(shù)據(jù)所帶來的影響[4]。
2? 虛擬現(xiàn)實(shí)中人物重定位的三維建模
2.1 人物建模
在3dsMAX三維建模軟件中進(jìn)行對人物模型的構(gòu)建,為虛擬維修場景提供代替操作者的角色。相比于Perception Neuron工程包本身自帶的機(jī)器人,更具有真實(shí)性。構(gòu)建多邊形立體或多邊形平面,通過指令調(diào)節(jié)物體形狀以及比例關(guān)系。在接近人體形狀的條件下,盡量做到模型線條的均勻,減少分叉。為后期骨骼的綁定以及模型的渲染做準(zhǔn)備。
2.2 虛擬人物模型的骨骼建模及綁定
在3dsMAX軟件的控制面板中創(chuàng)建基本人物骨架,然后調(diào)整骨架的比例關(guān)系使其更加接近人體骨架。比較Neuron的骨骼結(jié)構(gòu),在控制面板中對身體各個(gè)結(jié)構(gòu)的關(guān)節(jié)數(shù)進(jìn)行增刪,使其與Neuron動(dòng)捕數(shù)據(jù)相匹配。然后進(jìn)行蒙皮操作,通過調(diào)整骨架的大小,反復(fù)操作確保其各個(gè)關(guān)節(jié)完全匹配。
2.3 維修廠虛擬場景的三維建模
基于Unity3D的游戲開發(fā)平臺,并以自身對于民用航空發(fā)動(dòng)機(jī)工程的認(rèn)識為基礎(chǔ),仿造cfm56-7發(fā)動(dòng)機(jī),利用CATIA三維建模軟件構(gòu)建航空發(fā)動(dòng)機(jī)模型。并給予其合適的貼圖、渲染以及比例關(guān)系,從而提高發(fā)動(dòng)機(jī)模型整體的逼真度。利用3dsMAX三維建模軟件對廠房以及飛機(jī)駕駛艙進(jìn)行構(gòu)建。注意模型的類型應(yīng)與Unity3D兼容。按照實(shí)際大修廠房內(nèi)部的布局,將模型(如大修廠房、飛機(jī)、維修工具箱、梯子、貨架等)導(dǎo)入U(xiǎn)nity3D工程的場景中進(jìn)行擺放。
3? 光捕校準(zhǔn)慣捕的具體實(shí)施方案
3.1 原理及優(yōu)缺點(diǎn)
HTC光捕定位原理:
由兩個(gè)形成對角的定位基站,其中每個(gè)基站中都有可以繞兩個(gè)軸旋轉(zhuǎn)的紅外發(fā)射器陣列,兩個(gè)轉(zhuǎn)軸以10ms的相位差交替工作,發(fā)射紅外線掃描空間。HTC光捕頭盔和定位器中有大量的紅外線接收器?;鹃W光后重置所有設(shè)備的時(shí)間,通過設(shè)備中各個(gè)紅外線接收器接受信號的時(shí)間來解算位置信息。
光捕定位的優(yōu)點(diǎn)是解算效率高,由于紅外發(fā)射器激光掃描空間周期很短,所以誤差很小。缺點(diǎn)是需要使用空間比較空曠,如果障礙物多,會影響光信號傳播,則需加裝多個(gè)基站。
慣捕定位原理:
慣捕設(shè)備利用的是慣性陀螺儀的原理,各根節(jié)點(diǎn)分別直接測取轉(zhuǎn)角(rotation)信息,根據(jù)轉(zhuǎn)角變化率 得到加速度,進(jìn)而積分得到速度和位置(position)信息。因?yàn)槲恢眯畔⑹峭ㄟ^積分得出的,所以存在系統(tǒng)積累的誤差,這個(gè)誤差會隨使用時(shí)間的增長而增加。但由于慣性定位使用陀螺儀工作,所以對工作環(huán)境的要求不如光學(xué)定位苛刻。
在慣捕的全身定位中,依據(jù)根節(jié)點(diǎn)的位置,建立相對極坐標(biāo)系,根據(jù)末端節(jié)點(diǎn)的陀螺儀,計(jì)算末端節(jié)點(diǎn)相對于根節(jié)點(diǎn)的相對角度。將肢體每段的長度給予固定值,即末端節(jié)點(diǎn)相對于根節(jié)點(diǎn)(hip)的相對距離;進(jìn)而推算出根節(jié)點(diǎn)的空間位置坐標(biāo)。總之,整個(gè)人體骨架是一個(gè)以ROOT(hip)為根的樹,每個(gè)骨架節(jié)點(diǎn)都有一個(gè)以自己為坐標(biāo)原點(diǎn)的局部坐標(biāo)系[5]。
運(yùn)動(dòng)捕捉利用傳感器采集到的真人運(yùn)動(dòng)數(shù)據(jù)驅(qū)動(dòng)和控制虛擬人,效果逼真, 能生成許多復(fù)雜運(yùn)動(dòng)。但其不足之處是:虛擬人與真人外形和身高不匹配;真人運(yùn)動(dòng)受傳感器和電纜限制;放置在皮膚和衣服上的標(biāo)志及傳感器的移動(dòng)會影響數(shù)據(jù)的準(zhǔn)確性等,這些都會導(dǎo)致虛擬人產(chǎn)生不自然的動(dòng)作[6]。
3.2 虛擬與現(xiàn)實(shí)間對象映射
在實(shí)現(xiàn)光捕校準(zhǔn)慣捕之前,需要具體了解現(xiàn)實(shí)中HTC光捕頭盔、HTC光捕定位器、光捕定位基站、諾亦騰慣捕穿戴設(shè)備在unity工程中對應(yīng)的虛擬對象。諾亦騰動(dòng)捕設(shè)備的每個(gè)慣性傳感器都叫做“Neuron(神經(jīng)元)”,負(fù)責(zé)測量位置數(shù)據(jù)、旋轉(zhuǎn)方向和加速度數(shù)據(jù),測量到的數(shù)據(jù)流會被傳輸?shù)紿ub主節(jié)點(diǎn)中進(jìn)行處理,然后連接到電腦端Axis Neuron動(dòng)作捕捉軟件中。經(jīng)處理的浮點(diǎn)型二進(jìn)制數(shù)的骨骼節(jié)點(diǎn)數(shù)據(jù)將會以BVH數(shù)據(jù)幀的方式在當(dāng)?shù)鼐W(wǎng)絡(luò)上進(jìn)行廣播。
unity工程中用steamVR資源包提供的camera對象讀取HTC光捕頭盔返回的位置坐標(biāo)和相對轉(zhuǎn)角。諾亦騰資源包中的robot對象的根節(jié)點(diǎn)反映了其他各個(gè)節(jié)點(diǎn)相對根節(jié)點(diǎn)的轉(zhuǎn)角和根節(jié)點(diǎn)本身的相對位置坐標(biāo)。由于慣捕的位置坐標(biāo)會隨時(shí)間“漂移”(位置的積累誤差),但各個(gè)子節(jié)點(diǎn)相對根節(jié)點(diǎn)的相對轉(zhuǎn)角隨時(shí)間不會有“漂移”。所以整體構(gòu)思是,把光學(xué)捕捉的位置坐標(biāo)返回值賦給工程中諾亦騰慣捕robot的根節(jié)點(diǎn)而保留諾亦騰robot各個(gè)子節(jié)點(diǎn)和根節(jié)點(diǎn)的相對轉(zhuǎn)角。
3.3 實(shí)施方案
首先,根據(jù)慣捕“定位精度差,轉(zhuǎn)角精度高”的特點(diǎn),保留全部節(jié)點(diǎn)的轉(zhuǎn)角信息,去掉根節(jié)點(diǎn)的位置信息。我們編寫follow腳本,將操作人腰間佩戴的光捕定位器的位置坐標(biāo)賦值給諾亦騰robot的根節(jié)點(diǎn)。這樣就消除了慣捕帶來的漂移誤差。
其次,由于需要HTC的光捕頭盔和諾亦騰慣捕穿戴設(shè)備結(jié)合,如果將諾亦騰robot頭部和光捕camera直接綁定,同時(shí)讀取光捕頭盔的位置坐標(biāo)和諾亦騰robot的根節(jié)點(diǎn)位置坐標(biāo)(由光捕定位器提供),會造成“身首異處”的現(xiàn)象,這是由于頭和身體同時(shí)定位會打破robot整體的相對位置關(guān)系。所以我們提出一個(gè)解決方案:通過屏蔽HTC的位置移動(dòng)腳本midden腳本使其跟隨robot頭部移動(dòng)。再屏蔽諾亦騰頭部模型的轉(zhuǎn)角腳本,改用follow腳本使其轉(zhuǎn)角跟隨HTC頭盔。這樣不但使HTC光捕頭盔能正常使用,而且還保證了工程中人物模型的完整性。最終達(dá)到整體上光捕校準(zhǔn)慣捕的目的。
3.4 項(xiàng)目成果和具體效果
在完成基礎(chǔ)步驟和優(yōu)化方案后,操作人可以在頭戴設(shè)備中,看到自己的全身模型,并且長時(shí)間使用設(shè)備也不會使人物模型的位置發(fā)生漂移。在此基礎(chǔ)上,可以有效地完成虛擬維修教學(xué)的任務(wù)。
4? 結(jié)語
基于虛擬維修中人物重定位技術(shù),針對工業(yè)領(lǐng)域虛擬仿真實(shí)驗(yàn)室中人物的視覺與現(xiàn)實(shí)的偏差進(jìn)行研究,使得光學(xué)動(dòng)作捕捉系統(tǒng)和慣性動(dòng)作捕捉系統(tǒng)在U3D這個(gè)強(qiáng)大開源兼容的底層系統(tǒng)中得到融合,將多組設(shè)備二次開發(fā),突出各自優(yōu)勢。解決了在單一技術(shù)中出現(xiàn)的漂移誤差較大,靈敏度低等問題,同時(shí)又能解決用戶體驗(yàn)感差,眩暈感強(qiáng)烈的問題。從而在使用過程中能夠達(dá)到更好的沉浸效果。該技術(shù)的突破了原有的單一設(shè)備的局限性,使得虛擬仿真技術(shù)更加成熟,仿真效果得到提升。
參考文獻(xiàn)
[1] 劉敏.渦扇發(fā)動(dòng)機(jī)控制系統(tǒng)故障診斷與容錯(cuò)控制研究[D].大連:大連理工大學(xué),2019.
[2] 楊姣.基于Unity3D的航空發(fā)動(dòng)機(jī)虛擬現(xiàn)實(shí)設(shè)計(jì)與研究[D].成都:西華大學(xué),2018.
[3] 吳予忠,張渝舜,趙新宇,等.基于Unity3D的航空發(fā)動(dòng)機(jī)虛擬維修仿真系統(tǒng)的開發(fā)[J].科技創(chuàng)新導(dǎo)報(bào),2018,15(10):15-16.
[4] 劉闖.七自由度上肢外骨骼機(jī)械臂的控制策略研究[D].北京:北京郵電大學(xué),2019.
[5] 王玉琦.空間雙臂機(jī)器人捕獲自旋目標(biāo)的協(xié)調(diào)操作柔順控制研究[D].北京:北京郵電大學(xué),2019.
[6] 于富洋.裝備虛擬維修過程建模和仿真研究及應(yīng)用[D].北京:北京理工大學(xué),2016.