本文主要介绍了目前计步检测算法的基本原理、计步检测使用的传感器类型,帮助大家对计步检测入门有所认识了解。如有疑问,请联系微信wangxiaoqiang—。
首先我们来看一下人在走路时大致分为下面几种场景:
正常走路,手机拿在手上(边走边看、甩手、不甩手)
慢步走,手机拿在手上(边走边看、甩手、不甩手)
快步走,手机拿在手上(甩手、不甩手、走的很快一般不会看手机吧)
手机放在裤袋里(慢走、快走、正常走)
手机放在上衣口袋里(慢走、快走、正常走)
上下楼梯(上面五中场景可以在这个场景中再次适用一遍)
以上,不管出于哪一种场景(其实对应手机不同的运动规律),传感器的三轴数据都是有规律可以寻找的。每一步都有特征点,找到这个特征点,就是识别出来一步。
从上图可以看出行人行走是左右腿周期性交替摆动的过程。行人的步态周期可以分为脚部着地阶段和跨步摆动阶段。着地阶段从行人脚跟着地开始,到脚尖离地结束;跨步摆动阶段从脚尖离地开始到脚跟着地结束,如此双腿不断交替运动。
行人行走对应运动参数变化关系
加速度传感器又叫A-sensor,获取的是x、y、z三轴的加速度数值。该数值包含地心引力的影响,单位是m/s^2。
将手机平放在桌面上,x轴默认为0,y轴默认0,z轴默认9.81。
加速度传感器可能是最为成熟的一种mems产品,市场上的加速度传感器种类很多。手机中常用的加速度传感器有BOSCH(博世)的BMA系列,AMK的897X系列,ST的LIS3X系列等。这些传感器一般提供±2G至±16G的加速度测量范围,采用I2C或SPI接口和MCU相连,数据精度小于16bit。
重力传感器简称GV-sensor,输出重力数据。
在地球上,重力数值为9.8,单位是m/s^2。
坐标系统与加速度传感器相同。
当设备复位时,重力传感器的输出与加速度传感器相同。
线性加速度传感器简称LA-sensor。
线性加速度传感器是加速度传感器减去重力影响获取的数据。单位是m/s^2,坐标系统与加速度传感器相同。
加速度传感器、重力传感器和线性加速度传感器的计算公式如下:
加速度 = 重力 + 线性加速度。
当智能手机处于稳定状态时,加速度传感器和重力传感器的读数几乎相同。然而,当智能手机处于运动状态,这两个传感器的读数明显不同。因此,当用户使用智能手机移动时,加速度传感器可用于测量加速度数据,重力传感器可用于识别智能手机的姿势。
在传统方法中,加速度计被广泛用于收集加速度数据。然而,随着加速度计的移动速度变得更快,基于加速度传感器的步进检测的精度显著降氏此外,当智能手机的姿势发生变化时,加速度数据也会发生显著变化。为了克服这些缺点,本人提出的方案中使用了线性加速度传感器和重力传感器。