文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2015.09.017
中文引用格式: 蔡靖,田入運,劉磊,等. 基于人體傳感和Android技術(shù)的運動監(jiān)測系統(tǒng)設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2015,41(9):63-66.
英文引用格式: Cai Jing,Tian Ruyun,Liu Lei,et al. Design and implementation of a movement monitoring system based on the human body sensor and Android technology[J].Application of Electronic Technique,2015,41(9):63-66.
0 引言
運動競技和健康鍛煉中的運動過量和運動姿態(tài)不正確,會導(dǎo)致人體體能下降,平衡感降低,嚴(yán)重時會導(dǎo)致肌肉萎縮、軟骨損傷等永久性傷害。三軸加速度傳感器可全面有效地反應(yīng)人體運動情況,結(jié)合Android平臺,構(gòu)建運動模型,可有效糾正運動員不標(biāo)準(zhǔn)的運動姿態(tài),優(yōu)化運動訓(xùn)練、提高效率,防止運動損傷與運動過量。將該系統(tǒng)應(yīng)用于運動鍛煉中,還可有效預(yù)防老年人摔倒受傷,并為慢性病和肥胖癥患者提供評估自身運動量的相關(guān)幫助。
1 運動信息數(shù)學(xué)建模分析
1.1 運動過程能量消耗建模
每t1秒的步數(shù)n:第t1秒末人體的速度V1=V0+a1t1(m/s),t1秒內(nèi)的里程為x1=v0t1+a1(m),設(shè)一個成年人的步長為a(單位:m),則該人在t1秒內(nèi)所走步數(shù)可近似為n=x1/a。
運動平均速度V:由公式V=步頻n×步長l,可得到1 s內(nèi)平均速度,同時由于步長往往隨著步頻的改變而變化,因而不同步頻運動過程中的平均速度也不盡相同。由此,運動過程能量消耗也將隨步頻及運動速度的改變而產(chǎn)生變化。以大量身高相仿的運動對象為例,對其運動過程中的各運動參數(shù)進行匯總分析,得到步長l(單位:m)與步頻n(單位:步/s)的關(guān)系大致如表1所示 。
能量消耗W:依據(jù)上述對平均速度的求導(dǎo)辦法,對運動過程中的平均速度與能量消耗進行分析,得到如表2所示數(shù)據(jù),由表2可推導(dǎo)n秒內(nèi)卡路里消耗總量W=4.5w1i/1 800(C),其中w1(單位kg)為個體體重,由此便完成了對運動過程中能量消耗的建模分析。
1.2 人體運動模型的識別
1.2.1 基于三軸加速度校準(zhǔn)的人體姿態(tài)角計算
人體周圍區(qū)域的劃分以人體坐標(biāo)系為基準(zhǔn),判斷人體姿態(tài)主要利用俯仰角和翻滾角,在人體姿態(tài)角的計算過程中,設(shè)g為重力加速度,GX、GY、GZ為加速度傳感器三個正交測量軸上的測量值,俯仰角為,翻滾角為,求導(dǎo)辦法如下所示,由式(1)求得,由式(2)求得。
1.2.2 基于三軸加速度傳感器的運動模式的識別
人體運動模型可以看作是由轉(zhuǎn)身、步行、原地跳躍、下蹲等幾個基本的運動元素有機組合而成。人體運動模式識別是以人體姿態(tài)作為主要提取特征,以人體坐標(biāo)系為基準(zhǔn),進而對人體周圍空間分別進行水平和垂直劃分的,劃分方法如圖1所示。
人體周圍空間在XY平面上被平均分成四個區(qū)域,A、B、C、D區(qū)域分別為人體正面、左面、后面、右面空間。站立/蹲下/站立,站立/坐下/站立,以及前傾跑步等多種運動方式發(fā)生在A區(qū)域。仰臥、仰坐等動作發(fā)生在C區(qū)域。側(cè)臥或跌倒等動作發(fā)生在B、D區(qū)域。垂直軸到水平面共90°的空間被劃分為3個區(qū)域,為偏離垂直軸的角度。判定方法見表3。垂直方向上的劃分更加強調(diào)人體在某一方向運動的強烈程度。
位于D區(qū)。使用三維向量[X1,X2,X3]代表初始狀態(tài)、中間狀態(tài)和最終狀態(tài),獲取了人體的姿態(tài)序列,從而進一步確定運動中軀干部分姿態(tài)變化的過程。
2 系統(tǒng)總體結(jié)構(gòu)設(shè)計
系統(tǒng)通過測量三軸加速度(GX、GY、GZ),完成卡路里消耗計算,利用運動模式識別算法實現(xiàn)對人體姿態(tài)判斷以及跌倒警報預(yù)判,利用GPS定位技術(shù)實現(xiàn)人體運動軌跡跟蹤。綜合計算,以滿足人體運動狀態(tài)的監(jiān)測。
系統(tǒng)總體結(jié)構(gòu)流程圖如圖2所示。
2.1 硬件系統(tǒng)的設(shè)計
硬件系統(tǒng)由監(jiān)測人體運動的三軸加速度傳感器MPU6050、Micro SD卡、溫度傳感器DS18B20、有機發(fā)光二極管OLED顯示屏、處理數(shù)據(jù)的微處理器MSP430、以及藍牙模塊HC05等組成。系統(tǒng)框架和信息流向如圖3所示。
由圖3可知,微處理器通過溫度傳感器獲取人體體溫參數(shù),通過三軸加速度傳感器獲取人體在不同運動狀態(tài)時的三軸加速度以及人體所處的環(huán)境溫度。微處理器一方面將這些數(shù)據(jù)通過顯示屏顯示出來,另一方面又將這些數(shù)據(jù)存儲到SD卡中,以便對所獲取的數(shù)據(jù)進行離線分析;同時還可將這些數(shù)據(jù)通過藍牙模塊傳送到手機安卓平臺,通過算法分析和安卓手機編程將三軸加速度進行整合計算出人體在不同運動狀態(tài)下的速度,里程、卡路里消耗以及運動姿態(tài)情況,并在手機上顯示出來。
2.2 軟件系統(tǒng)的設(shè)計
系統(tǒng)軟件流程圖如圖4所示。
2.2.1 Android平臺的創(chuàng)建
Android平臺的服務(wù)端采用 Struts2+Hibernate 框架架構(gòu),數(shù)據(jù)存儲采用 MySQL 數(shù)據(jù)庫。服務(wù)器端架構(gòu)圖如圖5所示。
整個服務(wù)端采用多層次的架構(gòu),從上到下依次是控制器層、模型層、持久化層和數(shù)據(jù)庫層。Struts2 充當(dāng)控制層和模型層,Hibernate 充當(dāng)持久層。Struts2 框架中的FiltrDispatcher 作為控制器,它作為 Selvert 過濾器,接收用戶請求,過濾并轉(zhuǎn)發(fā)。Action 作為 Struts2 中的模型層,用來調(diào)用業(yè)務(wù)邏輯處理請求,還可以進行數(shù)據(jù)的傳遞。
2.2.2 GPS定位技術(shù)
GPS全球定位系統(tǒng)是通過分析GPS接收機終端和基站之間所傳播信號的特征參數(shù)來實現(xiàn)位置獲取功能的。當(dāng)前Android手機大都配備了完備的GPS接收系統(tǒng),該定位技術(shù)利用空間距離后方交會的方法,把GPS定位衛(wèi)星的瞬間位置當(dāng)作已知數(shù)據(jù),進而確定GPS接收機的所處位置。在此基礎(chǔ)上本系統(tǒng)通過對百度Map API技術(shù)的調(diào)用,構(gòu)建相應(yīng)的配套服務(wù)體系,通過百度Map API便可將設(shè)備所處的地理位置信息實時顯示在app界面,同時還能夠?qū)崿F(xiàn)地圖的加載、縮放及瀏覽功能,滿足用戶在使用該系統(tǒng)過程中的定位需求。
3 實驗結(jié)果與分析
基于人體傳感和Android技術(shù)的運動監(jiān)測系統(tǒng)的設(shè)計實驗樣本為10名身體健康、身高在160 cm~180 cm,體重在50 kg~60 kg的志愿者,實驗距離為50 m,實驗方法為直立行走、慢跑、跌倒三種運動狀態(tài),采集到的瞬時加速度實驗數(shù)據(jù)(忽略方向)如表4所示。將此過程中的能量消耗作為實驗變量,以此同標(biāo)準(zhǔn)跑步機所測得的能量消耗數(shù)據(jù)進行對比,進而便可分析系統(tǒng)測試結(jié)果的準(zhǔn)確程度。
3.1 實驗準(zhǔn)確性分析
實驗中,志愿者佩戴運動監(jiān)測系統(tǒng)與兄弟牌跑步機WL-195運動進行對比測試,測試結(jié)果數(shù)據(jù)如表5、表6、表7所示。
3.2 實驗數(shù)據(jù)分析
X、Y、Z軸的加速度為10名測試者在相同運動狀態(tài)下的平均值,而合成的加速度為三軸加速度,位于A區(qū),符合人體正常走步時的運動姿態(tài);當(dāng)人體慢跑時,?琢的平均值為37.64°,處于過渡態(tài),并且位于D區(qū),符合人體跌倒時的運動姿態(tài)。實驗測得三分鐘內(nèi)人體運動時的實時三軸加速度,由此合成得到人體正常行走、慢跑、正常行走時突然跌倒等階段的加速度曲線圖如分別圖6、圖7、圖8所示。
圖6~圖8三個曲線圖直觀地顯示了正常行走、跑步狀態(tài)以及跌倒?fàn)顟B(tài)下的加速度變化情況。此外,由于人體運動過程中的合加速度是由X、Y、Z三軸加速度進行矢量合成求得的,當(dāng)人體正常行走和跑步時,X軸加速度明顯大于Y軸和Z軸的加速度,且人體跑步過程中的三軸加速度分量都要明顯高于人體正常正常行走過程中的三軸加速度分量。人體在跌倒時處于失重狀態(tài),由于受到重力加速度影響,此時Z軸加速度出現(xiàn)明顯變化。人體跌倒時有不同姿態(tài),因此人體跌倒時的三軸加速度不盡相同,由圖8可知跌倒時的加速度與正常行走和跑步時的合速度出現(xiàn)明顯區(qū)別。
4 結(jié)論
本文提出一種便攜式運動監(jiān)測系統(tǒng)的設(shè)計方案,通過MSP430微控制器結(jié)合Android手機平臺實現(xiàn)人體運動的三軸加速度、速度、里程等參數(shù)測量,并通過運動模式識別算法判斷人體運動姿態(tài),并發(fā)出跌倒警報,并且利用GPS定位技術(shù)對運動路線進行實時跟蹤。系統(tǒng)對運動參數(shù)分析處理可得到運動消耗的卡路里,評估人體運動量,以防止運動過度和運動損傷對健康造成威脅。
參考文獻
[1] 吳黎明,張力鍇,李怡凡.基于ANN和單個三軸加速度傳感器的汽車運動姿態(tài)測量[J].傳感技術(shù)學(xué)報,2011,24(6):923-927.
[2] 陸樂,戴劍松,徐波,等.加速度傳感器測量不同速度運動時能量消耗的研究[J].西安體育學(xué)院學(xué)報,2013,30(1):104-107.
[3] 杜喆.基于接近式傳感器電子計步器的設(shè)計[J].機械與電子,2014(1):80-81.
[4] 劉鵬,盧潭城,呂愿愿,等.基于MEMS三軸加速度傳感器的摔倒檢測[J].傳感技術(shù)學(xué)報,2014,27(4):570-574.
[5] 黃棉波,楊豐,王磊,等.基于無線傳感器的患者運動信號檢測系統(tǒng)設(shè)計及其應(yīng)用[J].醫(yī)療衛(wèi)生裝備,2011,32(1):4-7.
[6] 朱國忠,韋彩虹,潘敏.基于三維加速度傳感器的人體運動能耗檢測算法的研究[J].傳感技術(shù)學(xué)報,2001,24(8):1217-1222.
[7] 蔡忠建.人體活動量的測量[J].渝州大學(xué)學(xué)報,1997,14(2):66-70.
[8] 邱淑敏,王歡,江崇民.運動健身能量消耗簡易測量方法的效度研究[J].體育科學(xué),2013,32(6):69-76.
[9] 朱弋,鄭爾信.人體運動量及能耗的測量[J].國外醫(yī)學(xué)生物醫(yī)學(xué)工程分冊,1997,17(4):202-206.
[10] 薛洋.基于單個加速度傳感器的人體運動模式識別[D].廣州:華南理工大學(xué),2011.
[11] 李路.基于多傳感器的人體運動模式識別研究[D].濟南:山東大學(xué),2010.
[12] 吳忠澤.基于智能移動終端的人體運動狀態(tài)監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)[D].廣州:華南理工大學(xué),2011.