基于數(shù)據(jù)手套的虛擬人手運動建模系統(tǒng)的研究
基于數(shù)據(jù)手套的虛擬人手運動建模系統(tǒng)的研究
葛海江1,2 ,彭斐 1 ,賈寧 1 ,李士洋 1
(1. 杭州 職業(yè)技術(shù)學院 信息工程學院,浙江 杭州 310018;2. 浙江工業(yè)大學 計算機科學與 技術(shù)學院,浙江 杭州 310023)
摘要:研究了基于WiseGlove7S數(shù)據(jù)手套的虛擬人手運動建模系統(tǒng)的研究,闡述了數(shù)據(jù)手套的光纖傳感器分布,提出了傳感器值歸一化和手勢自定義的方法;對數(shù)據(jù)手套和虛擬手的 軟件開發(fā)包進行了詳細的描述;最后基于OpenGL和 Unity 3D 平臺分別實現(xiàn)了虛擬人手手勢建模和虛擬人手運動運動建模。通過這些研究,可為虛擬現(xiàn)實中虛擬人手運動的應用提供一定的借鑒。
關(guān)鍵詞:虛擬人手運動建模;數(shù)據(jù)手套;光纖傳感器;OpenGL;Unity 3D
虛擬現(xiàn)實是一種全新的計算機高科技交互模擬系統(tǒng),是當前全球科技領(lǐng)域最為火熱的技術(shù)之一,數(shù)據(jù)手套(Data Glove)是作為虛擬現(xiàn)實的 重要交互工具。當用戶帶上數(shù)據(jù)手套時,它可以實時地測量人手各個關(guān)節(jié)角度的變化,并將這些動作信息送往計算機,從而使用戶能以一種比較自 然的方式與計算機生成的虛擬環(huán)境進行實時交互。目前,國內(nèi)外在數(shù)據(jù)手套方面的研制技術(shù)已經(jīng)相對成熟,國外的主要代表產(chǎn)品有美國 Immersion 公司的CyberGlove和南非的5DT Glove,李靜蓉,緒玉花和陳廣文等人研究了基于CyberGlove 數(shù)據(jù)手套的虛擬手的交互[1-2] ;文獻[3-7]基于5DT Glove 數(shù)據(jù)手套主要進行了手勢識別的研究。國內(nèi)的有中科院自動化研究所研制的數(shù)據(jù)手套CAS-Glove,北京鑫天視景科技有限公司研發(fā)的數(shù)據(jù)手套 WiseGlove,在文獻[8-10]中,毛謖,侯藏龍和郝建平等人基于 WiseGlove 數(shù)據(jù)手套做了一些應用研究。對于CAS-Glove 數(shù)據(jù)手套,它是國家“863”計劃支持下研制的高性能低成數(shù)據(jù)手套,它是一種采用柔性材料制作的,在其相應位置安裝了15個自行研制開發(fā)的柔性角度傳感器來分別測量手指各關(guān)節(jié)彎曲角度和手指開合程度,在性能方面達到國外同類產(chǎn)品的水平, 成本低于國外同類產(chǎn)品。
下面對相關(guān)數(shù)據(jù)手套產(chǎn)品的典型性能進行比較如下:1)可擴展功能性:CyberGlove 有手指捕捉功能和手指力反饋[1]功能,沒有手臂位置跟蹤功能;5DTGlov僅具有手指捕捉功能; WiseGlove可在現(xiàn)有手指捕捉功能集成上擴展手指力反饋和手臂位置檢測功能。 在功能上, WiseGlove 更完善一些。2)傳感器精度:WiseGlove 的手指傳感器精度不小于 0.2°,回
復精度:不小于 3°;5DT Glove 的手指傳感器精度原廠未進行描述。CyberGlove 手指傳感器精度不小于1°,回復精度:不小于 3°。在精度上,WiseGlove更好一些。 3)傳感器壽命:WiseGlove 手指傳感器使用第3代精密光纖傳感器;5DT Glove使用第2代光纖傳感器; CyberGlove 使用電阻傳感器。在使用壽命上,光纖傳感器更好一些。4)傳感器數(shù)量: 5DTGlove最多配置14個傳感器;WiseGlove 最多19個傳感器(用戶可以根據(jù)需要進行選配);CyberGlove 配置22個傳感器。在數(shù)量上CyberGlove 更多一些。本文綜合考慮了可擴展功能性、傳感器精度、傳感器數(shù)量以及性價比等方面后,選擇了北京鑫天視景科技有限公司的WiseGlove7S手套來實現(xiàn)虛擬人手運動建模系統(tǒng)的研究。WiseGlove7S使用光纖傳感器來檢測手指彎曲度,手指關(guān)節(jié)上共使用了7個光纖傳感器,可實現(xiàn)人手手指關(guān)節(jié)的運動角 度捕捉,實現(xiàn)如搓捻、對掌、撥動和抓取等動作,后期也可以根據(jù)應用需要,升級手指力反饋和手臂位置跟蹤等功能。
1 WiseGlove7S數(shù)據(jù)手套概述
1.1 WiseGlove7S數(shù)據(jù)手套的光纖傳感器分布
WiseGlove7S 數(shù)據(jù)手套的光纖傳感器分布如圖1所示,它的7個光纖傳感器功能如下:S0和 S1實現(xiàn)大拇指的彎曲功能,S2位于虎口下方,主要實現(xiàn)大拇指的外展功能,即上下搓捻;S3-S6分別實現(xiàn)其余4指的彎曲功能。
1.2 手指傳感器算法、手勢自定義以及數(shù)據(jù)手套的標定
1)歸一化傳感器值
一個光纖傳感器的最小值(X)和最大值(Y)在標定數(shù)據(jù)手套時已完成。如果當前手套的某個光纖傳感器的值是Z,則滿足的關(guān)系:X<Z<Y。若Z>Y則Y=Z;若Z<X,則X=Z。這兩條確保了當前
值一直都在[X,Y]區(qū)間內(nèi)。假設(shè)某一個手指的活動角度是M,則當前的彎曲角度 N 可以
通過下面公式得到:N=M*(Z-X)/(Y-X)。
2)手勢自定義
從WiseGlove7S的數(shù)據(jù)手冊可知,光纖傳感器的精度為12位,則光纖傳感器的精度范圍為[0, 4 095],這里可以認為當(Z-X)/(Y-X)<=2048時手指是分開的,(Z-X)/(Y-X)>2048 時手指是合攏的,通過這個關(guān)系條件,用戶可以定義每個手指的開與合,完成各種手勢的自定義。在文獻[11]中,定義了數(shù)據(jù)手套的5種一般手勢。
3)WiseGlove7S數(shù)據(jù)手套的標定
用戶戴好WiseGlove7S數(shù)據(jù)手套后,可使用下述標定方法對數(shù)據(jù)手套進行標定,然后再開始使用,具體實現(xiàn)如圖 2所示。
聲明:文章內(nèi)容整理來源于網(wǎng)絡(luò),版權(quán)屬于原作者,如有問題,請聯(lián)系我們!
- 上一篇:如何使用Unity3D跨屏幕、全屏顯示 2021/1/3
- 下一篇:UNITY3D的立體顯示方法(HTC VIVE) 2021/1/2


