劉梁++滕鵬++周詩華++展文豪



摘要:手勢識別技術作為自然人機交互發展迅速,本文基于手勢識別技術實現了一種手勢控制小車運動的系統,該系統基于微型機電系統、慣性傳感器和無線通信模塊構建了硬件平臺,可采集手指的手勢信息,通過手勢特征數據提取及模板匹配算法,實現手勢信息的識別。該系統經過實驗測試,證明了該系統的可行性和識別算法的有效性。
關鍵詞:手勢控制;遙控小車;手勢識別
中圖分類號:TP242.6 文獻標識碼:A 文章編號:1007-9416(2017)02-0026-02
1 引言
人機交互(Human-Computer Interaction,簡稱HCI)是指人與計算機之間通過某種對話語言交流與通信,完成確定任務的人與計算機之間的信息交換。近年來,隨著技術的發展,出現了以手勢識別、表情識別、姿態識別、語音識別等為基礎的自然用戶界面(Natural User Interface)技術。其中手勢是一種符合人類日常習慣的交互手段,在日常生活中人之間的交流通常會輔以手勢來傳達一些信息或表達某種特定的意圖。本文結合手勢識別技術,設計了一種手勢控制小車運動系統。
2 總體介紹
手勢控制小車運動的系統設計由手勢傳感器、無線傳輸模塊和一個遙控小車組成。如圖1所示,手勢傳感器穿戴在使用者手指上采集手勢指令信息,通過無線模塊發送給遙控小車,實現小車前進、停車、左轉、右轉等動作,使用手勢控制相比傳統的遙控器控制,人機交互更加的自然。
3 硬件設計
3.1 小車設計
小車主要由底盤和控制板組成,其中控制板主要由無線模塊、電機驅動模塊、控制器組成,系統使用12V鋰電供電。其中無線模塊使用24L01模塊,nRF24L01芯片工作于2.4GHz全球開放的 ISM 頻段,集成了頻率合成器、晶體振蕩器和調制解調器,外圍元件極少。nRF24L01沒有復雜的通信協議,完全對用戶透明,通過一個標準的SPI 接口與外圍控制器連接,同種產品之間可以自由通信。系統中的控制器使用意法半導體16MHz STM8S103F,電機驅動模塊使用L298N雙路,L298芯片內部包含4通道邏輯驅動電路,可以方便的驅動兩個直流電機。控制時左前輪向前旋轉時向右轉,右前輪旋轉時向左轉,兩輪同時向前時小車前進,兩輪同時向后時小車停止。
3.2 手勢傳感器設計
手勢傳感器佩戴在手上,慣性傳感器可以采集手部運動數據,控制器獲取傳感器數據后,進行手勢信息識別,將識別到的有效手勢數據轉換成控制指令,通過無線模塊發送給小車,控制小車運動。傳感器的控制器采用基于Cortex-M3內核增強型芯片STM32L103RCT6。無線模塊與小車使用的模塊相同。
慣性傳感器使用的是君悅智控生產的JY901九軸慣性傳感器,該傳感器集成高精度的陀螺儀、加速度計、地磁場傳感器,采用高性能的微處理器和先進的動力學解算與卡爾曼動態濾波算法,能夠在動態環境下準確輸出模塊的當前姿態,姿態測量精度0.01度。模塊自帶電壓穩定電路,工作電壓3V~6V,引腳電平兼容3.3V/5V的嵌入式系統,連接方便。支持串口和IIC兩種數字接口,方便用戶連接,串口速率2400bps~921600bps可調,本系統即使用單片機串口與模塊連接。模塊輸出包括時間、加速度、角速度、角度、磁場等信息。
4 算法設計
4.1 坐標定義
慣性傳感器使用時,傳感器佩戴在右手掌心面內中指上,四指并攏成一個平面,如圖1所示,沿中指向前為x軸正方向,垂直掌心并指向掌心外側方向為z軸正方向,根據右手螺旋法則確定垂直中指并指向小指方向為y軸正方向。
4.2 手勢定義
手勢是指通過手臂的移動或者旋轉產生的各種姿勢和動作,是一種自然、 直觀、 易于學習的人機交互手段。選取的手勢定義要動作簡單、便于操作,手勢語義易于記憶和理解,另外手勢信號特征明顯,易于識別。針對控制小車移動,定義了前進、停止、左轉、右轉四種動態控制手勢,具體如圖所示,右手佩戴傳感器,手腕內收定義為前進,手腕外展定義為停止,手掌掌曲定義為左轉,手掌背曲定義為右轉。
4.3 手勢識別算法
手勢識別算法實現對無效手勢的過濾和對有效手勢的提取和識別。手勢識別的流程如圖2所示。
手勢信號采集:通過穿戴在中指的慣性傳感器獲取手勢數據。采集的數據包括三軸加速度數據、三軸角速度數據、三軸角度數據等信號,該信號是16位整型數據,需要轉換成對應的加速度、角速度和角度數據。
手勢信號截取:手勢識別首先要從采集的連續信號中截取出可能包含手勢信息的數據。針對定義的四種控制手勢,沒有動作時,角速度信號相對平穩;手勢動作開始時,角速度信號變化劇烈。選取合適的閾值對信號進行截取可以獲取到可能包含手勢信息的數據。經過10人穿戴手勢傳感器進行無手勢和有手勢的數據采集分析,將閾值設置為100°/s。手勢信息持續時間0.5s
手勢特性提取:針對定義的四種手勢,其主要特征是角速度變化劇烈,將截取的手勢信號提取三個方向角速度的最大值和最小值及最值出現的時間點。
手勢信息識別:將手勢特性數據與四種手勢的特性模板對比,以左轉手勢為例。首先在背曲的過程中,會出現Y軸方向角速度的峰值,在掌曲過程中,會出現Y軸負方向角速度的峰值,整個過程中,正方向峰值在負方向峰值之前。在x軸和z軸上也會出現角速度信號,與y軸信號對比,會比y軸角速度峰值小的多。
后續處理:將手勢識別數據轉換成控制指令,通過無線模塊發送給小車,執行相關操作。如表1所示。
5 驗證
為驗證本文提出的手勢識別算法及小車控制的有效性,將可穿戴手勢傳感器佩戴在用戶的右手上,開展驗證實驗。驗證試驗選取了5名受試者,每名受試者操作前進、后退、左轉、右轉各20次。經統計,手勢識別結果如表2所示。實驗表明,實驗表明,本文采用的手勢識別算法能自動提取手勢動作的有效信號并實現小車移動控制。
6 結語
慣性傳感器具有不受空間限制的特點,用于手勢識別可以靈活的應用于各種場合。本文設計了一種手勢遙控小車系統,算法簡單,使用方便,應用新型的手勢交互方式,更自然的實現了人與小車的交互控制。
參考文獻
[1]劉煜,楊平,段平濤.基于慣性傳感器的手機手勢識別[J].電子技術應用,2011,37(12):76~79,86.
[2]周誼成,尤樹華,王輝.基于三維加速度的連續手勢識別[J].計算機與數字工程,2012,40(10):133~136.
[3]盛衛華,祝純.人機交互中基于可穿戴式計算的手勢和活動辨識[J].山東大學學報(工學版),2010,40(3):37~50.
[4]劉蓉,劉明.實時手勢加速度動作分割與識別研究[J].小型微型計算機系統,2012,33(7):1620~1624.
[5]何科君,等.手勢控制微型四軸飛行系統設計與實現[J].自動化與儀器儀表,2014(11):126~128.