基于惯性传感器的老年人姿态监测装置设计*

2018-10-22 10:46吴聪张坤杨立才
生物医学工程研究 2018年2期
关键词:服务器端姿态加速度

吴聪,张坤,杨立才

(山东大学控制科学与工程学院,济南 250061)

1 引 言

老年人由于运动能力和平衡感知能力的衰退,易受跌倒、久坐不起等异常状态的影响。为此,设计和开发一种具有有效的姿态监测、并能够实现异常状态远程报警及事故发生地定位等功能的老年人姿态检测装置,具有重要的社会意义和应用价值。

根据应用的特征参数和技术的不同,针对跌倒等异常状态的检测方法主要有基于视频图像的跌倒检测方法、环境式跌倒检测方法和基于穿戴式装置的跌倒检测方法[1]。

王亚飞[2]、刘非非[3]、汪大峰[4]等人都通过实验研究证明了基于视频图像检测跌倒状态的可行性。此类方法通常采集多维信号,运用模式识别的分类方法对样本动作进行训练并提取阈值,准确度较高,不足之处在于它计算量大,只适用于居家及固定场所监测,不能保证用户的隐私安全并且视频图像的质量受光线等环境影响较大。

李云[5]、Ariani[6]等人基于声源信号、压力信号等位置固定的传感器信息进行了环境式跌倒检测的研究。此类方法是将各类传感器固定在人体活动的区域内,实现对人体的运动信息进行采集处理,其优势在于无需穿戴,对用户影响较小且不涉及隐私问题,但使用区域具有局限性,并且成本较高。

基于穿戴式装置的跌倒检测方法具有计算量小、成本低,易于工程实现,且不存在暴露用户隐私、不受环境及应用场景的制约等特点,特别适合于社区、家庭等日常环境下老年人的姿态监测,匹配无线通信与定位等功能,还可实现异常状态远程报警及事故发生地定位,是目前跌倒等异常状态的检测研究的主要方向[7]。

基于上述背景,结合社区及居家养老发展的需求,本研究设计并实现了一种穿戴式人体姿态监测装置,该装置基于惯性测量单元,佩戴于使用者腰部,不仅可以及时检测跌倒等异常状态,还可对人体日常姿态及位置信息进行连续监测并统计步数信息,通过GPRS网络向服务器端上传数据,能准确识别行走、坐/站、跌倒和躺等多种姿态。装置中还加入了语音播报功能,可以播报服务器端推送的子女问候信息、天气预报等语音消息,为佩戴者提供生活指导和精神慰藉。经试验验证,该装置可准确识别跌倒等异常状态并及时发出报警信息,对佩戴者的姿态和位置信息能进行连续有效的监测。看护人员可远程实时了解老年人当前所处状态并及时发现异常,有效减轻了看护人员的压力,降低了跌倒等异常状态对老年人的危害,对老年人的身心健康实现全方位的呵护,为居家养老等应用提供了一种可行的解决方案。

2 系统设计

本研究设计实现了姿态监测装置的样机,样机主电路见图1。

2.1 系统硬件设计

硬件部分由电源模块、微控制器、GPS/GPRS模块、语音合成播报模块及惯性测量单元组成,系统硬件连接原理框图见图2。

图1 装置主电路

图2 系统硬件原理框图

微控制器采用ARM内核的STM32F103T8U6嵌入式MCU作为系统的主控,控制各功能单元协调工作,具有低功耗高性能的优势。

惯性测量单元由MPU6050和QMC5883构成的九轴惯性传感器组成,可检测人体加速度和角速度参数,通过I2C总线与MCU通讯,经姿态解算获取人体姿态角。

语音合成播报部分由语音合成芯片SYN6288以及功放芯片SNAP01组成,通过串口与MCU通讯,接收特定格式的待合成信息,将其合成声音信号并送给功放模块,可以播报服务器推送的天气、提醒、问候等语音消息。

GPS/GPRS部分采用了移远MC20模块,支持卫星定位及基站定位。MCU通过AT指令完成对该模块的控制。系统通过该模组将位置信息及姿态信息上传服务器。

2.2 系统软件设计

系统软件采取模块化设计的思想,软件流程见图3。

图3 软件流程图

系统上电后,首先进行一系列初始化工作,初始化对象为传感器、GPRS/GPS模块及MCU的串口。然后进入主循环,每隔30 ms采集一次传感器数据,据此计算姿态角,并将传感器数据以及解算得到的姿态角放入队列。当队列满时,进行姿态判别,并更新表征姿态的全局变量。当姿态判定为跌倒状态时,立即向服务器上报跌倒状态。

软件设计加入了10 s的定时器中断,当定时时间到,自动上报当前姿态、步数、位置信息。在中断处理过程中,检索串口缓冲区中是否有服务器端推送来的语音信息,如果有,则进行语音播报。

3 姿态检测算法设计

本研究基于惯性测量单元,融合多传感器数据,利用四元数法进行姿态解算,得到人体姿态角,以多种运动状态下的特征为依据,结合实验获得的预设阈值,进行姿态判别。

3.1 人体姿态角解算

姿态解算常用的算法有欧拉角法、方向余弦法以及四元数法。与其他方式相比,四元数法无奇点,计算量小,被广泛应用于运动控制系统的实时姿态解算[8]。

本系统通过采集陀螺仪的原始数据,根据欧拉角与四元数解算,求解相对姿态角,然后根据采集到的加速度计和磁力计信号,利用重力场和地磁场在地理坐标系与载体坐标系之间的方向余弦转换,解算出绝对姿态角[9],即航向角(Yaw)、俯仰角(Pitch)以及横滚角(Roll),本研究分别用Ψ、θ和Φ表示这三者。

(1)

本研究通过对加速度计、陀螺仪和磁力计进行数据融合,求解更为精确的姿态角。每进行一次姿态解算,则根据融合传感器数据更新一次四元数,通过更新后的四元数得到姿态角:

(2)

3.2 特征选取

本研究进行姿态判别的依据为人体姿态角及加速度信息。在不同运动状态下,人体各方向加速度会呈现不同的变化规律。Hendelma[11]等发现信号幅度区域(signal magnitude area,SMA)与周期运动强度有极大的相关性,并指出Y轴加速度对于区分人体基本姿态效果显著。基于此,本研究提取Y轴加速度一阶差分信号的幅值SMA作为区分人体姿态的基本特征之一。见公式(3),式中Acc_y[i]为i时刻的Y轴加速度。

(3)

本研究以合加速度作为运动强度的度量指标,其计算见公式(4)。

(4)

其中,Acc_x、Acc_y、Acc_z为三个正交方向的加速度信号,均为n次采样数据的平均值。通过设计实验采集数据,我们得到了4种运动状态下各特征值的变化情况,见图4~图7。

图4 信号幅度区域

图5 合加速度

图6 俯仰角

3.3 运动状态判别

由图4~图7可以看出,SMA和ACC可用于区分基本的动和静两种相对状态,静止状态下的站和躺两种状态可用Pitch角以及Roll角来区分。因为躺又分为平躺、侧躺等不同的细分姿态,所以应该结合Pitch和Roll两个角度设定站与躺的阈值来区分二者。行走和跌倒两种状态下SMA和ACC的幅度明显不同,并且当跌倒发生时,Pitch角会有明显的突发性变化。本研究利用上述条件构建姿态判别模型,完成对姿态的识别。具体的姿态判别流程见图8。

图7 横滚角

图8 姿态判别流程图

上述流程中,首先采集传感器数据,并进行特征提取,比较SMA和预设阈值的大小:

(1)当SMA大于0.3 g时,说明此时Y轴方向上有较强的运动,如果此时的合加速度大于1.6 g,则认为有跌倒的可能。如果2 S后姿态的判别为躺,则认为发生了跌倒。

(2)当SMA小于0.3 g时,说明此时人体运动状态为相对静止状态,即站、坐或躺,具体的区分应该根据此时的Pitch角和Roll角的大小。

4 系统功能测试

为测试系统性能,检验本研究算法及装置的可行性,本研究选择了10名学生志愿者佩戴该装置,进行了验证实验。每名志愿者分别进行5次跌倒、行走、静站/坐、躺实验,测试结果见表1。

表1 测试结果

从试验结果可以看出,该装置可以有效检测受试者的运动状态,对于跌倒状态,有较高的识别率。在windows环境下,采用TCP/UDP Socket调试工具模拟服务器端,接收该装置通过GPRS网络上传的信息,并向终端发送语音信息,运行示例见图9、图10。

图9 服务器端数据接收情况

图10 服务器端数据发送情况

由图9可以看出,该装置可以通过GPRS网络定时向服务器端上报人体的姿态信息、步数以及位置信息,并且可以在卫星定位和基站定位两种模式间实现自动切换。图10示例表明,当服务器向终端装置发送文本消息时,该装置可以正确接收来自服务器端的信息并将其合成为语音信号播报出来,具有较强的实用性。

5 结论

本研究通过对跌倒以及老年人的日常行为进行分析研究,设计了一种基于惯性测量单元的人体姿态监测装置,并给出了相应的人体姿态检测算法。该装置通过融合传感器数据,利用四元数法进行姿态解算,从加速度信息中提取关键特征,根据内建模型,实现人体姿态判别,并通过GPRS网络将终端设备检测到的人体姿态上报服务器。试验表明,该装置可有效检测跌倒等异常状态,对人体姿态及位置信息进行连续监测,对服务器端推送的语音消息能准确播报,具有高识别率以及很强的实用性,可有效减少医护成本,降低跌倒等异常状态对老年人的危害,为老年人的居家养老等应用提供了一种可行的解决方案。

猜你喜欢
服务器端姿态加速度
“鳖”不住了!从26元/斤飙至38元/斤,2022年甲鱼能否再跑出“加速度”?
Linux环境下基于Socket的数据传输软件设计
攀爬的姿态
天际加速度
全新一代宋的新姿态
跑与走的姿态
创新,动能转换的“加速度”
死亡加速度
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计