利用三轴加速器的计步测算方法

Posted yll1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用三轴加速器的计步测算方法相关的知识,希望对你有一定的参考价值。

1. 了解模型特征

  目前大部分设备都提供了可以检测各个方向的加速检测器,以ios设备为例,我们利用了其三轴加速计(x,y,z轴代表方向如图)的特性来分析。分别用以检测人步行中三个方向的加速度变化。  

  用户在水平步行运动中,垂直和前进两个加速度会呈现周期性变化,如图所示,在步行收脚的动作中,由于重心向上单只脚触地,垂直方向加速度是呈正向增加的趋势,之后继续向前,重心下移两脚触底,加速度相反。水平加速度在收脚时减小,在迈步时增加。

  反映到图表中,我们可以看到在步行运动中,垂直和前进产生的加速度与时间大致为一个正弦曲线,而且在某点有一个峰值,其中垂直方向的加速度变化最大,通过对轨迹的峰值进行检测计算和加速度阈值决策,即可实时计算用户运动的步数,还可依此进一步估算用户步行距离。

 

2.  计步算法

  因为用户在运动中可能手平持设备或者将设备置于口袋中,所以设备的放置方向不定,为此我们通过计算三个加速度的矢量长度,获得一条步行运动的正弦曲线轨迹。

  第二步是峰值检测,我们记录了上次矢量长度和运动方向,通过矢量长度的变化,可以判断目前加速度的方向,并和上一次保存的加速度方向进行比较,如果是相反的,即是刚过峰值状态,则进入计步逻辑进行计步,否则舍弃。通过对峰值的次数累加可得到用户步行步伐。

  最后是去干扰,手持设备会有一些低幅度和快速的抽动状态,或是我们俗称的手抖,或者某个恶作剧用户想通过短时快速反复摇动设备来模拟人走路,这些干扰数据如果不剔除,会影响记步的准确值,对于这种干扰,我们可以通过给检测加上阈值和步频判断来过滤。

 

  人体最快的跑步频率为5HZ,也就是说相邻两步的时间间隔的至少大于0.2秒,如图所示,我们设置了timespan在记步过程中我们过滤了高频噪声,即步频过快的情况。同时我们通过和上次加速度大小进行比较,设置设立一定的阈值Threshold来判断运动是否属于有效,有效运动才可进行记步。

 

3. 关于计步器的扩展

  以上是一个依靠加速度测算的计步器实现原理,已知步行和跑步的步伐经验值,那么稍微改进下即可变成一个测距测速计。

  通过三轴加速度我们可以知道用户的运动状态,除了计步,我们还可以通过加速器的变化曲线判断用户摔倒状态,做成一个老人和儿童摔倒检测自动报警器。

以上是关于利用三轴加速器的计步测算方法的主要内容,如果未能解决你的问题,请参考以下文章

利用h5,chart.js监测手机三轴加速度,用以研究计步算法等

加速传感器作用与原理是啥?

android中的计步问题及计步传感器分析

三轴加速度传感器原理及应用

惯性测量传感器的啥六轴,九轴指的是啥

关于安卓手机三轴加速度传感器的一些问题。