资讯详情

一种基于六轴传感器的脚步运动识别方法与流程

本发明涉及脚步运动识别技术,特别是基于六轴传感器的脚步运动识别方法。

背景技术:

许多现代人非常重视他们的日常锻炼。步骤计算作为一种有效的记录和监控运动的监控手段,广泛应用于智能跑鞋中。现有的智能跑鞋配备了三轴加速度传感器,但只能简单地步骤计算,不能识别运动时脚的着陆姿势,不利于用户了解自己的行走姿势或跑步姿势。

技术实现要素:

本发明的目的是克服三轴加速度传感器安装在智能跑鞋中,只能简单步骤,不能识别脚的技术问题,提供基于六轴传感器的脚步识别方法,可以识别脚的着陆姿势,方便用户了解自己的行走姿势或跑步姿势。

基于六轴传感器的脚步运动识别方法包括以下步骤:

读取六轴传感器输出的检测数据,绘制微处理器XYZ当一个峰值对应时,三轴合加速度的合加速度变化曲线图检测合加速度变化曲线图中的峰值XYZ当三轴加速度小于或等于设定值F时,去除峰值。当相邻两个峰值之间的采样点小于设定值K时,在这两个峰值中XYZ去除三轴加速度最小的峰值,峰值对应的时间点是脚落地的时间点;

微处理器判断每个脚着陆时间的脚着陆姿势。判断脚着陆时间的脚着陆姿势的方法包括以下步骤:找出脚着陆时间后连续N个采样时间点对应的Y轴角速度值,找出N个Y轴角速度值中最小值MIN(Gy),从这N个Y选择轴角速度值的最小值MIN(Gy)采样时间点后的采样时间点对应的Y轴角速度值,从选定的Y轴角速度值中找出最大值MAX(Gy),计算最小值MIN(Gy)和最大值MAX(Gy)的平均值AVG(Gy),如果AVG(Gy)大于M1或MAX(Gy)大于M2,判断脚落地时的脚落地姿势为前脚落地姿势,否则判断脚落地时的脚落地姿势为后脚落地姿势。

该方法的六轴传感器设置在鞋体内,六轴传感器的X轴朝向鞋体前方,Y轴向左侧,Z轴向垂直向上,脚落地姿势通过检测人体单脚的运动来计算。

本方法根据合加速度变化曲线图中变化曲线的极大值来判断波峰,当XYZ当三轴加速度超过设定值F时,可以进入峰值判断条件,也可以引入伪峰值。由于可以估计人们行走或跑步的极限频率,峰值之间的间距不会小于K采样点,因此当两个峰值之间的间距小于K时,可以根据峰值的大小,选择较大值作为计步峰,即较大值的峰为真峰,较小值的峰为伪峰。

峰值对应的时间点是脚着陆的时间。通过前面计算的峰值,可以得到脚着陆的时间。理论上,前后脚着陆的过程基本上是在Y轴周围旋转的过程中,Y轴逆时针方向旋转,值为正,Y轴顺时针方向旋转,值为负。该方法提取脚落地时间后连续N个采样时间点对应的Y轴角速度值,首先找出这N个Y轴角速度值中最小值MIN(Gy),找出最小值MIN(Gy)剩余采样时间点对应Y轴角速度值的最大值MAX(Gy),计算最小值MIN(Gy)和最大值MAX(Gy)的平均值AVG(Gy),如果AVG(Gy)大于M1或MAX(Gy)大于M2.判断脚落地时的脚落地姿势为前脚落地姿势,否则判断脚落地时的脚落地姿势为后脚落地姿势。

作为优选,所述一种基于六轴传感器的脚步运动识别方法还包括以下步骤:微处理器根据合加速度变化曲线图中的波峰数目A计算出当前计步步数B,B=(A-1)×2.当步数B小于c时,缓存步数B的值,微处理器不输出步数B的值,当步数B大于或等于c时,微处理器输出步数B的值。

c≥6.由于只有六轴传感器设置在一只鞋上,加速度变化曲线图上有一个峰值,左脚和右脚各走一步,峰值和步数是1-2的关系,即峰值对应于2步。由于存在虚假的峰值,最后一个峰值无法判断是否是真正的峰值。当最新的峰值出现时,该方法计算了前一个峰值是否是真正的峰值,因此该方法有峰值滞后。缓存步数主要用于判断何时开始进入步数状态。为了避免一些干扰,如脚的任意晃动,这里设计了缓存步数,即当步数大于或等于C步时开始进入步数模式。微处理器将步数B的值输出到显示屏和其他模块,后面产生的步数将累积,这些步数将在达不到C步时暂时缓存。

作为首选,基于六轴传感器的步骤运动识别方法还包括以下步骤:当加速度变化曲线图中的最后一个峰值连续d采样点没有新峰值时,如果步数B大于或等于c,计算本计步的总步数C=B 2。

c≥6.当最后一个峰值连续时d(如80)当一个采样点没有出现新的峰值时,判断人体停止运动,结束计步,总步数加2,即将滞后的最后一个峰值转换为步数加入总步数。

六轴传感器检测频率为25HZ ,K为8-15。

作为优选,所述N为8-12。

作为首选,所述M1.80-120度/秒M2为30-50度/秒。

作为首选,当微处理器读取六轴传感器输出的检测数据时,采用卡尔曼滤波法过滤六轴传感器输出的数据。卡尔曼滤波法使数据更光滑,计算更复杂,效率更快。

六轴传感器数据报告模式作为首选,采用FIFO模式。

本发明的有益作用是识别人运动时脚的着陆姿势,方便用户了解自己的行走姿势或跑步姿势,然后纠正行走姿势或跑步姿势,避免运动扭伤。

附图说明

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

具体实施方法

本发明的技术方案通过实施例和附图进一步具体说明。

实施例:基于六轴传感器的脚步运动识别方法,如图1所示,包括以下步骤:

微处理器读取六轴传感器输出的检测数据,用卡尔曼滤波法滤波六轴传感器输出的数据,绘制XYZ当一个峰值对应时,三轴合加速度的合加速度变化曲线图检测合加速度变化曲线图中的峰值XYZ三轴加速小于或等于1.5g当相邻两个峰值之间的采样点小于设定值10时,去除峰值,在这两个峰值中XYZ去除三轴加速度最小的峰值,保留XYZ三轴加速度最大的峰值,峰值对应的时间点是落地时间;

微处理器判断每个脚着陆时间的脚着陆姿势,判断脚着陆时间的脚着陆姿势的方法包括以下步骤:找出脚着陆时间后连续10个采样时间点对应的Y轴角速度值,找出10个Y轴角速度值中的最小值MIN(Gy),从这10个Y轴角度值中选择最小值MIN(Gy)采样时间点后的采样时间点对应的Y轴角速度值,从选定的Y轴角速度值中找出最大值MAX(Gy),计算最小值MIN(Gy)和最大值MAX(Gy)的平均值AVG(Gy),如果AVG(Gy)大于100度/秒或MAX(Gy)大于40度/秒,判断脚落地时的脚落地姿势为前脚落地姿势,否则判断脚落地时的脚落地姿势为后脚落地姿势。

根据合加速度变化曲线图中的峰数A计算当前步数B,B=(A-1)×2.当步数B小于6时,缓存步数B的值,微处理器不输出步数B的值,当步数B大于或等于6时,并保存微处理器输出步数B的值。

当合加速度变化曲线图中的最后一个峰值连续80个采样点没有新峰值时,微处理器结束步骤,清除合加速度变化曲线图。如果步数B大于或等于6,则计算步数的总步数C=B 2。

采用六轴传感器MPU以6500传感器为例,MPU6500传感器采样率为25Hz、采集的计算轴是AxAyAz和GxGyGz、加速度的量程设置为正负8g、陀螺仪的角速度量程为正负500度/s采用数据报告模式FIFO模式等。出于省电考虑,传感器在不工作情况下将进入低功耗模式。在这种低功耗模式下也可以唤醒,这里主要采用运动中断唤醒的方法,即当XYZ如250mg)传感器重新进入工作模式。

该方法的六轴传感器设置在鞋体内,六轴传感器的X轴朝向鞋体前方,Y轴向左侧,Z轴向垂直向上,通过检测人体单脚的运动来计算脚的着陆姿势和运动步数。通过卡尔曼滤波法过滤六轴传感器输出的检测数据,然后通过微处理器进行处理和识别。卡尔曼滤波法使数据更加平滑,计算复杂性更低,效率更快。

该方法根据滤波后加速度变化曲线图中变化曲线的极大值来判断峰值XYZ三轴合加速度超过1.5g当可以进入峰值的判断条件时,也会引入伪峰值。由于可以估计人们行走或跑步的极限频率,峰值之间的间距不会小于10个采样点,因此当两个峰值之间的间距小于10时,可以根据峰值的大小,选择较大值作为计步峰,即较大值的峰为真峰,较小值的峰为伪峰。

峰值对应的时间点是脚着陆的时间。通过前面计算的峰值,可以得到脚着陆的时间。理论上,前后脚着陆的过程基本上是在Y轴周围旋转的过程中,Y轴逆时针方向旋转,值为正,Y轴顺时针方向旋转,值为负。该方法提取脚落地时间后连续10个采样时间点对应的Y轴角速度值,首先找出10个Y轴角速度值中的最小值MIN(Gy),找出最小值MIN(Gy)剩余采样时间点对应Y轴角速度值的最大值MAX(Gy),计算最小值MIN(Gy)和最大值MAX(Gy)的平均值AVG(Gy),如果AVG(Gy)大于M1或MAX(Gy)大于M2.判断脚落地时的脚落地姿势为前脚落地姿势,否则判断脚落地时的脚落地姿势为后脚落地姿势。

由于只有六轴传感器设置在一只鞋上,加速度变化曲线图上有一个峰值,左脚和右脚分别行走一步,峰值和步数是1-2,即峰值对应行走2步。由于存在虚假的峰值,最后一个峰值无法判断是否是真正的峰值。当最新的峰值出现时,该方法计算了前一个峰值是否是真正的峰值,因此该方法有峰值滞后。缓存步数主要用于判断何时开始进入步数状态。为了避免一些干扰,如脚的任意晃动,这里设计了缓存步数,即当步数超过5步时,开始进入步数模式。微处理器输出步数B的值到达显示屏等模块。显示步数,后面产生的步数会累积,这些步数数将暂时缓存,微处理器不将步数B的值输出到显示屏等模块,显示屏不显示步数。

当最后一个峰值连续80个采样点没有新的峰值时,判断人体停止运动,结束步骤,总步数加2,即将滞后的最后一个峰值转换为步数加入总步数。

标签: 传感器m1六轴姿态加速度传感器传感器6k

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台