基于姿态融合解算的跌倒检测报警方法及系统

文档序号:31535115发布日期:2022-09-16 22:09阅读:182来源:国知局
基于姿态融合解算的跌倒检测报警方法及系统

1.本发明属于跌倒检测技术领域,具体涉及基于姿态融合解算的跌倒检测报警方法及系统。


背景技术:

2.目前,随着我国老龄化的不断加剧,老人健康监测已经成为整个社会关注的重点问题,跌倒检测设备也是研究的热点之一,国内外已有众多科研人员及资金致力于跌倒检测设备或算法的研发。根据跌倒检测装置的数据采集方式和使用情况,跌倒检测可分为环境信号跌倒检测技术、视频图像跌倒检测技术和可穿戴设备跌倒检测技术三类。
3.基于环境信号跌倒检测设备存在安装场所固定、成本较高,跌倒检测准确率较低等不足。该装置仅能安装于家中、社区和老人活动中心等固定场所,便携性较低;环境因素和噪声处理较复杂,算法识别难度较大,算法准确率较低,误报现象时有发生,且这类装置安装费用较高,不宜大范围推广。现有技术中对跌倒行为进行分类都是针对某一特定类型而设计,没有考虑不同人群的因此基于环境信号跌倒检测方法的实际效果达不到实用的要求。
4.视频图像跌倒检测技术,由于复杂环境及光照条件的影响,不能准确地对被测对象进行定位与追踪。
5.以可穿戴设备为基础的跌倒检测技术就是在手表和腰带等装置上嵌入传感器,通过对传感器采集到的数据进行处理,对某一时间段的人体姿态进行分析,从而确定人体是否存在跌倒行为。常用的传感器有加速度传感器、陀螺仪传感器、红外传感器、磁力传感器等。
6.现有技术利用三轴加速度计与高度传感器采集运动数据,并通过基于反向传播神经网络的跌倒检测算法对数据进行处理,准确率达到97.37%。另外,现有技术设计了一款人体姿态检测鞋,用压力传感器和三轴加速度计分别获取体重分布和脚方向的信息,以此识别跌倒。现有技术还提出了一种基于协同加速度计传感器的跌倒自适应姿态检测方法,研究人员进行了2520次试验,以确定在人体上放置传感器的最佳位置。结果表明,腰部是最适合放置传感器的部位。研究人员还利用模糊逻辑的跌倒检测算法处理加速度计和声音传感器的输出信号,以此判断跌倒。
7.因此,设计一种能够提高跌倒检测准确度和能实现自动报警的基于姿态融合解算的跌倒检测报警方法及系统,就显得十分必要。
8.例如,申请号为cn202123372248.5的中国专利文献描述的一种老年人跌倒的检测预警装置,包括:拐杖主体、预警底座和握柄,所述拐杖主体下端安装有所述预警底座,所述拐杖主体上端安装有所述握柄,所述拐杖主体内安装有无线报警机构。虽然通过预警底座、电子水平仪以及蜂鸣器的设计,能够使跌倒检测装置具有提前预警功能,使老年人在使用过程中遇到可能跌倒的场景时可以提前发出警示信息,从而提高跌倒检测装置的使用安全性,通过plc控制器、延时器以及按压式感应器的设计,能够使跌倒检测装置具有延时警报
功能,使跌倒检测装置可以为一些误警报的情况提供容错处理时间,从而提高跌倒检测装置的使用可以更加灵活,但是其缺点在于,只是简单利用采集到的数据进行阈值判断,实现预警,精确度有限,容易产生误报。


技术实现要素:

9.本发明是为了克服现有技术中,针对跌倒检测,现有技术存在误报及精确度低的问题,提供了一种能够提高跌倒检测准确度和能实现自动报警的基于姿态融合解算的跌倒检测报警方法及系统。
10.为了达到上述发明目的,本发明采用以下技术方案:
11.基于姿态融合解算的跌倒检测报警方法,包括如下步骤:
12.s1,采集人体姿态数据,所述人体姿态数据包括人体加速度和人体角速度;
13.s2,根据人体姿态数据,通过传统四元数解算,获得人体姿态角参数roll、pitch和yaw;
14.s3,通过互补滤波方法,将利用加速度计解算出的roll和pitch角参数和利用陀螺仪解算出的roll、pitch和yaw角参数进行互补融合,获得互补滤波后的姿态角;
15.s4,通过卡尔曼滤波,对互补滤波后的姿态角进行姿态融合,获得当前姿态角最佳估计值;
16.s5,根据获得的当前姿态角最佳估计值,与预先设定的阈值进行比较,若当前姿态角最佳估计值超过阈值,则判断用户当前发生跌倒并报警。
17.作为优选,步骤s2包括如下步骤:
18.s21,定义合加速度svm算法,具体公式如下:
[0019][0020]
其中,a
x
、ay和az分别代表设定的x、y和z轴的加速度;svm表示人体加速度的总和,用于区分人体的运动状态;svm越小,人体运动越平稳,svm越大,运动越剧烈;
[0021]
s22,设定四元数表示3维空间的旋转,四元数的基本表示形式如下:
[0022]
q(q0,q1,q2,q3)=q0+q1i+q2j+q3k
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4-2)
[0023]
其中,i旋转代表x轴与y轴相交平面中x轴正向向y轴正向的旋转,j旋转代表z轴与x轴相交平面中z轴正向向x轴正向的旋转,k旋转代表y轴与z轴相交平面中y轴正向向z轴正向的旋转,-i、-j、-k分别代表i、j、k旋转的反向旋转。
[0024]
对四元数进行解算,得到roll、pitch和yaw,具体过程如下:
[0025][0026]
作为优选,步骤s3包括如下步骤:
[0027]
s31,设定旋转矩阵:
[0028][0029]
其中,定义m
x
为绕着x轴旋转r角度,my为绕着y轴旋转p角度,mz为绕着z轴旋转y角度。
[0030]
s32,利用加速度计解算出的roll和pitch角参数,具体过程如下:
[0031][0032]
最终获得roll和pitch角参数如下:
[0033][0034]
s33,在第n时刻,测得在当前时刻分别绕x、y、z轴旋转r、p、y角度,同时计算下一时刻,即n+1时刻的姿态角r+δr、p+δp、y+δy;姿态角度变化量由角速度与对采样时间周期的积分得到;
[0035]
角度变化量如下:
[0036][0037]
陀螺仪解算姿态角过程如下:
[0038]
[0039][0040]
其中,g
x
、gy、gz分别为陀螺仪绕x、y、z轴旋转读到的角速度值。
[0041]
最终,得到陀螺仪解算的姿态角:
[0042][0043]
s34,对加速度计算出的roll和pitch角以及陀螺仪算出的roll、pitch和yaw角,进行互补融合,得到融合后的roll、pitch和yaw角如下:
[0044][0045]
其中acc代表加速度计解算的姿态角,gyro代表陀螺仪解算的姿态角;k为比例系数,可根据实际来调整。
[0046]
作为优选,步骤s4包括如下步骤:
[0047]
s41,设定卡尔曼滤波有两个方程,一个是状态方程,一个是观测方程:
[0048]
xk=ax
k-1
+bu
k-1

k-1
ꢀꢀ
(4-16)
[0049]
zk=hxk+vkꢀꢀ
(4-17)
[0050]
其中,在状态方程中ω
k-1
为过程噪声,期望为0,协方差矩阵为过程噪声,期望为0,协方差矩阵在观测方程中,vk为测量噪声,期望为0,协方差矩阵
[0051]
去掉噪声项后得到两个理论的状态方程和观察方程,如下:
[0052][0053][0054]
由式(4-14)、(4-15)、(4-18)可得状态方程:
[0055][0056]
其中,将互补滤波输出的角度值作为状态变量即其中,将互补滤波输出的角度值作为状态变量即
为上一时刻卡尔曼滤波后的结果,为陀螺仪输出角速度;
[0057]
在式(4-19)中,加速度计输出结果作为观测结果
[0058]
令则
[0059]
s42,根据卡尔曼滤波过程及公式对互补滤波后的姿态角进行姿态融合:
[0060]
第一步,向前推算状态变量,得:
[0061][0062][0063]
赋予x
k-1
初值
[0064]
第二步,向前推算误差协方差,得:
[0065][0066]
其中,p称为误差的协方差矩阵,q称为过程噪声的协方差矩阵,
[0067]
第三步,计算卡尔曼增益,得:
[0068][0069]
第四步,数据融合,得:
[0070][0071]
第五步,更新协方差矩阵pk,得:
[0072][0073]
s43,将互补融合后的姿态角看作是当前状态的预测,并作为跌倒检测的特征值。
[0074]
本发明还提供了基于姿态融合解算的跌倒检测报警系统,包括:
[0075]
数据采集模块,用于采集人体姿态数据,所述人体姿态数据包括人体加速度和人体角速度;
[0076]
人体姿态角解算模块,用于根据人体姿态数据,通过传统四元数解算,获得人体姿态角参数roll、pitch和yaw;
[0077]
互补滤波模块,用于通过互补滤波方法,将利用加速度计解算出的roll和pitch角参数和利用陀螺仪解算出的roll、pitch和yaw角参数进行互补融合,获得互补滤波后的姿态角;
[0078]
卡尔曼滤波模块,通过卡尔曼滤波,对互补滤波后的姿态角进行姿态融合,获得当前姿态角最佳估计值;
[0079]
综合报警模块,用于根据获得的当前姿态角最佳估计值,与预先设定的阈值进行比较,若当前姿态角最佳估计值超过阈值,则判断用户当前发生跌倒并报警。
[0080]
作为优选,基于姿态融合解算的跌倒检测报警系统,还包括:
[0081]
人机交互模块,用于显示数据信息。
[0082]
作为优选,基于姿态融合解算的跌倒检测报警系统,还包括:
[0083]
北斗定位模块,用于定位人体所在地理位置。
[0084]
作为优选,数据采集模块包括:
[0085]
姿态检测模块,用于通过加速度计和陀螺仪检测人体加速度和人体角速度。
[0086]
本发明与现有技术相比,有益效果是:(1)本发明将传感器中的加速度计和陀螺仪测得的姿态角在频域上对两者进行互补融合,解决了陀螺仪在时间积分上产生累积误差和受工作温度的影响产生温漂的问题,也解决了加速度计在动态试验中,容易受外界噪声的影响;(2)本发明在姿态解算上,精度更高,提高了老人跌倒检测的准确度,降低了误报率。
附图说明
[0087]
图1为本发明中基于姿态融合解算的跌倒检测报警方法的一种流程图;
[0088]
图2为本发明中加速度计解算姿态角的一种过程示意图;
[0089]
图3为本发明中陀螺仪获取姿态角的一种过程示意图;
[0090]
图4为正常行走时roll、pitch和yaw三个姿态角的一种曲线示意图;
[0091]
图5为快速坐下时roll、pitch和yaw三个姿态角的一种曲线示意图;
[0092]
图6为向前跌倒时roll、pitch和yaw三个姿态角的一种曲线示意图;
[0093]
图7为横滚角roll、俯仰角pitch和偏航角yaw与实际角度的一种误差曲线示意图;
[0094]
图8为本发明实施例中提供的基于姿态融合解算的跌倒检测报警系统的一种原理框图。
具体实施方式
[0095]
为了更清楚地说明本发明实施例,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
[0096]
实施例:
[0097]
如图1所示,本发明提供了基于姿态融合解算的跌倒检测报警方法,包括如下步骤:
[0098]
s1,采集人体姿态数据,所述人体姿态数据包括人体加速度和人体角速度;
[0099]
s2,根据人体姿态数据,通过传统四元数解算,获得人体姿态角参数roll、pitch和yaw;
[0100]
s3,通过互补滤波方法,将利用加速度计解算出的roll和pitch角参数和利用陀螺仪解算出的roll、pitch和yaw角参数进行互补融合,获得互补滤波后的姿态角;
[0101]
s4,通过卡尔曼滤波,对互补滤波后的姿态角进行姿态融合,获得当前姿态角最佳估计值;
[0102]
s5,根据获得的当前姿态角最佳估计值,与预先设定的阈值进行比较,若当前姿态角最佳估计值超过阈值,则判断用户当前发生跌倒并报警。
[0103]
其中,步骤s2包括如下步骤:
[0104]
s21,定义合加速度svm算法,具体公式如下:
[0105][0106]
其中,a
x
、ay和az分别代表设定的x、y和z轴的加速度;svm表示人体加速度的总和,用于区分人体的运动状态;svm越小,人体运动越平稳,svm越大,运动越剧烈;
[0107]
s22,设定四元数表示3维空间的旋转,四元数的基本表示形式如下:
[0108]
q(q0,q1,q2,q3)=q0+q1i+q2j+q3k
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4-2)
[0109]
其中,i旋转代表x轴与y轴相交平面中x轴正向向y轴正向的旋转,j旋转代表z轴与x轴相交平面中z轴正向向x轴正向的旋转,k旋转代表y轴与z轴相交平面中y轴正向向z轴正向的旋转,-i、-j、-k分别代表i、j、k旋转的反向旋转。
[0110]
对四元数进行解算,得到roll、pitch和yaw,具体过程如下:
[0111][0112]
步骤s3包括如下步骤:
[0113]
s31,设定旋转矩阵:
[0114][0115]
其中,定义m
x
为绕着x轴旋转r角度,my为绕着y轴旋转p角度,mz为绕着z轴旋转y角度。
[0116]
s32,利用加速度计解算出的roll和pitch角参数,具体过程如图2所示:
[0117][0118]
最终获得roll和pitch角参数如下:
[0119][0120]
s33,在第n时刻,测得在当前时刻分别绕x、y、z轴旋转r、p、y角度,同时计算下一时刻,即n+1时刻的姿态角r+δr、p+δp、y+δy;姿态角度变化量由角速度与对采样时间周期的积分得到,具体过程如图3所示;
[0121]
角度变化量如下:
[0122][0123]
陀螺仪解算姿态角过程如下:
[0124][0125][0126]
其中,g
x
、gy、gz分别为陀螺仪绕x、y、z轴旋转读到的角速度值。
[0127]
最终,得到陀螺仪解算的姿态角:
[0128][0129]
s34,对加速度计算出的roll和pitch角以及陀螺仪算出的roll、pitch和yaw角,进行互补融合,得到融合后的roll、pitch和yaw角如下:
[0130][0131]
其中acc代表加速度计解算的姿态角,gyro代表陀螺仪解算的姿态角;k为比例系数,可根据实际来调整。
[0132]
步骤s4包括如下步骤:
[0133]
s41,设定卡尔曼滤波有两个方程,一个是状态方程,一个是观测方程:
[0134]
xk=ax
k-1
+bu
k-1

k-1
ꢀꢀ
(4-16)
[0135]
zk=hxk+vkꢀꢀ
(4-17)
[0136]
其中,在状态方程中ω
k-1
为过程噪声,期望为0,协方差矩阵为过程噪声,期望为0,协方差矩阵在观测方程中,vk为测量噪声,期望为0,协方差矩阵
[0137]
去掉噪声项后得到两个理论的状态方程和观察方程,如下:
[0138][0139][0140]
由式(4-14)、(4-15)、(4-18)可得状态方程:
[0141][0142]
其中,将互补滤波输出的角度值作为状态变量即其中,将互补滤波输出的角度值作为状态变量即为上一时刻卡尔曼滤波后的结果,为陀螺仪输出角速度;
[0143]
在式(4-19)中,加速度计输出结果作为观测结果
[0144]
令则
[0145]
s42,根据卡尔曼滤波过程及公式对互补滤波后的姿态角进行姿态融合:
[0146]
第一步,向前推算状态变量,得:
[0147]
[0148][0149]
赋予x
k-1
初值
[0150]
第二步,向前推算误差协方差,得:
[0151][0152]
其中,p称为误差的协方差矩阵,q称为过程噪声的协方差矩阵,
[0153]
第三步,计算卡尔曼增益,得:
[0154][0155]
第四步,数据融合,得:
[0156][0157]
第五步,更新协方差矩阵pk,得:
[0158][0159]
s43,将互补融合后的姿态角看作是当前状态的预测,并作为跌倒检测的特征值。
[0160]
本发明还提供了基于姿态融合解算的跌倒检测报警系统,如图8所示,包括:stm32主控模块、姿态检测模块、北斗定位模块、人机交互模块、综合报警模块。stm32f103是本系统的核心处理器,负责接收各传感器信息并进行相应的处理和执行算法,完成对gprs数据的传输。姿态检测模块通过mpu6050采集人体加速度、角度变化等信息。人机交互模块包括按键、指示灯和oled屏等。stm32主控模块内设置的算法包括人体姿态角解算、互补滤波和卡尔曼滤波模。综合报警模块,用于根据获得的当前姿态角最佳估计值,与预先设定的阈值进行比较,若当前姿态角最佳估计值超过阈值,则判断用户当前发生跌倒并报警。
[0161]
本发明使用mpu6050模块进行试验验证,将传感器佩戴于实验者腰部,分别使用两种不同的算法做2组实验,一组是日常活动中的正常行走和快速坐下,另一组是向各个方向跌倒实验,每组实验做50次。
[0162]
图4和图5是实验者第一组日常活动求得的姿态角。从图中可以看出经过dmp算法处理后的姿态角,存在噪声且对姿态角有严重的影响,甚至出现超出人体正常活动范围的情况,虽然在跌倒检测中设有二次检测判断,但仍出现误报的现象。而经过互补滤波和卡尔曼滤波融合算法处理后的姿态角的曲线相对平滑,在检测中未出现误报警现象,准确率达到100%。
[0163]
图6记录了实验者第二组向前跌倒的姿态角曲线。从图中可以看出,在实验者向前跌倒的过程中,pitch角随着人体的倾斜程度不断增大,直至处于跌倒状态。在跌倒过程中难免会出现向左右偏移的情况,所以roll角也发生了轻微变化,yaw角的变化则反映了人体在跌倒过程中的前进方向。所以,人体向前后方向跌倒时主要通过pitch角来判断跌倒,同理侧向跌倒主要通过roll角判断。融合算法下跌倒检测实验结果如下表1所示:
[0164]
表1融合算法下跌倒检测实验结果数据表
[0165][0166][0167]
分别利用互补滤波算法、卡尔曼滤波算法和融合算法对采集到的数据进行姿态角解算。得到的横滚角roll、俯仰角pitch和偏航角yaw与实际角度的误差曲线如图7所示。
[0168]
取平均值后可以得到融合算法、互补滤波算法、卡尔曼滤波算法三个姿态角的误差如下表2所示:
[0169]
表2不同算法解算姿态角与实际姿态角的误差数据表
[0170][0171]
比较后可得,融合算法较互补滤波算法和卡尔曼滤波算法在俯仰角误差上分别降低了28.0%和51.4%,在横滚角误差上分别降低了18.5%和37.1%,在航向角误差上分别降低了37%和50.0%。
[0172]
综上所述,融合算法在姿态解算上,精度更高,提高老人跌倒检测的准确度,降低了误报率。
[0173]
本发明将传感器中的加速度计和陀螺仪测得的姿态角在频域上对两者进行互补融合,解决了陀螺仪在时间积分上产生累积误差和受工作温度的影响产生温漂的问题,也解决了加速度计在动态试验中,容易受外界噪声的影响;本发明在姿态解算上,精度更高,提高了老人跌倒检测的准确度,降低了误报率。
[0174]
以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视
为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1