基于STM32的跌倒防护装置研究
2012-09-26陶成林雷必成杨扬戬
陶成林,雷必成,杨扬戬
(台州学院 物理与电子工程学院,浙江 台州 318000)
随着老年人口的剧增,老龄化问题成为当前社会的最突出问题[1-2]。目前已知世界范围内60岁以上的老年人口已超过6亿[3]。跌倒对于老年人群而言是一个很严重的问题,除了肢体上的伤害,跌倒之后在心理及社交生活上也可能造成严重的后遗症。据统计,约三分之一65岁以上老人平均每年跌倒一次[4]。面对这种情况,开发跌倒智能探测和报警系统,具有极其重要的现实意义和社会意义。
目前的跌倒检测可分为三类:基于视频图像的跌倒检测[5],其不足之处是受空间上的限制、视频图像的质量受环境影响较大和不能保证用户的隐私安全;基于声学系统的跌倒检测,其不足之处是安装复杂且资金投入比较大;基于穿戴式装置的跌倒检测,不受空间限制、环境干扰相对较小。
本系统开发的是基于穿戴式装置的防跌倒装置系统,是通过加速度计和陀螺仪对老年人身体姿态和运动的实时检测,采集到人体的加速度和角速度,再经过微处理器使用阈值判断法进行分析,并在未着地之前报警和进行防护措施。本系统采用加速度计、陀螺仪和阈值判断法使准确度提高,日常行为的误报低,并且实施保护防止老年人受到跌倒带来的伤害。
1 系统总体设计
根据老人防跌倒装置系统原理,整个系统有二部分组成:跌倒检测部分和防护挽救部分。而跌倒检测部分又由两部分组成:系统的硬件设计和软件算法,软件算法使用阈值判断法,硬件由以下四部分组成:
1)传感器模块:用加速度计、陀螺仪实时采集人体加速度信号和角速度信号,再通过A/D转换成数字信号传送到STM32核心控制模块上。
2)STM32核心控制模块:接收传感器A/D转换后的信号进行处理、分析并判断是否符合跌倒条件,再通过D/A对安全气囊进行动作。
3)无线传输模块:它是用于本模块与上位机进行无线通信,使上位机得到数据并设计出跌倒检测的算法,并根据算法进行了实验。
4)防护挽救模块:通过STM32核心控制模块对其发送动作的信号,在老人没跌倒在地之前进行保护。
本文主要介绍跌倒检测部分,即硬件设计部分和软件算法。系统的整体构图如图1。
2 硬件电路设计
2.1 STM32F103RBT6单片机
基于穿戴式装置要求系统轻便小巧和事前判断跌倒发生要求处理单元运行速度足够快等因素考虑。本系统选用高性能的ARM?CortexTM-M3 32位的RISC内核单片机STM32F103RBT6作为主处理单元,工作频率为72 MHz,内置高速存储器,丰富的增强I/O端口和联接到2条APB总线的外设。
图1 系统框图Fig.1 Circuit diagram
2.2 加速度计
加速度计属于惯性感测元件,可测量物体的加速度。本系统选用亚德诺半导体公司的一款小而薄的超低功耗三轴加速度传感器ADXL345。本设计中加速度传感器与单片机STM32F103RBT6采用I2C总线连接方式,测量范围±16 g,使用最大分辨率(13位),数据输出速率100 Hz。初始化主要对ADXL345的数据输出速率、测量范围、分辨率、数据的对齐模式以及中断触发方式进行设置。
2.3 陀螺仪
陀螺仪,是一种用来感测与维持方向的装置。本系统中选用意法半导体公司可以让用户自主设定量程,提供一个16位数据输出的三轴陀螺仪L3G4200D。本设计中L3G4200D使用I2C数字接口与单片机STM32F103RBT6相连,量程使用±250 dps,数据速率100 Hz,初始化主要对L3G4200D的量程、数据速率的进行设置。
2.4 无线传输模块
系统加入无线通信模块,在验证算法时开启无线通信,系统实时处理采集到的传感器数据,并将数据通过无线模块发送至上位机进行处理。本系统中使用Nordic公司电流消耗极低的RF24L01模块。模块与STM32单片机采用SPI方式连接,初始化主要对通信通道,通信频率,数据宽度和收发模式进行设置。
3 软件设计
本系统中是选择穿戴式传感器的方法设计跌倒探测器。由于腰部活动范围和频率都较小,一般都保持竖直位置,有利于检测且舒适度高,因此将装置佩戴在腰部。下面我们应用三轴加速度和角速度信号对人体的跌倒检测技术进行研究,并详细论述跌倒检测算法。
3.1 算法设计
人体加速度向量幅值SVM判断法是研究人体跌倒的常见方法。SVM通过计算加速度幅度反应人体运动的剧烈程度,其值越大说明运动越剧烈[7],其定义如式(1)。
式中,αx、αy、αz分别为加速度传感器的 X、Y、Z 三轴输出,单位为g。
采用该特征值的优点在于其将空间的加速度合为一矢量,在跌倒判断中忽略跌倒的方向。因为发生跌倒时,无论朝哪个方向,SVM都会超过某一阚值。而本系统使用的加速度阈值判断法的的核心就是检测人体的SVM的大小,从而判断加速度是否超过正常范围。下面对加速度阀值确定进行研究。
图2是经过试验得到的人体跌倒过程中的合加速度曲线。在跌倒过程中产生2个极值分别是图2中第75个采样点和第85个采样点。第85个采样点合加速度约为5.3g,这是由于人体跌倒时与地面碰撞产生的加速度,其幅值要比绝大多数日常活动产生的加速度幅值都要大,因此,许多人体跌倒检测的算法都是根据这个幅值来判断。
图2 跌倒过程中的合加速度曲线Fig.2 In the process of the acceleration curve and fall
但是此幅值来判断的跌倒检测算法人体已经着地,跌倒伤害已经产生了,而本系统需要对人体进行保护,即必须在人体跌倒着地之前进行检测,因此不符合本系统的设计要求。经过多次试验找到符合本系统要求的过程(图2中从第50到第75个采样点左右),该过程一直呈下降趋势直到合加速约为零,且该过程也明显区别于日常动作。本系统中把合加速度的阈值设为0.88 g,当合加速度小于0.88 g时,系统进入预警状态,初步判定有可能发生跌倒,但是也有可能是突然站起或转身等正常动作引起的。由于该过程一直呈下降趋势,因此设计中将本次加速度的值与上一次的加速度值做差如果差值小于零计数,当计数值达到一定值的时候就可以判断人体发生跌倒。
图3是经过试验得到的人体跌倒过程中的合角速度曲线(与图2同一时刻)。通过试验得到当合加速度值小于0.88 g至刚好着地的这段过程时(图2中第55至第75个采样点),陀螺仪检测的角速度却是增大的。但是实际观察多次跌倒的角速度波形,发现跌倒时角速度并不是线性增加的,它有时候也会减小,但是总体是增加的。根据M.N.Nyan,Francis E.H.Tay,E.Murugasu等人的研究[8],在这一时段角速度的变化很小只有10°/s。于是在算法判断加速度减少并计数的同时加入角速度做差值且是否变化在10°/s内。实验中我们发现通过同时满足加速度减小和角速度增加并计数能明显减少单一运用加速度计的误判。
3.2 软件整体设计
结合跌倒判断算法后,系统的整体软件框图如图4所示。
图3 跌倒过程中的和角速度曲线Fig.3 In the process of the fall and angular velocity curve
图4 算法流程图Fig.4 Algorithm flow chart
4 实验测试
测试时为避免测试者在实验过程中摔伤,所有跌倒实验都在一张双人床上完成,跌倒在双人床上与跌倒在地面唯一不同的是,跌倒在地面产生的加速度冲击会更大。因此,对本系统而言,跌倒在地面的情况会更容易检测出来。
系统测试分为两部分,第一部分是通过模拟老年人几种典型的跌倒方式来检验跌倒判断的识别率,在将要发生跌倒事件时,能够准确无误的触发报警。测试内容包括向前跌倒,向后跌倒,向左侧跌倒,向右侧跌倒这4种典型类型的跌倒,每类跌倒各试验50次。
第二部分通过正常的日常活动来检测本系统的误报率,实验的日常活动包括步行、弯腰、下蹲和慢跑等日常行为,同样每类实验也进行50次。测试结果如表1所示。
由表1试验数据,可以看到在实验条件下,每种跌倒的跌倒识别率都在95%以上。在排除老年人做剧烈运动的情况下(如表中的慢跑),日常事件的误报率约为0%,所设计的跌倒检测系统能检测出绝大多数的跌倒事件并准确报警,对日常行为的误报较低。
为了提高系统的可靠性,本次还研究了从防跌倒装置开始报警到老年人完全跌倒在地上之间的时间,我们根据采集到的数据和算法,得到装置开始报警到老年人完全跌倒在地上之间采样点个数,再根据采样时间求得时间。此时间越长表示后续的防护措施可进行更复杂的保护,老年人跌倒受伤的几率就越低。防护措施可用时间如表2所示。
表1 试验数据Tab.1 Test data
表2 防护措施可用时间Tab.2 Protective measures available time
5 结束语
本系统使用了三轴加速度传感器ADXL345,三轴角速度传 感 器 L3G4200D、nRF24L01无 线 传 输 模 块 和STM32F103RBT6嵌入式处理器,实时采集人体跌倒的加速度和角速度数据,并运用了以特征量阈值判断的跌倒检测算法为主的解决方案,完成了老人跌倒检测系统的设计。通过试验分析,排除老年人做剧烈运动的情况下,系统能准确地检测跌倒并能在老年人未着地之前报警并实施后续防护措施,其准确率高。且本系统可靠性高、简单,易于穿戴。
[1]李正宇,张盘德,王宁华.踝背屈延迟预测老年人跌倒[J].国外医学:物理医学与康复学手册,2004,24(1):39-40.
LIZheng-yu,ZHANG Pan-de,WANG Ning-hua.Ankle dorsiflexion delay forecast falls in older people[J].Foreign Medical Sciences:Physical Medicine and Rehabilitation,2004,24(1):39-40.
[2]周白瑜,于普林.老年人跌倒和心血管疾病[J].中华老年医学志,2006,25(3):224-227.
ZHOU Bai-yu,YU Pu-lin.Fallsin olderpeople and cardiovascular disease[J].Chinese Journal of Geriatrics,2006,25(3):224-227.
[3]中华人民共和国卫生部.2010年中国卫生统计年鉴[M].北京:中国协和医科大学出版社,2010.
[4]赵如如,吴海翔,等.基于手机短信息的老年人跌倒检测装置[J].医疗卫生装备,2012(3):25-27.
ZHAO Ru-ru,WU Hai-xiang,et al.Falling detection device for the eldely based on short message of mobile phone[J].Chinese Medical Equipment Journal,2010(3):25-27.
[5]杨帆,谢靖,等.基于头部运动轨迹和3D视觉的跌倒检测系统[J].现代电子技术,2012(2):54-57.
YANG Fan,XIE Jing,et al.Fall detection system based on head moving trajectory and 3D vision[J].Modern Electronics Technique,2012(2):54-57.
[6]郑立,蔡萍.人体跌倒监测方法及装置设计[J].中国医疗器械杂志,2009(2):99-102.
ZHENG Li,CAI Ping.Fall detection and reliable device design[J].Journal of China Medical Instrument,2009 (2):99-102.
[7]曹玉珍,蔡伟超,程旸.基于MEM S加速度传感器的人体姿态检测技术[J].纳米技术与精密工程,2010(1):37-41.
CAO Yu-zhen,CAI Wei-chao,CHENG Yang.body posture detection technique based on MEM S acceleration sensor[J].Nanotechnology and Precision Engineering,2010(1):37-41.
[8]Nyan M N,Francis E,Tay H,et a1.A wearable system for pre-impact fall detection [J].Journal of Biomechanics,2008,41(16):3475-3481.