基于移動跟蹤的三維手勢識別方法
【專利摘要】本發明提供了一種基于移動跟蹤的三維手勢識別方法,它允許操作者移動手勢的同時保持機器人末端與移動手勢的位姿相對不變性。包括步驟:(1)建立跟蹤模型;(2)跟蹤模型求解;(3)驅動機器人。本發明使用了非接觸式的基于視覺人機接口,它可以獲取操作者手部的位置和姿態,實時驅動機器人來跟蹤識別操作者的移動手勢。
【專利說明】
基于移動跟蹤的H維手勢識別方法
技術領域
[0001] 本發明屬于機器人運動領域,特別設及一種基于移動跟蹤的=維手勢識別方法。
【背景技術】
[0002] 隨著各種機器人廣泛應用于諸多領域,目前的操控方式也由W往的人機界面、示 教器向著體感控制方向發展。現有的體感控制方式大多都是操作者在固定的傳感器面前利 用人手交互,運種交互方式不能直觀地把移動手勢映射到機器人運動軌跡之中,同時固定 的傳感器有著其固定的有效工作區域,對于操作者移動的手勢存在著超出傳感器有效工作 區域的不足。運篇發明提出了一種將傳感器固定在機器人末端從而跟蹤識別操作者的移動 =維手勢的方法,它允許操作者移動手勢的同時保持機器人末端與移動手勢的位姿相對不 變性。固定在末端的傳感器在采集操作者的移動手勢位置和姿態數據的同時,與末端一起 運動,好處是擴大了傳感器的實際有效工作區域,只要操作者的手移動范圍不超出機器人 末端的運動范圍,傳感器就能一直捕獲操作者的移動手勢的位置和姿態數據,解決了 W往 固定傳感器識別目標有可能超出有效工作區域的問題。
【發明內容】
[0003] 運個發明提出了一種允許機器人末端跟蹤識別操作者的移動=維手勢的方法。運 個方法使用了非接觸式的基于視覺人機接口,它可W獲取操作者手部的位置和姿態,實時 驅動機器人來跟蹤識別操作者的移動手勢。
[0004] 本發明基于移動跟蹤的=維手勢識別方法包括如下步驟:
[0005] Sl、建立跟蹤模型;
[0006] S2、跟蹤模型求解;
[0007] S3、驅動機器人。
[000引所述步驟Sl包括W下步驟:
[0009] 完成跟蹤識別操作員手勢任務時,通過固定在機器人末端的Leap Motion捕獲操 作員手部的位置和姿態。
[0010] Leap Motion有兩個紅外攝像頭。
[0011] 1)位置和姿態模型
[0012] 機器人基座、機器人關節、Leap Motion、人手坐標系均采用3個互相正交的軸來表 示(可參考圖1)。機器人基座坐標系XOy平面為水平方向;Z軸正方向為豎直向上。機器人關 節i坐標系中Zi-I軸位于按右手規則旋轉軸方向;Xi-I軸沿Zi-I與Zi公垂線方向。Leap Motion 坐標系中Zl軸為沿著Leap Motion短邊方向;Xl軸為沿著Leap Motion長邊方向;化軸正方向 為垂直Leap Motion平面向上。人手坐標系中Zh軸為四指方向,與Zl軸方向一致;抽軸為拇指 方向,與Xl軸方向一致;軸為垂直手背向上,與Yl方向一致。機器人采用Denavit- ^denberg(D-H)模型,Ai表示從坐標系i-巧Ij坐標系i的齊次坐標變換矩陣,則有:
[0013]
(I)
[0014] 其中目i表示在坐標變換時繞Zi-I旋轉的角度,使得Xi-I和Xi相互平行;ri表示在坐標 變換時沿Zi-I平移的距離,使得Xi-I和Xi共線;Ii表示在坐標變換時Xi-I平移的距離,使得Xi-I 和Xi的原點重合;a康示在坐標變換時Zi-I繞Xi旋轉的角度,使得Zi-I和Zi原點重合,方向一 致。
[0015] 對于一個具有六關節的機器人,從基座坐標系到Leap Motion坐標系的齊次變換 矩陣定乂為:
[0016]
閩
[0017] 其中為為Leap Motion的法向矢量,'卻為滑動矢量,為為接近矢量,.苗為位置矢量。 [001引特別地,因為Leap Motion固定在機器人末端,有:
[0019]
樹
[0020] 其中h為Leap Motion高度。
[0021] 定義為t時刻Leap Motion的位置和姿態為:
[0022] Xt=[Jl,t J2,t J3,t J4,t J5,t j6,t]T (4)
[0023] 其中Ji為機器人第i個關節角。
[0024] 利用(1),(2),(3),(4)有:
[0025] Tt = Xo 巧)
[0026] 通過求解(5)得到初始時刻機器人各個關節角度值。
[0027] 從Leap Motion坐標系到人手坐標系的齊次變換矩陣定義為:
[002引
樹
[00巧]其中1為人手與Leap Motion的距離。
[0030] 定義Zo為初始時刻人手的位置和姿態,有:
[0031] TtAs = Zo (7)
[0032] 定義t為t時刻Leap Motion的理想位置和姿態,即在笛卡爾狀態空間里Leap Motion和人手的相對位姿不變,有:
[0033] TyAs = X'tT (8)
[0034] 其中T為人手對于Leap Motion的位置和姿態矩陣,參數由Leap Motion捕獲,有:
[0035]
巧)
[0036] 通過求解(8),(9)得到公*。
[0037] 2)手勢跟蹤識別模型
[0038] 定義機器人各個關節角的最大角速度:
[0039] Vmax=[Vl V2 V3 V4 化 V6]T (10)
[0040] 為使機器人末端與人手的相對位姿不變,將問題轉化為求解如下二次規劃方程:
[0041 ]
(11)
[0042] 其中AT為t時刻與t-1時刻之間的采樣間隔。
[0043] 所述步驟S2包括W下步驟:
[0044] 對于上述二次規劃方程的求解,提出最優解和近似解兩種方案,可通過幾何學描 述,W二維情況舉例,主要考慮理論狀態在可行解區域外的情況,結論可W很自然推廣到6 維甚至n維空間,如圖2所示。
[0045] 最優解情況:
[0046] 根據二次規劃模型,可得最優解為:
[0047] Xi't=max(Xi't-i+AT. Vi'max,Xi't')i = l,2,...,6 (12)
[0048] 該解為二次規劃模型的最優解,實際狀態解在任意時刻都與最優解對應的理論狀 態最接近;最優解在語義上的理解是,從機器人當前的關節角狀態到目標關節角狀態的運 動過程中,對于每個關節角,如果能夠運動到最優解對應的目標值,則該關節角就運動到最 優解對應的目標值,否則,該關節角W最大的速度運動到能夠離最優解所對應的目標值最 近的值;運種解是將每個狀態分量分離出來,單獨考慮每個狀態分量的最優解;然而機器人 末端的位置和姿態是由6個關節角共同決定的,單獨求解可能會存在關節角空間的最優解 并不是機器人位置和姿態的最優解,且可能存在機器人運動的不平穩現象;為此,可通過求 近似解來解決運動平滑問題;
[0049] 近似解情況:
[0050] 對于上述最優解,由于速度不同,各個關節角的目標值不同,每個關節角的運動差 值比例在不斷的變化,因此,對于近似解方案,將移動式Leap Motion平臺的運動平穩定義 為各個關節角的運動速度比例時刻保存與各關節角的最大運動速度比例一樣,且時刻保持 相對運動狀態:因此,得近似解為: (13)
[0化1 ]
[0052]近似解為二次規劃模型的近似最優解,本質是讓機器人的運動方向沿著目標點運 動;近似解在語義上的理解是:從機器人當前的關節角狀態到目標關節角狀態的運動過程 中,若單獨考慮每個關節角,則關節角W最大的速度運動到目標關節角所需的時間為
t若大于A T,表示在A T時間內,該關節角無法運動到目標值,否則,該關 節角能夠運動到目標值,上述的最優解就是根據該關節角是否能夠運動到目標值,來確定 其運動量,然而運會導致某些關節角運動速度過快,某些關節角運動速度過慢,或者某個關 節角只運動很短時間就立馬停止,而某些關節角運動很長時間才停止,運與運動平穩定義 不符;近似解是將全部關節角綜合考慮,規定全部關節角相對運動狀態一樣,且運動過程各 關節角的運動速度比例與其對應最大運動速度比例一樣,運動方向為沿著目標點的方向, 則二次規劃模型的狀態可行解在的連線上,位置為:
[005;3] Xt-戍't/Xt-iXt=max(Ti't)/AT (14)
[0054] 所述步驟S3包括W下步驟:
[0055] 通過求解(5)得Xt后,機器人的六個關節運動角度值:
[0056] M=Xt-Xt-I=(目 1,目2,...,目6)t (15)
[0057] 已求解得到機器人每個關節所需運動的角度值,當全部關節運動完畢后機器人末 端就到達指定的位置。
[005引本發明相對于現有技術具有如下的優點及效果:
[0059] 本發明提出了一種允許機器人末端跟蹤識別操作者的移動=維手勢的方法。運種 基于視覺的接口允許操作者移動手勢控制機器人達到所需位姿。且算法提供的是近似解, 可應用于運動速度不同的機器人中而無需限制人手的運動速度。
【附圖說明】
[0060] 圖1是機器人、Leap Motion、人手坐標系示意圖;
[0061 ]圖2是二維空間下的二次規劃方程求解情況;
[0062] 圖3是具體實施例子結果軌跡圖;
[0063] 圖4是基于移動跟蹤的S維手勢識別方法流程圖。
【具體實施方式】
[0064] 下面結合實施例對本發明作進一步詳細的描述,但本發明的實施方式不限于此實 施例。
[0065] 本發明包括如下步驟:
[0066] Sl、建立跟蹤模型;
[0067] S2、跟蹤模型求解;
[0068] S3、驅動機器人。
[0069] 所述步驟Sl包括W下步驟:
[0070] 完成跟蹤識別操作員手勢任務時,通過固定在機器人末端的Leap Motion捕獲操 作員手部的位置和姿態。
[0071 ] Leap Motion有兩個紅外攝像頭。
[0072] 1)位置和姿態模型
[0073] 機器人基座、機器人關節、Leap Motion、人手坐標系均采用3個互相正交的軸來表 示。機器人基座坐標系XOy平面為水平方向;Z軸正方向為豎直向上。機器人關節i坐標系中 Zi-I軸位于按右手規則旋轉軸方向;Xi-I軸沿Zi-I與Zi公垂線方向。Leap Motion坐標系中Zl軸 為沿著Leap Motion短邊方向;壯軸為沿著Leap Motion長邊方向;化軸正方向為垂直Leap Motion平面向上。人手坐標系中Zh軸為四指方向,與Zl軸方向一致;抽軸為拇指方向,與Xl軸 方向一致;Yh軸為垂直手背向上,與化方向一致。機器人采用Denavit-^denberg(D-H)模 型,Al表示從坐標系i-巧Ij坐標系i的齊次坐標變換矩陣,則有:
[0074]
狂)
[0075] 其中目i表示在坐標變換時繞Zi-I旋轉的角度,使得Xi-I和Xi相互平行;ri表示在坐標 變換時沿Zi-I平移的距離,使得Xi-I和Xi共線;Ii表示在坐標變換時Xi-I平移的距離,使得Xi-I 和Xi的原點重合;a康示在坐標變換時Zi-I繞Xi旋轉的角度,使得Zi-I和Zi原點重合,方向一 致。
[0076] 在本次實例中對于一個具有六關節的機器人,D-H參數選用如下:
[0077] 0 = [0 0 0 0 0 0]T (2)
[007引 r=[250 0 0 650 0 -200]t (3)
[0079] I =「1加 570 1加 n n n]T (4)
[0080]
'間
[0081 ]特別地,因為Leap Motion固定在機器人末端,有: 「1 '0 0 〇1
[0082] 巧)
[0083] m高度,在本次實例中所使用的Leap Motion高度為10mm,有:
[0084] 仍
[00化]定義為t時刻Leap Motion的位置和姿態為:
[0086] Xt=[Jl,t J2,t J3,t J4,t J5,t j6,t]T (8)
[0087] 其中Ji為機器人第i個關節角。
[008引利用(1),(2),(3),(4)有:
[0089] Tt = Xo (9)
[0090] 在本次實例中,通過求解(5)得到初始時刻機器人各個關節角度值,
[0091]
(10》
[0092] 從Leap Motion坐標系到人手坐標系的齊次變換矩陣定義為:
[0093]
(11)
[0094] 其中I為人手與Leap Motion的距離,在本次實例中人手與Leap Motion距離為 200mm,手掌平行于Leap Motion,有:
[0095]
(12)
[0096] 定義Zo為初始時刻人手的位置和姿態,有:
[0097] TtAs = Zo (13)
[009引定義為t時刻Leap Motion的理想位置和姿態,即在笛卡爾狀態空間里Leap Motion和人手的相對位姿不變,有:
[0099] TyAs = X'tT (14)
[0100] 其中T為人手對于Leap Motion的位置和姿態矩陣,參數由Leap Motion捕獲,有:
[0101]
腳
[0102] 通過求解(8),(9)得到X't。
[0103] 2)手勢跟蹤識別模型
[0104] 在本次實例中,定義機器人各個關節角的最大角速度:
[0105] Vmax= [2.71 2.16 3.59 6.69 6.82 8.07]^ (16)
[0106] 為使機器人末端與人手的相對位姿不變,將問題轉化為求解如下二次規劃方程:
[0107]
打1)
[010引其中AT為t時刻與t-1時刻之間的采樣間隔。
[0109] 所述步驟S2包括W下步驟:
[0110] 對于上述二次規劃方程的求解,提出最優解和近似解兩種方案,可通過幾何學描 述,W二維情況舉例,主要考慮理論狀態在可行解區域外的情況,結論可W很自然推廣到6 維甚至n維空間,如圖2所示。
[01 "M]最優解情況:
[0112]根據二次規劃模型,可得最優解為:
[011;3] Xi,t=max(Xi,t-i+AT. Vi,max,Xi,t')i = l,2,...,6 (12)
[0114]該解為二次規劃模型的最優解,實際狀態解在任意時刻都與最優解對應的理論狀 態最接近;最優解在語義上的理解是,從機器人當前的關節角狀態到目標關節角狀態的運 動過程中,對于每個關節角,如果能夠運動到最優解對應的目標值,則該關節角就運動到最 優解對應的目標值,否則,該關節角W最大的速度運動到能夠離最優解所對應的目標值最 近的值;運種解是將每個狀態分量分離出來,單獨考慮每個狀態分量的最優解;然而機器人 末端的位置和姿態是由6個關節角共同決定的,單獨求解可能會存在關節角空間的最優解 并不是機器人位置和姿態的最優解,且可能存在機器人運動的不平穩現象;為此,可通過求 近似解來解決運動平滑問題;
[011引近似解情況:
[0116] 對于上述最優解,由于速度不同,各個關節角的目標值不同,每個關節角的運動差 值比例在不斷的變化,因此,對于近似解方案,將移動式Leap Motion平臺的運動平穩定義 為各個關節角的運動速度比例時刻保存與各關節角的最大運動速度比例一樣,且時刻保持 相對運動狀態;因此,得近似解為:
(13)
[0117]
[0118] 近似解為二次規劃模型的近似最優解,本質是讓機器人的運動方向沿著目標點運 動;近似解在語義上的理解是:從機器人當前的關節角狀態到目標關節角狀態的運動過程 中,若單獨考慮每個關節角,則關節角W最大的速度運動到目標關節角所需的時間為
Tl,t若大于A T,表示在A T時間內,該關節角無法運動到目標值,否則,該關 節角能夠運動到目標值,上述的最優解就是根據該關節角是否能夠運動到目標值,來確定 其運動量,然而運會導致某些關節角運動速度過快,某些關節角運動速度過慢,或者某個關 節角只運動很短時間就立馬停止,而某些關節角運動很長時間才停止,運與運動平穩定義 不符;近似解是將全部關節角綜合考慮,規定全部關節角相對運動狀態一樣,且運動過程各 關節角的運動速度比例與其對應最大運動速度比例一樣,運動方向為沿著目標點的方向, 則二次規劃模型的狀態可行解在的連線上,位置為:
[0119] Xt-戍't/Xt-iXt=max(Ti't)/AT (14)
[0120] 所述步驟S3包括W下步驟:
[0121] 通過求解(5)得Xt后,機器人的六個關節運動角度值:
[0122] M=Xt-Xt-I=(目 1,目 2,...,目 6)t (15)
[0123] 已求解得到機器人每個關節所需運動的角度值,當全部關節運動完畢后機器人末 端就到達指定的位置。
[0124] 本次實例中產生的數據已繪成軌跡圖,詳見圖3。
[0125] 上述實施例為本發明較佳的實施方式,但本發明的實施方式并不受上述實施例的 限制,其他的任何未背離本發明的精神實質與原理下所作的改變、修飾、替代、組合、簡化, 均應為等效的置換方式,都包含在本發明的保護范圍之內。
【主權項】
1. 基于移動跟蹤的三維手勢識別方法,其特征在于,包括如下步驟: 51、 建立跟蹤模型; 52、 跟蹤模型求解; 53、 驅動機器人。2. 根據權利要求1所述的基于移動跟蹤的三維手勢識別方法,其特征在于,所述步驟Sl 具體包括: 完成跟蹤識別操作員手勢任務時,通過固定在機器人末端的Leap Motion捕獲操作員 手部的位置和姿態;所述Leap Motion有兩個紅外攝像頭; 1)位置和姿態模型 機器人基座、機器人關節、Leap Motion、人手坐標系均采用3個互相正交的軸來表示。 機器人基座坐標系x〇y平面為水平方向;z軸正方向為豎直向上。機器人關節i坐標系中Zh 軸位于按右手規則旋轉軸方向;Xi-ι軸沿Zi-i與Zi公垂線方向。Leap Motion坐標系中Zl軸為 沿著Leap Motion短邊方向;Xl軸為沿著Leap Motion長邊方向;Yl軸正方向為垂直Leap Motion平面向上。人手坐標系中Zh軸為四指方向,與Zl軸方向一致;Xh軸為拇指方向,與Xl軸 方向一致;Yh軸為垂直手背向上,與Yl方向一致。機器人采用Denavit-Hartenberg(D-H)模 型,A i表示從坐標系i-Ι到坐標系i的齊次坐標變換矩陣,則有:其中Q1表示在坐標變換時繞Zh旋轉的角度,使得Xh和X1相互平行;^表示在坐標變換 時沿Zh平移的距離,使得Xh和X1共線;I1表示在坐標變換時Xh平移的距離,使得Xh和X 1 的原點重合;Cti表示在坐標變換時2^1繞乂1旋轉的角度,使得Zi-JPZi原點重合,方向一致。 對于一個具有六關節的機器人,從基座坐標系到Leap Motion坐標系的齊次變換矩陣 定夕為,(2) 其中《丨為Leap Mot ion的法向矢量,4為滑動矢量乂為接近矢量,g為位置矢量; 因為Leap Motion固定在機器人末端,有:(3) 其中h為Leap Motion高度; 定義為t時刻Leap Motion的位置和姿態為: …τ τ τ ττ … (4) 通過求解(5)得到初始時刻機器人各個關節角度值; 從Leap Motion坐標系到人手坐標系的齊次變換矩陣定義為:(6) 其中1為人手與Leap Motion的距離; 定義Zo為初始時刻人手的位置和姿態,有: T7A8 = Zo (7) 定義ft為t時刻Leap Motion的理想位置和姿態,即在笛卡爾狀態空間里Leap Motion 和人手的相對位姿不變,有: T7A8 = X7 tT (8) 其中T為人手對于Leap Motion的位置和姿態矩陣,參數由Leap Motion捕獲,有:m 通過求解(8),(9)得到Χ\; 2)手勢跟蹤識別模型由\V知塊λ義木光井在的ja Hr : (10) 為使機器人末端與人手的相對位姿不變,將問題轉化為求解如下二次規劃方程:(11) 其中Δ T為t時刻與t -1時刻之間的采樣間隔。3.根據權利要求1所述的基于移動跟蹤的三維手勢識別方法,其特征在于,所述步驟S2 包括以下步驟: 對于上述二次規劃方程的求解,提出最優解和近似解兩種方案,通過幾何學描述,以二 維情況推廣到6維甚至η維空間; 最優解情況: 根據二次規劃模型,可得最優解為:(12) 該解為二次規劃模型的最優解,實際狀態解在任意時刻都與最優解對應的理論狀態最 接近;最優解在語義上的理解是,從機器人當前的關節角狀態到目標關節角狀態的運動過 程中,對于每個關節角,如果能夠運動到最優解對應的目標值,則該關節角就運動到最優解 對應的目標值,否則,該關節角以最大的速度運動到能夠離最優解所對應的目標值最近的 值;這種解是將每個狀態分量分離出來,單獨考慮每個狀態分量的最優解;然而機器人末端 的位置和姿態是由6個關節角共同決定的,單獨求解可能會存在關節角空間的最優解并不 是機器人位置和姿態的最優解,且可能存在機器人運動的不平穩現象;為此,可通過求近似 解來解決運動平滑問題; 近似解情況: 對于上述最優解,由于速度不同,各個關節角的目標值不同,每個關節角的運動差值比 例在不斷的變化,因此,對于近似解方案,將移動式Leap Motion平臺的運動平穩定義為各 個關節角的運動速度比例時刻保存與各關節角的最大運動速度比例一樣,且時刻保持相對 太.悶_ {縣彳!1?彳丨)丨統先·(13) 近似解為二次規劃模型的近似最優解,本質是讓機器人的運動方向沿著目標點運動; 近似解在語義上的理解是:從機器人當前的關節角狀態到目標關節角狀態的運動過程中, 若單獨考慮每個關節角,則關節角以最大的速度運動到目標關節角所需的時間為若大于A T,表示在△ T時間內,該關節角無法運動到目標值,否則,該關節 角能夠運動到目標值,上述的最優解就是根據該關節角是否能夠運動到目標值,來確定其 運動量,然而這會導致某些關節角運動速度過快,某些關節角運動速度過慢,或者某個關節 角只運動很短時間就立馬停止,而某些關節角運動很長時間才停止,這與運動平穩定義不 符;近似解是將全部關節角綜合考慮,規定全部關節角相對運動狀態一樣,且運動過程各關 節角的運動速度比例與其對應最大運動速度比例一樣,運動方向為沿著目標點的方向,則 二次規劃模型的狀態可行解在t的連線上,位置為: Xt-iX7 t/Xt-iXt=max(Ti;t)/ Δ T (14)〇4.根據權利要求1所述的基于移動跟蹤的三維手勢識別方法,其特征在于,所述步驟S3 具體包括: 通過求解(5)得Xt后,機器人的六個關節運動角度值: M=Xt-Xt-I= (θι,θ2,. . . ,θ6)τ (15) 已求解得到機器人每個關節所需運動的角度值,當全部關節運動完畢后機器人末端就 到達指定的位置。
【文檔編號】G06F3/01GK106020494SQ201610459875
【公開日】2016年10月12日
【申請日】2016年6月20日
【發明人】張平, 杜廣龍, 陳明軒, 何子平, 金培根, 李方
【申請人】華南理工大學