孫 強, 王文濤, 周 璇
(中南民族大學 計算機科學學院, 湖北 武漢 430074)
隨著隨著科技的進步,人們一直都在致力于對便捷高效運輸機構(gòu)的研究。 全方位運動機構(gòu)[1]以其平面內(nèi)完全運動自由度,實現(xiàn)了狹小空間內(nèi)的高度靈活性,在軍事、工業(yè)、社會生活等多方面具備廣泛的應用前景。 用人的體態(tài)和手勢進行人機交互是一種新穎自然的交互方式[2],人們通過簡單的肢體語言便能進行快速的人機交互,具有易實現(xiàn)、控制靈活等特點。kinect 是微軟公司研制的一款體感識別設備,通過它可以實現(xiàn)體感識別,進行人機交互[3]。
由此本文設計了一種應用麥克納姆輪[4-5]的體感控制全方位運輸平臺模型。 并針對此模型控制系統(tǒng)提出了基于kinect體感器的骨骼運動信息識別和基于深度手勢識別兩種體感控制模式,應用于該運輸平臺的兩種場景:當該平臺整合到移動機器人等遠程設備時,操縱者控制環(huán)境寬廣,可應用人體多種姿勢進行精細操控;當改運輸平臺整合到輪椅、叉車等近程控制設備時,操縱者位于狹窄的設備上,可應用近距離手勢動作進行簡單快速高效的操控。 經(jīng)實驗結(jié)果表明,該控制系統(tǒng)兩種控制模式均能對該全方位運輸平臺進行良好的操控。
本文構(gòu)建的全方位移動平臺如圖1(a)所示,其由鋁60毫米45 度萬向輪子、直流電機、電機驅(qū)動模塊、12 V 鋰電池、MSP430f149 最小系統(tǒng)控制板、串口藍牙等部件構(gòu)成。 平臺控制器讀取上位機通過藍牙發(fā)送過來的數(shù)據(jù)進行相應動作相應完成操控,圖1(b)為模型實物。
圖1 底盤結(jié)構(gòu)及實物圖Fig. 1 System diagram and physical figure
如圖2(a)所示麥克納姆輪的原理結(jié)構(gòu), 其主輪周邊分布著與輪子軸線成α=45 度的小滾輪。 滾輪能自身轉(zhuǎn)動同時又能繞車軸轉(zhuǎn)動,使得主輪具備了繞輪軸的轉(zhuǎn)動和沿滾輪軸線垂線方向運動的兩個自由度。圖2(b)所示為底盤運動力學分析。 通過對輪子的運動解析得到平臺的運動學方程為:
公式中(1)Vx,Vy,ω 為控制量。本文采用通過單片機產(chǎn)生PWM 信號調(diào)制功率Cn來實現(xiàn)底盤驅(qū)動控制。 由公式(2),Cn是第n 個電機的功率,ωn是計算出的第n 個電機的轉(zhuǎn)速,ωnmax是n 號電機在同一電壓下設定的最大輸出功率下的轉(zhuǎn)速,mn是維護4 個電機轉(zhuǎn)速在同一最大值的實測參數(shù)。
圖2 底盤運動學解析Fig. 2 Kinematics analysis of the chassis
文中采用kinect 傳感器獲取人體深度圖像及骨骼信息。它由RGB 彩色攝像頭、紅外線發(fā)射器、紅外線CMOS 攝影頭等模塊構(gòu)成, 能獲得目標物體的深度圖像數(shù)據(jù)和RGB 圖像數(shù)據(jù)。 在深度圖像數(shù)據(jù)的基礎上,運用骨骼追蹤技術提取出人體骨骼信息。
Kinect 能夠追蹤人體四肢20 個骨骼點,骨骼運動信息識別控制模式指系統(tǒng)通過分析人體骨骼點的運動數(shù)據(jù)識別控制指令[6-7]。 本文采用了左右手肩關節(jié)點、左右手肘關節(jié)點、左右手腕關節(jié)點、左右手手關節(jié)點8 個上肢關節(jié)點,通過識別各關節(jié)的轉(zhuǎn)動角度來識別關節(jié)的運動情況。 本文應用kinect獲取的人體骨骼數(shù)據(jù)以兩肩中心為原點建立空間坐標系,根據(jù)各關節(jié)點的坐標構(gòu)建向量進行向量運算,得出關節(jié)轉(zhuǎn)動角度,具體以計算右手肘關節(jié)轉(zhuǎn)動為例。
圖3 關節(jié)向量計算示意圖Fig. 3 Joint vector calculation diagram
如圖3 所示, 取a、b、c 分別為右手的肩關節(jié)點、 肘關節(jié)點、腕關節(jié)點,其對應空間坐 標分別為(x1,y1,z1),(x2,y2,z2),(x3,y3,z3),肘關節(jié)的運動角度為α。 則有
則可得
最后通過反解三角函數(shù)可得該關節(jié)的運動角度。
于是本文采用雙手協(xié)作的方式,操控全向底盤的運作。從數(shù)學模型上我們可以得出全向移動底盤有任意軌跡運動能力,但是由于運動軌跡的方向性多,極易導致控制的不穩(wěn)定性,反而讓優(yōu)點變?yōu)槿秉c。 由此我們精簡了運動的方向性,使其既滿足全向運動的豐富的能動性的同時也能保證其穩(wěn)定性。由此見表.我們設定了10 種方向運動,并分割了不同的自然手勢對應控制指令。
表1 手勢對應控制原理Tab. 1 Gestures corresponding control theory
在根據(jù)圖像數(shù)據(jù)進行手勢識別的時候需要提取操縱者的手勢,首先我們需要將人物的手掌部分和背景信息分割開來。 基于kinect 提取的深度數(shù)據(jù),本文采用基于閾值分割法來進行背景分割,即提取前景的平均深度值,對場景進行分割。 深度閾值的設定公式為:
其中ω 為實驗測定能準確分割手掌的最小值,ε 為根據(jù)實際應用場景自由設定的可調(diào)節(jié)值,μmax為能準確識別手掌的距離空間。
文中采用了Y-H.Lin 提出的一種模板匹配算法[8]處理提取出來的手勢并進行手勢識別。 該算法首先將提取到的二維圖像轉(zhuǎn)換成一維向量,消除平面內(nèi)圖形放縮、旋轉(zhuǎn)帶來的影響。 同時,針對同種手勢構(gòu)造多種比例的參考模板向量,并將提取出的手勢向量與參考模板進行手勢比對,從而得出比對結(jié)果。
系統(tǒng)運用手勢識別進行控制時流程圖如圖4 所示。
圖4 手勢識別流程圖Fig. 4 The flow chart of gesture recognition
針對當前控制模式的應用場景,本文針對運輸平臺設計了6 中運動指令,滿足操縱者進程的簡單快捷準確的操控需求,具體手勢對應指令如圖5 所示。
圖5 手勢操控指令Fig. 5 Gesture instructions
本文控制系統(tǒng)上位機采用的Kinect 開發(fā)工具為Kinect Software Devel-opment Kit (SDK) v1.8, 開發(fā)環(huán)境為Visual Studio 2013,使用的編程語言為C#。
這一模式的應用的成功與否在于對應用的各關節(jié)點轉(zhuǎn)動角度的識別有效性。 據(jù)此,我們對左右肩關節(jié)、肘關節(jié)、腕關節(jié)6 個我們應用的關節(jié)點進行了轉(zhuǎn)動角度識別測試。 具體測試方法如下:我們挑選體型身高均有差異的10 個人,每一個關節(jié)的轉(zhuǎn)動角度設為10°、20°、40°、60°、80° 5 種情況,每種情況每人測試5 次,即每個關節(jié)累積進行250 次實驗,角度允許誤差±3°。 去除偶然反常結(jié)果實驗統(tǒng)計結(jié)果如表4 所示。從表中可以有如下發(fā)現(xiàn):由左右肩關節(jié)到左右腕關節(jié)3 個節(jié)點的識別率依次降低;轉(zhuǎn)動角度越大,識別的成功率越高。 產(chǎn)生以上現(xiàn)象的原因是kinect 識別人體關節(jié)角度跟人體姿勢變化幅度有關,而人體各關節(jié)點的人體姿勢幅度又取決于關節(jié)點為位置和關節(jié)點的轉(zhuǎn)動角度,故肩關節(jié)的識別準確率最高,同一個關節(jié)點轉(zhuǎn)動角度越大,識別率越高。 盡管如此,各關節(jié)在各轉(zhuǎn)動角度的識別率都超過90%,具有較高的識別成功率,符合控制要求。
針對提出的幾種控制手勢, 我們展開了識別準確率測試,具體測試方法為我們挑選了手型不用的5 人對每種手勢進行了10 次識別測試,即每種手勢測試50 次。 結(jié)果如表所示,我們可以發(fā)現(xiàn),由于我們選用的手勢區(qū)分度比較大且手勢類別數(shù)量較小,所以手勢識別準確度較高,符合控制要求。
表2 測試結(jié)果統(tǒng)計表1Tab. 2 Statistics of the test results 1
表3 測試結(jié)果統(tǒng)計表2Tab. 3 Statistics of the test results2
進行完了兩種體感操控模式識別的有效性后,為實際檢驗運輸平臺的操控性能,我們使用黑色膠帶在平整的地面布局了一個執(zhí)行任務的場景,分別邀請三位經(jīng)過簡單訓練的操縱人員進行操控測試每人使用2 種模式分別操控3 次,實驗表明,3 人均完成了全部測試內(nèi)容, 但時間和路線不一致,熟練的操縱者路線比不熟練的操縱者平滑,且耗時短。 同時,肢體操控由于比手勢操控控制更為精細所以平均耗時長于手勢操控。
文中針對一種基于麥克納姆輪的全方位運輸平臺提出了基于kinect 的骨骼運動信息識別和基于深度手勢識別兩種體感控制模式,經(jīng)實驗證明,兩種控制模式均能滿足控制要求且具備靈活、高效等特點。
[1] 趙冬斌,易建強,鄧旭珗. 全方位移動機器人結(jié)構(gòu)和運動分析[J]. 機器人,2003(5):394-398.
[2] 董士海. 人機交互的進展及面臨的挑戰(zhàn)[J]. 計算機輔助設計與圖形學,2004,1(1):1-13.
[3] Kang Jongwook,Seo Dongjun,Jung Dongseok. A Study on the control Method of 3 -Dimensional Space Application using Kinect System[J]. International Journal of Computer Science and Network Security,2011,11(9):55-59.
[4] 劉洲,吳洪濤. Mecanum 四輪全方位移動機構(gòu)運動分析與仿真[J]. 現(xiàn)代設計與先進制造技術,2011,40(5):43-46.
[5] Gfrerrer A.Geometry and kinematics of the Mecanum wheel[J].Computer Aided Geometric Design,2008(259):784-791.
[6] KEMURA S,F(xiàn)UJIYOSHI H. Real-time Human Detection using Relational Depth Similarity Features[C]//With AC-CV.New Zealand:[s. n.],2011:25-38.
[7] URTASUN R,F(xiàn)UA P.3D Human Body Tracking using Deterministic Temporal Motion Models [C]//European Conference on Computer Vision Prague:[s. n.],2004:92-106.
[8] Lin Y-H,Chen C-H,Template matching using the parametric template vector withtranslation, rotation and scale invariance[J]. Pattern Recognition,2008,41(7):2413-2421.