薛定谔的猫

基于ADI的ADXL345行为监测分析

0
阅读(33624)

本设计采用ADI公司的三轴数字输出加速度传感器ADXL345,该传感器不仅可以做到高分辨率的数字模式加速度值输出,而且其内部拥有许多信号情况的检测判断功能,可以大大减少MCU的判断算法工作量。

       本设计主要实现两个功能。其一,也是本设计主要的功能就是判断人体的摔倒。其二,是大致判断人体的运动状态。

 

人体摔倒的检测

       根据人体的摔倒,或物体的掉落的动作观察可以发现,人体的摔倒是一个一系列连贯的行为动作。首先,摔倒肯定会出现一个失重的阶段。虽然现实中不会出现完全失重的自由落体,但是在摔倒时加速度肯定会小于某个小的值。然后,人体与地面的撞击造成一个较大的反冲作用力。这个反冲的作用力造成的加速度肯定会大于日常动作所产生的加速度。

这两个过程构成摔倒的主要特点。我们判断摔倒,是因为摔倒对人造成伤害,特别是老年人。然而伤害是由于过大的力作用于人体造成的。

根据运动定律,人摔倒接触地面时的速度v与人体重心的高度h之间的关系为:

v = 2gh

地面对人体的反冲作用力F与速度v的关系为:

Ft =△mv

其中t是摔倒时地面反冲力作用的时间,是一个小的固定的值。由于作用后人体是静止的,故△mv的大小就等于撞地之前的动量。

因此,如果跌倒时的加速度并不是一个小值,那么接触地面时速度不大,就不会有一个大到足以伤害人体的反冲作用力。如果没有达到足够大的反冲作用力,就对人体没有伤害。我们从对人体监护的角度出发,对人体没有伤害的行为是不必要紧张的。因此,上述两个过程是判断摔倒决定性因素。

虽然上诉两个过程是摔倒的本质特征,但是为了提高判断准确度,减少误判。本设计还对摔倒之后的状态进行了考虑。人在摔倒后一般比较疼痛,这时一般会静止一会,不会立马起来活动。特别是本设计所服务的老年人更是这样。因此可以将前两个过程发生之后,再出现的一段静止,作为整个过程的最终判定。这将大大增加判断的正确率。

以上的三个过程都可以使用ADXL345相应的内部信号检测功能实现。首先用其自由落体功能检测失重。这里的失重时的加速度取0.175g,持续的时间为0.2s。然后用峰值检测功能,检测撞击出现的大加速度。通过一系列的实际测试,选择撞击峰值为2g。这样既区别开其他的日常活动行为,又保证了一定的敏感度。最后的静止设定为2s。这些过程的检测都是由ADXL345完成,只是通过中断通知MCU进行查看发生的是哪个事件。

但是并不是按照上述的顺序,依次发生了三个过程,就算是摔倒了。这三个过程必须在一个设定的时间内发生的。比如失重发生后的500ms内应该发生碰撞,因为人体的高度决定了这个失重时间的最大值。在撞击发生之后的3.5s内应该有静止发生。之间空余的1.5s可能有震荡发生。然而超出3.5s之后再有的静止,就不能认为是摔倒撞击造成的。

以上检测过程发生设定的时限是由ADXL345内部完成的。然而过程之间的控制,是由MCU的定时器完成。将过程分为以下几个状态F0:无动作状态,F1:在F0状态下检测到失重,F2:在F1的状态下检测到撞击,F3:在F2的状态下检测到静止。当F1发生时,设定定时器时限为500ms。当F2发生时,首先先清零定时器,来停止之前的时限。然后再设置新的时限为3.5s。当F3发生时,清零定时器即可。期间,如果MCU的定时器中断发生,不论当前什么状态,一律清零到F0状态。这样就保证了三个过程连贯的发生才被认定是有效的摔倒动作,否则舍弃这个监测过程。这样就可以判断人体摔倒,并设置标志位,以便通过系统发送警报。

 

其他运动的大致判断

       在完成上述摔倒检测功能的基础上,还可以利用ADXL345的强大功能,进行其他运动状态的粗略估计。以便为整个应用体统提供更多的数据,更好的为老年人服务。整个系统的主要功能是经行老年人的定位,除了利用已经确定好的定位系统定位之外,还可以使用加速度传感器计算出移动的距离,对定位系统进行修正,以达到更准确、更精确的定位效果。人在日常生活中的活动大致包括:上下楼梯,走路,乘坐电梯等。这些活动都可以通过建立一个三维的空间位移坐标来区分和鉴定。将三轴加速度传感器做成产品,并固定在人体上之后,就形成一个可以描述的三维空间坐标。比如传感器平行于人体放置,前后方为Z轴,左右方为X轴,上下方为Y轴。走路是在水平方向上有较大的位移,乘坐电梯是在垂直方向上有较大的位移,而上下楼梯是呈一定倾角的方向上的位移。因此可以通过构建位移模型来判断运动状态,标定运动距离。

由于我们最终期望的是位移,因此需要一定的算法将获得的加速度值转化为位移。这里采用的位移积分算法。加速度信号需要进行二次积分来算出实际的位移。离散的位移积分算法有很多,比如梯形积分算法,Simpson积分算法等。其中梯形积分算法简单,计算精度也能够满足要求。而Simpson积分算法计算量稍大,考虑到系统数据的实时性,本设计采用梯形积分算法。

位移s和a(t) 的关系为S为a(t)对时间的双重积分,其中a(t) 是随着时间变化的加速度。假如从时间t0开始采样,根据积分原理,从时间t0到时间tn ,位移s的值大小就s为速度在时间上的积分。其中时间间隔都是相同的,标记为△t,并且,那n>1时,v(t0)和v(tn)的关系为:

所以,面积积分的推导结果如下:

      

      

这里的△t的取值为0.01,与加速度传感的采样频率100Hz一致。

理论上,系统在运动停止后瞬时速度应为0。然而在实际实验中, 累积误差会导致系统的初始状态和终止状态与理论不符。为解决这个问题,可以使用多项式对速度和位移积分结果进行重建的方法, 并通过一次多项式实现了该算法。本系统拓展了多项重建理论,将系统的累积误差分配到整个计算过程,设计了更为精确的二次多项式重建算法重建系统的速度与位移。具体算法如下:

设增加次数后的速度重建二次多项式为

则位移重建多项式

式中b1,b2,b3,b4 均为系数.

已知理想情况下加速计开始运动前和终止后的速度为0,开始运动前的位移也为0, 即Vr(t0)=0,Sr(t0)=0,Vr(T) = 0.然而以上条件不足以求出多项式中的所有系数。为此, 系统引入了加速度状态, 系统开始运动前的加速度也为0,即 ar(0)=0,将速度重建式两边求导,得

代入位移重建式得

则速度与加速度的重建多项式分别为

式中:V(tx)和S(tx)为重建前的计算结果;Vr(tx)和Sr(tx)为重建后的速度与位移;a(0) ,v (0)和S(0)为系统初始状态;T 为系统的运动时间。

 

       通过上述的积分方法,可以较为准确的求出三轴各方向上的运动距离。将数据发回上位机,既可以用于当前行为的描述,又可以辅助定位,使之更加准确。