于玮,许彬
(1. 南通大学 工程训练中心,南通 226019;2. 南通大学 护理学院)
基于惯性测量单元的远程跌倒报警系统*
于玮1,许彬2
(1. 南通大学 工程训练中心,南通 226019;2. 南通大学 护理学院)
设计了一种基于九轴惯性测量单元和无线通信网的远程跌倒报警系统。从数学模型入手,将跌倒过程划分为身体失衡、碰撞冲击、倒地静止这三个阶段,研究了加速度与角速度向量模值、瞬时姿态角等参数;采用卡尔曼滤波算法解决了陀螺仪静态测量时的零点漂移问题;利用佩戴于腰间的惯性测量传感器对运动参数进行测量,并由微处理器作出基于多阈值的最终判决;当检测到有跌倒发生时,系统立刻发出多重报警,最大程度地降低跌倒引发的伤害。实验结果显示,该系统对跌倒识别的正确率超过90%,可用于老年人的一般医疗监护场合。
跌倒检测;远程监护;姿态解算;四元数算法;卡尔曼滤波
根据第六次人口普查数据显示,我国社会老龄化趋势在不断加重,空巢老人人数急剧增加[1]。老年人是慢性病的高发群体,一些慢性病(如心脑血管疾病)急性发作时,老年人极有可能发生跌倒[2],此外老人在日常活动中也会有类似情况发生[3-4]。伤者若得到及时救治,能有效降低其受伤害程度[5],因此老年人的运动医疗监护已成为全社会关注的重大议题[6]。本文介绍了一种基于九轴惯性测量单元和无线通信网的运动监护系统,能实现对人体运动体征的实时测量与上报,做到对病情的及早发现和及时救助,为老年人远程运动监护及居家养老提供新的参考依据。
1.1 系统整体结构
该运动监护系统包括监测终端和中继器两部分,其结构如图1所示。监测终端根据九轴惯性测量单元回传的人体运动信息,进行姿态解算及状态分析,从而判断是否有跌倒发生。考虑到该过程数据处理量大,故采用基于ARM Cortex-M3内核的微处理器STM32F103C8T6作为控制核心。中继器与监测终端通过蓝牙连接,并由移动通信模块SIM908将监测到的数据向远端发送。若系统确认有跌倒发生,则触发蜂鸣器报警,同时启动内置GPS定位,并将报警与定位信息通过GPRS网络及短信的方式发送给监护人,以便伤者及时获得救助。对于居家养老的监护对象而言,为了减少电磁辐射,中继器只需置于居所中部,便能与各终端通信。当有多个监测终端接入时,还可组成超星型结构的射频网络。
图1 远程运动监护系统结构框图
1.2 跌倒检测原理
人体跌倒往往伴随着身体失衡、碰撞冲击、倒地静止等复杂情形,带有不少未知因素,而体态瞬间的变化在加速度、角速度以及姿态角等参量上均有所反映。研究这些运动参量并建立跌倒时的数学模型是检测的关键。
1.2.1 模值分析
加速度与角速度能反映人体的运动变化,但上述两种参量均为任意的空间向量,单轴分量无法描述全局特征,因此直接研究叠加后信号的向量模SVM(magnitude of signal vector)成为了最有效的方法[7]。
人体的加速度向量模(aSVM)与角速度向量模(ωSVM)定义如下:
其中,ai(i=x,y,z)为三轴加速度分量,ωi(i=x,y,z)为三轴角速度分量。
人在跌倒时与周围物体发生碰撞冲击,加速度与角速度的向量模会出现瞬时峰值,这在日常活动中是没有的,可以作为跌倒判定的必要条件。但运动强度较大时,以上特征量也会出现瞬时峰值,因此还需要增加其他条件。
1.2.2 姿态解算
图2 人体姿态欧 拉角示意图
人体姿态解算可以作为上述判据的有效补充,而测定欧拉角是最直观的方法[8]。图2所示为人体姿态欧拉角示意图,选取固定坐标系,令坐标轴旋转顺序为Z-Y-X,根据右手螺旋法则,先后产生偏向角θyaw、俯仰角θpitch及横滚角θroll。θyaw和θroll在±180°之间,θpitch的变化范围为±90°。当俯仰角超过90°时,表示X轴朝后,即θpitch依然是锐角,姿态上是沿Z轴做了镜像。
其中,λ、q0、q1、q2为初值,可由初始欧拉角求得。根据加速度与磁场强度的初值,得到初始角计算公式如下:
其中,mi(i=x,y,z)表示地磁强度三轴分量,为覆盖所有角度,正切运算在程序中均需由atan2替代。求得的四元数初值如下,并在此基础上不断更新,系统输出用到的欧拉角是由该公式反推得到。
1.2.3 “长躺”甄别
跌倒后还可能伴随“长躺”现象,该特征也由姿态分析,作为摔伤程度的判据。在判定跌倒的基础上,当任意欧拉角长期稳定在较大数值时,则判定对象出现活动障碍,即“长躺”发生。考虑到陀螺仪静态测量时累计误差较大,漂移明显,该状态应通过加速度分量求得[10],各角度与单轴加速度的关系如下:
2.1 硬件电路设计
2.1.1 运动检测电路
运动检测电路的核心是由六轴运动测量模块MPU6050和三轴磁阻传感器HMC5883L构成的九轴IMU。MPU6050接口电路如图3所示,只需额外配置片上LDO及电荷泵旁路电容即可工作。由于单芯片整合三轴陀螺仪与加速度计,不存在分体安装的轴间差。MPU6050通过辅助I2C接口与磁阻传感器交互,并通过主I2C接口向处理器上传姿态数据流,最大传输速率400kHz。为保证传输质量,端口作上拉处理。
图3 MPU6050接口电路
HMC5883L型磁阻传感器采用各向异性磁阻技术,有效提升了检测的灵敏度及线性度。当坡莫合金的内磁化方向与外磁场平行时,其阻值保持恒定;当内外磁场出现偏离时,阻值随之改变,进而转换为电压输出。HMC5883L接口电路如图4所示,由于其与MPU6050共用串行总线,间接上传检测信息,故将DRDY引脚与处理器外部中断引脚连接。当DRDY引脚发出中断信号时,处理器申请访问。
图4 HMC5883L接口电路
2.1.2 GPRS移动通信
移动通信电路原理图如图5所示,其核心采用SIM300模块,可实现系统与互联网端口的快速连接。上电引脚PWRKEY接三极管开关电路,实现模块的开启与关闭。SIM300通过串行总线与处理器通信。为提高供电质量,源端并联了去耦电容。与SIM卡间的通信端口经过阻抗匹配,数据传输引脚作上拉处理。
图5 移动通信电路
2.2 系统软件设计
运动监护系统程序流程如图6所示,主要任务可以概括为对人体运动参数的监测、分析与上传。在监测终端程序的初始化阶段,需完成惯性测量单元的参数设置,同时使能处理器信号接收引脚的外部中断,以便在新的采样周期结束后,读取数据。通常人体三轴加速度分量在±7g以内,角速度分量小于400°/s。综合考虑测量范围、灵敏度等因素后,设置MPU6050采样频率为1 kHz,加速度量程为±8 g,角速度量程为±500°/s,测量值需除以字符类型的取值范围,并与量程标定值相乘才能获得加速度、角速度及角度。由于磁阻传感器测量频率远小于MPU6050,故将DRDY引脚的中断信号作为辅助判据。HMC5883L测量完成后,DRDY引脚将出现低电平跳变,一旦处理器检测到该信号,则从I2C总线上读入数据;若测量还未完成,则在新的周期中继续检测。
如何根据惯性测量结果判定跌倒发生是监测终端程序设计的关键,考虑到人体在慢跑、跳跃、下蹲、躺下等日常活动中也有可能出现与跌倒过程高度相似的波形信号,故设置多个阈值,分层判别。只有同时满足加速度与角速度向量模、瞬时姿态、稳态倾向三方面阈值条件后,才会判断有跌倒发生。此后,终端打开蜂鸣器本地呼救,当进一步确定为“长躺”时,通过蓝牙模块向中继器发送报警信息,20 s内若当事人解除警报则关闭蜂鸣器同时取消蓝牙会话,反之继续报警。中继器程序负责蓝牙信息的接收,并根据跌倒报警等级,通过短信和GPRS网络向监护人求助。当判定结果为“长躺”时,将拨打绑定电话求救。运动监护系统程序流程图如图6所示。
图6 运动监护系统程序流程图
由于姿态解算涉及的参数较多,且极易受到干扰,系统中引入卡尔曼滤波算法实现数据优化。算法结构如图7所示,包括状态更新和观测更新两个过程。
图7 卡尔曼滤波算法框图
状态更新是根据(k-1)时刻的状态值与误差协方差去估计k时刻的对应结果,状态方程如下所示:
观测更新用于修正状态更新的结果,观测方程如下所示:
式中,zk为k时刻的观测向量,H为真值xk的系数矩阵,K为系统增益,R为观测噪声协方差矩阵。
选取k时刻,设定经角速度积分所得的姿态角为估计值,经加速度和磁场强度获得的姿态角为观测值,两者与真值的偏差分别为先验估计误差和后验估计误差。观测向量zk与先验估计、后验估计的关系整理得到:
将检测电路静止摆放在水平桌面上,测得卡尔曼滤波前后陀螺仪静态输出对比结果如图8所示。不难看出,滤波前的角速度输出值包含白噪声且零点发生漂移;滤波后信号输出平稳,漂移误差得到有效补偿,当沿y轴迅速敲击桌子边沿后,该方向测量结果出现图8(b)中的瞬时峰值。
惯性测量单元是获取人体运动参数的重要组件,为检验其有效性,需要进行穿戴实验。考虑到老年人参与实验的潜在危险性,选择青年人为研究对象。监测终端佩戴于腰间,可以有效反映人体躯干的动作变化。为高度还原老年人跌倒时的场景,参与实验者将双眼蒙住,同时在腿上绑住沙袋,以模仿老年人在腿脚不便时的运动状态。另外,在行进道路上还设置有障碍,用于模拟突然跌倒的情形。实验中测试了与跌倒相似度较高的日常动作以及典型跌倒动作,例如:慢跑、正常躺下、向前跌倒及向左跌倒。
对比上述4种行为的测量曲线不难发现,在跌倒瞬间,加速度与角速度均出现瞬时峰值,其中单轴加速度幅值接近6 g,角速度幅值约400 °/s,且加速度会出现先变小再变大的现象。这可以理解为,跌倒前期人体失衡导致短暂失重,而跌倒之后与地面的碰撞又引起瞬间超重[11]。倒地静止后,虽然加速度向量模回归初始值,但由于欧拉角偏转的缘故,单轴分量已经与人体静止站立时相差甚远。
为检验跌倒判断算法的可靠性,选取4位体型差异较大的参与者,每人每组实验50次,进一步测试日常生活中的相关行为,以便获更具一般性的实验数据。跌倒报警实验结果如表1所列。
图8 卡尔曼滤波前后陀螺仪静态输出测试结果对比
表1 跌倒报警实验结果统计
从表1中可以看出,本系统能够有效区分日常行为和跌倒行为。值得注意的是,向后跌倒时的正确率明显低于其他情形,这主要是由于在此期间,测试者会下意识弯腰,一定程度上缓和了加速度的突变程度。对于老年人而言,反应速度及力量均不如青年人,报警的正确率还会有所提高。
本文结合九轴惯性测量单元和无线通信的技术特点,设计了用于老年人跌倒检测的远程报警系统,实现了人体运动参数的实时跟踪、上传、回放与分析,并且不受运动状态、时间、地点的约束。当检测到有跌倒发生时,系统立刻
发出声音报警,同时通过蓝牙和移动通信模块向外界呼救,最大程度地降低跌倒引发的伤害。经测试,跌倒识别的正确率超过90%。后期还将通过增加实验样本数量,进一步修正各层次的判定阈值,以达到更好的监护效果。
[1] 全国老龄工作委员会办公室. 中国人口老龄化发展趋势预测研究报告[J]. 中国社会报, 2006-2-27(6).
[2] Hajhosseiny R,Matthews G K,Lip G Y.Metabolic syndrome,atrial fibrillation,and stroke:Tackling an emerging epidemic[J].Heart Rhythm,2015,12(11):2332-2343.
[3] 朱勇,张研,宋佳,等. 基于倾角的跌倒检测方法与系统研究[J]. 生物医学工程学杂志,2013, 30(1): 95-99.
[4] Michael R Narayanan, Stephen J Redmond, Maria Elena Scalzi, et.al. Longitudinal falls-risk estimation using triaxial accelerometer[J]. IEEE Transactions on Biomedical Engineering, 2010, 57(3): 534- 541.
[5] 李冬,梁山. 基于加速度传感器的老年人跌倒检测装置设计[J]. 传感器与微系统,2008, 27(9): 85-88.
[6] 郑娱,鲍楠,徐礼胜. 跌倒检测系统的研究进展[J]. 中国医学物理学杂志,2014, 31(4): 5071-5076.
[7] 张军建,赵捷,安佰京,等. 基于三轴加速度传感器的跌倒检测研究[J]. 现代生物医学进展,2014, 14(18): 3585-3588.
[8] 陈伟. 基于四元数和卡尔曼滤波的姿态角估计算法研究与应用[D]. 秦皇岛:燕山大学,2015.
[9] 孙冬梅,田增山,韩令军. 捷联惯导系统中四元素法求解姿态角仿真模拟[J]. 弹箭与制导学报,2009, 29(1):51-53,60.
[10] 王荣,章韵,陈建新. 基于三轴加速度传感器的人体跌倒检测系统设计与实现[J]. 计算机应用,2012, 32(5): 1450-1452, 1456.
[11] 李娜,侯义斌,黄樟钦. 基于人体加速度特征的实时跌倒识别算法[J]. 小型微型计算机系统,2012, 33(11): 2410-2413.
于玮(硕士),研究方向为计算机测控技术。
Remote Fall Alarm System Based on Inertial Measurement Unit
Yu Wei1,Xu Bin2
(1.Engineering Training Center,Nantong University,Nantong 226019,China;2.School of Nursing,Nantong University)
A remote fall alarm system based on nine-axis inertial measurement unit and wireless communication network is proposed.From the mathematical model,the fall process is divided into three stages including imbalance,crashing and lying on the ground.The vector modulus of acceleration and angular velocity,the instantaneous attitude angle and other parameters are studied.The Kalman filtering algorithm is used to cancel the zero drift of the gyro in static measurement.The motion parameters are measured by the inertial measurement sensors tied to the waist.And the final judgment is made by microprocessor based on multi-threshold.When a fall occurs,the system sends the alarm information in the different ways immediately to reduce the damage to the greatest extent.The experiment results show that the accuracy of fall recognition is more than 90%.It can be used in general situation for elderly health care.
fall detection;remote monitoring;attitude algorithm;quaternion algorithm;Kalman filtering
2014年南通大学自然科学类科研基金一般项目(14Z006)。
TP274
A
迪娜
2016-12-12)