老龄化社会催生的跌倒检测报警系统的设计
2.3 GPS定位和GSM通信模块SIM908
SIM908 是一款集成了高性能GSM/GPRS引擎和GPS引擎的芯片。其中的GSM/GPRS引擎可以工作在GSM 850MHz,EGSM 900MHz,DCS 1800MHz和PCS 1900MHz四个频段;GPS引擎具有一流的采集和跟踪灵敏度、TTFF(Time-To-First-Fix)和准确度[12],这些特性可以很好地完成跌倒位置定位和发送报警信号的任务。在SIM908芯片上可以同时完成GPS定位和GSM通信功能,可以大大减少系统芯片的数量和功耗。图4为 SIM908的功能框图。SIM908通过UART口与Arduino Uno进行通信,RXD和TXD分别与Uno的TXD和RXD相连,完成跌倒位置的GPS数据的捕获和发送GSM报警短信功能。
图4 SIM908功能框图
3算法设计与实验
3.1 跌倒检测算法
对跌倒检测原理的研究主要是找到人体在跌倒过程中的加速度变化特征。图5给出的是加速度在不同运动过程中的变化曲线,包括(a)步行上楼、(b)步行下楼、(c)坐下、 (d)起立。其中红色的曲线是Y轴(垂直方向)的加速度曲线,其正常静止状态下应该为-1g;黑色和黄色的曲线分别是X轴(前后方向)和Z轴(左右方向)的加速度曲线,其正常静止状态下应该为0g;绿色的曲线是三轴加速度的矢量和,其正常静止状态下应该为+1g。
图5 不同运动过程中的加速度变化曲线
由于老年人的运动相对比较慢,所以在普通的步行过程中,加速度变化不会很大。最明显的加速度变化就是在坐下动作中Y轴加速度(和加速度矢量和)上有一个超过 3g的尖峰,这个尖峰是由于身体与椅子接触而产生的。而跌倒过程中的加速度变化则完全不同。图6给出的是意外跌倒过程中的加速度变化曲线。通过图6和图5 的比较,可以发现跌倒过程中的加速度变化有4个主要特征,这可以作为跌倒检测的准则。这4个特征在图6中以红色的方框标注,下面将对其逐一进行详细介绍。
图6 意外跌倒过程中的加速度变化曲线
失重:在跌倒的开始都会发生一定的失重现象。在自由落体的下降过程,这个现象会更加明显,加速度的矢量和会降低到接近0g。对于一般的跌倒,也会发生合加速度小于1g的情况。因此,这可以作为跌倒状态的第一个判断依据。可以由ADXL345的Free_Fall中断来检测。
撞击:失重之后,人体发生跌倒的时候会与地面或其他物体发生撞击,在加速度曲线中会产生一个很大的冲击。这个冲击可以通过ADXL345的Activity中断来检测。因此,Free_Fall中断之后,紧接着产生Activity中断是跌倒状态的第二个判断依据。
静止:人体在跌倒后,也就是撞击发生之后,不可能马上起来,会有短暂的静止状态(如果人因为跌倒而导致昏迷,甚至可能是较长时间的静止)。表现在加速度曲线上就是会有一段时间的平稳。这可以通过ADXL345的Inactivity中断来检测。因此,Activity中断之后的Inactivity中断是跌倒状态的第三个判断依据。
与初始状态比较:跌倒之后,人体会发生翻转,因此人体的方向会与原先静止站立的姿态不同。这使得跌倒之后的静止状态下的三轴加速度数值与初始状态下的不同,如图5所示。因此,跌倒检测的第四个依据就是跌倒后的静止状态下加速度值与初始状态发生变化,且矢量变化超过一定的门限值。
这四个判断依据综合在一起,构成了整个的跌倒检测算法,可以对跌倒状态给出报警。
另外,如果跌倒造成了严重的后果,比如,导致了人的昏迷。那么人体会在更常的一段时间内都保持静止。这个状态仍然可以通过Inactivity中断来检测。也就是说,如果发现在跌倒之后的很长时间内都保持Inactivity状态,可以再次给出一个严重报警。算法的流程图如图7所示。
图7 算法流程图
3.2 实验结果
本文设计了一个实验方案对算法进行验证。实验对向前跌倒,向后跌倒,向左、右两侧跌倒等不同跌倒姿势以及跌倒后是否有长时间静止状态的情况分别进行了10次测试,表1中给出的是相关测试结果。
表1 实验结果
本设计将加速度传感器ADXL345、GPS和GSM模块SIM908与Arduino Uno平台结合在一起,通过加速度传感器采集人体三轴加速度值,实时检测人体体态,完成对人体跌倒的检测和报警。整体设计成本低、可靠性高、算法复杂度低、检测准确度高和可扩展的优点,具有很高的实用性,可以满足对人体跌倒检测报警的需要。
- 基于Arduino的会打招呼的超萌机器人(11-23)
- 工业环境中的树莓派(Raspberry Pi)和Arduino(09-12)
- 多图详细教你怎样做一部Arduino小车(06-24)
- 随时关注空气质量:工程师自制Arduino空气检测器(02-25)
- Wi-Fi遥控小车DIY教程:看高手如何改进(10-04)
- Arduino串口高级用法,你都掌握了吗?(06-16)