現如今,很多現代人都非常注重自己的日常鍛煉,計步作為一種有效記錄監控鍛煉的監控手段,被廣泛應用在移動(dòng)終端的應用中。 目前,大部分的計步都是通過(guò)GPS信號來(lái)測算運動(dòng)距離,再反推行走步數實(shí)現的。這種方法很是有效,但在室內或沒(méi)有GPS信號的設備上無(wú)法工作。同時(shí),GPS精度對結果的干擾也比較大。
為避免上述問(wèn)題的出現,我們可以考慮一種新的測步方法,即:通過(guò)設備上的加速度傳感器來(lái)計算步數,在不支持GPS的設備上也可正常工作。還可以與GPS互相配合測步,這樣可令使用場(chǎng)景變得多樣。
1.先要摸清模型的特征
目前,大部分設備都提供了可以檢測各個(gè)方向的加速度傳感器。以iOS設備為例,我們利用了其三軸加速度傳感器(x,y,z軸代表方向如圖)的特性來(lái)分析。分別用以檢測人步行中三個(gè)方向的加速度變化。
*
iOS設備的三軸加速度傳感器示意圖
用戶(hù)在水平步行運動(dòng)中,垂直和前進(jìn)兩個(gè)加速度會(huì )呈現周期性變化,如圖所示。在步行收腳的動(dòng)作中,由于重心向上單只腳觸地,垂直方向加速度是呈正向增加的趨勢,之后繼續向前,重心下移兩腳觸底,加速度相反。水平加速度在收腳時(shí)減小,在邁步時(shí)增加。

反映到圖表中,可以看到,在步行運動(dòng)中,垂直和前進(jìn)產(chǎn)生的加速度與時(shí)間大致為一個(gè)正弦曲線(xiàn),而且在某點(diǎn)有一個(gè)峰值。其中,垂直方向的加速度變化最大,通過(guò)對軌跡的峰值進(jìn)行檢測計算和加速度閥值決策,即可實(shí)時(shí)計算用戶(hù)運動(dòng)的步數,還可依此進(jìn)一步估算用戶(hù)步行距離。

2.計步的合理算法
因為用戶(hù)在運動(dòng)中可能用手平持設備,或者將設備置于口袋中。所以,設備的放置方向不定。為此,通過(guò)計算三個(gè)加速度的矢量長(cháng)度,我們可以獲得一條步行運動(dòng)的正弦曲線(xiàn)軌跡。 第二步是峰值檢測,我們記錄了上次矢量長(cháng)度和運動(dòng)方向,通過(guò)矢量長(cháng)度的變化,可以判斷目前加速度的方向,并和上一次保存的加速度方向進(jìn)行比較。如果是相反的,即是剛過(guò)峰值狀態(tài),則進(jìn)入計步邏輯進(jìn)行計步,否則舍棄。通過(guò)對峰值的次數累加,可得到用戶(hù)步行的步伐。 最后,就是去干擾。手持設備會(huì )有一些低幅度和快速的抽動(dòng)狀態(tài),或是我們俗稱(chēng)的手抖,或者某個(gè)惡作劇用戶(hù)想通過(guò)短時(shí)快速反復搖動(dòng)設備來(lái)模擬人走路,這些干擾數據如果不剔除,會(huì )影響記步的準確值,對于這種干擾,我們可以通過(guò)給檢測加上閥值和步頻判斷來(lái)過(guò)濾。

人體最快的跑步頻率為5HZ,也就是說(shuō)相鄰兩步的時(shí)間間隔的至少大于0.2秒,如圖所示,我們設置了TImespan在記步過(guò)程中我們過(guò)濾了高頻噪聲,即步頻過(guò)快的情況。同時(shí)我們通過(guò)和上次加速度大小進(jìn)行比較,設置設立一定的閥值Threshold來(lái)判斷運動(dòng)是否屬于有效,有效運動(dòng)才可進(jìn)行記步。
3.關(guān)于計步器的擴展
以上是一個(gè)依靠加速度測算的計步器實(shí)現原理,已知步行和跑步的步伐經(jīng)驗值,那么稍微改進(jìn)下即可變成一個(gè)測距測速計。 通過(guò)三軸加速度傳感器,我們可以知道用戶(hù)的運動(dòng)狀態(tài)。除了計步,還可以通過(guò)加速器的變化曲線(xiàn)判斷用戶(hù)摔倒狀態(tài),做成一個(gè)老人和兒童摔倒檢測自動(dòng)報警器。 |