码迷,mamicode.com
首页 > 移动开发 > 详细

小米手环 / 运动手环 记步功能原理

时间:2015-03-01 22:24:28      阅读:32380      评论:0      收藏:0      [点我收藏+]

标签:小米   优化   算法   



很多朋友是第一次接触像小米手环这类运动计步产品,对于那么轻盈小巧的手环能够精准计步,甚至能详细完整的记录睡眠时间觉得非常神奇,本文就和大家详细说说在看不见的小米手环背板下,它是怎么工作的。

技术分享

1、 手机上的运动步数是怎么来的?
A:简单来说:小米手环能够精准计步由硬件和软件算法两方面组成,缺一不可。

硬件 是指小米手环里内置的那枚强悍的三轴加速度传感器ADXL362 (注1),军用级,大家知道想要达到军用级,这得有多苛刻。其实三轴加速度传感器不神秘,在大多数中高档手机里都有配备加速度传感器,只是在侦测精度上达不到到小米手环的级别。

三轴加速度传感器(注2)的三轴是指空间中的X,Y,Z三个维度,有了这3个维度,手环就可以捕捉到手环在使用中的加速度变化,从而生成数据。重力加速度大家初中物理课上都学过,在此就不多说了。

软件算法:华米程序猿根据三轴加速度实时捕捉到的三个维度的各项数据,经过滤波、峰谷检测等过程,使用各种算法和科学缜密的逻辑运算,最终将这些数据转变成手表APP端的可读数字,步数、距离、消耗的卡路里数值等呈现在最终用户面前。

技术分享

2、 小米手环上的运动计步功能和哪些因素有关?
A:手环内置的加速度传感器和算法是极其微妙的东西。总体上来说,大家在拿到手环第一次设定时,一定要诚实准确填写各项信息!包括性别,身高,体重,年龄,这些稍微不准都会直接影响到加速度传感器的数据捕捉,进一步影响到算法运算,导致的结果则是计步不准、距离数据不对,消耗卡路里数值欠准度,从而得出不理想的数据,影响到您的个人运动数据。

您的摆臂姿势、步幅、身形、路面的平整度、上坡下坡都会影响到计步数值。

技术分享

3、 为什么一小部分同学觉得手环不够精确?
A;事情是这样的,手环在一定范围内存在公差是正常现象,殊不知物理学上还有“测不准定律”(注释3),各家手环均使用加速度传感器来作为计步的主要依据,但是由于采用的器件和算法水平不同,于是就产生了各款手环记录步数不一致的状况。

小米手环在研发过程中专门找过各类人群(含职业运动员)对比过各家运动手环,还包括带有GPS模块、海拔计、气压计等各类传感器的运动手表,对比结果显示:小米手环具有极高的计步器精度,与佳明、松拓的专业运动计步手表数据能基本上保持一致。当然,这跟军用级传感器和卓越的算法密不可分。

即使是这样,我们觉得还不够好,华米程序猿仍然在进一步优化运动算法,尽可能的过滤掉日常生活中无规律的运动手势、动作(我们称为“过滤杂波”),以使得小米手环的精度达到最佳。

手环内的传感器太过精密,甚至跟人的走路姿势,步行习惯都有关联,所以大家在遇到您认为不准的数据时,尽管反馈给华米研发同学,他们会认真分析原因的。只为将小米手环做到极致!

如果还觉得不放心的同学,欢迎就近找标准的体育场跑道对比测试,小米手环有信心!

4、 骑行时要能计步就好了?
A:是的,我们看到了,并且已经开始着实开发更多运动模式,以便为用户带来更多的运动场景和体验,但是请给我们一点点时间,都会有的,小米手环将来取代骑行车上的码表并不是空谈。

技术分享


延伸阅读
1ADXL362

ADXL362是一款超低功耗、3轴MEMS加速度计,输出数据速率为100 Hz时功耗低于2 μA,在运动触发唤醒模式下功耗为270 nA。与使用功率占空比来实现低功耗的加速度计不同,ADXL362没有通过欠采样混叠输入信号;它采用全数据速率对传感器的整个带宽进行采样。

ADXL362通常提供12位输出分辨率;在较低分辨率足够时,还提供8位格式化数据以实现更高效的单字节传送。测量范围为±2 g、±4 g及±8 g,±2 g范围内的分辨率为1mg/LSB。噪声电平要求低于ADXL362正常值550 μg/√Hz的应用可以选择两个低噪声模式(典型值低至175 μg/√Hz)之一,电源电流增加极小。

除了超低功耗以外,ADXL362还具有许多特性来实现真正的系统级节能。该器件包含了一个深度多模式输出FIFO、一个内置微功耗温度传感器和几个运动检测模式,其中包括可调阙值的睡眠和唤醒工作模式,在该模式下当测量速率为6HZ(大约)时功耗低至270nA。如有需要,可在检测到运动时提供一个引脚输出来直接控制外部开关。此外,ADXL362还支持对采样时间和/或外部时钟进行外部控制。

ADXL362可以在1.6V至3.5V的宽电源电压范围内工作,并且必要时可以与采用独立低电源电压工作的主机接口。

资料来源:ADI官方网站

注2:三轴加速度传感器

基于重力加速度的基本原理去实现工作的,加速度是个空间矢量,一方面,要准确了解物体的运动状态,必须测得其三个坐标轴上的分量;另一方面,在预先不知道物体运动方向的场合下,只有应用三轴加速度传感器来检测加速度信号。三轴加速度传感器具有体积小和重量轻特点,可以测量空间加速度,能够全面准确反映物体的运动性质,在航空航天、机器人、汽车和医学等领域得到广泛的应用。

注3:“测不准定律”

由于物体运动的时候,时时刻刻都会受到毗邻阻力的影响。而这种毗邻阻力又与物体的运动状态有关,因而物体运动的时候,其状态就不可能准确测量。





大家陆续拿到了手环,对手环的睡眠检测功能还是有不少疑问,这里集中回复一下。

虽然每个人的睡眠状态是不一样的,但是人类的睡眠状态还是有规律可循,而手环主要的判断依据是从入睡到睡眠到醒来这几个阶段的运动变量来判断的。

每个人从上床到真正睡着,身体总会有各种各样的变化,手环佩戴在手腕上,必然会随着身体运动变化而产生各种各样的位移,重力点变化,手环则会记录并判断人是不是在睡觉。


我们设定了至少6个条件,当手环里的数据符合这6个要件时,手环则认为人开始睡觉了。

那么,深睡眠和浅睡眠是怎么判断的呢,一样的,人处于深度睡眠时,基本上不会产生运动量,运动量改变的时间变得更长。

科普:人一生中有很长时间在睡觉,深度睡眠才能真正起到恢复身体体能,促进身体健康的作用,当然,深度和浅度睡眠是交替的,在没有小米手环之前,我们不知道自己到底睡的怎样,休息的好不好,现在可以量化了,只要打开手机端的APP就一目了然。一般来说,晚上梦特别多的同学,基本上都是出于浅睡状态的,早上起床人都会觉得比较疲惫,没睡好。
所以,追求黄金睡眠(深睡觉)对我们尤其重要。

几个具体问题。

1、白天睡觉时间如果足够长,手环是会记录的,午睡就半小时,手环一般不认为您是在睡觉的。

2、纠正下大家的误会,手环不是靠光线识别睡眠状态的,广告画上的那张美女图只是烘托环境啦。

3、早上起来看,发现昨晚梦游了?运动计步里有200多步的记录,其实这真的很有可能,晚上睡着了摆臂,身体有移动是很正常的事儿。

4、目前看,我们的睡眠分析做的还行,不知道大家升级最新版固件没有,我们有加入手动修正功能哦,这样会更加精确。后续我们会不断优化,睡眠分析的精度还会有提高的。


认为睡眠分析有严重不靠谱的欢迎私信给我们,我们来跟进。

技术分享 
技术分享 

(附睡眠时间手动修正按钮位置)


强烈建议大家养成随手升级手环新固件的习惯,我们每周都会更新手环固件,增加新功能,












  • 自从有了智能手环,我们的运动量就可以精确到以“步”计算了。想想看,从早上出门到晚上回到家,看看手机上显示出几千步的运动量是不是很有成就感。主打健康运动功能的智能手环就抓住了人们渴望知道精确的运动数据这一需求,从而获得了成功。那么,一个小小的手环蕴藏着怎样的玄机?它是如何实现对运动量的监测呢?3 z* u3 M- h2 X% h: p9 v" O6 o
    技术分享

  • 运动手环有个最重要的“大家伙”:三轴加速传感器,这也是手环的最核心的组件之一,这个组件的作用是计步测量。简单来说,三轴加速器的工作原理是,当人在正常行走时其实会产生水平和垂直两个加速度,当用户迈步时,单脚着地重心上提,垂直方向呈向上加速度,而继续往前走重心回落,加速度方向。而在水平方向,则是迈步时向前加速,收脚是减小。当用户迈步时,单脚着地重心上提,垂直方向呈向上加速度,并向前加速。而手环中的三轴加速器,就是通过人体这样不同的加速度变化可以绘制出一条正弦曲线。以垂直方向加速度正弦波为例,从波谷到波峰再到波谷就是正常人一个步伐的过程,如此就可以推算出用户行进的步数。‘ Z! Y) k6 `6 b$ z/ F
    技术分享

  • 你可能会说,这样的方式统计是否准确?比如我在刷牙、或是快速抖动手臂,是否会记录成为非法步数。通过实验来看,这种担心可以消除,当在原地快速摆动手臂或是刷牙等操作,并没有增加额外步伐。不出意外的话,UP的算法已经过滤掉了“干扰”信号。人体跑步频率最快为5Hz,那么相邻两步时间间隔一定要大于0.2秒,而如果设置了高频噪声过滤,就可以将短于这一时间的步数消除,只记录有效步数。- j‘ M1 O( l" X1 g" t$ ~* P
    技术分享
    & [- [2 e$ Z5 Y0 C6 I8 u4 a
  • 因此,对于数据的精确性你完全不用担心,只要老老实实的保持运动量,小米手环都能一一为你准确记录。凡事贵在持之以恒,若想保持健康体魄,还要日复一日的保持锻炼,其他的就交给小米手环给你做吧!6 M+ Y0 V6 C6 l$ q
    技术分享

    & q$ o4 T! e" O" p
    技术分享

    KIO-5.png (0 Bytes, 下载次数: 37)

    下载附件  保存到相册

    2014-9-16 22:51 上传

    【附件原图EXIF信息】
    制造商 : 
    型号 : 
    拍摄时间 : 
    光圈 : 
    曝光时间 : 
    ISO感光度 : 
    焦距 : mm
记得绑定时设定了身高体重了么,非常重要的数据,结合加速度传感器和算法,就可以算出人的步长了,累积起来就是距离数量,当然,这只是原理,算法会非常复杂。



小米手环 / 运动手环 记步功能原理

标签:小米   优化   算法   

原文地址:http://blog.csdn.net/u013467442/article/details/44006697

(0)
(5)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!