一种基于三轴加速度传感器的动态切换计算轴的计步方法与流程

文档序号:12861900阅读:2338来源:国知局

本发明涉及计步技术领域,尤其涉及一种基于三轴加速度传感器的动态切换计算轴的计步方法。



背景技术:

现代人很多非常注重自己的日常锻炼,计步作为一种有效记录、监控锻炼的监控手段,被广泛应用在智能跑鞋中。现有的智能跑鞋在其内安装有三轴加速度传感器,三轴传感器的x轴正方向朝向前方,y轴正方向朝向左侧,z轴正方向竖直向上,通过三轴加速度传感器检测的数据计步,现有的计步方法适合走路和慢跑场景,在快速跑的情况下就不太准确。



技术实现要素:

本发明的目的是克服现有计步方法在人快速跑时计步不准确的技术问题,提供了一种基于三轴加速度传感器的动态切换计算轴的计步方法,其在人运动状态变化时,动态切换计算轴,保证了人各个运动状态下的计步准确性。

本发明的一种基于三轴加速度传感器的动态切换计算轴的计步方法,三轴加速度传感器设置在鞋内且x轴正方向朝向鞋体前方,包括以下步骤:

s1:微处理器读取三轴加速度传感器输出的检测数据,根据人体运动状态选择相应的数据进行处理,人体运动状态初始设置为走路状态,当人体运动状态为走路状态或慢跑状态时,只选择x轴加速度数据进行处理,当人体运动状态为快速跑状态时,只选择xyz三轴合加速度数据进行处理;

s2:微处理器根据选择的数据绘制出加速度变化曲线图,检测加速度变化曲线图中的波峰,当某个波峰对应的加速度值小于或等于设定值f时,将该波峰去除,当相邻两个波峰之间的采样点小于设定值k时,将这两个波峰中加速度值最小的波峰去除,波峰对应的时间点为脚落地的时刻;

s3:微处理器根据加速度变化曲线图中的波峰数目a计算出当前计步步数b,b=(a-1)×2;

s4:微处理器判断当前人体的运动状态并进行设置,判断当前人体运动状态并进行设置的方法包括以下步骤:统计最新一个波峰的前两个波峰之间的采样点个数d,当a1≤d<a2且最新一个波峰的前一个波峰加速度值大于m时,判断人体处于快速跑状态,将人体运动状态设置为快速跑状态;当a2≤d≤a3时,判断人体处于慢跑状态,将人体运动状态设置为慢跑状态;当a3<d≤a4时,判断人体处于走路状态,将人体运动状态设置为走路状态,a1<a2<a3<a4。

在本技术方案中,本方法的三轴加速度传感器设置在鞋体内,三轴加速度传感器的x轴正方向朝向鞋体前方,y轴正方向朝向鞋体左侧,z轴正方向竖直向上,通过检测人体单脚的运动情况进行计步。

以f取1.5g,m取5g,a1取10,a2取18,a3取25,a4取80为例进行说明:

本方法根据加速度变化曲线图中变化曲线的极大值来判断波峰,当加速度超过1.5g时,即可进入波峰的判断条件里面,同时也会引入伪波峰,由于人走路或者跑步的极限频率可以估算出来,波峰之间的间距不会小于k个采样点,所以当两个波峰之间的间距小于k时,即可根据波峰值大小,选取较大的值作为一个计步的波峰,即数值较大的波峰为真波峰,数值较小的波峰为伪波峰。

由于只在一只鞋子上设置三轴加速度传感器,加速度变化曲线图上出现一次波峰,人左右脚各走了一步,所以,波峰与步数是1比2的关系,即一个波峰对应走路2步。由于存在伪波峰,所以最后一个波峰不能判断是否是真波峰,本方法在最新出现一个波峰时,才计算前一个波峰是否是真波峰,所以本方法计步有一个波峰的滞后。

本方法根据最新一个波峰的前两个波峰之间的采样点个数d及最新一个波峰的前一个波峰加速度值判断人体当前的运动状态。当人体处于走路状态或慢跑状态时,x轴、y轴、z轴的检测数据较准确,采用xyz三轴合加速度的数据进行计步;当人体处于快速跑状态时,人体朝前方高速前进,人的脚在y轴、z轴方向的运动幅度很小,检测数据不准确,因此,只选取x轴加速度的数据进行计步,保证计步的精确性。

作为优选,所述步骤s3还包括以下步骤:当步数b小于c时,缓存步数b的数值,微处理器不输出步数b的数值,当步数b大于或等于c时,微处理器输出步数b的数值。

c≥6,缓存步数主要用在判断何时开始进入计步状态,为了避免一些扰动,比如脚的任意晃动等,这里设计了缓存步数就是当步数大于或等于c步时候开始进入计步模式,微处理器输出步数b的数值到显示屏等模块,后面产生的步数将进行累加,在没有达到c步的时候则先暂时缓存这些步数。

作为优选,所述一种基于三轴加速度传感器的动态切换计算轴的计步方法还包括以下步骤:当加速度变化曲线图中的最后一个波峰之后连续d个采样点都没有出现新的波峰时,微处理器结束本次计步,将加速度变化曲线图清零,如果此时步数b大于或等于c,计算出本次计步的总步数c=b+2。

c≥6,当最后一个波峰之后连续d(如80)个采样点都没有出现新的波峰时,判断人体停止运动,结束计步,总步数加2,即把滞后的最后一个波峰换算成步数加进总步数。

作为优选,所述三轴加速度传感器的检测频率为25hz,k为8-15。

作为优选,所述步骤s2中在根据选择的数据绘制出加速度变化曲线图之前采用二次均值滤波方法对选择的数据进行滤波。采用二次均值滤波方法,使得到的数据更加平滑,计算复杂度更低,效率更快。

作为优选,三轴加速度传感器的数据上报模式采用fifo模式。

本发明的有益效果是:在人运动状态变化时,动态切换计算轴,保证了人各个运动状态下的计步准确性。

附图说明

图1是本发明的一种工作流程图。

具体实施方式

下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。

实施例:本实施例的一种基于三轴加速度传感器的动态切换计算轴的计步方法,三轴加速度传感器设置在鞋内且x轴正方向朝向鞋体前方,如图1所示,包括以下步骤:

s1:微处理器读取三轴加速度传感器输出的检测数据,根据人体运动状态选择相应的数据进行处理,人体运动状态初始设置为走路状态,当人体运动状态为走路状态或慢跑状态时,只选择x轴加速度数据进行处理,当人体运动状态为快速跑状态时,只选择xyz三轴合加速度数据进行处理;

s2:微处理器根据选择的数据绘制出加速度变化曲线图,检测加速度变化曲线图中的波峰,当某个波峰对应的加速度值小于或等于1.5g时,将该波峰去除,当相邻两个波峰之间的采样点小于设定值10时,将这两个波峰中加速度值最小的波峰去除,波峰对应的时间点为脚落地的时刻;

s3:微处理器根据加速度变化曲线图中的波峰数目a计算出当前计步步数b,b=(a-1)×2,当步数b小于6时,缓存步数b的数值,微处理器不输出步数b的数值,当步数b大于或等于6时,微处理器输出步数b的数值并保存;

s4:微处理器判断当前人体的运动状态并进行设置,判断当前人体运动状态并进行设置的方法包括以下步骤:统计最新一个波峰的前两个波峰之间的采样点个数d,当10≤d<18且最新一个波峰的前一个波峰加速度值大于5g时,判断人体处于快速跑状态,将人体运动状态设置为快速跑状态;当18≤d≤25时,判断人体处于慢跑状态,将人体运动状态设置为慢跑状态;当25<d≤80时,判断人体处于走路状态,将人体运动状态设置为走路状态。

当加速度变化曲线图中的最后一个波峰之后连续80个采样点都没有出现新的波峰时,微处理器结束本次计步,将加速度变化曲线图清零,如果此时步数b大于或等于6,计算出本次计步的总步数c=b+2。

三轴加速度传感器采用lis3dh这款传感器来举例说明,lis3dh传感器设置采样率为25hz、采集的计算轴为x、y和z、加速度的量程设置为正负8g和数据上报模式为fifo模式等。出于省电考虑,传感器在不工作情况下将进入低功耗模式。在这种低功耗模式场景下还可以被唤醒,这里主要采用运动中断唤醒的方法,就是当xyz三轴合加速度超过一定阈值(如250mg)时,传感器重新进入工作模式。

本方法的三轴加速度传感器设置在鞋体内,三轴加速度传感器的x轴正方向朝向鞋体前方,y轴正方向朝向鞋体左侧,z轴正方向竖直向上,通过检测人体单脚的运动情况进行计步。步骤s2中在根据选择的数据绘制出加速度变化曲线图之前采用二次均值滤波方法对选择的数据进行滤波。采用二次均值滤波方法,使得到的数据更加平滑,计算复杂度更低,效率更快。

本方法根据加速度变化曲线图中变化曲线的极大值来判断波峰,当加速度超过1.5g时,即可进入波峰的判断条件里面,同时也会引入伪波峰,由于人走路或者跑步的极限频率可以估算出来,波峰之间的间距不会小于10个采样点,所以当两个波峰之间的间距小于10时,即可根据波峰值大小,选取较大的值作为一个计步的波峰,即数值较大的波峰为真波峰,数值较小的波峰为伪波峰。

由于只在一只鞋子上设置三轴加速度传感器,加速度变化曲线图上出现一次波峰,人左右脚各走了一步,所以,波峰与步数是1比2的关系,即一个波峰对应走路2步。由于存在伪波峰,所以最后一个波峰不能判断是否是真波峰,本方法在最新出现一个波峰时,才计算前一个波峰是否是真波峰,所以本方法计步有一个波峰的滞后。

本方法根据最新一个波峰的前两个波峰之间的采样点个数d及最新一个波峰的前一个波峰加速度值判断人体当前的运动状态。当人体处于走路状态或慢跑状态时,x轴、y轴、z轴的检测数据较准确,采用xyz三轴合加速度的数据进行计步;当人体处于快速跑状态时,人体朝前方高速前进,人的脚在y轴、z轴方向的运动幅度很小,检测数据不准确,因此,只选取x轴加速度的数据进行计步,保证计步的精确性。

缓存步数主要用在判断何时开始进入计步状态,为了避免一些扰动,比如脚的任意晃动等,这里设计了缓存步数就是当步数超过5步时候开始进入计步模式,微处理器输出步数b的数值到显示屏等模块,后面产生的步数将进行累加,在没有达到5步的时候则先暂时缓存这些步数。

当最后一个波峰之后连续80个采样点都没有出现新的波峰时,判断人体停止运动,结束计步,总步数加2,即把滞后的最后一个波峰换算成步数加进总步数。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1