本文主要介绍了目前计步检测算法的基本原理、计步检测使用的传感器类型,帮助大家对计步检测入门有所认识了解。如有疑问,请联系微信wangxiaoqiang—。

1.行人运动模型简介

首先我们来看一下人在走路时大致分为下面几种场景:

  1. 正常走路,手机拿在手上(边走边看、甩手、不甩手)

  2. 慢步走,手机拿在手上(边走边看、甩手、不甩手)

  3. 快步走,手机拿在手上(甩手、不甩手、走的很快一般不会看手机吧)

  4. 手机放在裤袋里(慢走、快走、正常走)

  5. 手机放在上衣口袋里(慢走、快走、正常走)

  6. 上下楼梯(上面五中场景可以在这个场景中再次适用一遍)

以上,不管出于哪一种场景(其实对应手机不同的运动规律),传感器的三轴数据都是有规律可以寻找的。每一步都有特征点,找到这个特征点,就是识别出来一步。


从上图可以看出行人行走是左右腿周期性交替摆动的过程。行人的步态周期可以分为脚部着地阶段和跨步摆动阶段。着地阶段从行人脚跟着地开始,到脚尖离地结束;跨步摆动阶段从脚尖离地开始到脚跟着地结束,如此双腿不断交替运动。

行人行走对应运动参数变化关系

  • 行人正常行走进入跨步摆动阶段,脚尖离地后,加速度为正值(以行人行走方向为正),速度增大,腿部加速摆动;
  • 随后加速度减小直至为零,速度达到最大值,腿部抬至最高点;
  • 加速度继续减小为负值,速度开始减小,腿部经历减速过程直至脚部着地,此时速度和加速度都近似为零,进入脚部着地阶段

2.计步检测使用传感器

2.1、加速度传感器

加速度传感器又叫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。

2.2重力传感器

重力传感器简称GV-sensor,输出重力数据。
在地球上,重力数值为9.8,单位是m/s^2。
坐标系统与加速度传感器相同。
当设备复位时,重力传感器的输出与加速度传感器相同。

2.3线性加速度传感器

线性加速度传感器简称LA-sensor。
线性加速度传感器是加速度传感器减去重力影响获取的数据。单位是m/s^2,坐标系统与加速度传感器相同。

加速度传感器、重力传感器和线性加速度传感器的计算公式如下:
加速度 = 重力 + 线性加速度。

当智能手机处于稳定状态时,加速度传感器和重力传感器的读数几乎相同。然而,当智能手机处于运动状态,这两个传感器的读数明显不同。因此,当用户使用智能手机移动时,加速度传感器可用于测量加速度数据,重力传感器可用于识别智能手机的姿势。

在传统方法中,加速度计被广泛用于收集加速度数据。然而,随着加速度计的移动速度变得更快,基于加速度传感器的步进检测的精度显著降氏此外,当智能手机的姿势发生变化时,加速度数据也会发生显著变化。为了克服这些缺点,本人提出的方案中使用了线性加速度传感器和重力传感器。

【手环算法开发】--计步检测,看着篇文章就懂了相关推荐

  1. PID算法搞不懂?看这篇文章就够了。

    点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 转自知乎: jason 原文链接:https://zhuanlan.zhihu.co ...

  2. python request 等待网页加载_用Python开发爬虫,看这篇文章就够了

    现在Python语言大火,在网络爬虫.人工智能.大数据等领域都有很好的应用.今天我向大家介绍一下Python爬虫的一些知识和常用类库的用法,希望能对大家有所帮助. 其实爬虫这个概念很简单,基本可以分成 ...

  3. PID算法搞不懂?看这篇文章。

    大家好,我是张巧龙,网上关于PID算法的文章很多,但是感觉有必要自己再进行一次总结,抽丝剥茧地重新认识了一下PID: 1 前言 2 开环控制 3 闭环控制 4 PID 4.1 系统架构 4.2 理论基 ...

  4. final类是否可以被代理_浅谈Java【代理设计模式】——看这篇文章就懂了

    什么是代理模式 为其他对象提供一种代理以控制对这个对象的访问. 为什么使用代理模式 中介隔离:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的 ...

  5. Vue开发入门看这篇文章就够了

    摘要: 很多值得了解的细节. 原文:Vue开发看这篇文章就够了 作者:Random Fundebug经授权转载,版权归原作者所有. 介绍 Vue 中文网 Vue github Vue.js 是一套构建 ...

  6. 如果你看不懂KMP算法,那就看一看这篇文章( 绝对原创,绝对通俗易懂)

    如果你看不懂KMP算法,那就看一看这篇文章(绝对原创,绝对通俗易懂) KMP算法,俗称"看毛片"算法,是字符串匹配中的很强大的一个算法,不过,对于初学者来说,要弄懂它确实不易.整个 ...

  7. 如果有人问你数据库的原理,叫他看这篇文章

    http://blog.jobbole.com/100349 一提到关系型数据库,我禁不住想:有些东西被忽视了.关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradat ...

  8. 如果有人问你数据库的原理,看这篇文章。(超长预警)

    长文,相当的通透.以下为scrat进行总结后的删减版. 下面假定你已经知道时间复杂度 关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata .但很少有文章讲解数据 ...

  9. Android 8.0新特性(看这篇文章就够了)

    2019独角兽企业重金招聘Python工程师标准>>> 在刚结束不久的谷歌 I/O2017开发者大会上发布的第二个Android O(安卓8.0)开发者预览,并且向普通用户开放了第二 ...

最新文章

  1. 让梦露和龙妈学着你说话,只需一张静态图和一个视频 | 项目开源
  2. Permission denied: user=root, access=WRITE, inode=/:hadoopuser:supergroup:drwxr-xr-x
  3. Nginx:proxy_pass、root、rewrite、alias 的使用详解
  4. windows Docker Desktop 怎么改变最大内存
  5. Java技术之掌握数据库连接工具DBUtils的应用
  6. 删除特定Dns后缀_DNS根服务器里存了世界上所有的域名吗?
  7. Single sign-on,什么是单点登陆?
  8. 2020 年,你还在使用 Java 中的 SimpleDateFormat 吗?
  9. css 修改占位符(placeholder)默认颜色、字体
  10. mysql 格式化_在线SQL代码格式化
  11. kuangbin RMQ
  12. c语言实现AD采样后FFT算法,实践“玩转FFT算法...任你移植”,正确AD采样及生成函数表...
  13. Mac快捷键【窗口最小化、切换窗口】
  14. Scala学习笔记2 (Lang上篇)
  15. win11邮箱客户端配置邮箱
  16. Android 4.0模拟器弹出---“谷歌拼音输入法”已停止运行的解决方法
  17. 以阿里为例,详解SRE的团队建设与职能分工
  18. .San(三). Xia(峡).近一个月调度过程图解简介
  19. 黑马训练营--IOS学习---OC语言学习总结2
  20. 那些年使用appium-Uiautomator2遇到的问题解决方法!

热门文章

  1. 【阿里云·云原生架构】白皮书 —— 云原生架构原则
  2. 隐式函数matlab,matlab隐函数求解的几种方法
  3. 适合货架、机械、零件等实体产品公司的成品网站源码,带数据完整版本
  4. 《云计算架构技术与实践》连载(2):1.2 云计算的发展趋势
  5. 儿童护眼台灯哪个品牌好?2023品牌护眼台灯最新排行榜
  6. Linux 性能监控分析
  7. 小数在计算机中的存储形式
  8. 【spacedesk】屏幕扩展,将平板pad设置为pc的副屏
  9. 华为设备配置链路聚合(手工负载分担模式)
  10. Unity给模型添加逼真效果材质