《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 乒乓球/羽毛球運(yùn)動(dòng)狀態(tài)識(shí)別手表的設(shè)計(jì)
乒乓球/羽毛球運(yùn)動(dòng)狀態(tài)識(shí)別手表的設(shè)計(jì)
2018年電子技術(shù)應(yīng)用第4期
郭富智,杜紅棉,李肖姝,秦泗超,葛 竹
中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原030051
摘要: 為了彌補(bǔ)市場(chǎng)上現(xiàn)有產(chǎn)品缺少對(duì)乒乓球和羽毛球運(yùn)動(dòng)狀態(tài)識(shí)別的現(xiàn)狀,設(shè)計(jì)了一個(gè)佩戴于持球拍手腕就可以識(shí)別這兩種運(yùn)動(dòng)中多種狀態(tài)的手表。其硬件主要采用STM32F103C8T6單片機(jī)、MPU6050傳感器、藍(lán)牙串口模塊。運(yùn)動(dòng)狀態(tài)識(shí)別實(shí)現(xiàn)方法:由3軸加速度和3軸角速度計(jì)算出以大地坐標(biāo)為參考系的3軸角度,數(shù)據(jù)經(jīng)過高通濾波、平滑、數(shù)據(jù)分窗的預(yù)處理后進(jìn)行特征值提?。辉僖罁?jù)隨機(jī)森林分類識(shí)別算法,識(shí)別乒乓球、羽毛球運(yùn)動(dòng)過程中的多種狀態(tài)。該手表具有硬件成本低、體積小、功耗低等特點(diǎn),經(jīng)過測(cè)試,其識(shí)別率可達(dá)90%以上。
中圖分類號(hào): TP274.2
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.174468
中文引用格式: 郭富智,杜紅棉,李肖姝,等. 乒乓球/羽毛球運(yùn)動(dòng)狀態(tài)識(shí)別手表的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2018,44(4):73-76.
英文引用格式: Guo Fuzhi,Du Hongmian,Li Xiaoshu,et al. Design of table tennis and badminton movement state recognition watch[J]. Application of Electronic Technique,2018,44(4):73-76.
Design of table tennis and badminton movement state recognition watch
Guo Fuzhi,Du Hongmian,Li Xiaoshu,Qin Sichao,Ge Zhu
Key Laboratory of Instrument Science and Dynamic Test,Ministry of Education,North University of China,Taiyuan 030051,China
Abstract: In order to make up for the lack of existing products on the market for identifying table tennis and badminton sports state, this paper designs a racket wrist which can identify these two kinds of movement in a variety of state watches. It′s hardware mainly uses STM32F103C8T6 single chip, MPU6050 sensor, and Bluetooth serial module. The method of motion state recognition is as follows:firstly,the three-axis acceleration and the triaxial angular velocity are used to calculate the triaxial angle. The data are subjected to high-pass filtering, smoothing, and data preprocessing. And then according to the random forest classification recognition algorithm, a variety of states of table tennis and badminton in the process are identified. The watch has a low cost of hardware, small size, and low power consumption, and by test the recognition rate is up to 90%.
Key words : sports state;table tennis;badminton;random forest;identification
0 引言

    近年來穿戴式設(shè)備是開發(fā)的熱點(diǎn)項(xiàng)目,各種品牌的運(yùn)動(dòng)手表、手環(huán)層出不窮,穿戴式運(yùn)動(dòng)狀態(tài)識(shí)別設(shè)備的應(yīng)用前景可觀。現(xiàn)在市場(chǎng)上的產(chǎn)品對(duì)運(yùn)動(dòng)狀態(tài)識(shí)別集中在識(shí)別某個(gè)時(shí)間段進(jìn)行的某種運(yùn)動(dòng),如走路、跑步、睡眠,缺少對(duì)乒乓球羽毛球運(yùn)動(dòng)識(shí)別的設(shè)備。而專業(yè)的運(yùn)動(dòng)識(shí)別的設(shè)備集中在視頻圖像的分析[1]和不同部位多傳感器裝置檢測(cè)分析[2-3]兩種方式,兩種方式設(shè)備體積大、成本高,只適合在實(shí)驗(yàn)室中使用,不適合向普通大眾推廣。目前運(yùn)動(dòng)狀態(tài)分類識(shí)別算法主要有動(dòng)態(tài)K近鄰、決策樹、隨機(jī)森林、支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)等[4-6]。

    為了滿足乒乓球和羽毛球業(yè)余運(yùn)動(dòng)愛好者對(duì)運(yùn)動(dòng)過程動(dòng)作狀態(tài)識(shí)別記錄的要求,本文將介紹一種運(yùn)動(dòng)手表的設(shè)計(jì)。它由簡(jiǎn)單硬件構(gòu)成,利用在時(shí)域上分析的隨機(jī)森林分類算法就可以識(shí)別乒乓球和羽毛球運(yùn)動(dòng)的多種狀態(tài)。本設(shè)計(jì)具有體積小、功耗低、成本低的特點(diǎn),可以嵌入到現(xiàn)在已有的智能手表中,做到功能升級(jí)。

1 運(yùn)動(dòng)狀態(tài)識(shí)別總體方案

1.1 運(yùn)動(dòng)手表硬件設(shè)計(jì)

    乒乓球/羽毛球運(yùn)動(dòng)狀態(tài)識(shí)別手表的硬件主要由控制處理核心STM32單片機(jī)、MPU6050傳感器模塊、BLE 藍(lán)牙模塊、按鍵模塊、顯示模塊、電源管理模塊6部分組成。手表系統(tǒng)工作原理為: 控制處理核心STM32F103通過IIC接口讀取MPU6050的加速度計(jì)和陀螺儀數(shù)據(jù),利用數(shù)字運(yùn)動(dòng)處理器(DMP)輸出四元數(shù)后解算得到3軸歐拉角[7]。經(jīng)過數(shù)據(jù)濾波后用相應(yīng)的識(shí)別算法對(duì)運(yùn)動(dòng)狀態(tài)進(jìn)行識(shí)別,將識(shí)別的信息用OLED顯示屏顯示并通過藍(lán)牙模塊發(fā)送到上位機(jī)。各個(gè)模塊的功能如下。

    (1)控制處理核心:選擇意法半導(dǎo)體STM32F103C8T6,它控制整個(gè)系統(tǒng)的各個(gè)模塊工作狀態(tài)、傳感器數(shù)據(jù)的處理和識(shí)別算法的實(shí)現(xiàn)。它運(yùn)算速度快、體積小、功耗低、外設(shè)豐富,滿足腕戴式手表對(duì)體積、速度、功耗的要求。

    (2)傳感器模塊:傳感器采用MEMS數(shù)字傳感器MPU6050,它由整合了加速度計(jì)、陀螺儀的6軸傳感器和一個(gè)可擴(kuò)展的DMP組成。相比于多傳感器的方案,它避免了時(shí)間軸之差的問題,并減小了體積[8]。傳感器通過IIC接口將數(shù)據(jù)傳輸?shù)絾纹瑱C(jī)中。

    (3)BLE藍(lán)牙模塊:選用型號(hào)為CC2541的BLE藍(lán)牙串口模塊,BLE技術(shù)具有低成本、低功耗、短距離的特點(diǎn)。該藍(lán)牙模塊最高支持2 Mbit/s的傳輸速率,工作電流小于20 mA,滿足系統(tǒng)UART串口設(shè)計(jì)的115 200 bit/s波特率的通信要求。

    (4)按鍵模塊:主要完成模式選擇以及手表的開關(guān)機(jī)。

    (5)顯示模塊:選用0.96英寸OLED顯示屏,顯示單元能夠自發(fā)光。全屏點(diǎn)亮?xí)r功耗為0.08 W,正常全屏顯示漢字僅需0.06 W,很符合手表低功耗的要求。

    (6)電源管理模塊:選用 TD8208升壓芯片將3.7 V鋰電池升壓到5 V,再經(jīng)過AP2125K-3.3芯片降壓到3.3 V。兩款電源芯片均有輸出使能端,可通過控制使能端實(shí)現(xiàn)對(duì)其他模塊的電源管理。

    手表硬件連接圖如圖1所示。

cl2-t1.gif

1.2 運(yùn)動(dòng)手表系統(tǒng)狀態(tài)設(shè)計(jì)

    系統(tǒng)設(shè)計(jì)主要有關(guān)機(jī)狀態(tài)、時(shí)間顯示狀態(tài)、模式選擇狀態(tài)、乒乓球模式、羽毛球模式、自識(shí)別模式6個(gè)狀態(tài),各個(gè)狀態(tài)通過按鍵選擇進(jìn)行切換,狀態(tài)轉(zhuǎn)換圖如圖2所示。

cl2-t2.gif

    由圖2可知,系統(tǒng)初始狀態(tài)為關(guān)機(jī)狀態(tài),通過長(zhǎng)按開關(guān)機(jī)鍵使系統(tǒng)開機(jī)并進(jìn)入時(shí)間顯示狀態(tài)。如果不進(jìn)行按鍵選擇,系統(tǒng)將保持在時(shí)間顯示狀態(tài)。如果按動(dòng)選擇按鍵,系統(tǒng)將跳轉(zhuǎn)到模式選擇狀態(tài),再通過按動(dòng)模式選擇按鍵進(jìn)入對(duì)應(yīng)的工作模式。如果進(jìn)入乒乓球模式或羽毛球模式,就對(duì)運(yùn)動(dòng)中揮臂、揮拍、正反手等動(dòng)作進(jìn)行識(shí)別。如果選擇自識(shí)別模式,系統(tǒng)先識(shí)別當(dāng)前運(yùn)動(dòng)是乒乓球運(yùn)動(dòng)還是羽毛球運(yùn)動(dòng),識(shí)別成功后再自動(dòng)跳轉(zhuǎn)到對(duì)應(yīng)的模式下進(jìn)行運(yùn)動(dòng)狀態(tài)識(shí)別。如果需要重新選擇運(yùn)動(dòng)模式,通過返回按鍵使系統(tǒng)返回到時(shí)間顯示狀態(tài),重復(fù)上述選擇方法進(jìn)行模式選擇。

2 運(yùn)動(dòng)狀態(tài)識(shí)別算法設(shè)計(jì)

    運(yùn)動(dòng)狀態(tài)識(shí)別主要由數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、特征提取、分類識(shí)別4部分組成。識(shí)別流程及結(jié)構(gòu)如圖3所示。

cl2-t3.gif

2.1 數(shù)據(jù)采集

    STM32F103C8T6單片機(jī)通過IIC接口讀取MPU6050的加速度、角速度、角度數(shù)據(jù),將采集的數(shù)據(jù)緩沖到各自對(duì)應(yīng)的數(shù)組中,完成基本的數(shù)據(jù)采集。

2.2 數(shù)據(jù)預(yù)處理

    數(shù)據(jù)預(yù)處理分3步完成,依次為重力加速度分離、過濾平滑、數(shù)據(jù)分窗[4]。

    (1)重力加速度分離:加速度傳感器輸出的原始數(shù)據(jù)中包含重力加速度分量,而X、Y、Z軸是固定的,運(yùn)動(dòng)手表發(fā)生普通旋轉(zhuǎn)和翻轉(zhuǎn)時(shí),重力加速度則對(duì)3個(gè)軸產(chǎn)生加速度分量。為了避免重力加速度分量引進(jìn)的干擾,本設(shè)計(jì)對(duì)傳感器采集的3軸加速度進(jìn)行重力加速度分離。重力加速度分離采用高通濾波的方法[5],求解公式如下:

     cl2-gs1.gif

式中G代表各軸重力加速度分量,A代表加速度傳感器原始測(cè)量數(shù)值。提取出重力加速度分量后,用加速度傳感器原始數(shù)值減去重力加速度分量得到實(shí)際運(yùn)動(dòng)產(chǎn)生的加速度值。

    (2)過濾平滑:數(shù)據(jù)的平滑與過濾是為了過濾噪聲和異常數(shù)據(jù),本設(shè)計(jì)采用連續(xù)滑動(dòng)20點(diǎn)均值做平滑濾波,即設(shè)置一個(gè)容量為20個(gè)數(shù)據(jù)點(diǎn)的FIFO,把FIFO內(nèi)的20個(gè)數(shù)據(jù)點(diǎn)的均值作為一個(gè)新的采樣點(diǎn),且濾波后使得提取的特征具有更明顯的區(qū)分度。數(shù)據(jù)平滑處理前后波形圖如圖4所示。

cl2-t4.gif

    (3)數(shù)據(jù)分窗:本設(shè)計(jì)采用動(dòng)態(tài)窗口的方法對(duì)數(shù)據(jù)進(jìn)行分窗處理,窗口大小的設(shè)置是一個(gè)不定的參數(shù),通過實(shí)驗(yàn)事先設(shè)置好3軸加速度的閾值,當(dāng)X、Y、Z任一個(gè)軸加速度值大于對(duì)應(yīng)的閾值時(shí),觸發(fā)開啟窗口,當(dāng)觸發(fā)開啟窗口的那個(gè)軸的加速度值小于對(duì)應(yīng)的閾值時(shí)就關(guān)閉窗口。即系統(tǒng)窗口只顯示加速度大于閾值的這段時(shí)間內(nèi)的數(shù)據(jù)。因?yàn)橹挥羞\(yùn)動(dòng)時(shí)才會(huì)產(chǎn)生相對(duì)較大的加速度,而系統(tǒng)主要識(shí)別運(yùn)動(dòng)過程中的不同狀態(tài),所以這樣就無需對(duì)非運(yùn)動(dòng)狀態(tài)下進(jìn)行識(shí)別,減少識(shí)別誤差。加速度動(dòng)態(tài)分窗示例圖如圖5所示。

cl2-t5.gif

2.3 特征提取

    特征提取集中在窗口開啟的這段時(shí)間內(nèi),主要提取各軸加速度、角速度、角度的最大及最小值和角度的積分面積等主要特征[9]。

    以乒乓球橫板握法正反手的一組數(shù)據(jù)為例,如圖6所示,X軸角速度的最小值在正反手揮拍中有明顯差別,所以將X軸角速度的最小值作為識(shí)別正反手的一個(gè)重要特征。

cl2-t6.gif

    本設(shè)計(jì)只使用了最大值、最小值、積分面積3個(gè)統(tǒng)計(jì)量作為特征,并沒有使用復(fù)雜的時(shí)頻特征和頻域特征,主要有兩個(gè)原因:

    (1)經(jīng)過試驗(yàn)發(fā)現(xiàn),最大值、最小值、積分面積這3個(gè)特征在運(yùn)動(dòng)狀態(tài)的識(shí)別中區(qū)分度較大,已經(jīng)能夠達(dá)到一個(gè)較好的識(shí)別效果;

    (2)本手表是基于STM32單片機(jī)平臺(tái)設(shè)計(jì)的,其浮點(diǎn)計(jì)算能力有限,不適合提取計(jì)算量較大的時(shí)頻特征和頻域特征[4]

    所以本設(shè)計(jì)中沒有使用時(shí)頻特征和頻域特征,而把前期的數(shù)據(jù)處理作為識(shí)別的重要前提,并通過基于時(shí)間跨度的動(dòng)態(tài)分窗方式,結(jié)合隨機(jī)森林算法,對(duì)不同的運(yùn)動(dòng)狀態(tài)進(jìn)行分類識(shí)別。

2.4 分類識(shí)別

    基于本設(shè)計(jì)自身硬件屬性,對(duì)比并試驗(yàn)了當(dāng)前普遍使用的識(shí)別分類算法,結(jié)果發(fā)現(xiàn)隨機(jī)森林分類算法在本系統(tǒng)上有著計(jì)算效率和識(shí)別準(zhǔn)確率較高的特點(diǎn),因此選擇隨機(jī)森林作為本系統(tǒng)的分類算法。隨機(jī)森林算法實(shí)現(xiàn)原理圖如圖7所示。

cl2-t7.gif

    通過大量的測(cè)試實(shí)驗(yàn)最終確定本設(shè)計(jì)選取X軸角速度最大值和最小值、X軸角度最小值和積分面積、Y軸角速度最小值、Y軸角度最大值和最小值、Z軸角速度最大值8個(gè)有著明顯區(qū)分度的特征值。每次在動(dòng)態(tài)窗口中提取上述8個(gè)特征,將提取的特征依次和每個(gè)運(yùn)動(dòng)狀態(tài)的特征樹進(jìn)行擬合,擬合特征最多的那棵樹就識(shí)別為本次運(yùn)動(dòng)的狀態(tài)。

    特征區(qū)間的設(shè)定上,本設(shè)計(jì)以專業(yè)運(yùn)動(dòng)員的訓(xùn)練數(shù)據(jù)為參考,如圖6所示的數(shù)據(jù),橫板握法的正反手各自特征樹上X軸角速度特征區(qū)間分別為[-150 -80],[-70 0]。其他特征區(qū)間的參數(shù)整定方法同上,這里不再贅述。

3 手表測(cè)試

    本次測(cè)試方法為隨機(jī)選取乒乓球和羽毛球業(yè)余運(yùn)動(dòng)員各一位,使用本手表在相應(yīng)的運(yùn)動(dòng)中進(jìn)行測(cè)試,主要記錄人工識(shí)別計(jì)數(shù)和設(shè)備識(shí)別計(jì)數(shù),并做比對(duì),分析誤差。具體測(cè)試數(shù)據(jù)如表1、表2所示。

cl2-b1.gif

cl2-b2.gif

    從實(shí)驗(yàn)結(jié)果可以看出,設(shè)備識(shí)別計(jì)數(shù)準(zhǔn)確率在90%以上。運(yùn)動(dòng)中對(duì)正手揮拍識(shí)別比實(shí)際揮拍數(shù)多,而反手揮拍識(shí)別計(jì)數(shù)要實(shí)際揮拍數(shù)少,分析原因發(fā)現(xiàn),因?yàn)橄到y(tǒng)動(dòng)態(tài)窗口開啟的閾值是預(yù)先設(shè)定值,反手揮拍中動(dòng)作幅度比較小時(shí)加速度值沒有達(dá)到開啟閾值,所以計(jì)數(shù)要小于實(shí)際數(shù)??梢酝ㄟ^減小開啟閾值來提升反手揮拍的識(shí)別率,但同樣不能使開啟閾值太小,否則手腕部一些非運(yùn)動(dòng)狀態(tài)也會(huì)觸發(fā)開啟窗口引起識(shí)別誤差,使正手揮拍識(shí)別數(shù)遠(yuǎn)大于實(shí)際數(shù)。因此窗口開啟閾值的設(shè)定也是設(shè)計(jì)的關(guān)鍵。本系統(tǒng)乒乓球模式下閾值為1 m/s2,羽毛球模式下閾值為1.2 m/s2。

4 結(jié)論

    本文設(shè)計(jì)的手表采用STM32F103+MPU6050方案,成本低、功耗低、體積小,且對(duì)乒乓球和羽毛球運(yùn)動(dòng)過程中主要運(yùn)動(dòng)特征識(shí)別較為準(zhǔn)確,效果較好,識(shí)別率均在90%以上。該手表滿足普通大眾的應(yīng)用,可進(jìn)一步推廣。

參考文獻(xiàn)

[1] 梅江元,司玉林,高會(huì)軍.跨攝像頭運(yùn)動(dòng)目標(biāo)檢測(cè)與識(shí)別[J].自動(dòng)化技術(shù)與應(yīng)用,2011,30(11): 43-46.

[2] EMMANUEL M T.Using machine learning for real-time activity recognition and estimation of energy expenditure[D].Cambridge:MIT,2008.

[3] 胡小華,李向攀,祁洋陽,等.可穿戴式人體姿態(tài)檢測(cè)系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2017,43(9): 13-16.

[4] 彭際群.基于加速度傳感器的人體運(yùn)動(dòng)狀態(tài)識(shí)別研究[D].哈爾濱: 哈爾濱工業(yè)大學(xué),2014.

[5] 潘敬奎.人體運(yùn)動(dòng)識(shí)別與綜合分析系統(tǒng)[D].上海:東華大學(xué),2016.

[6] KHAN A M,LEE Y K.A triaxial accelerometer-based physical-activity Recognition via augmented-signal features and a hierarchical  recognizer[J].IEEE Transactions on Information Technology in Biomedicine,2010,14(5):1166-1172.

[7] 張昊,葉宇煌.基于微慣性傳感器的測(cè)斜儀姿態(tài)算法的研究[J].微型機(jī)與應(yīng)用,2017,36(1): 15-17.

[8] 于學(xué)鑫.基于MPU6050的微小型無人機(jī)AHRS設(shè)計(jì)研究[D].呼和浩特:內(nèi)蒙古工業(yè)大學(xué),2016.

[9] 湯志貴,冉慶澤,張學(xué)鋒,等.基于OpenGL乒乓球機(jī)器人手臂分解加速度仿真[J].安徽工業(yè)大學(xué)學(xué)報(bào),2014,31(2): 167-172.



作者信息:

郭富智,杜紅棉,李肖姝,秦泗超,葛  竹

(中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原030051)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。