中文字幕无码a片久久,亚洲日韩在线观看浪潮,人人超人人超碰超国产二区,国产人妻久久一区二区,国产人妻久久一区二区

福感科技有限公司 歡迎您!
聯(lián)系方式

    地址:北京市平谷區(qū)馬坊鎮(zhèn)金河北街17號(hào)院3號(hào)樓7層712

    電話:010-89968230

    網(wǎng)站:http://0743119.com

基于數(shù)據(jù)手套的虛擬人手運(yùn)動(dòng)建模系統(tǒng)的研究

2020-12-16 15:09:57??????點(diǎn)擊:

基于數(shù)據(jù)手套的虛擬人手運(yùn)動(dòng)建模系統(tǒng)的研究

葛海江12 ,彭斐 1 ,賈寧 1 ,李士洋 1

1. 杭州 職業(yè)技術(shù)學(xué)院 信息工程學(xué)院,浙江 杭州 3100182. 浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與 技術(shù)學(xué)院,浙江 杭州 310023

摘要:研究了基于WiseGlove7S數(shù)據(jù)手套的虛擬人手運(yùn)動(dòng)建模系統(tǒng)的研究,闡述了數(shù)據(jù)手套的光纖傳感器分布,提出了傳感器值歸一化和手勢(shì)自定義的方法;對(duì)數(shù)據(jù)手套和虛擬手的 軟件開發(fā)包進(jìn)行了詳細(xì)的描述;最后基于OpenGL Unity 3D 平臺(tái)分別實(shí)現(xiàn)了虛擬人手手勢(shì)建模和虛擬人手運(yùn)動(dòng)運(yùn)動(dòng)建模。通過這些研究,可為虛擬現(xiàn)實(shí)中虛擬人手運(yùn)動(dòng)的應(yīng)用提供一定的借鑒。

關(guān)鍵詞:虛擬人手運(yùn)動(dòng)建模;數(shù)據(jù)手套;光纖傳感器;OpenGL;Unity 3D

 虛擬現(xiàn)實(shí)是一種全新的計(jì)算機(jī)高科技交互模擬系統(tǒng),是當(dāng)前全球科技領(lǐng)域最為火熱的技術(shù)之一,數(shù)據(jù)手套(Data Glove)是作為虛擬現(xiàn)實(shí)的 重要交互工具。當(dāng)用戶帶上數(shù)據(jù)手套時(shí),它可以實(shí)時(shí)地測(cè)量人手各個(gè)關(guān)節(jié)角度的變化,并將這些動(dòng)作信息送往計(jì)算機(jī),從而使用戶能以一種比較自 然的方式與計(jì)算機(jī)生成的虛擬環(huán)境進(jìn)行實(shí)時(shí)交互。目前,國(guó)內(nèi)外在數(shù)據(jù)手套方面的研制技術(shù)已經(jīng)相對(duì)成熟,國(guó)外的主要代表產(chǎn)品有美國(guó) Immersion 公司的CyberGlove和南非的5DT Glove,李靜蓉,緒玉花和陳廣文等人研究了基于CyberGlove 數(shù)據(jù)手套的虛擬手的交互[1-2] ;文獻(xiàn)[3-7]基于5DT Glove 數(shù)據(jù)手套主要進(jìn)行了手勢(shì)識(shí)別的研究。國(guó)內(nèi)的有中科院自動(dòng)化研究所研制的數(shù)據(jù)手套CAS-Glove,北京鑫天視景科技有限公司研發(fā)的數(shù)據(jù)手套 WiseGlove,在文獻(xiàn)[8-10]中,毛謖,侯藏龍和郝建平等人基于 WiseGlove 數(shù)據(jù)手套做了一些應(yīng)用研究。對(duì)于CAS-Glove 數(shù)據(jù)手套,它是國(guó)家“863”計(jì)劃支持下研制的高性能低成數(shù)據(jù)手套,它是一種采用柔性材料制作的,在其相應(yīng)位置安裝了15個(gè)自行研制開發(fā)的柔性角度傳感器來分別測(cè)量手指各關(guān)節(jié)彎曲角度和手指開合程度,在性能方面達(dá)到國(guó)外同類產(chǎn)品的水平, 成本低于國(guó)外同類產(chǎn)品。

下面對(duì)相關(guān)數(shù)據(jù)手套產(chǎn)品的典型性能進(jìn)行比較如下:1)可擴(kuò)展功能性:CyberGlove 有手指捕捉功能和手指力反饋[1]功能,沒有手臂位置跟蹤功能;5DTGlov僅具有手指捕捉功能; WiseGlove可在現(xiàn)有手指捕捉功能集成上擴(kuò)展手指力反饋和手臂位置檢測(cè)功能。 在功能上, WiseGlove 更完善一些。2)傳感器精度:WiseGlove 的手指?jìng)鞲衅骶炔恍∮?/span> 0.2°,回

復(fù)精度:不小于 3°;5DT Glove 的手指?jìng)鞲衅骶仍瓘S未進(jìn)行描述。CyberGlove 手指?jìng)鞲衅骶炔恍∮?/span>1°,回復(fù)精度:不小于 3°。在精度上,WiseGlove更好一些。 3)傳感器壽命:WiseGlove 手指?jìng)鞲衅魇褂玫?/span>3代精密光纖傳感器;5DT Glove使用第2代光纖傳感器; CyberGlove 使用電阻傳感器。在使用壽命上,光纖傳感器更好一些。4)傳感器數(shù)量: 5DTGlove最多配置14個(gè)傳感器;WiseGlove 最多19個(gè)傳感器(用戶可以根據(jù)需要進(jìn)行選配);CyberGlove 配置22個(gè)傳感器。在數(shù)量上CyberGlove 更多一些。本文綜合考慮了可擴(kuò)展功能性、傳感器精度、傳感器數(shù)量以及性價(jià)比等方面后,選擇了北京鑫天視景科技有限公司的WiseGlove7S手套來實(shí)現(xiàn)虛擬人手運(yùn)動(dòng)建模系統(tǒng)的研究。WiseGlove7S使用光纖傳感器來檢測(cè)手指彎曲度,手指關(guān)節(jié)上共使用了7個(gè)光纖傳感器,可實(shí)現(xiàn)人手手指關(guān)節(jié)的運(yùn)動(dòng)角 度捕捉,實(shí)現(xiàn)如搓捻、對(duì)掌、撥動(dòng)和抓取等動(dòng)作,后期也可以根據(jù)應(yīng)用需要,升級(jí)手指力反饋和手臂位置跟蹤等功能。

1 WiseGlove7S數(shù)據(jù)手套概述

1.1 WiseGlove7S數(shù)據(jù)手套的光纖傳感器分布

WiseGlove7S 數(shù)據(jù)手套的光纖傳感器分布如圖1所示,它的7個(gè)光纖傳感器功能如下:S0 S1實(shí)現(xiàn)大拇指的彎曲功能,S2位于虎口下方,主要實(shí)現(xiàn)大拇指的外展功能,即上下搓捻;S3-S6分別實(shí)現(xiàn)其余4指的彎曲功能。

1.2 手指?jìng)鞲衅魉惴ā⑹謩?shì)自定義以及數(shù)據(jù)手套的標(biāo)定

1)歸一化傳感器值

一個(gè)光纖傳感器的最小值(X)和最大值(Y)在標(biāo)定數(shù)據(jù)手套時(shí)已完成。如果當(dāng)前手套的某個(gè)光纖傳感器的值是Z,則滿足的關(guān)系:X<Z<Y。若Z>YY=Z;若Z<X,則X=Z。這兩條確保了當(dāng)前 值一直都在[X,Y]區(qū)間內(nèi)。假設(shè)某一個(gè)手指的活動(dòng)角度是M,則當(dāng)前的彎曲角度 N 可以 通過下面公式得到:N=M*(Z-X)/(Y-X)

2)手勢(shì)自定義

WiseGlove7S的數(shù)據(jù)手冊(cè)可知,光纖傳感器的精度為12位,則光纖傳感器的精度范圍為[0 4 095],這里可以認(rèn)為當(dāng)(Z-X/Y-X<=2048時(shí)手指是分開的,(Z-X/Y-X>2048 時(shí)手指是合攏的,通過這個(gè)關(guān)系條件,用戶可以定義每個(gè)手指的開與合,完成各種手勢(shì)的自定義。在文獻(xiàn)[11]中,定義了數(shù)據(jù)手套的5種一般手勢(shì)。

3WiseGlove7S數(shù)據(jù)手套的標(biāo)定

用戶戴好WiseGlove7S數(shù)據(jù)手套后,可使用下述標(biāo)定方法對(duì)數(shù)據(jù)手套進(jìn)行標(biāo)定,然后再開始使用,具體實(shí)現(xiàn)如圖 2所示。

2 WiseGlove數(shù)據(jù)手套和虛擬手的軟件開發(fā)包

2.1 WiseGlove SDK數(shù)據(jù)手套開發(fā)包

WiseGlove SDK提供了C++形式的靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù),對(duì)于VC/VS編譯器可以直接靜態(tài)鏈接編譯,對(duì)于其他語言(例如C#,JAVA等)可通過調(diào)用DLL的方法實(shí)現(xiàn)。

開發(fā)庫(kù)函數(shù)具體包括如WiseGlove數(shù)據(jù)手套檢測(cè):unsigned int Scan(void);傳感器設(shè)置標(biāo)定參數(shù):void SetCalib(int index,unsigned short min,unsignedshort max,float angle);傳感器設(shè)置最小參數(shù)值:voidSetCalibmin(int index,unsigned short min);傳感器設(shè)置最小參數(shù)值:void SetCalibmax(int indexunsignedshort max);讀所有傳感器值:unsigned int GetData(unsigned short *data);讀所有傳感器歸一化值:unsigned int GetScaledData(unsigned short *data);讀手指?jìng)鞲衅鞯慕嵌龋?/span>unsigned int GetAngle(float *angle)等共計(jì)40余個(gè)APP函數(shù)可調(diào)用。

2.2 WiseHand SDK虛擬手開發(fā)包

WiseHand SDK提供了C++形式的靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù),對(duì)于VC/VS 編譯器可以直接使用, 對(duì)于其他編譯器則需要轉(zhuǎn)換格式后使用。

開發(fā)庫(kù)函數(shù)具體包括如加載虛擬手模型:BOOL loadModelData( char *filename);設(shè)置左右手模型:void setVhandtype( bool type );繪制手模型:voiddrawhand(float angle[19],int mode)新建手模型指針:WiseHand*GetWiseHand(void);銷毀一個(gè)手模型手指針:void DelWiseHand(WiseHand *p)等。

3 基于數(shù)據(jù)手套的虛擬人手運(yùn)動(dòng)建模

3.1 基于OpenGL的虛擬人手手勢(shì)建模

基于OpenGL的虛擬人手手勢(shì)建模主要有兩步:

1)首先用 3DMAX軟件建立虛擬人手模型[12-13]的網(wǎng)格和貼圖,建立骨骼后綁定網(wǎng)格頂點(diǎn)到對(duì)應(yīng)的骨骼上,建立帶骨骼的手模型。

2)使用OpenGL來顯示建模好的手模型,并使用數(shù)據(jù)手套的關(guān)節(jié)角度數(shù)據(jù)驅(qū)動(dòng)手模型的骨骼點(diǎn)的旋轉(zhuǎn)。這里包括兩部分:一個(gè)是渲染模型部分;二個(gè)是調(diào)用手套角度驅(qū)動(dòng)模型部分。 具體實(shí)現(xiàn)步驟如下:

當(dāng)數(shù)據(jù)手套的傳感器角度驅(qū)動(dòng)骨骼旋轉(zhuǎn)時(shí),骨骼帶動(dòng)所綁定的網(wǎng)格一起移動(dòng),每次屏幕刷新前都要參考骨骼新位置重新算網(wǎng)格頂點(diǎn)的新位置,同時(shí)使用每個(gè)頂點(diǎn)對(duì)應(yīng)的貼圖坐標(biāo),實(shí)現(xiàn)紋理貼圖,這樣就實(shí)現(xiàn)了骨骼蒙皮的動(dòng)畫手。

3.2 WiseGlove7S數(shù)據(jù)手套的Unity 3D虛擬人手運(yùn)動(dòng)建模

1WiseGlove7S數(shù)據(jù)手套的Unity 3D的場(chǎng)景和控制腳本設(shè)計(jì)

這里利用WiseGlove7S數(shù)據(jù)手套和Unity 3D軟件[14-15] 實(shí)現(xiàn)虛擬人手的不同大小物體的抓放[16]、移動(dòng)以及疊放等功能。Unity 3D編程采用C#語言,內(nèi)部關(guān)聯(lián)VS2015編譯器。基于數(shù)據(jù)手套的虛擬人手運(yùn)動(dòng)建模包括Unity 3D場(chǎng)景資源和控制相應(yīng)資源的腳本。Unity3D場(chǎng)景資源包括Table(桌子),directional light(直射光),move(移動(dòng)),Plane(平面)、Main Camera(主相機(jī))、Cube(方塊)和Arm(手臂模型)等??刂瀑Y源的腳本有Cameracontrol.cs控制相機(jī)移動(dòng),FreeView.cs自由視圖控制,LookatPoint.cs尋找點(diǎn),mycolliderblue.cs、mycollidergreen.cs、 mycolliderred.csmycolliderpurple分別控制藍(lán)色,綠色,紅色和紫色方塊,wiseglove_left.cs 手套左手驅(qū)動(dòng),wiseglove_right.cs 手套右手驅(qū)動(dòng)。基于數(shù)據(jù)手套的虛擬人手運(yùn)動(dòng)建模軟件的控制場(chǎng)景資源工作的腳本如圖5所示。


2WiseGlove7S數(shù)據(jù)手套實(shí)現(xiàn)Unity 3D中的物體抓放、移動(dòng)以及疊放等具體實(shí)現(xiàn)步驟如下:

①在 Unity 3D場(chǎng)景中尋找物體方塊、相機(jī)以及手模型等,初始化數(shù)據(jù)手套,保存手模型的初始化角度;

②在 Update 函數(shù)中一直讀取數(shù)據(jù)手套的角度,分配給虛擬手模型各關(guān)節(jié)驅(qū)動(dòng)模型手運(yùn)動(dòng);

③程序渲染每一幀時(shí)都要檢測(cè)抓取動(dòng)作,當(dāng)手與被抓物體的距離小于設(shè)定距離,同時(shí)符合抓握動(dòng)作的條件(真值為true)時(shí),把物體抓握起來;

④本文通過鍵盤按鍵AD(左右),WS(前后)和FV(上下)來控制虛擬手的運(yùn)動(dòng)位置,將物體移動(dòng)到相應(yīng)的位置后松開手,若此時(shí)抓握動(dòng)作條件的真值為 Flase,則物體被放下然后自由下落;

⑤依次循環(huán)步驟②~④,可以實(shí)現(xiàn)多個(gè)不同大小物體的抓放、移動(dòng)以及疊放等功能。

3.3 基于數(shù)據(jù)手套的虛擬人手運(yùn)動(dòng)建模軟件工作流程

基于數(shù)據(jù)手套的虛擬人手運(yùn)動(dòng)建模軟件工作流程如圖6所示,數(shù)據(jù)手套標(biāo)定方法如圖2所示,PC端顯示的基于數(shù)據(jù)手套的虛擬人手抓物體功能演示如圖 7所示。

4 結(jié)束語

本文的研究將為人們?cè)谔摂M人手精確實(shí)時(shí)交互方向開展更高層次的科學(xué)研究提供一定的理論和應(yīng)用基礎(chǔ);為今后虛擬現(xiàn)實(shí)技術(shù)在醫(yī)療,軍事,民生以及產(chǎn)業(yè)化的應(yīng)用起到較好的推動(dòng)作用。在基于數(shù)據(jù)手套的虛擬人手運(yùn)動(dòng)建模和軟件系統(tǒng)開發(fā)理論和實(shí)踐成熟之后,數(shù)據(jù)手套配以三維跟蹤裝置,則在虛擬三維場(chǎng)景當(dāng)中可完成一些較為復(fù)雜的動(dòng)作,推動(dòng)虛擬人機(jī)交互技術(shù)在虛擬手術(shù)、虛擬裝配、遙操作機(jī)器人等方面向縱深發(fā)展。此外本文的前期的相關(guān)研究

成果:一種電容感應(yīng)式的人手運(yùn)動(dòng)手勢(shì)識(shí)別裝置(ZL2018220165138)已獲國(guó)家實(shí)用新型專利。

參考文獻(xiàn):

[1] 李靜蓉, 緒玉花.面向虛擬裝配的虛擬手交互技術(shù)研究[J].機(jī)械設(shè)計(jì)與制造, 2014(5):262-266.

[2] 陳廣文,楊文珍,吳新麗,等. 基于 PPT跟蹤器和Cyber手套的虛擬手交互[J].浙江理工大學(xué)學(xué)報(bào),2013,30(4):554-557.

[3] 張志純,楊曉文, 況立群,等. 基于Virtools5DT數(shù)據(jù)手套的手勢(shì)仿真研究[J].科學(xué)技術(shù)與 工程[J],201515(4):140-144.

[4] 楊柳,李東潔,李洋洋. GL-RBF優(yōu)化的數(shù)據(jù)手套手勢(shì)識(shí)別算法[J].哈爾濱理工大學(xué)學(xué)報(bào), 2017,22(4):7-12.

[5] 李東潔, 李君祥, 張?jiān)剑?等. 基于PSO改進(jìn)的BP神經(jīng)網(wǎng) 絡(luò)數(shù)據(jù)手套手勢(shì)識(shí)別 [J].電機(jī)與控制學(xué)報(bào),2014,18(8):87-93.

[6] 魏月 ,郭欣,王蕾,等.實(shí)時(shí)手部精細(xì)運(yùn)動(dòng)意圖識(shí)別方法的研究[J].中國(guó)康復(fù)醫(yī)學(xué)雜志, 2019,34(1):59-66.

[7] 胡林,樊景超,周國(guó)民.基于Fastrack數(shù)據(jù)手套的虛擬手交互系統(tǒng)研究[J].安徽農(nóng)業(yè)科學(xué), 2013,41(25):10524-10527.

[8] 毛謖,沈向前,羅琪,等.數(shù)據(jù)手套在測(cè)量對(duì)掌運(yùn)動(dòng)中拇指腕掌關(guān)節(jié)的角度應(yīng)用[J].中國(guó)骨與關(guān)節(jié)損傷雜志,2014(5):515-516.

[9] 侯藏龍,張偉忠,唐沂星,等.脊髓病手功能評(píng)測(cè)系統(tǒng)的開發(fā)及軟件實(shí)現(xiàn)[J].中國(guó)醫(yī)療設(shè)備, 2015,30(5): 24-27.

[10]郝建平,崔慶春,李星新.基于WiseGlove 數(shù)據(jù)手套的維修手勢(shì)仿真研究與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,201422(2):594-597.

[11]呂蕾,張金玲,朱英杰,等.一種基于數(shù)據(jù)手套的靜態(tài)手勢(shì)識(shí)別方法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),201527(12):2410-2418.

[12]楊曉文,張志純,況立群,等.基于虛擬手的人機(jī)交互關(guān)鍵技術(shù)[J]. 計(jì)算機(jī)應(yīng)用 ,2015, 35(10):2945-2949.

[13]曹福毅,李波,王增輝.基于5點(diǎn)數(shù)據(jù)手套的虛擬手精確控制方法[J].沈陽工程學(xué)院學(xué)報(bào), 2015,11(2): 155-158.

[14]趙裕沛,費(fèi)飛,楊德華,等. 面向手部康復(fù)應(yīng)用的數(shù)據(jù)手套技術(shù)研究[J].儀器儀表學(xué)報(bào), 2017, 38(10):2415-2421.

[15]李曉峰,薛小榮,梁蘭花.基于 Unity3D 的矢量網(wǎng)絡(luò)分析儀虛擬實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].實(shí)驗(yàn)技術(shù)與管理,2019,36(4):134-137.

[16] 胡晨,張學(xué)聃,馬惠敏.適應(yīng)物體形狀的虛擬手抓取[J].中國(guó)圖象圖形學(xué)報(bào),2017,22(5):663-670.

聲明:文章內(nèi)容整理來源于網(wǎng)絡(luò),版權(quán)屬于原作者,如有問題請(qǐng)聯(lián)系我們。


Copyright 2019 0743119.com

福感科技有限公司 版權(quán)所有 All Rights Reserved

京ICP備20002031號(hào)

010-89968230