跟着人类日子水平的不断提高,人口老龄化成为一个全球性的开展趋势。现在,我国现已进入了老龄化社会[1],老年人的身心健康问题得到人们更多的重视。老年人因生理结构变老和身体机能减退,产生意外跌倒的概率和频率十分高[2]。跌倒能够导致老年人身体安排伤害、骨折乃至危及生命,并从心理上给老年人形成了压力和恐惧感。实际上许多伤亡并不是由于意外跌倒自身形成的,而是由于跌倒产生后,老年人没有得到及时的救治形成的[3]。特别现在社会上存在许多敲诈现象,导致人们不敢容易伸出帮助之手。因而,在老年人产生跌倒后,怎么尽早被发现,并宣布求救信号进行及时救治变得分外重要。为了老年人更健康地日子,研讨规划一个老年人的跌倒检测与报警体系具有十分重要的研讨价值和实际意义。
现在,研讨开发人体跌倒检测体系方面的技能有许多种,最常见的是图画剖析和加快度剖析法。文献[4-6]都是根据视频图画剖析的室内跌倒自动检测体系,这种技能准确性高,人体动作清晰可见,但需求多部摄像机一起作业,且暴露了用户的个人隐私,监测规模有限,受环境的影响也很大。另一种加快度剖析办法,首要根据微机电体系(Micro-Electromechanical System,MEMS)传感器。MEMS技能近几年得到了快速开展,广泛使用在跌倒检测、状况检测、运动检测等方面。文献[7-9]都是使用MEMS技能进行人体跌倒检测的,现在国内一些根据MEMS技能的跌到检测虽可较好完结跌倒检测,但大多核算量较大、规划杂乱、价格昂贵,难以得到广泛的使用。
规划一种根据Arduino和三轴加快度传感器的跌倒检测报警体系,实时收集人体加快度参数和地理方位信息,使用于老年人意外跌倒后及时报警,兼具了性价比高、规划简略、实时性高、低功耗、可扩展的特色,试验证明了该体系的可行性和准确性。
1 体系总体规划
跌倒检测报警体系由Arduino最小体系、加快度参数收集模块、GPS定位模块、GSM通讯模块组成,其体系框图如图1所示。
图1 跌倒检测报警体系框图
Arduino 实时接纳加快度参数收集模块传来的人体加快度参数值,单片机经过接纳来的加快度值,经过跌倒检测算法来判别穿戴者的身形,假如检测出跌倒的产生,便触发跌倒报警机制。当跌倒产生时,经过GPS定位模块能捕获到穿戴者的具体地理方位,然后宣布包含跌倒方位的报警求救信息,告诉佩带者的监护人或医疗机构,进行后续的救治。本体系在考虑这些功用需求的前提下,选用Arduino为操控中心,外围衔接加快度参数收集模块、GPS定位模块、GSM通讯模块,来完结整个体系的功用。
2 硬件规划
硬件部分首要包含微操控器最小体系的选取、加快度参数收集模块、GPS定位模块、GSM通讯模块,以及各个模块之间的衔接。
2.1 Arduino渠道
Arduino 是一款根据开源的电子原型规划渠道。Arduino包含两个首要的部分:硬件部分是能够用来做电路规划的电路板,根据AVR系列单片机和ARM微操控器,有丰厚的外设接口和硬件资源;软件部分则是Arduino IDE,是在核算机中的程序开发环境[10]。Arduino的模块化规划,大大简化了电子体系的规划进程。
其间,微操控器最小体系选用 Arduino Uno,它是根据ATMEL公司的ATmega328P单片机的硬件渠道,具有32KB Flash、1KB EEPROM、14路数字输入输出口(其间6路可用于PWM输出)、6路模仿输入接口。一起,Uno预置了Bootloader程序,不需求其他外部烧写器,能够直接经过USB下载程序。
2.2 加快度传感器ADXL345
ADXL345是ADI公司最近推出的根据iMEMS技能的3轴、数字输出加快度传感器。ADXL345具有多种可变的丈量规模,高分辨率,高灵敏度,超小的封装,超低的功耗,规范的I2C或 SPI数字接口,32级FIFO存储,以及内部多种运动状况检测和灵敏的中止方法等特性[11]。所有这些特性,使得 ADXL345有助于大大简化跌倒检测算法,使其成为一款十分合适用于跌倒检测器使用的加快度传感器。图2为ADXL345功用框图。
图2 ADXL345功用框图
ADXL345 规范的I2C数字接口能够和Arduino Uno的I2C接口便利通讯,将ADXL345收集到的人体三轴加快度数据传给单片机进行跌倒检测算法处理,图3给出了ADXL345和单片机之间的 I2C总线典型衔接图。ADXL345的(CS) ?管脚接高电平,表明ADXL345作业在I2C形式。SDA和SCL是I2C总线的数据线和时钟线,别离衔接到Arduino Uno相应的I2C总线接口(A4和A5)。ADXL345的INT1管脚衔接到Arduino Uno的INT0(Pin 2),用来产生中止信号。
图3 ADXL345和单片机之间的I2C典型衔接图
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渠道结合在一起,经过加快度传感器收集人体三轴加快度值,实时检测人体身形,完结对人体跌倒的检测和报警。全体规划成本低、可靠性高、算法杂乱度低、检测准确度高和可扩展的长处,具有很高的实用性,能够满意对人体跌倒检测报警的需求。