新四季網

虛擬手自動手勢選擇方法

2023-05-25 10:19:16

專利名稱:虛擬手自動手勢選擇方法
技術領域:
本發明涉及一種虛擬手自動手勢選擇方法,屬於智能人機互動領域。
背景技術:
計算技術的巨大進步,使得人們可以藉助圖形技術和多種交互設備在虛擬環境中進行各種交互仿真實驗和設計工作。在虛擬環境人機互動中像在現實世界中一樣的直接操作是一個重要技術方面。虛擬手手勢的動畫是直接操作的基礎設施。目前虛擬手手勢的行為都是基於數據手套等設備通過對人的真實手指動作跟蹤而獲得的,這樣的虛擬手的缺陷在於以下幾點。其一,它依賴人的生理行為和生理感知,在交互中造成很大的認知負荷,也無法提供交互的其它語義信息,比如抓握的特徵信息以及抓握的手勢和深度信息;其二,基於碰撞檢測算法,其算法複雜度很高,儘管人們提出了各種各樣的改進算法來提高其效率,並沒有克服其固有的複雜度,因而,在個人計算機上尚無法完全實現實時交互。

發明內容
本發明的目的是解決現有虛擬手技術所帶來的認知負荷高的問題,從而提出了一種虛擬手自動手勢選擇方法。本發明的主要內容是根據生產和生活經驗知識抽取出一套基本手勢;構造具有真實感的虛擬手幾何和手勢動畫。將虛擬手在虛擬環境中設計為主動對象,設計虛擬手的手勢動態選擇的算法,使得在虛擬環境交互過程中虛擬手根據用戶交互意圖的表達自主地轉換手勢。本發明的目的是通過下述技術方案實現的。一種虛擬手自動手勢選擇方法,包括(I)為虛擬手設計一套在生產中和生活中常用的基本手勢,形成虛擬環境基本手勢集,用符號GesSet表示。所謂的手勢是指參與抓握動作的手指組合和手指形態。GesSet= {Pnt, 2fNip, 3fNip, 4fNip, 5fNip, AGrab, PGrab, Grasp}。其中,Pnt 為指點手勢,指點手勢為手背朝上,食指伸直擺放,拇指與手掌在同一平面並張開與食指成直角擺放其餘三指指尖自然彎曲向下;2fNip代表用拇指和食指合作的捏手勢;3fNip代表拇指、食指和中指合作的捏手勢;4fNip代表用拇指與除小指外的其它四指合作構成的捏手勢;5fNip代表用拇指與其它四指合作構成的捏手勢;AGrab代表除拇指外其餘併攏彎曲的四指所構成的抓握手勢,拇指所指方向垂直於其餘手指所在的每個平面,也稱為偏握手勢;PGrab代表拇指與其餘併攏的四指相對,拇指所在平面平行於其它彎曲四指各手指所在平面的抓握手勢,也稱為對握手勢;Grasp代表五指均勻側向張開然後彎曲握緊的抓握手勢。設定指點手勢Pnt為初始手勢,任何抓握手勢都是從此手勢轉化而來。在4個捏手勢中(2fNip, 3fNip, 4fNip,5fNip),都是拇指指尖與其它參與捏手勢的部分手指指尖相對。定義相關參數定義虛擬手局部坐標系定義虛擬手的掌心某一點為虛擬手局部坐標系原點,用Oh表示;定義穿過坐標原點且與指點手勢的食指矢量同方向的軸為虛擬手局部坐標系的主軸,用Major11表示;定義在手掌平面上穿過坐標原點與主軸正交的軸線且與拇指指尖所指方向成銳角的方向為虛擬手局部坐標系的副軸方向,用Minor11表示;定義穿過坐標原點與MajorH-MinorH平面即手掌平面正交且從手背指向手心的的方向為第三軸方向,用The3thAxisH表示,此三個軸構成右手定則。定義手指的3個關節點和指尖頂點。對於拇指,從根部到指尖順序分別是拇指第一關節點、拇指第二關節點,拇指第三關節點和拇指指尖頂點,分別用0T1、O12> O13> O14表示。Oti和Ot2之間的距離、Ot2和Ot3之間的距離、Ot3和Ot4之間的距離分別用1T1、1T2、I13表示。食指的3個關節點和指尖頂點,從根部到指尖順序分別是食指第一關節點、食指第二關節點、食指第三關節點和食指指尖頂點,分別用0n、O12, O13> O14表示。O11和O12之間的距離、O12和O13之間的距離、O13和O14之間的距離分別用I11U12和I13表示。中指的3個關節點和中指指尖頂點,從根部到指尖順序分別是中指第一關節點、中指第二關節點,中指第三關節點和中指指尖頂點,分別用0M1, Om2, Om3> Om4表示。Omi和Om2之間的距離、Om2和Om3之間的距離、Om3和Om4之間的距離分別用ImiUm2Um3表示。無名指的3個關節點,從根部到指尖順序分別是無名指第一關節點、無名指第二關節點、無名指第三關節點和無名指指尖頂點,分別用0K1、0K2、0K3、Oe4表示。Oei和Oe2之間的距離、Oe2和Oe3之間的距離、Ok3和Oe4之間的距離分別用1K1、1K2、Ik3表示。小指的3個關節點,從根部到指尖順序分別是小指第一關節點、小指第二關節點,小指第三關節點和小指指尖頂點,分別用Osi、0S2, 0S3、Os4表示。Osi和Os2之間的距離、Os2和Os3之間的距離、Os3和Os4之間的距離分別用1S1、1S2、Is3表示。各手指的第一關節點到第二關節點的部分稱為第一指節,第二關節點到第三關節點的部分稱為第二指節,第三關節點到指尖頂點的部分稱為第三指節。定乂 5 個矢裡 VeCjjTi、VeCjjn、V6。腿1、V 。服丄、veCjjsi ;其中,Vθ表原點到梅宇曰的第一關節點On的矢量,vecHT1=0n-0H ;vecHI1表示原點Oh到食指的第一關節點O11到的矢量,vecHI1=0n-0H -,Yecmi表示原點Oh到中指的第一關節點Om的矢量,vecHM1=0m_0H ;vecHE1表示原點Oh到無名指的第一關節點Oki的矢量,vecHK1=0K「0H ;vecHS1表示原點Oh到小指的第一關節點 Osi 的矢量,vecHS1=0sl-0H。定義拇指的3種狀態和2種狀態轉換方式。拇指的3種狀態分別用Sti、St2和St3表示;2種狀態轉換方式分別用Tn和Tt2表示。拇指的狀態Sn是拇指與食指併攏,拇指指尖所指方向與Major11軸方向相同;拇指的狀態St2是拇指與食指分開,拇指指尖指向與Minora軸方向相同;拇指的狀態St3是拇指與食指分開,拇指指尖指向與The3thAxisH軸方向相同。拇指的狀態轉換方式Tn是拇指在MajorH-MinorH平面的轉動,即拇指從狀態Sn向狀態St2轉換或從狀態St2向狀態Sn轉換的運動過程;拇指的狀態轉換方式Tt2是拇指在MinorH-The3thAxisH平面上的旋轉運動,即拇指從狀態St2向狀態St3轉換或從狀態St3向狀態St2轉換的運動過程。定義手指的運動方式定義拇指各指節的旋轉角度。拇指從狀態St2開始,拇指的第一指節至第三指節的旋轉角度分別用θ Τ12> θ Τ22和θ Τ32表示;拇指從狀態St3開始,拇指的第一指節至第三指節的旋轉角度分別用θη3、ΘΤ23和ΘΤ33表示。定義除拇指外其它四指的運動方式。第一種運動方式是食指、無名指和小指在MajorH-MinorH平面內的側向移動,中指在MajorH_MinorH平面上沒有側向運動;第二種運動方式是食指、中指、無名指和小指分別由伸直狀態朝向手心的彎曲運動和其逆運動。在第一種運動方式中,食指、無名指和小指在MajorH-MinorH平面的側向移動角度分別用Θ IS、Θ ES和Θ ss表示。在第二種運動方式中,食指的第一指節至第三指節的旋轉角度分別用θ n、9 12和Θ 13表示;中指的第一指節至第三指節的旋轉角度分別用ΘΜ1、和表示;無名指的第一指節至第三指節的旋轉角度分別用θ Κ1、θ Κ2和θ Κ3表示;小指的第一指節至第三指節的旋轉角度分別用QS1、0S2和0S3表示。在上述參數定義的基礎上,對虛擬環境基本手勢集GesSet中的8種手勢進行描述。指點手勢Pnt為手背朝上,食指伸直擺放,拇指自然伸展,處於狀態ST2,其餘三指指尖自然彎曲向下;因此指點手勢Pnt的參數描述為Pnt={vecm4=MajorH, θ Π2= θ η,
Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)
Τ22一 12, Τ32一 13, Il一 14, 12一 15, 13一 16, Ml一 17, M2一 18, M3一 19, Rl一 R7,
θ R2= θ 18,θ R3= θ 19,θ SI= θ 17,θ S2= θ 18,θ S3= θ I9I ;其中,VeCm4 表示從食指的第一關節點
O11 到拇指指尖 O14 的矢量;θ η、Θ 12、Θ 13、Θ 14、Θ 15、Θ 16、Θ 17、Θ 18、Θ 19 均為
之間的某一定值。拇指和食指合作的捏手勢2fNip的描述為初始狀態為指點手勢Pnt,拇指從狀態St2轉換到狀態ST3,然後拇指和食指相對運動直到指尖中心接觸為止。捏手勢2fNip的終止狀態參數描述為2fNip= {norm((O11-On) X (Ot2-Oti)) =norm((O12-Oti) X (Ot2-Oti)),
θ 113= θ 21 ΘΤ23=Θ22,θ T33= θ 23 θ Il= θ 24 ΘΙ2=Θ25,θ 13= θ 261 ;其中,ηθΓΠ1(·)中的各參數
為矢量,norm( ·)表不取該矢量的方向;9 21、Θ 22、Θ 23、Θ 24、Θ 25、Θ 26均為[O, 180。]之間的某一定值。姆指、食指和中指合作的捏手勢3fNip的描述為初始狀態為指點手勢Pnt,姆指從狀態St2轉換到狀態ST3,同時中指伸直與食指併攏,其它手指狀態不變。然後食指和中指與姆指做並彳丁相對運動,分別做向內彎曲直到姆指指尖與食指和中指指尖接觸為止。捏手勢 3fNip 的終止狀態參數描述為3fNip={norm((0n+0M1-20T1) X (O12-On)) =norm((0I2+0M2-20n) X (0Τ2_0Τ1) ),θ Τ13- θ 21 9 Τ23- θ 22,θ Τ33- θ 23,θ η_ θ 24,θ Ι2_ θ 25,θ Ι3_ θ 26,θ Μ1_ θ 34,ΘΜ2=Θ35,%3=03J;其中,021、0 22、0 23、0 24、0 25、0 26、0 34、θ35、Θ 36 均為
之間的某一定值。拇指與除小指外的其它四指合作構成的捏手勢4fNip的描述為初始狀態為指點手勢Pnt,拇指從狀態St2轉換到狀態ST3,同時中指和無名指伸直與食指併攏,小指狀態不變。然後食指、中指和無名指與姆指做並彳丁相對運動,分別做向內彎曲直到姆指指尖與中指指尖接觸為止。捏手勢4fNip的終止狀態參數描述為4fNip= {norm((Omi-Oti) X (Ot2-Oti)) =
norm ( (Om2-Ot1) X (0Τ2—0T2) ),,θ T13— Θ 21 Τ23_ 22, Τ33_ 23, Il_ ^ 24, I2~ 9 25, I3_ 9 26,
9 Ml- 9 34,9 M2- 9 35,^ M3- ^ 36,^ El- ^ 44,^ E2_ ^ 45,^ E3_ ^ 46^ ;其中,^ 21、^ 22、^ 23、^ 24、^ 25、θ 26、θ 34、θ 35、θ 36、θ 44、θ 45、θ 46 均為
之間的某一定值。拇指與其它四指合作構成的捏手勢5fNip的運動過程描述為初始狀態為指點手勢Pnt,姆指從狀態St2轉換到狀態St3,然後姆指與食指、中指、無名指以及小指並彳丁相對運動,各手指冋步向內做彎曲運動,直到姆指指尖與其餘四指指尖接觸為止。捏手勢5fNip的終止狀態參數描述為5fNip= {norm((0M1+0E1-20T1) XX (0T2-
\ \Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)
wTl/ / , , Τ13一 21 Τ23一 22 Τ33一 23 Il一 24 12一 25 13一 26 Ml一 34 M2一 35,9 M3- 9 36,9 El- 9 44,^ E2_ ^ 45,^ E3_ ^ 46,^ SI- ^ 54,^ S2_ ^ 55,^ S3- ^ 56^ ;其中,^ 21、日 22、^ 23、9 24、9 25、9 26、9 34、9 35、9 36、9 44、9 45、9 46、9 54、9 55、9 56 均為[ ,180° ]之間的某一定值。偏握手勢AGrab是拇指與其餘併攏彎曲的四指的每個手指所在平面垂直的手勢,其描述為初始狀態為指點手勢Pnt,姆指保持狀態St2不變,中指、無名指和小指冋時伸直並保持與食指並找,然後食指、中指、無名指和小指並行同步向內彎曲至最大角度。抓握手勢 AGrab 的終止狀態參數描述為AGrab= { θ Τ12= Θ 61,θ Τ22= Θ 62,θ Τ32= Θ 63,θ η= θ 1Max,
Q=QQ=QQ=QQ=QQ=QQ=QQ=QQ=Q
12 2Max, 13 3Max, Ml IMax, M2 2Max, M3 3Max, Rl IMax, R2 2Max, R3 3Max,
θ SI= θ 1MaX,θ S2= θ 2MaX,θ S3= θ 3MaJ ;其中,θ 61> θ 62 > θ 63 均為[ ,180° ]之間的某一定值;
Θ 1Max> Θ 2Max> 93^分別為各手指第一指節、第二指節、第三指節的最大彎曲角度。對握手勢PGrab是拇指與其它四指相扣形成的手勢,其描述為初始狀態為指點手勢Pnt,拇指轉換到狀態St3,中指、無名指和小指伸直與食指併攏,然後拇指與其餘四指並彳丁相對運動,食指、中指、無名指和小指並彳丁冋步向內做彎曲運動,冋時姆指向內做彎曲運動,直到姆指指尖和中指指尖相接觸為止。對握手勢PGrab的終止狀態參數描述為PGrab- { θ Τ13- Θ 71,θ Τ23- Θ 72,θ Τ33- Θ 73,θ η- Θ 74,θ Ι2- Θ 75,θ Ι3- Θ 76,θ Μ1- Θ 74,θ Μ2- Θ 75
9 M3- 9 76,9 El- 9 74,^ E2_ ^ 75,^ E3_ ^ 76,^ SI- ^ 74,^ S2_ ^ 75,^ S3- ^ 76^ ;其中,日 71、日 72、^ 73、
Θ 74、Θ 75、Θ 76均為
之間的某一定值;抓握手勢Grasp是五指均勻散開並同時向內做彎曲運動的手勢,其描述為初始狀態為指點手勢Pnt,拇指轉換到狀態St3,其餘四指伸直與手掌共面並側向張開,然後拇指與其餘四指並彳丁向內做彎曲運動,直到姆指與中指和無名指指尖接觸為止。抓握手勢Grasp的終止狀態參數描述為Grasp={
n3 u 81, u T23 82, T33 83, IS SMax Il 84,G I2~ G 85,G Ι3- θ 86 ; θ Μ1- Θ 87,θ Μ2- Θ 88,θ Μ3- Θ 89 ; Θ RS-- ^ SMax,^ El- ^ 90,^ E2_ ^ 91,
^ E3= ^ 92 ; ^ SS=_ ^ SMax ^ Sl= ^ 93 ^ S2= ^ 94 ^ S3= ^ 95^ ° 上述角度等式中右側均為某常數值。其中,9 81、9 82、9 83、9 84、^ 85、^ 86、^ 87、^ 88、^ 89、^ 9(1、^ 91、^ 92、^ 93、^ 94、^ 95
均為
之間的某一定值;0_!£是食指在MajorH-MinorH平面的側向移動的最大角度;_ θ SMax是無名指和小指在MajorH-MinorH平面的側向移動的最大角度。(2)設計虛擬手的手勢選擇方法,具體操作步驟為步驟一、用零件特徵自身的端面作為分割平面,構造零件的二叉空間分割樹,用符號BSPTree表示。通過該零件的二叉空間分割樹BSPTree,將零件及零件外圍空間分割成若干特徵子空間。所述特徵是一些特定的三維幾何形狀,是組成零件對象的基本單位。所述特定的三維幾何形狀包括長方體、圓柱體或圓柱體的一部分、孔、槽、球體或球體的一部分、圓錐體或圓錐體的一部分。為每個特徵定義笛卡爾局部坐標系將每個特徵的幾何中心點定義為該特徵的局部坐標系的原點;每個特徵的中心軸線均作為該特徵的笛卡爾局部坐標系的坐標軸,以及描述其三維空間佔有的尺寸數據等參數,同時它有由表面面片所構成的視覺表不。步驟二、針對步驟一得到的每個特徵子空間,構造該特徵子空間所包含的特徵的一個空間分割,該分割集用符號FeaSpaceClass表示,FeaSpaceClass= (C1, C2,…,Cj ;其中,C1, C2,…,Cn分別表不該特徵被分割成的η個特徵子區域。
所述構造某一特徵子空間包含的特徵的一個空間分割FeaSpaceClass的具體方法為步驟2. I :獲取該特徵子空間所包含的特徵的端面數量如果所述特徵為長方體,其端面有6個;如果是圓柱體,其端面有2個;如果是圓柱體經縱向剖分,則其端面有3個;如果球體,其端面數為O個;如果是球體的一部分,其端面有I個;如果圓錐體,其端面有I個;如果圓錐體的一部分,其端面有2個。步驟2. 2 :將步驟2. I得到的所述特徵的端面加以區分,分為開放端面和封閉端面,獲得開放端面的數量。所述開放端面是指該特徵端面也是整個零件的邊界表面;所述封閉端面是指該特徵端面與該零件的另一個特徵的端面共面,即是另一個特徵端面的一部分而非零件的邊界表面。每個特徵的開放端面的數量用Num_0penFC表示。步驟2. 3 :依次對每個開放端面做如下操作將穿過開放端面的軸線與該開放端面的交點作為起點,用符號Of表示,沿軸線向零件內部方向取σ長度,做一與所述開放端面平行的截面,將該截面與所述開放端面之間的部分作為特徵端面子區域Cpl < j ^ Num_OpenFC, Num_0penFC=n-l, σ 是一人為設定值,0〈σ < 50mm。步驟2. 4 :將剩餘部分作為特徵中心子區域Cn。經過上述步驟的操作,即完成對該特徵子空間所包含的特徵的一個空間分割FeaSpaceClass 的構造。步驟三、用戶通過簡單三維輸入設備對虛擬手進行位姿操控,使其接近目標零件,並使虛擬手的方向為非背對目標零件的某一朝向,此時虛擬手為指點手勢。然後,確定虛擬手的食指指尖O14所處的特徵子空間,將該特徵子空間包含的特徵確定為當前待抓握的特徵。步驟四、設計一組用於判斷虛擬手的抓握位置的指標,並根據該組指標的具體取值綜合判斷虛擬手的抓握位置;具體為步驟4. I :設計指標①至指標④,分別用符號Metric1至Metric4表示。每個指標的取值將是特徵子區域集合FeaSpaceClass中的某個特徵子區域Ci或者為空。指標①是虛擬手的原點與特徵的距離指標,用符號Metric1表示;獲取距離Metric1的取值方法為從虛擬手局部坐標系原點Oh做垂直於特徵主軸的一個平面,交主軸上一點,用符號O』H表示,當點Oh與點O』H之間的距離小於某一人為預先設定閾值時,確定點O』H所在特徵子區域Ci, I < i < η,即Ci e FeaSpaceClass,則指標Metric1=Ci,否則為空。指標②是虛擬手的食指指尖與特徵表面距離指標,用符號Metric2表示;獲取距離Metric2的取值方法為過食指指尖O14做垂直於特徵主軸的平面,該平面與特徵表面相交,求交線上與O14點距離最近點,用符號O' Itip表示,當點O14與點O』 Itip之間的距離小於某一人為預先設定閾值時,確定點O』 Itip所在特徵子區域Ci,則指標Metric2=Ci,否則為空。指標③是虛擬手的食指光線投射指標,用符號Metric3表示。獲取食指光線投射指標Metric3的取值方法為沿從食指指根O11到指尖O14的矢量方向投射一條光線穿越特徵近表面的一點,用符號P表示,確定點P所在特徵子區域Ci,則指標Metric3=Ci,否則為空。指標④是虛擬手的Τ1ιθ3 Αχ 8Ι^ (即手心的朝向方向)與特徵的某一個軸線(用符號Axf表示)對齊的指標,用符號Metric4表示;獲取角度距離Metric4的取值方法為若I The3thAxisH · Axf |彡I- σ 3,σ 3是某一人為設定值,O ^ σ 3 < O. 5,被選擇特徵在Axf
1軸方向上有一端面FCp該端面的中心點(用符號O0表示)與虛擬手的原點間的距離(用符號d3表示)小於某個閾值,即4 = &/Χ σ4,確定點%所在特徵子區域Ci,則指標Metric4=Ci,否則為空。步驟4. 2 :為每個特徵子區域Ci定義一個權值變量,用Wi表示,Wi的初值均為O ;根據Metric1至Metric4的取值,改變特徵子區域Ci的權值變量Wi賦值。每當一個指標取值Ci,則將Wi值加I。步驟4. 3 :選取特徵子區域集合FeaSpaceClass中的權值變量Wi取值最大的特徵子區域Ci,將該特徵子區域作為虛擬手所要抓握的部位。若有多個特徵子區域的權值變量Wi取相同的最大值,則操作虛擬手使其位姿被進一步調整,直到有某個特徵子區域取得唯一的權值為止。步驟五、根據選取規則從虛擬環境基本手勢集GesSet中選擇一個手勢。所述選取規則具體為步驟5. I :根據零件的質量(用符號Wgtp表示)選擇手勢,具體為如果wgtP Swci, Wtl為以人為設定值,Okg < Wtl彡Ikg,則確定手勢類型為捏手勢2fNip、3fNip、4fNip、5fNip,然後執行步驟5.2 ;否則,則確定手勢類型為抓握手勢AGrab、PGrab、Grasp,然後執行步驟5. 3。步驟5. 2 :當 Okg < Wgtp ( W1Iig 時,選擇用 2fNip 手勢;當 W1Iig < wgtP ( w2kg 時,選擇用 3fNip 手勢;當 w2kg < Wgtp ( w3kg 時,選擇用 4fNip 手勢;當 w3kg < wgtP ( w4kg時,選擇用4fNip手勢;其中,W1 < w2〈w3〈w4〈w。。步驟5. 3 :當虛擬手所要抓握的特徵子區域為球體時,選擇抓握手勢Grasp ;否則,根據虛擬手所要抓握的特徵子區域的截面半徑(用符號r表示)選擇是抓握手勢AGrab或者PGrab,具體為當Omm < r ^ 15mm時,選擇用偏握手勢AGrab ;當15mm < r ^ 40mm時,選擇用對握手勢PGrab。有益效果本發明提出的一種虛擬手自動手勢選擇方法與已有技術相比較,具有以下優點①降低了人工操作的負荷,極大地提高了工作效率;②降低了計算複雜度,可以做到實時人機互動。


圖I為本發明具體實施例中8種虛擬手勢的示意圖;其中,(a)為Pnt手勢;(b)為2fNip手勢;(c)為3fNip手勢;Cd)為4fNip手勢;Ce)為5fNip手勢;(f)為AGrab手勢;(g)為PGrab手勢;(h)為Grasp手勢;圖2為本發明具體實施例中某一軸零件的特徵及特徵截面示意圖;其中,I-特徵A的截面FC1 ;2-特徵A ;3_特徵B的截面FC2 ;4~特徵B ;5_特徵C的截面FC3 ;6-特徵C ;7-特徵D的截面FC4 ;8-特徵D ;9_特徵E的截面FC5 ;10_特徵E ;11-特徵E的截面FC6;圖3為本發明具體實施例中虛擬手抓握軸零件特徵D的示意圖。
具體實施例方式下面結合附圖和實施示例對本發明做進一步說明。一種虛擬手自動手勢選擇方法,包括 (I)為虛擬手設計一套在生產中和生活中常用的基本手勢,形成虛擬環境基本手勢集,用符號GesSet表示。所謂的手勢是指參與抓握動作的手指組合和手的形態。GesSet= {Pnt, 2fNip, 3fNip, 4fNip, 5fNip, AGrab, PGrab, Grasp}。其中,Pnt 為指點手勢,指點手勢為手背朝上,食指伸直擺放,拇指張開與手掌在同一平面並與食指成正交,其餘三指指尖自然彎曲向下;2fNip代表用拇指和食指合作的捏手勢;3fNip代表拇指、食指和中指合作的捏手勢;4fNip代表用拇指與除小指外的其它四指合作構成的捏手勢;5fNip代表用拇指與其它四指合作構成的捏手勢;AGrab代表拇指所指方向垂直於其餘併攏彎曲的四指每個手指所在平面的抓握手勢,也稱為偏握手勢;PGrab代表拇指與其餘四指相扣,拇指所在平面平行於其它彎曲四指各手指所在平面的抓握手勢,也稱為對握手勢;Grasp代表五指均勻側向張開並向內彎曲的抓握手勢。設定指點手勢Pnt為初始手勢,任何抓握手勢都是從此手勢轉化而來。在4個捏手勢中(2fNip,3fNip, 4fNip, 5fNip),都是拇指指尖與其它參與捏手勢的手指指尖相對。定義相關參數定義虛擬手局部坐標系定義虛擬手的掌心一點為虛擬手局部坐標系原點,用Oh表示;定義穿過中心點Oh與指點手勢的食指所指方向同向的軸為虛擬手局部坐標系的主軸方向,用Major11表示;定義在手掌平面上與主軸正交的軸線且其與拇指指尖所指方向夾角為銳角的方向為虛擬手局部坐標系的副軸方向,用Minora表示;定義與MajorH_MinorH平面即手掌平面正交且從手背指向手心的的方向為第三軸方向,用The3thAxisH表示,此三個軸構成右手定則。定義拇指的3個關節點和指尖頂點,從根部到指尖順序分別是拇指第一關節點、拇指第二關節點,拇指第三關節點和拇指指尖頂點,分別用0T1、0T2、0T3、O14表示。On和Ot2之間的距離、Ot2和Ot3之間的距離、Ot3到Ot4的距離分別用1T1、1T2、It3表示。食指的3個關節點和指尖頂點,從根部到指尖順序分別是食指第一關節點、食指第二關節點、食指第三關節點和食指指尖頂點,分別用0η、012、013、O14表示。O11和O12之間的距離、O12和O13之間的距離、O13到O14的距離分別用ln、I12和I13表示。中指的3個關節點和中指指尖頂點,從根部到指尖順序分別是中指第一關節點、中指第二關節點,中指第三關節點和中指指尖頂點,分別用0M1、0M2、0M3、Om4表示。Omi和Om2之間的距離、Om2和Om3之間的距離、Om3到Om4的距離分別用1Μ1、1Ε> 1Μ3表示。無名指的3個關節點,從根部到指尖順序分別是無名指第一關節點、無名指第二關節點、無名指第三關節點和無名指指尖頂點,分別用0Κ1、0Ε2, 0Ε3> Oe4表示。Oei和Oe2之間的距離、Oe2和Oe3之間的距離、Oe3和Oe4之間的距離分別用1K1、1K2、Ie3表示。小指的3個關節點,從根部到指尖順序分別是小指第一關節點、小指第二關節點,小指第三關節點和小指指尖頂點,分別用Osi, Os2, Os3> Os4表示。Osi和Os2之間的距離、Os2和Os3之間的距離、Os3和Os4之間的距離分別用1S1、Is2> Is3表示。各手指的第一關節點到第二關節點的部分稱為第一指節,第二關節點到第三關節點的部分稱為第二指節,第三關節點到指尖頂點的部分稱為第三指節。定義5 個矢量 vecHT1、vecHI1、vecHM1、vecHE1> vecHS1 ;其中,vecHT1 表示原點 Oh 到拇指的第一關節點On的矢量,vecT1H=0n-0H ;vecHI1表示原點Oh到食指的第一關節點O11到的矢量,vecI1H=0n-0H -,Yecmi表示原點Oh到中指的第一關節點Om的矢量,vecM1H=0M「0H ;vecHE1表示原點Oh到無名指的第一關節點Oki的矢量,vecE1H=0E1-0H ;vecHS1表示原點Oh到小指的第一關節點 Osi 的矢量,vecslH=0sl-0H。定義拇指的3種狀態和2種狀態轉換方式。拇指的3種狀態分別用Sti、St2和St3表示;2種狀態轉換方式分別用Tn和Tt2表示。拇指的狀態Sn是拇指與食指併攏,拇指指尖所指方向與Major11軸方向相同;拇指的狀態St2是拇指與食指分開,拇指指尖指向與Minora軸方向一致;拇指的狀態St3是拇指與食指分開,拇指指尖指向與The3thAxisH軸方向相同。拇指的狀態轉換方式Tn是拇指在MajorH-MinorH平面的轉動,即拇指從狀態Sn向狀態St2轉換或從狀態St2向狀態Sn轉換的運動過程;拇指的狀態轉換方式Tt2是拇指在MinorH-The3thAxisH平面上的旋轉運動,即拇指從狀態St2向狀態St3轉換或從狀態St3向狀態St2轉換的運動過程。定義手指的運動方式定義拇指各指節的旋轉角度。拇指從狀態St2開始,在MajorH_MinorH平面的運動時,拇指的第一指節至第三指節的旋轉角度分別用θ Τ12、ΘΤ22和θ Τ32表示;拇指從狀態St3開始,在MinorH-The3thAxisH平面上運動時,拇指的第一指節至第三指節的旋轉角度分別
用 9 Τ13、θ Χ23 和 9 Τ33表示。定義除拇指外其它四指的運動方式。第一種運動方式是食指、無名指和小指在MajorH-MinorH平面內的側向移動,中指在MajorH_MinorH平面上沒有側向運動;第二種運動方式是食指、中指、無名指和小指分別由伸直狀態朝向手心的彎曲運動。在第一種運動方式中,食指、無名指和小指在MajorH-MinorH平面的側向移動角度分別用Θ IS、θ κ和Θ ss表示。在第二種運動方式中,食指的第一指節至第三指節的旋轉角度分別用ΘΙ2和O13表示;中指的第一指節至第三指節的旋轉角度分別用0M1、012和0IB表示;無名指的第一指節至第三指節的旋轉角度分別用θ Κ1、9 Κ2和Θ R3表示;小指的第一指節至第三指節的旋轉角度分別用0S1、0S2和0S3表示。在上述參數定義的基礎上,使用定義的參數對虛擬環境基本手勢集GesSet中的8種手勢進行描述。指點手勢Pnt如圖I (a)所示,為手背朝上,食指伸直擺放,拇指自然伸展,處於狀態ST2,其餘三指指尖自然彎曲向下;因此指點手勢Pnt的參數描述為Pnt= Ivec1114=MajorH,
θ El= θ 4,θ R2= θ 5,θ R3= θ 6,θ SI= θ 4,θ S2= θ 5,θ S3= θ 61 ;其中,VeCm4 表不從食指的第一關
節點O11到拇指指尖O14的矢量;θ η、Θ 12、Θ 13、Θ 4、Θ 5、Θ 6均為
之間的某一定值。拇指和食指合作的捏手勢2fNip如圖I (b)所示,其運動過程描述為初始狀態為指點手勢Pnt,姆指從狀態St2轉換到狀態St3,然後姆指和食指相對運動直到指尖中心接觸為止。捏手勢2fNip的終止狀態參數描述為2fNip= {norm((Oi1-Oti) X (Ot2-Oti) ) =norm(
(O12-0T1) X (0Τ2—0Τ1) ),θ Τ13— θ 21 9 Τ23~ 9 22,9 Τ33— ^ 23,^ Il- ^ 24,^ Ι2~ ^ 25,^ Ι3— ^ 26^ ;其中,
norm( ·)中的各參數為矢量,norm( ·)表示取該矢量的方向;Θ 21、Θ 22、Θ 23、Θ 24、Θ 25、Θ 26均為
之間的某一定值。
拇指、食指和中指合作的捏手勢3fNip如圖1(c)所示,其運動過程描述為初始狀態為指點手勢Pnt,姆指從狀態St2轉換到狀態St3,然後食指和中指與姆指相對運動直到指尖中部接觸為止。捏手勢3fNip的終止狀態參數描述為3fNip= {norm((0n+0M1-20T1) X (0T2—0Τ1)) —norm ((0Ι2+0Μ2—20Τ1) X (0Τ2—0Τ1)),θ Τ13- θ 31,θ Τ23- θ 32,θ Τ33- θ 33,θ η- θ 3 4,θ Ι2- θ 35,
9 Ι3_ 9 36,9 Ml- 9 37,^ M2- ^ 38 ^ M3- ^ 39^ ;其中,^ 31、^ 32、^ 33、^ 34、^ 35、^ 36、^ 37、^ 38、^ 39
均為
之間的某一定值。拇指與除小指外的其它四指合作構成的捏手勢4fNip如圖I (d)所示,其運動過程描述為初始狀態為指點手勢Pnt,拇指從狀態St2轉換到狀態St3,然後拇指與食指、中指以及無名指相對運動直到指尖中部接觸為止。捏手勢4fNip的終止狀態參數描述為4fNip
_ {ηΟ Π ((〇μι 〇τι) X (0^2 〇τι) ) _ΠΟ!ΓΠ1 ( (0j^2X (0j2 〇τι) ),,Q 丁13_ ^ 41 ^ T23_ ^ 42,^ T33_ ^ 43,
Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)
Il一 44, 12一 45, 13一 46, Ml一 47, M2一 48, M3一 49, Rl一 50, R2一 51, R3一 52了 ;
其中,θ 41、θ 42、θ 43、θ 44、θ 45、θ 46、θ 47、θ 48、θ 49、θ 5。、θ 51、θ 52 均為
之間的
某一定值。拇指與其它四指合作構成的捏手勢5fNip如圖I (e)所示,其運動過程描述為初始狀態為指點手勢Pnt,拇指從狀態St2轉換到狀態ST3,然後拇指與食指、中指、無名指以及小指相對運動直到指尖中部接觸為止。捏手勢5fNip的終止狀態參數描述為5fNip={norm ((0M1+0E1-20T1) X (O12-O11)) =norm ((0M2+0E2-20T1) X (O12-O11)),,θ T13= θ 53, θ T23= Θ 54,
fl — ΩQ _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)Γ) _ Γ)
T33一 55,U Il一 U 56, U 12一 U 57, 13一 58, Ml一 59, M2一 60, M3一 61> Rl一 62, R2一 63,9 Ε3_ 9 64 G S1- θ 65,θ S2_ ^ 66 ^ S3- ^ 67^ ;其中,^ 53、θ 54、θ 55> θ 56、θ 5γ、θ 5g> θ 5g、θ 6(|>θ 61 > θ 62、θ 63、θ 64、θ65、θ 66、θ67 均為
之間的某一定值。拇指與其餘併攏彎曲的四指各手指所在平面垂直的抓握手勢AGrab如圖I (f )所示,其運動過程描述為初始狀態為指點手勢Pnt,拇指運動到狀態St2,其餘四指伸直,然後食指、中指、無名指和小指並行同步彎曲至最大角度。抓握手勢AGrab的終止狀態參數描述
為:AGrab-{ θ Τ12- Θ 68,θ Τ22- θ 69,θ Τ32- θ 70, θ η- θ 1Max, θ Ι2- θ 2Max, θ Ι3- θ 3Max, θ Μ1- θ 1Max,
θ , r0 — θ 0, r ,θ , r0— θ r,, r ,—,θ DO — θ r ,θ D。一 θ r,, r ,一^ O O 一 ^ r ,θ一 θ r,, r ^ ·
M2 2Max M3 3Max, Rl IMax9 R2 2Max R3 3Max, SI IMax9 S2 2Max9 S3 3Max」,
其中,θ 68> θ 69> θ 70均為
之間的某一定值;Θ 1Max、Θ 2Max、Θ 3Max分別為各手指第一指節、第二指節、第三指節的最大彎曲角度。拇指與其它四指相扣形成的抓握手勢PGrab如圖I (g)所示,其運動過程描述為初始狀態為指點手勢Pnt,拇指轉換到狀態St3,其餘四指伸直,然後拇指與其餘四指相對運動,食指、中指、無名指和小指並彳丁冋步彎曲運動。抓握手勢PGrab的終止狀態參數描述為PGrab- { θ Τ13- Θ 71,θ Τ23- Θ 72,θ Τ33- Θ 73,θ η- Θ 74,θ Ι2- Θ 75,θ Ι3- Θ 76,θ Μ1- Θ 74,θ Μ2- Θ 75,
Q M3- Q 76,Q El- Q 74,^ E2_ ^ 75,^ E3_ ^ 76,^ SI- ^ 74,^ S2_ ^ 75,^ S3- ^ 76^ ;其中,^ 71、Θ 72、Θ 73、
Θ 74、Θ 75、Θ 76均為
之間的某一定值;五指均勻散開並向內彎曲的抓握手勢Grasp如圖I (h)所示,其運動過程描述為初始狀態為指點手勢Pnt,拇指轉換到狀態St3,其餘四指伸直與手掌共面並側向張開,然後姆指與其餘四指並彳丁向內彎曲做相對運動,直到姆指與中指和無名指指尖接觸為止。抓握手勢 Grasp 的終止狀態參數描述為Grasp={ θ Τ13= Θ 77,θ Τ23= θ 78,θ Τ33= θ 79 ; θ IS= θ SMax
Q Il_ Q 80, Q Ι2_ Q 81 Q Ι3_ ^ 82 ; ^ Ml_ ^ 80, ^ Μ2_ ^ 81 ^ Μ3_ ^ 82 ; ^ RS__ ^ SMaxj ^ El- ^ 80
Q Ε2= Q 81,Q R3= 9 82 ; 9 SS=_ ^ SMax^ ^ SI= ^ 8。,^ S2= ^ 81,^ S3= ^ 82^ 上述角度等式中右側均為某常數值。其中,Θ 77、Θ 78、Θ 79、Θ 80> Θ 81、Θ 82均為
之間的某一定值;Θ SMax是食指在MajorH-MinorH平面的側向移動的最大角度;_ Θ SMax是無名指和小指在MajorH_MinorH平面的側向移動的最大角度。 (2)圖2中是一個軸零件,包括特徵A (2)、特徵B (4)、特徵C (6)、特徵D (8) 和特徵E (10)。 虛擬手抓握一個軸零件(如圖2所示)的手勢選擇過程如下步驟一、用零件特徵自身的端面作為分割平面,構造零件的二叉空間分割樹BSPTree0首先選擇特徵C (6)的截面FC3 (5)作為第一層分割平面,分割空間成左右兩個部分。特徵A (2)、特徵B (4)將被包含在左子樹所代表的子空間內,特徵C (6)、特徵D (8)和特徵E (10)將被包含在右子樹所代表的子空間內。取特徵B (4)的截面FC2 (3)和特徵D (8)的截面FC4 (7)作為第二層分割平面分別對左右兩個子空間繼續分割,其中特徵A
(2)和特徵B (4)分別落在其中的一個子空間內,同樣,特徵C (6)也落在其中一個子空間內,但特徵D (8)和特徵E (10)仍然在一個子空間內。取特徵E (10)的截面FC5 (9)繼續分割D (8)和特徵E (10)所在的子空間為左右兩個子空間,這樣,D (8)和特徵E (10)將分別被一個子空間所包含。如上將零件及零件外圍空間分割成5個特徵子空間,每個特徵子空間中僅包含一個特徵。步驟二、針對步驟一得到的每個特徵子空間,構造該特徵子空間所包含的特徵的一個空間分割FeaSpaceClass。以特徵A (2)為例,構造它的一個空間分割FeaSpaceClass的具體方法為步驟2. I :獲取該特徵子空間所包含的特徵的端面數量特徵A (2)有2個端面。步驟2. 2 :將步驟2. I得到的所述特徵的端面進行區分,特徵A (2)有I個開放端面截面FCi (I)和I個封閉端面。步驟2. 3 :依次對每個開放端面做如下操作將穿過開放端面的軸線與該開放端面的交點作為起點,用符號Of表示,沿軸線向零件內部方向,取20mm,該端點用符號Os表示,經過Os點做一與所述開放端面平行的截面,將該截面與所述開放端面之間的部分作為特徵子區域C1。步驟2. 4 :將剩餘部分作為特徵子區域C2。經過上述步驟的操作,即完成對特徵A (2)的一個空間分割FeaSpaceClass的構造。採用同樣方法,特徵B (4)、特徵C (6)、特徵D (8)均只構造出I個特徵子區域,特徵E (10)構造出2個特徵子區域。步驟三、用戶通過簡單三維輸入設備對虛擬手進行位姿操控,使其接近目標零件,並使虛擬手的方向為非背對目標零件的某一朝向,此時虛擬手為指點手勢。然後,繼續移動虛擬手使食指指尖O14處於包含特徵D (8)的特徵子空間,於是將特徵D (8)確定為當前待抓握的特徵。步驟四、設計一組用於判斷虛擬手的抓握位置的指標,並根據該組指標的具體取值綜合判斷虛擬手的抓握位置;具體為步驟4. I :設計指標①至指標④,分別用符號Metric1至Metric4表示。每個指標的取值將是特徵子區域集合FeaSpaceClass中的某個特徵子區域Ci或者為空。指標①是虛擬手的原點與特徵的距離指標,用符號Metric1表示;獲取距離Metric1的取值方法為從虛擬手局部坐標系原點Oh做垂直於特徵主軸的一個平面,交主軸上一點,用符號0』H表示,當點Oh與點O』H之間的距離小於某一人為預先設定閾值時,確定點O』H所在特徵子區域為C1,指標Metric1=Cp指標②是虛擬手的食指指尖與特徵表面距離指標,用符號Metric2表示;獲取距離Metric2的取值方法為過食指指尖O14做垂直於特徵主軸的平面,該平面與特徵表面相交,求交線上與O14點距離最近點,用符號O』 Itip表示,當點O14與點O』 Itip之間的距離小於某一人為預先設定閾值時,確定點O』 Itip所在特徵子區域為C1,指標Metric2=Cp指標③是虛擬手的食指光線投射指標,用符號Metric3表示。獲取食指光線投射指標Metric3的取值方法為沿從食指指根O11到指尖O14的矢量方向投射一條光線穿越特徵近表面的一點,用符號P表示,確定點P所在特徵子區域為C1,指標Metric3=C1O指標④是虛擬手的The3thAxisH軸(即手心的朝向方向)與特徵的某一個中心軸線(用符號Axf表示)對齊的指標,用符號Metric4表示;獲取角度距離Metric4的取值方法為若|The3thAXisH*AXF| ^l-O3, σ 3是某一人為設定值,O彡σ 3 w0, W0=Ikg,因此確定手勢類型為抓握手勢AGrab、PGrab> Grasp,然後執行步驟 5. 3。步驟5. 3 :根據虛擬手所要抓握的特徵子區域的截面半徑r=30mm選擇用對握手勢PGrab。經過上述步驟的操作,即完成虛擬手的手勢選擇。以上所述的具體描述,對發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施例,用於解釋本發明,並不用於限定本發明的保護範圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種虛擬手自動手勢選擇方法,其特徵在於其包括 (1)為虛擬手設計一套在生產中和生活中常用的基本手勢,形成虛擬環境基本手勢集,用符號GesSet表示;所謂的手勢是指參與抓握動作的手指組合和手指形態;GesSet= {Pnt, 2fNip, 3fNip, 4fNip, 5fNip, AGrab, PGrab, Grasp};其中,Pnt 為指點手勢,指點手勢為手背朝上,食指伸直擺放,拇指與手掌在同一平面並張開與食指成直角擺放其餘三指指尖自然彎曲向下;2fNip代表用拇指和食指合作的捏手勢;3fNip代表拇指、食指和中指合作的捏手勢;4fNip代表用拇指與除小指外的其它四指合作構成的捏手勢;5fNip代表用拇指與其它四指合作構成的捏手勢;AGrab代表除拇指外其餘併攏彎曲的四指所構成的抓握手勢,拇指所指方向垂直於其餘手指所在的每個平面,也稱為偏握手勢;PGrab代表拇指與其餘併攏的四指相對,拇指所在平面平行於其它彎曲四指各手指所在平面的抓握手勢,也稱為對握手勢;Grasp代表五指均勻側向張開然後彎曲握緊的抓握手勢;設定指點手勢Pnt為初始手勢,任何抓握手勢都是從此手勢轉化而來;在4個捏手勢中2fNip, 3fNip, 4fNip,5fNip,都是拇指指尖與其它參與捏手勢的部分手指指尖相對; (2)設計虛擬手的手勢選擇方法,具體操作步驟為 步驟一、用零件特徵自身的端面作為分割平面,構造零件的二叉空間分割樹,用符號BSPTree表示;通過該零件的二叉空間分割樹BSPTree,將零件及零件外圍空間分割成若干特徵子空間; 所述特徵是一些特定的三維幾何形狀,是組成零件對象的基本單位;所述特定的三維幾何形狀包括長方體、圓柱體或圓柱體的一部分、孔、槽、球體或球體的一部分、圓錐體或圓錐體的一部分;為每個特徵定義笛卡爾局部坐標系將每個特徵的幾何中心點定義為該特徵的局部坐標系的原點;每個特徵的中心軸線均作為該特徵的笛卡爾局部坐標系的坐標軸,以及描述其三維空間佔有的尺寸數據等參數,同時它有由表面面片所構成的視覺表示; 步驟二、針對步驟一得到的每個特徵子空間,構造該特徵子空間所包含的特徵的一個空間分割,該分割集用符號FeaSpaceClass表示,FeaSpaceClass= (C1, C2,…,Cj ;其中,C1, C2,…,Cn分別表不該特徵被分割成的η個特徵子區域; 步驟三、用戶通過簡單三維輸入設備對虛擬手進行位姿操控,使其接近目標零件,並使虛擬手的方向為非背對目標零件的某一朝向,此時虛擬手為指點手勢;然後,確定虛擬手的食指指尖O14所處的特徵子空間,將該特徵子空間包含的特徵確定為當前待抓握的特徵; 步驟四、設計一組用於判斷虛擬手的抓握位置的指標,並根據該組指標的具體取值綜合判斷虛擬手的抓握位置;具體為 步驟4. I :設計指標①至指標④,分別用符號Metric1至Metric4表示;每個指標的取值將是特徵子區域集合FeaSpaceClass中的某個特徵子區域Ci或者為空; 指標①是虛擬手的原點與特徵的距離指標,用符號Metric1表示;獲取距離Metric1的取值方法為從虛擬手局部坐標系原點Oh做垂直於特徵主軸的一個平面,交主軸上一點,用符號O' H表示,當點Oh與點O' H之間的距離小於某一人為預先設定閾值時,確定點O' η所在特徵子區域Ci, I < i 1_σ3,σ3是某一人為設定值,O < σ 3 < O. 5,被選擇特徵在Axf軸方向上有一端面FCp該端面的中心點Ofj-與虛擬手的原點間的距尚d3小於某個闡值,即d3 = dist (Ofj-,0H) ^ σ 4,確定點Ofj所在特徵子區域Ci,則指標Metric4=Ci,否則為空; 步驟4. 2 :為每個特徵子區域Ci定義一個權值變量,用Wi表示,Wi的初值均為O ;根據Metric1至Metric4的取值,改變特徵子區域Ci的權值變量Wi賦值;每當一個指標取值Ci,則將Wi值加I ; 步驟4. 3 :選取特徵子區域集合FeaSpaceClass中的權值變量Wi取值最大的特徵子區域Ci,將該特徵子區域作為虛擬手所要抓握的部位;若有多個特徵子區域的權值變量Wi取相同的最大值,則操作虛擬手使其位姿被進一步調整,直到有某個特徵子區域取得唯一的權值為止; 步驟五、根據選取規則從虛擬環境基本手勢集GesSet中選擇一個手勢; 所述選取規則具體為 步驟5. I :根據零件的質量Wgtp選擇手勢,具體為 如果Wgtp ( W07W0為以人為設定值,Okg < W0 ^ Ikg,則確定手勢類型為捏手勢2fNip、3fNip、4fNip、5fNip,然後執行步驟5. 2 ;否則,則確定手勢類型為抓握手勢AGrab、PGrab,Grasp,然後執行步驟5.3 ;步驟 5. 2 :當 Okg < Wgtp ( W1Iig 時,選擇用 2fNip 手勢;當 W1Iig < wgtP ( w2kg 時,選擇用 3fNip 手勢;當 w2kg < Wgtp ( w3kg 時,選擇用 4fNip 手勢;當 w3kg < wgtP ( w4kg 時,選擇用 4fNip 手勢;其中,W1 < w2〈w3〈w4〈w。; 步驟5. 3 :當虛擬手所要抓握的特徵子區域為球體時,選擇抓握手勢Grasp ;否則,根據虛擬手所要抓握的特徵子區域的截面半徑r選擇是抓握手勢AGrab或者PGrab,具體為 當Omm < r ^ 15mm時,選擇用偏握手勢AGrab ;當15mm < r ^ 40mm時,選擇用對握手勢 PGrab。
2.如權利要求I所述的一種虛擬手自動手勢選擇方法,其特徵在於所述虛擬環境基本手勢集GesSet中的8種手勢的相關參數定乂為 定義虛擬手局部坐標系定義虛擬手的掌心某一點為虛擬手局部坐標系原點,用OH表示;定義穿過坐標原點且與指點手勢的食指矢量同方向的軸為虛擬手局部坐標系的主軸,用Major11表示;定義在手掌平面上穿過坐標原點與主軸正交的軸線且與拇指指尖所指方向成銳角的方向為虛擬手局部坐標系的副軸方向,用Minor11表示;定義穿過坐標原 點與MajorH-MinorH平面即手掌平面正交且從手背指向手心的的方向為第三軸方向,用The3thAxisH表示,此三個軸構成右手定則; 定義手指的3個關節點和指尖頂點;對於拇指,從根部到指尖順序分別是拇指第一關節點、拇指第二關節點,拇指第三關節點和拇指指尖頂點,分別用On、Ot2、Ot3、Ot4表示;0T1和Ot2之間的距離、Ot2和Ot3之間的距離、Ot3和Ot4之間的距離分別用1T1、1T2、I13表示;食指的3個關節點和指尖頂點,從根部到指尖順序分別是食指第一關節點、食指第二關節點、食指第三關節點和食指指尖頂點,分別用O11、O12、O13、O14表示;0η和O12之間的距離、O12和O13之間的距離、O13和O14之間的距離分別用I11U12和I13表示;中指的3個關節點和中指指尖頂點,從根部到指尖順序分別是中指第一關節點、中指第二關節點,中指第三關節點和中指指尖頂點,分別用0M1, Om2, Om3、Om4表示;0Μ1和Om2之間的距離、Om2和Om3之間的距離、Om3和Om4之間的距離分別用1Μ1、1 2、1Μ3表示;無名指的3個關節點,從根部到指尖順序分別是無名指第一關節點、無名指第二關節點、無名指第三關節點和無名指指尖頂點,分別用Oki、0E2、Oe3>Oe4表示;0Ε1和Oe2之間的距離、Oe2和Oe3之間的距離、Oe3和Oe4之間的距離分別用1K1、Ik2、Ie3表示;小指的3個關節點,從根部到指尖順序分別是小指第一關節點、小指第二關節點,小指第三關節點和小指指尖頂點,分別用Osi, 0S2, 0S3、Os4表示;0S1和Os2之間的距離、Os2和Os3之間的距離、Os3和Os4之間的距離分別用1S1、Is2, Is3表示;各手指的第一關節點到第二關節點的部分稱為第一指節,第二關節點到第三關節點的部分稱為第二指節,第三關節點到指尖頂點的部分稱為第三指節; 定乂 5個矢裡V eCjjTi、V eCjjii、V 。麗丄、V 。服丄、V ec^g^ ;其中,V θ 表原點Oh到梅 日的一關節點Oti的矢量,vecHT1 = Oti-Oh ;vecHI1表示原點Oh到食指的第一關節點O11到的矢量,Vgchii = O11-Oa ;vecHM1 表示原點 Oh 到中指的第一關節點 Omi 的矢量,vecHM1 = Omi-Oh ;vecHE1表示原點Oh到無名指的第一關節點Oki的矢量,vecHE1 = Oei-Oh ;vecHS1表示原點Oh到小指的第一關節點Osi的矢量,vecHS1 = Osi-Oh ; 定義拇指的3種狀態和2種狀態轉換方式;拇指的3種狀態分別用Sn、St2和St3表示;2種狀態轉換方式分別用Tn和Tt2表示;拇指的狀態Sn是拇指與食指併攏,拇指指尖所 指方向與Major11軸方向相同;拇指的狀態St2是拇指與食指分開,拇指指尖指向與Minor11軸方向相同;拇指的狀態St3是拇指與食指分開,拇指指尖指向與方向相同;拇指的狀態轉換方式Tn是拇指在MajorH-MinorH平面的轉動,即拇指從狀態Sn向狀態St2轉換或從狀態St2向狀態Sn轉換的運動過程;拇指的狀態轉換方式Tt2是拇指在MinorH-The3thAxisH平面上的旋轉運動,即拇指從狀態St2向狀態St3轉換或從狀態St3向狀態St2轉換的運動過程; 定義手指的運動方式 定義拇指各指節的旋轉角度;拇指從狀態St2開始,拇指的第一指節至第三指節的旋轉角度分別用θ Τ12、θ Τ22和θ Τ32表示;拇指從狀態St3開始,拇指的第一指節至第三指節的旋轉角度分別用0 Τ13、θ Τ23和θ Τ33表示; 定義除拇指外其它四指的運動方式;第一種運動方式是食指、無名指和小指在MajorH-MinorH平面內的側向移動,中指在MajorH_MinorH平面上沒有側向運動;第二種運動方式是食指、中指、無名指和小指分別由伸直狀態朝向手心的彎曲運動和其逆運動;在第一種運動方式中,食指、無名指和小指在MajorH-MinorH平面的側向移動角度分別用Θ IS、Θ ES和0SS表示;在第二種運動方式中,食指的第一指節至第三指節的旋轉角度分別用θη、ΘΙ2和ΘΙ3表示衝指的第一指節至第三指節的旋轉角度分別用ΘΜ1、θκ和ΘΜ3表示;無名指的第一指節至第三指節的旋轉角度分別用θ Κ1、θ Κ2和θ Κ3表示;小指的第一指節至第三指節的旋轉角度分別用9S1、0S2和0S3表示。
3.如權利要求2所述的一種虛擬手自動手勢選擇方法,其特徵在於所述虛擬環境基本手勢集GesSet中的8種手勢的參數描述為 指點手勢Pnt為手背朝上,食指伸直擺放,拇指自然伸展,處於狀態ST2,其餘三指指尖自然彎曲向下;因此指點手勢Pnt的參數描述為 Pnt=Ivec1114 = Majora, θ Τ12 = θ η, θ Τ22 = θ 12, θ Τ32 = θ 13, θ η = θ 14, θ Ι2 = θ 15,9 13 — 9 16, θ Μ1 — ^17, θ J12 — θ 18, θ Μ3 — θ 19, θ R1 — θ 17, θ R2 — θ 18, θ Ε3 — θ 19, θ S1=θ 17 0S2= θ 18 θ S3 = θ I9I ;其中,Vec1114表示從食指的第一關節點O11到拇指指尖O14的矢量;θ η、Θ 12、Θ 13、Θ 14、Θ 15、Θ 16、Θ 17、Θ 18、Θ 19 均為[O, 180° ]之間的某一定值;拇指和食指合作的捏手勢2fNip的描述為初始狀態為指點手勢Pnt,拇指從狀態Sk轉換到狀態St3,然後姆指和食指相對運動直到指尖中心接觸為止;捏手勢2fNip的終止狀態參數描述為2fNip= {norm((O11-O11) X (O12-O11)) = norm((O12-O11) X (O12-O11)), θ Τ13 =θ 21,θ Τ23 = θ 22, θ Τ33 = θ 23, θ η = θ 24,θ Ι2 = θ 25, θ Ι3 = θ 26};其中,norm( ·)中的各參數為矢量,norm( ·)表示取該矢量的方向;9 21、Θ 22、Θ 23、Θ 24、Θ 25、Θ 26均為[O, 180° ]之間的某一定值; 姆指、食指和中指合作的捏手勢3fNip的描述為初始狀態為指點手勢Pnt,姆指從狀態St2轉換到狀態St3,同時中指伸直與食指併攏,其它手指狀態不變;然後食指和中指與姆指做並彳丁相對運動,分別做向內彎曲直到姆指指尖與食指和中指指尖接觸為止;捏手勢 3fNip 的終止狀態參數描述為3fNip= {norm((0n+0M1-20T1) X (O12-On))=norm ( (0I2+0M2—20T1) X (0T2—0T1) ) , θ Τ13 — θ 21Τ23 — 22, Τ33 — 23,9 Il — 9 24,9 12 —9 25,9 13 — 9 26 9 Ml — ^ 34 ^ M2 — ^ 35 ^ M3 — ^ 36 ^ ;其中,日 21、θ 22> θ 23> θ 24、θ 25、θ 26>θ 34 > θ 35、θ 36均為
之間的某一定值; 拇指與除小指外的其它四指合作構成的捏手勢4fNip的描述為初始狀態為指點手勢Pnt,拇指從狀態St2轉換到狀態ST3,同時中指和無名指伸直與食指併攏,小指狀態不變;然後食指、中指和無名指與姆指做並彳丁相對運動,分別做向內彎曲直到姆指指尖與中指指尖接觸為止;捏手勢4fNip的終止狀態參數描述為4fNip= {norm((Omi-Oti) X (Ot2-Oti))=norm ( (Om2-Oti) X (0Τ2—0T2)),,θ τ 3 — 21T23 — 22T33 — 2311 — 2412 — 25,9 13 - 9 26,^ Ml — ^ 34 ^ M2 — ^ 35,^ M3 — ^ 36 ^ El — ^ 44 ^ E2 — ^ 45,^ E3 — ^ 46^ ;其中,Θ 21、Θ 22、Θ 23、Θ 24、Θ 25、Θ 26、Θ 24、Θ 35、Θ 36、Θ 44、Θ 45、Θ 46 均為
之間的某一定值; 拇指與其它四指合作構成的捏手勢5fNip的運動過程描述為初始狀態為指點手勢Pnt,姆指從狀態St2轉換到狀態St3 ,然後姆指與食指、中指、無名指以及小指並打相對運動,各手指冋步向內做彎曲運動,直到姆指指尖與其餘四指指尖接觸為止;捏手勢 5fNip 的終止狀態參數描述為5fNip= {norm ((0M1+0E1-20T1) X (Ot2-Oti))=norm ( (O1^Or2K)ti) X (0Τ2—0T1)), Θ T13 — Θ 21,Θ T23 — ^ 22T33 — 23,9 11 — 2412 —G 25,G I3 一 Θ 26 G M1 — Θ 34 Θ 12 一 ^ 35 ^ M3 一 ^ 36,^ El 一 ^ 44 ^ E2 一 ^ 45 ^ E3 一 ^ 46,9 SI — 9 54,Θ S2 — Q 55,^ S3 — ^ 56^ ;其中,^ 21、^ 22、^ 23、^ 24、^ 25、^ 26、^ 34、^ 35、^ 36、Θ 44、9 45、9 46、9 54、9 55、9 56 均為
之間的某一定值; 偏握手勢AGrab是拇指與其餘併攏彎曲的四指的每個手指所在平面垂直的手勢,其描述為初始狀態為指點手勢Pnt,姆指保持狀態St2不變,中指、無名指和小指冋時伸直並保持與食指並擾,然後食指、中指、無名指和小指並彳丁冋步向內彎曲至最大角度;抓握手勢AGrab 的終止狀態參數描述為=AGrab= { θ T12 = Θ 61,θ Τ22 = Θ 62,θ Τ32 = Θ 63,θ η = Θ 1Max,R = P)Ω —— QQ __ QQ __ QQ __ QQ __ QQ __.12 — 2ΜΑΧ, 13 — 3Max, Ml — IMax M2 — 2Max, M3 — 3Max, Rl — IMax R2 —.9 2Max,9 R3 — ^ 3Max,^ SI — ^ IMax,^ S2 — ^ 2Max,^ S3 — ^ 3Max^ ;其中,^ 61、^ 62、^ 63 均為[ο, 180° ]之間的某一定值;01Max、Θ 2Max> 03_分別為各手指第一指節、第二指節、第三指節的最大彎曲角度; 對握手勢PGrab是拇指與其它四指相扣形成的手勢,其描述為初始狀態為指點手勢Pnt,拇指轉換到狀態St3,中指、無名指和小指伸直與食指併攏,然後拇指與其餘四指並行相對運動,食指、中指、無名指和小指並打冋步向內做彎曲運動,冋時姆指向內做彎曲運動,直到姆指指尖和中指指尖相接觸為止;對握手勢PGrab的終止狀態參數描述為PGrab={ θ T13—G 71,G Τ23 — θ 72 G Τ33 — G 73,^ Il — ^ 74 ^ 12 — ^ 75 ^ 13 — ^ 76 ^ Ml — ^ 74 ^ M2 —.9 75,G M3 — Θ 76 ^ Rl — G 74, Θ R2 — θ 75,Θ R3 — θ 76, Θ S1 — θ 74, Θ S2 — θ 75,Θ S3 — Θ 76};其中,Θ 71、Θ 72、Θ 73、Θ 74、Θ 75、Θ 76 均為[O,180° ]之間的某一定值; 抓握手勢Grasp是五指均勻散開並同時向內做彎曲運動的手勢,其描述為初始狀態為指點手勢Pnt,拇指轉換到狀態St3,其餘四指伸直與手掌共面並側向張開,然後拇指與其餘四指並彳丁向內做彎曲運動,直到姆指與中指和無名指指尖接觸為止;抓握手勢Grasp的終止狀態參數描述為=Grasp= { θ T13 = Θ 81,θ Τ23 = Θ 82,θ Τ33 = θ 83 ; Θ IS = Θ SMax,θ n =Ο 84, Ο 12 — Ο 85, Ο 13 — ^ 86 ; ^ Ml — ^ 87 ^ M2 — ^ 88, ^ M3 — ^ 89 ; ^ ES — _ ^ SMax, ^ El —.9 90,9 R2 — 9 91,9 R3 — ^ 92 ; ^ SS — _ ^ SMax,^ SI — ^ 93,^ S2 — ^ 94,^ S3 — ^ 95^ ;上述角度等式中右側均為某常數值;其中,Θ 81、Θ Θ 83、Θ 84、Θ Θ 86、Θ 87、Θ %、Θ 89、Θ 9Q、Θ 91、Θ 92> Θ 93> θ 94> Θ 95均為[O,180° ]之間的某一定值;Θ SMm是食指在Maj0rH_Min0rH平面的側向移動的最大角度;-θ SMax是無名指和小指在MajorH-MinorH平面的側向移動的最大角度。
4.如權利要求I至3之一所述的一種虛擬手自動手勢選擇方法,其特徵在於所述構造某一特徵子空間包含的特徵的一個空間分割FeaSpaceClass的具體方法為 步驟2. I :獲取該特徵子空間所包含的特徵的端面數量如果所述特徵為長方體,其端面有6個;如果是圓柱體,其端面有2個;如果是圓柱體經縱向剖分,則其端面有3個;如果球體,其端面數為O個;如果是球體的一部分,其端面有I個;如果圓錐體,其端面有I個;如果圓錐體的一部分,其端面有2個; 步驟2. 2 :將步驟2. I得到的所述特徵的端面加以區分,分為開放端面和封閉端面,獲得開放端面的數量;所述開放端面是指該特徵端面也是整個零件的邊界表面;所述封閉端面是指該特徵端面與該零件的另一個特徵的端面共面,即是另一個特徵端面的一部分而非零件的邊界表面;每個特徵的開放端面的數量用Num_OpenFC表示; 步驟2. 3 :依次對每個開放端面做如下操作將穿過開放端面的軸線與該開放端面的交點作為起點,用符號Of表示,沿軸線向零件內部方向取σ長度,做一與所述開放端面平行的截面,將該截面與所述開放端面之間的部分作為特徵端面子區域Cpl < j ( Num_OpenFC, Num_0penFC=n-l, σ 是一人為設定值,0〈σ ^ 50mm ; 步驟2. 4 :將剩餘部分作為特徵中心子區域Cn ;經過上述步驟的操作,即完成對該特徵子空間所包含的特徵的一個空間分割FeaSpaceC lass 的構造。
全文摘要
本發明涉及一種虛擬手自動手勢選擇方法,屬於計算機應用領域。本發明包括(1)為虛擬手設計一套常用的基本手勢;(2)設計虛擬手的手勢選擇方法,具體為①用零件特徵自身的端面作為分割平面,構造零件的二叉空間分割樹BSPTree;根據BSPTree將零件及零件外圍空間分割成若干特徵子空間。②針對步驟①得到的每個特徵子空間,構造該特徵子空間所包含的特徵的一個空間分割FeaSpaceClass。③初步確定虛擬手的當前待抓握的零件特徵。④設計一組用於判斷虛擬手的抓握位置的指標,並根據該組指標的具體取值綜合判斷虛擬手的抓握位置。⑤根據選取規則選擇一個手勢。本發明方法的優點是降低了人工操作的負荷和計算複雜度,極大地提高了工作效率,可以做到實時人機互動。
文檔編號G06F3/01GK102929393SQ20121045061
公開日2013年2月13日 申請日期2012年11月12日 優先權日2012年10月11日
發明者程成 申請人:北京理工大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀