方曉明,蘇凱雄
(福州大學 物理與信息工程學院,福建 福州 350002)
研究表明,隨著運動健康的理念深入人心,智能手環(huán)作為一款簡單、方便的可穿戴裝置越來越普及,已從最初的計步擴展到面向醫(yī)療、安全、運動等特定領域。目前智能手環(huán)在乒乓球、羽毛球運動上并未有對應的成熟產(chǎn)品[1]。
本文設計的可穿戴的面向乒乓球、羽毛球的運動分析裝置,具有一定的研究和市場價值。該方案通過運動傳感器采集運動數(shù)據(jù)經(jīng)由STM32預處理后通過藍牙模塊將數(shù)據(jù)傳輸至安卓終端進行運動狀態(tài)的識別和分析。
設計的系統(tǒng)組成如圖1所示,主要包含:AMR處理器、運動傳感器、藍牙模塊、安卓終端等。
圖1 系統(tǒng)組成框圖
ARM處理器選取STM32F103CBT6,其具有高性能、低功耗、低成本的特點。該芯片為F103增強型系列,增強型系列時鐘頻率達到72 MHz,具有128 KB Flash,滿足Flash容量的需求[2]。
選取MPU6050作為運動傳感器芯片。MPU6050為全球首例整合性6軸運動處理組件,相較于多組件方案,免除了組合陀螺儀與加速器時間軸之差的問題,減少了大量的封裝空間[3]。由于為腕帶類產(chǎn)品,因此需要在體積、重量上進行有效的控制。此外運動傳感器的數(shù)據(jù)需求為3軸的加速度傳感器數(shù)據(jù)以及3軸的角速度傳感器數(shù)據(jù),因此MPU6050滿足需求。
交互方式采用小體積藍牙BLE4.0模塊。相比傳統(tǒng)藍牙速度更快,覆蓋范圍更廣,安全性更高,功耗更低[4]。
安卓終端主要負責運動數(shù)據(jù)的識別和分析、分析結(jié)果的呈現(xiàn)以及對手環(huán)的控制功能。
STM32程序設計主要涉及對自身資源的初始化操作、對外設的控制管理功能、低功耗方案的實現(xiàn),設計流程圖如圖2所示,最終實現(xiàn)將采集到的運動數(shù)據(jù)進行存儲、預處理、藍牙轉(zhuǎn)發(fā)以及安卓終端解析。并且通過低功耗設計,實現(xiàn)工作/待機的轉(zhuǎn)換,提升續(xù)航能力。
圖2 STM32程序設計流程圖
(1)STM32的初始化操作
STM32初始化操作對象包括:系統(tǒng)時鐘、GPIO、串口、中斷向量等。
(2)STM32對外設的管理控制功能
STM32通過I2C獲取MPU6050的運動特征數(shù)據(jù),對數(shù)據(jù)進行預處理,按自定義協(xié)議對數(shù)據(jù)封包,通過藍牙傳輸數(shù)據(jù)至移動終端,并通過藍牙接收來自移動終端的控制指令,根據(jù)控制指令響應操作。
(3)低功耗模式設計
STM32除了完成以上的基本功能,還要滿足低功耗的設計需求。STM32有3種低功耗模式:睡眠模式、停機模式、待機模式。
綜合表1的分析比較,設計采用停機模式。首先,睡眠模式功耗最高,續(xù)航能力提升不明顯。其次,待機模式功耗雖然最低,僅為2 μA,但是只有特定引角可以喚醒,實時性不是很好。再者,停機模式功耗20 μA滿足設計需求,且通過合理的設計,可由串口數(shù)據(jù)進行喚醒,喚醒方便。
表1 STM32各模式下功耗對比
設計采取的低功耗方案為:開機即進入低功耗模式,當藍牙成功連接后移動終端發(fā)送指令使STM32恢復到正常工作模式。當藍牙斷開連接前移動終端發(fā)送指令使STM32再次進入低功耗模式。
采用的藍牙芯片USR-BLE101具有體積小、功耗低等特點,并且有多種低功耗模式可供選擇,可進一步提高續(xù)航能力。藍牙通信需要設置一套可靠的用戶數(shù)據(jù)接口通信協(xié)議,從而預防藍牙通信過程中可能存在的丟包、錯包現(xiàn)象,保證運動分析算法的可靠進行。
如表2所示,藍牙模塊具有3種低功耗模式可供選擇,設計采用深度睡眠模式,通過藍牙連接即可喚醒,實時性較好,功耗也在合適范圍。
表2 藍牙模塊低功耗模式對比
藍牙模塊的優(yōu)勢是體積小、功耗低,但對于數(shù)據(jù)傳輸速率有一定的要求,當速率太快時容易出現(xiàn)錯包丟包現(xiàn)象。因此通過設置延時將傳輸速率控制在1.3 KB/s。
由于藍牙通信速率和數(shù)據(jù)包大小的限制,本協(xié)議定義的傳輸數(shù)據(jù)包長度為20 B每包。每包以固定包頭“$DATA”開頭,“*”加上1 B校驗字段結(jié)尾,內(nèi)容包含加速度、角速度與電量數(shù)據(jù)字段。校驗字段用來對APP接收數(shù)據(jù)進行校驗,如校驗和不符,則說明該包在傳輸過程中由于傳輸信道的影響造成數(shù)據(jù)的部分丟失或者錯誤,丟棄本條數(shù)據(jù),從而過濾誤碼數(shù)據(jù),增強分析可靠性。
將裝置佩戴于握拍手腕,運動傳感器采集的運動數(shù)據(jù)通過藍牙傳輸給移動終端,移動終端通過支持向量機的機器學習方法對運動數(shù)據(jù)進行學習,用于動作識別與分析[5]。
設計需在運動開始后一段時間識別出運動類型,即乒乓球還是羽毛球。因此,需要對兩項運動的特征進行分析。兩項運動的主要區(qū)別如下:
(1)揮拍加速度值不同
羽毛球的場地相對乒乓球場地更大,而高遠球具有較遠的傳輸范圍,是比較頻繁的動作之一。執(zhí)行高遠球時揮拍加速度較大。
(2)跳擊動作
乒乓球運動一般不存在跳擊動作;而羽毛球由于攔網(wǎng)的高度在執(zhí)行扣殺時需要選手跳到合適的高度進行跳擊。
(3)1 s內(nèi)執(zhí)行動作的次數(shù)
因為羽毛球場地空間的原因,往往在1 s內(nèi)無法執(zhí)行多次有效擊球動作。相反,乒乓球在對攻時,1 s內(nèi)頻繁出現(xiàn)多次擊球的情況。
運動傳感器獲取3軸加速度數(shù)據(jù)和3軸角速度數(shù)據(jù)。所得到的加速度和角速度都是直角坐標系下的三維向量。單純使用加速度求積分得到的速度信息會累積偏差導致失效,因此本文采用以下方案。
首先,定義初始時刻的坐標系為基準坐標系,通過累加轉(zhuǎn)動角度,得到各時刻在基準坐標系下的轉(zhuǎn)換矩陣。其次,將該時刻的加速度,根據(jù)轉(zhuǎn)換矩陣變換到基準坐標系下。利用矯正后的加速度計算每個采樣時刻的速度,并換算成km/h。
矩陣變換公式如下:
(1)
通過運動分析算法分析更加精細的動作,如乒乓球的拉球、搓球、削球以及羽毛球的扣殺、吊球、高遠球等。
觀測運動傳感器采集運動員的運動數(shù)據(jù)發(fā)現(xiàn),每一個擊球動作均有動作起始點和動作結(jié)束點,即每個動作存在一個有效區(qū)間。分割動作的作用區(qū)間,提取動作區(qū)間的統(tǒng)計特征信息(均值、方差、峰值、偏斜等)作為支持向量機的輸入特征向量,結(jié)合每個動作的類型(即標簽)進行訓練,得到訓練完備的分類器,實現(xiàn)對擊球動作的精細分類,具體流程如圖3所示。
圖3 運動分析算法流程圖
首先進行運動數(shù)據(jù)的讀取,對x、y、z軸的加速度做平方和操作,得到總加速度。通過離散小波變換去除含有噪聲的細節(jié)信號,保留近似信號。
其次,訓練時對總加速度數(shù)據(jù)按窗口劃分,設置窗口大小及滑動步長。具體如下:從第一個點開始,以13為步長進行窗口劃分,在每個窗口內(nèi)部進行求峰值處理,獲得大于閾值點的峰值坐標,對這些峰值數(shù)據(jù)的橫坐標進行處理,判斷相鄰的兩個峰值的橫坐標差的絕對值是否小于10,如果小于10,則去除峰值較小的那個峰值信息。測試時,設置窗口大小為20,步長為10,相鄰峰值間橫坐標差值的絕對值不小于5。
再次,利用獲得的峰值信息,選取相同長度的區(qū)間作為動作有效區(qū)域。對該區(qū)間6個軸的信息進行特征提取,包括平均值、方差、偏態(tài)、峰度、FFT的直流成分等。每一組數(shù)據(jù)可以獲得30維的特征。將特征進行歸一化處理,得到最終的樣本集。訓練部分為將特征信息的訓練集放入SVM中得到訓練模型。測試部分為用測試集測試獲得動作標簽。
低功耗模式的測試方案為:將裝置連接直流穩(wěn)壓電源,實時觀察直流穩(wěn)壓電源的電壓值、電流值。根據(jù)電壓和電流的變化判定手環(huán)是否進入低功耗模式和退出低功耗模式。測試結(jié)果如表3所示。通過測試可以發(fā)現(xiàn),本文所設計的低功耗模式可以較好地降低功耗,提升運動分析裝置的續(xù)航能力。
表3 低功耗模式測試情況
采集乒乓球運動員的動作作為訓練集,訓練的動作分為8類,分別是反手搓球、正手搓球、反手拉球、正手拉球、反手推球、正手推球、反手削球和正手削球。訓練時,把訓練數(shù)據(jù)按照算法流程進行處理獲得對應的特征向量,將特征向量放入SVM模型中得到訓練后的模型。羽毛球數(shù)據(jù)采取類似方案獲取。
實際測試時,運動員佩戴裝置于手腕處進行一段時間的運動,測試分析結(jié)果如圖4所示。
圖4 運動分析APP界面
對結(jié)果進行分析發(fā)現(xiàn),該裝置能正確識別出動作類型為乒乓球運動,并且可以檢測出揮臂次數(shù)、揮臂速度、步數(shù)、跳擊、拉球、搓球、削球的對應數(shù)據(jù)。
隨著谷歌眼鏡的亮相,人們步入了“智能可穿戴設備元年”,市場上出現(xiàn)了各種各樣的智能可穿戴設備[6]。同時,羽毛球和乒乓球兩項運動在國內(nèi)擁有廣大運動群體,乒乓球更是被稱為“國球”。但通過分析顯示,目前智能穿戴市場上面向以上兩種運動的智能設備種類很少,且技術(shù)上仍有一定不足。因此本文設計了一款面向乒乓球、羽毛球運動的低功耗運動分析裝置,用于實時檢測兩項運動的運動狀態(tài),并且能識別分析出具體的運動項目以及動作類型。該設計對于乒乓球、羽毛球運動愛好者的運動體驗具有一定意義。
[1] 鄒月輝, 譚利. 我國體育用品智能化發(fā)展研究——以可穿戴式運動產(chǎn)品為例[J]. 南京體育學院學報(社會科學版), 2015(4):87-91.
[2] 楊志萌. 嵌入式紅外輻射計人機交互系統(tǒng)的設計與實現(xiàn)[D]. 青島:中國海洋大學, 2013.
[3] 馬玉猛. 通用航空飛機航姿數(shù)據(jù)獲取與分析技術(shù)研究[D]. 廣漢:中國民用航空飛行學院, 2016.
[4] 王德生. 全球智能穿戴設備發(fā)展現(xiàn)狀與趨勢[J]. 競爭情報, 2015, 11(5):52-59.
[5] 羅瑜. 支持向量機在機器學習中的應用研究[D]. 成都:西南交通大學, 2007.
[6] 陶澤榮. 可穿戴設備期待成為消費電子市場新增長點[J]. 世界電信, 2015(9):48-53.