CN108670263A - 一种基于mpu-6050的睡眠姿态判定方法 - Google Patents
一种基于mpu-6050的睡眠姿态判定方法 Download PDFInfo
- Publication number
- CN108670263A CN108670263A CN201810479919.1A CN201810479919A CN108670263A CN 108670263 A CN108670263 A CN 108670263A CN 201810479919 A CN201810479919 A CN 201810479919A CN 108670263 A CN108670263 A CN 108670263A
- Authority
- CN
- China
- Prior art keywords
- formula
- data
- sleep
- mpu
- posture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1118—Determining activity level
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/48—Other medical applications
- A61B5/4806—Sleep evaluation
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7203—Signal processing specially adapted for physiological signals or for diagnostic purposes for noise prevention, reduction or removal
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7203—Signal processing specially adapted for physiological signals or for diagnostic purposes for noise prevention, reduction or removal
- A61B5/7207—Signal processing specially adapted for physiological signals or for diagnostic purposes for noise prevention, reduction or removal of noise induced by motion artifacts
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
- A61B5/725—Details of waveform analysis using specific filters therefor, e.g. Kalman or adaptive filters
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7271—Specific aspects of physiological measurement analysis
Landscapes
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- Veterinary Medicine (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Public Health (AREA)
- Biophysics (AREA)
- Pathology (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Physiology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Psychiatry (AREA)
- Dentistry (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
本发明公开了一种基于MPU‑6050的睡眠姿态判定方法,包括:获取待测者睡眠过程中的加速度数据、角速度数据;对已获取的加速度和角速度数据进行卡尔曼滤波处理,用于去除噪声,继而得到旋转矩阵数据;采用互补滤波算法将加速度数据和角速度数据进行拟合,并利用四元数微分方程对拟合后的数据进行解算,得到四元姿态数并将四元姿态数进行单位化,最终得到欧拉角;采用滑动窗口法对三个欧拉角数据序列进行分割并提取特征值;利用决策树法对三个欧拉角角度的特征值所在的范围进行姿态划分,最终判定待测者的睡眠姿势。本发明有效检测睡眠姿势,帮助人们提高睡眠质量、促进身体健康。
Description
技术领域
本发明涉及智能家居领域,尤其涉及一种基于MPU-6050的睡眠姿态判定方法。
背景技术
健康是人类生活永恒的话题,健康的生活离不开充足的睡眠,睡眠可以促进体力、脑力的恢复以及记忆力的巩固,是生命活动中不可或缺的一部分。但不少人睡眠醒来,觉得头晕眼花、腰酸背痛、疲惫不堪,究其原因,很多时候主要是因为睡姿不当造成的。因此,选择正确的睡眠姿态是提升睡眠质量、保持身体健康的重要前提。
睡眠姿态是保证身体健康的、解除疲劳的方法之一。通过检测睡眠过程中的身体活动状况、***信息,并根据睡眠姿态判定算法,判断出睡眠期间的睡眠姿势。
目前,没有统一的睡眠姿态检测算法,不能付诸于任何睡眠姿势检测产品当中使用,人们在睡眠姿态方面不能根本的找到睡眠质量差的原因。
发明内容
针对上述技术问题,本发明提出一种基于MPU-6050的睡眠姿态判定方法。
一方面,本发明采用如下方法来实现:一种基于MPU-6050的睡眠姿态判定方法,包括:
步骤一、获取待测者睡眠过程中的加速度数据、角速度数据;
步骤二、对已获取的加速度和角速度数据进行卡尔曼滤波处理,用于去除噪声,继而得到旋转矩阵数据;
步骤三、采用互补滤波算法将加速度数据和角速度数据进行拟合,并利用四元数微分方程对拟合后的数据进行解算,得到四元姿态数并将四元姿态数进行单位化,最终得到欧拉角;
步骤四、采用滑动窗口法对三个欧拉角数据序列进行分割并提取特征值;
步骤五、利用决策树法对三个欧拉角角度的特征值所在的范围进行姿态划分,最终判定待测者的睡眠姿势。
进一步地,所述MPU-6050由3轴加速度计和3轴陀螺仪组成,所述3轴加速度计和3轴陀螺仪分别用来测量运动物体的运动加速度和角速度信息。
进一步地,所述三个轴向分别为X轴、Y轴、Z轴。
进一步地,所述卡尔曼滤波处理是利用线性***状态方程对加速度数据、角速度数据进行最优处理,其中,采用卡尔曼滤波器估计离散时间过程的状态变量该离散时间过程由以下离散随机差分方程描述如下式所示:
X(k)=AX(k-1)+BU(k)+W(k) (1)
Z(k)=HX(k-1)+V(k) (2)
(1)、(2)式中,
A、B、H——***矩阵;
X(k)——k时刻的***状态;
U(k)——k时刻对***的控制量;
Z(k)——k时刻的测量值;
W(k)和V(k)——分别为***干扰和测量噪声;
利用***的过程模型,预测***的下一个状态,假设***现在的状态为k,根据***的模型,基于***的上一状态预测现在的状态如下式所示:
X(k|k-1)=AX(k-1|k-1)+BU(k) (3)
(3)式中,
X(k|k-1)——根据上一状态预测的结果;
X(k-1|k-1)——上一状态最优结果;
U(k)——现在状态的控制量;
***结果得到更新,对应于X(k|k-1)的协方差通过式(4)得到更新;
P(k|k-1)=AP(k-1|k-1)A+Q (4)
式(4)中:
P(k|k-1)——X(k|k-1)对应的协方差;
P(k-1|k-1)——X(k-1|k-1)对应的协方差;
A——A的转置矩阵;
Q——***过程的协方差;
结合上述所有公式得到预测量和***的状态测量值,以及现在状态的最优估计值,如(5)式所示:
X(k|k)=X(k|k-1)+Kg(k)Z(k)-HX(k|k-1) (5)
式(5)中,Kg为卡尔曼增益,如(6)式所示:
Kg(k)=P(k|k-1)H'/(HP(k/k-1)H'+R) (6)
得到k状态下的最优估计值X(k|k),然后通过(7)式进行k状态下X(k|k)的协方差的更新;
P(k|k)=(I-Kg(k)H)P(k|k-1) (7)
通过卡尔曼滤波器将MPU-6050输出的加速度数据和角速度数据进行滤波,滤掉若干噪声的尖峰值。
进一步地,所述互补滤波算法利用互补滤波器根据加速度计和陀螺仪的各自特性,在数据拟合过程中对加速度计进行高频信号过滤,同时对陀螺仪进行低频信号过滤,然后将过滤后的信号进行拟合得到完整频带的拟合数据。加速度计的偏差和陀螺仪的输出值通过加权构造增量旋转,然后通过四元数微分方程得到更新姿态四元数;其中,互补滤波算法中,利用陀螺仪积分后的角度与加速度计所获得的角度信息比较得到误差信号,将这个误差信号通过比例放大运算后对陀螺仪角速度传感器输出的角速度值进行补偿,并将补偿后的信号进行积分运算,得到最终的角度。若运动物体的机体轴所确定的坐标系为b,而导航采用的坐标系为R,则由R坐标系到b坐标系的坐标变换矩阵为运动物体的姿态矩阵。旋转矩阵如(8)式所示:
以q0、q1、q2、q3构造四元数Q=q0+q1i+q2j-q3k,得到四元数简单描述了运动物体的定点运动,其中uR为旋转轴和旋转方向,向量表示为uR=q1i+q2j+q3k。θ为旋转过的角度,可理解为b坐标系是由R坐标系经过一次性的无中间过程的等效旋转得到;互补滤波算法的计算步骤如下:
1)重力加速度归一化;
由于是单位矢量到参考系的投影,***在运算时需要将加速度计的三维向量转换为单位向量a;
2)提取四元数的等效旋转矩阵的重力分量;
用旋转矩阵将地理坐标系的单位化重力矢量g0=[0 0 1]旋转至机体坐标系上,其计算公式为如(9)式所示,得到
3)向量叉积得到姿态误差;
通过单位向量a与gb叉积得到带有误差的加速度计转动到与重力向量重合时需要的误差角度。由其中,a和g0为单位向量,所以|a|和|g0|都等于1,sinδ≈δ,所以通过向量叉积可得到误差;
4)对误差进行积分;
对当前加速度计δ测得的δ重力分量的差值进行积分,消除误差,即
error_I=δ·Ki (10)
5)姿态误差补偿到角速度上,修正角速度积分漂移;
将误差error_I输入到PI控制器中与本次通过陀螺仪测得的角速度相加,最后得到一个修正的角速度值;
Gyro+=δ·Kp+error_I (11)
6)更新四元数微分方程;
四元数微分方程可表示为:
其中,
ωx、ωy、ωz分别为绕X轴、Y轴、Z轴转动的角速度值,则公式可以转换为:
通过一阶近似龙格库塔求解法求解四元数微分方程,得到姿态四元数q0、q1、q2、q3,一阶近似龙格库塔求解方法是利用角增量来达到计算四元数的目的,一阶近似毕卡求解法的公式如(15)式所示:
其中,
所以得到最终的近似求解方法为:
7)四元数归一化,为四元数单位化;
将得到的四元数规范化、单位化;四元数转欧拉角过程中采用Z-Y-X的旋转顺序,选定四元数Q=w+xi+yj+zk,且为绕X轴旋转姿态角,θ为绕Y轴旋转姿态角,ψ为绕Z轴旋转姿态角,四元数转欧拉角的转换公式如(18)式所示:
进一步地,包括滑动窗口法和决策树算法。
进一步地,所述滑动窗口法中三个欧拉角是时间序列数据;采用滑动窗口法将时间序列数据分割成小片段,每个片段代表一个样本,然后再对这个片段进行特征提取;完成时间序列数据分割后,提取一组特征来代表窗口样本,根据所提取特征对窗口数据进行姿态分类。
进一步地,所述决策树算法应用于睡眠姿态分类判断中,将时间序列数据分割后的窗口样本特征值作为属性,具体为将每种欧拉角作为一个属性,每种欧拉角所在的角度范围表示一个属性的判断条件,叶子结点代表四种睡眠姿态;通过决策树的根节点判断符合哪分支;再判断θ符合哪个分支;然后判断ψ落在哪个叶子节点上,判断出待测者的睡眠姿势。
进一步地,待测者的睡眠姿势包括四种:仰卧、俯卧、左侧卧、右侧卧。
进一步地,包括:数据获取模块、卡尔曼滤波处理模块、互补滤波模块、滑动窗口模块以及决策树模块;
所述数据获取模块用于获取待测者睡眠过程中的加速度数据、角速度数据;
所述卡尔曼滤波处理模块用于对已获取的加速度和角速度数据进行卡尔曼滤波处理,用于去除噪声,继而得到旋转矩阵数据;
所述互补滤波模块采用互补滤波算法将加速度数据和角速度数据进行拟合,并利用四元数微分方程对拟合后的数据进行解算,得到四元姿态数并将四元姿态数进行单位化,最终得到欧拉角;
所述滑动窗口模块采用滑动窗口法对三个欧拉角数据序列进行分割并提取特征值;
所述决策树模块利用决策树法对三个欧拉角角度的特征值所在的范围进行姿态划分,最终判定待测者的睡眠姿势。
有益效果:
卡尔曼滤波算法、互补滤波算法、四元数姿态解算算法结构简单、计算方便、极大提高了数据的精确度,实现高效的数据融合;此外,滑动窗口法、决策树算法与其它提取特征值及姿态分类的方法相比,滑动窗口法实时性高,决策树法具有判断准确、操作简单、识别率高等优点,尤其适用于带有MPU-6050的睡眠检测产品当中,以及睡眠质量差及由于睡眠姿势不当而身体健康状况差的人群,可应用于其他检测产品当中使用较准确的对睡眠姿势进行准确的判定,有效预防错误的睡眠姿势,从而提高睡眠质量、促进身体健康。
综上,本发明基于MPU-6050的睡眠姿态判定方法,选用佩戴于上臂的MPU-6050来采集用户睡眠过程中的加速度、角速度原始数据,先对原始数据进行卡尔曼滤波处理,去除原始数据中的噪声,提高检测准确度;在使用四元数法计算角度之前,为了使角度的偏差减小,需采用互补滤波算法,让加速度计对陀螺仪进行矫正,有助于减小陀螺仪的积分漂移和温度漂移会造成的角度误差;然后再通过四元数微分方程进行解算,得到四元姿态数,将四元姿态数单位化后即得到欧拉角;根据基于MPU-6050的睡眠姿态判定方法中的滑动窗口法先对三个欧拉角数据序列进行分割并提取特征值,再利用决策树法对三个角度的特征值所在的范围进行姿态划分,最终确定用户某一时刻的睡眠姿势。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于MPU-6050的睡眠姿态判定方法实施例流程图。
图2为MPU-6050采集数据轴向示意图。
图3为卡尔曼滤波流程图。
图4为***与旋转轴对应示意图。
图5为三个角度所处范围示意图。
图6为本发明提供的一种基于MPU-6050的睡眠姿态判定***实施例流程图。
具体实施方式
本发明给出了一种基于MPU-6050的睡眠姿态判定方法实施例,为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明:
一方面,本发明采用如下方法来实现:一种基于MPU-6050的睡眠姿态判定方法,包括:
步骤一S101、获取待测者睡眠过程中的加速度数据、角速度数据;
步骤二S102、对已获取的加速度和角速度数据进行卡尔曼滤波处理,用于去除噪声,继而得到旋转矩阵数据;
步骤三S103、采用互补滤波算法将加速度数据和角速度数据进行拟合,并利用四元数微分方程对拟合后的数据进行解算,得到四元姿态数并将四元姿态数进行单位化,最终得到欧拉角;
步骤四S104、采用滑动窗口法对三个欧拉角数据序列进行分割并提取特征值;
步骤五S105、利用决策树法对三个欧拉角角度的特征值所在的范围进行姿态划分,最终判定待测者的睡眠姿势。
优选地,所述MPU-6050整合3轴加速度计和3轴陀螺仪,所述3轴加速度计和3轴陀螺仪分别用来测量运动物体的运动加速度和角速度信息。
优选地,所述三个轴向分别为X轴、Y轴、Z轴。
优选地,所述卡尔曼滤波处理是利用线性***状态方程对加速度数据、角速度数据进行最优处理,其中,采用卡尔曼滤波器估计离散时间过程的状态变量该离散时间过程由以下离散随机差分方程描述如下式所示:
X(k)=AX(k-1)+BU(k)+W(k) (1)
Z(k)=HX(k-1)+V(k) (2)
(1)、(2)式中,
A、B、H——***矩阵;
X(k)——k时刻的***状态;
U(k)——k时刻对***的控制量;
Z(k)——k时刻的测量值;
W(k)和V(k)——分别为***干扰和测量噪声;
利用***的过程模型,预测***的下一个状态,假设***现在的状态为k,根据***的模型,基于***的上一状态预测现在的状态如下式所示:
X(k|k-1)=AX(k-1|k-1)+BU(k) (3)
(3)式中,
X(k|k-1)——根据上一状态预测的结果;
X(k-1|k-1)——上一状态最优结果;
U(k)——现在状态的控制量;
***结果得到更新,对应于X(k|k-1)的协方差通过(4)式得到更新;
P(k|k-1)=AP(k-1|k-1)A+Q (4)
(4)式中,
P(k|k-1)——X(k|k-1)对应的协方差;
P(k-1|k-1)——X(k-1|k-1)对应的协方差;
A——A的转置矩阵;
Q——***过程的协方差;
结合上述所有公式得到预测量和***的状态测量值,以及现在状态的最优估计值,如(5)式所示:
X(k|k)=X(k|k-1)+Kg(k)Z(k)-HX(k|k-1) (5)
(5)式中,Kg为卡尔曼增益,如(6)式所示:
Kg(k)=P(k|k-1)H'/(HP(k/k-1)H'+R) (6)
得到k状态下的最优估计值X(k|k),然后通过(7)式进行k状态下X(k|k)的协方差的更新;
P(k|k)=(I-Kg(k)H)P(k|k-1) (7)
通过卡尔曼滤波器将MPU-6050输出的加速度数据和角速度数据进行滤波,滤掉若干噪声的尖峰值。
优选地,所述互补滤波算法利用互补滤波器根据加速度计和陀螺仪的各自特性,在数据拟合过程中对加速度计进行高频信号过滤,同时对陀螺仪进行低频信号过滤,然后将过滤后的信号进行拟合得到完整频带的拟合数据。加速度计的偏差和陀螺仪的输出值通过加权构造增量旋转,然后通过四元数微分方程得到更新姿态四元数;其中,互补滤波算法中,利用陀螺仪积分后的角度与加速度计所获得的角度信息比较得到误差信号,将这个误差信号通过比例放大运算后对陀螺仪角速度传感器输出的角速度值进行补偿,并将补偿后的信号进行积分运算,得到最终的角度。若运动物体的机体轴所确定的坐标系为b,而导航采用的坐标系为R,则由R坐标系到b坐标系的坐标变换矩阵为运动物体的姿态矩阵。旋转矩阵如(8)式所示:
以q0、q1、q2、q3构造四元数Q=q0+q1i+q2j-q3k,得到四元数简单描述了运动物体的定点运动,其中uR为旋转轴和旋转方向,向量表示为uR=q1i+q2j+q3k。θ为旋转过的角度,可理解为b坐标系是由R坐标系经过一次性的无中间过程的等效旋转得到;互补滤波算法的计算步骤如下:
1)重力加速度归一化;
由于是单位矢量到参考系的投影,***在运算时需要将加速度计的三维向量转换为单位向量a;
2)提取四元数的等效旋转矩阵的重力分量;
用旋转矩阵将地理坐标系的单位化重力矢量g0=[001]旋转至机体坐标系上,其计算公式为如(9)式所示,得到
3)向量叉积得到姿态误差;
通过单位向量a与gb叉积得到带有误差的加速度计转动到与重力向量重合时需要的误差角度。由其中,a和g0为单位向量,所以|a|和|g0|都等于1,sinδ≈δ,所以通过向量叉积可得到误差;
4)对误差进行积分;
对当前加速度计δ测得的重力分量的差值进行积分,消除误差,即
error_I=δ·Ki (10)
5)姿态误差补偿到角速度上,修正角速度积分漂移;
将误差error_I输入到PI控制器中与本次通过陀螺仪测得的角速度相加,最后得到一个修正的角速度值;
Gyro+=δ·Kp+error_I (11)
6)更新四元数微分方程;
四元数微分方程可表示为:
其中,
ωx、ωy、ωz分别为绕X轴、Y轴、Z轴转动的角速度值,则公式可以转换为:
通过一阶近似龙格库塔求解法求解四元数微分方程,得到姿态四元数q0、q1、q2、q3,一阶近似龙格库塔求解方法是利用角增量来达到计算四元数的目的,一阶近似毕卡求解法的公式如(15)式所示:
其中,
所以得到最终的近似求解方法为:
7)四元数归一化,为四元数单位化;
将得到的四元数规范化、单位化;四元数转欧拉角过程中采用Z-Y-X的旋转顺序,选定四元数Q=w+xi+yj+zk,且为绕X轴旋转姿态角,θ为绕Y轴旋转姿态角,ψ为绕Z轴旋转姿态角,四元数转欧拉角的转换公式如(18)式所示:
优选地,包括滑动窗口法和决策树算法。
优选地,所述滑动窗口法中三个欧拉角是时间序列数据;采用滑动窗口法将时间序列数据分割成小片段,每个片段代表一个样本,然后再对这个片段进行特征提取;完成时间序列数据分割后,提取一组特征来代表窗口样本,根据所提取特征对窗口数据进行姿态分类。
其中,完时间序列成数据分割后,需要提取一组特征来代表窗口样本,根据这些特征再对窗口数据进行姿态分类。与频域分析法、时频分析法相比,时域分析法的实时性比较高,因此,采用时域分析法中的均值法对每个窗口的三个欧拉角分别进行求均值,将三个欧拉角均值作为本窗口样本的特征值。
优选地,所述决策树算法应用于睡眠姿态分类判断中,将时间序列数据分割后的窗口样本特征值作为属性,具体为将每种欧拉角作为一个属性,每种欧拉角所在的角度范围表示一个属性的判断条件,叶子结点代表四种睡眠姿态;通过决策树的根节点判断符合哪分支;再判断θ符合哪个分支;然后判断ψ落在哪个叶子节点上,判断出待测者的睡眠姿势。其中,如图3所示。
根据航向角横滚角(θ)、俯仰角(ψ)三个角度所处的范围,确定四种睡眠姿势,如图5所示。
优选地,待测者的睡眠姿势包括四种:仰卧、俯卧、左侧卧、右侧卧。
本发明提供了一种基于MPU-6050的睡眠姿态判定***,如图6所示。包括:数据获取模块201、卡尔曼滤波处理模块202、互补滤波模块203、滑动窗口模块204以及决策树模块205;
所述数据获取模块201用于获取待测者睡眠过程中的加速度数据、角速度数据;
所述卡尔曼滤波处理模块202用于对已获取的加速度和角速度数据进行卡尔曼滤波处理,用于去除噪声,继而得到旋转矩阵数据;
所述互补滤波模块203采用互补滤波算法将加速度数据和角速度数据进行拟合,并利用四元数微分方程对拟合后的数据进行解算,得到四元姿态数并将四元姿态数进行单位化,最终得到欧拉角;
所述滑动窗口模块204采用滑动窗口法对三个欧拉角数据序列进行分割并提取特征值;
所述决策树模块205利用决策树法对三个欧拉角角度的特征值所在的范围进行姿态划分,最终判定待测者的睡眠姿势。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
如上所述,本发明基于MPU-6050的睡眠姿态判定方法,应用在佩戴于上臂的MPU-6050中使用。利用MPU-6050对用户睡眠过程中的加速度、角速度变化原始数据进行采集,先对原始数据进行卡尔曼滤波处理,去除因重力加速度的影响、硬件传感器的不稳定以及人体的抖动而产生的的噪声,得到准确的旋转矩阵数据。再利用互补滤波算法将加速度计与陀螺仪的数据进行融合,然后利用四元数微分方程对融合后的数据进行解算,得到四元姿态数并将其单位化后最终得到欧拉角。根据基于MPU-6050的睡眠姿态判定算法中的滑动窗口法先对三个欧拉角数据序列进行分割并提取特征值,再利用决策树法对三个角度的特征值所在的范围进行姿态划分,最终判定用户所处的睡眠姿势。采用此种睡眠姿态判定算法,不仅可以较准确的对睡眠姿势状况进行准确判断,而且可应用于任何佩戴于手臂的与MPU-6050相关的智能检测产品中,适用范围广泛。
以上实施例用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,均应涵盖在本发明的权利要求范围当中。
Claims (9)
1.一种基于MPU-6050的睡眠姿态判定方法,其特征在于,包括:
步骤一、获取待测者睡眠过程中的加速度数据、角速度数据;
步骤二、对已获取的加速度和角速度数据进行卡尔曼滤波处理,用于去除噪声,继而得到旋转矩阵数据;
步骤三、采用互补滤波算法将加速度数据和角速度数据进行拟合,并利用四元数微分方程对拟合后的数据进行解算,得到四元姿态数并将四元姿态数进行单位化,最终得到欧拉角;
步骤四、采用滑动窗口法对三个欧拉角数据序列进行分割并提取特征值;
步骤五、利用决策树法对三个欧拉角角度的特征值所在的范围进行姿态划分,最终判定待测者的睡眠姿势。
2.如权利要求1所述的一种基于MPU-6050的睡眠姿态判定方法,其特征在于,所述MPU-6050由3轴加速度计和3轴陀螺仪组成,所述3轴加速度计和3轴陀螺仪分别用来测量运动物体的运动加速度和角速度信息。
3.如权利要求2所述的一种基于MPU-6050的睡眠姿态判定方法,其特征在于,所述三个轴向分别为X轴、Y轴、Z轴。
4.如权利要求1所述的一种基于MPU-6050的睡眠姿态判定方法,其特征在于,所述卡尔曼滤波处理是利用线性***状态方程对加速度数据、角速度数据进行最优处理,其中,采用卡尔曼滤波器估计离散时间过程的状态变量该离散时间过程由以下离散随机差分方程描述如(1)、(2)式所示:
X(k)=AX(k-1)+BU(k)+W(k) (1)
Z(k)=HX(k-1)+V(k) (2)
(1)、(2)式中,
A、B、H——***矩阵;
X(k)——k时刻的***状态;
U(k)——k时刻对***的控制量;
Z(k)——k时刻的测量值;
W(k)和V(k)——分别为***干扰和测量噪声;
利用***的过程模型,预测***的下一个状态,假设***现在的状态为k,根据***的模型,基于***的上一状态预测现在的状态如(3)式所示:
X(k|k-1)=AX(k-1|k-1)+BU(k) (3)
(3)式中,
X(k|k-1)——根据上一状态预测的结果;
X(k-1|k-1)——上一状态最优结果;
U(k)——现在状态的控制量;
***结果得到更新,对应于X(k|k-1)的协方差通过(4)式得到更新;
P(k|k-1)=AP(k-1|k-1)A+Q (4)
(4)式中,
P(k|k-1)——X(k|k-1)对应的协方差;
P(k-1|k-1)——X(k-1|k-1)对应的协方差;
A——A的转置矩阵;
Q——***过程的协方差;
结合上述所有公式得到预测量和***的状态测量值,以及现在状态的最优估计值,如(5)式所示:
X(k|k)=X(k|k-1)+Kg(k)Z(k)-HX(k|k-1) (5)
(5)式中,Kg为卡尔曼增益,如(6)式所示:
Kg(k)=P(k|k-1)H'/(HP(k/k-1)H'+R) (6)
得到k状态下的最优估计值X(k|k),然后通过(7)式进行k状态下X(k|k)的协方差的更新;
P(k|k)=(I-Kg(k)H)P(k|k-1) (7)
通过卡尔曼滤波器将MPU-6050输出的加速度数据和角速度数据进行滤波,滤掉若干噪声的尖峰值。
5.如权利要求1所述的一种基于MPU-6050的睡眠姿态判定方法,其特征在于,所述互补滤波算法利用互补滤波器根据加速度计和陀螺仪的各自特性,在数据拟合过程中对加速度计进行高频信号过滤,同时对陀螺仪进行低频信号过滤,然后将过滤后的信号进行拟合得到完整频带的拟合数据;加速度计的偏差和陀螺仪的输出值通过加权构造增量旋转,然后通过四元数微分方程得到更新姿态四元数;其中,互补滤波算法中,利用陀螺仪积分后的角度与加速度计所获得的角度信息比较得到误差信号,将这个误差信号通过比例放大运算后对陀螺仪角速度传感器输出的角速度值进行补偿,并将补偿后的信号进行积分运算,得到最终的角度;若运动物体的机体轴所确定的坐标系为b,而导航采用的坐标系为R,则由R坐标系到b坐标系的坐标变换矩阵为运动物体的姿态矩阵。旋转矩阵如(8)式所示:
以q0、q1、q2、q3构造四元数Q=q0+q1i+q2j-q3k,得到四元数简单描述了运动物体的定点运动,其中uR为旋转轴和旋转方向,向量表示为uR=q1i+q2j+q3k。θ为旋转过的角度,可理解为b坐标系是由R坐标系经过一次性的无中间过程的等效旋转得到;互补滤波算法的计算步骤如下:
1)重力加速度归一化;
由于是单位矢量到参考系的投影,***在运算时需要将加速度计的三维向量转换为单位向量a;
2)提取四元数的等效旋转矩阵的重力分量;
用旋转矩阵将地理坐标系的单位化重力矢量g0=[0 0 1]旋转至机体坐标系上,其计算公式为如(9)式所示,得到
3)向量叉积得到姿态误差;
通过单位向量a与gb叉积得到带有误差的加速度计转动到与重力向量重合时需要的误差角度。由其中,a和g0为单位向量,所以|a|和|g0|都等于1,sinδ≈δ,所以通过向量叉积可得到误差;
4)对误差进行积分;
对当前加速度计δ测得的重力分量的差值进行积分,消除误差,即
error_I=δ·Ki (10)
5)姿态误差补偿到角速度上,修正角速度积分漂移;
将误差error_I输入到PI控制器中与本次通过陀螺仪测得的角速度相加,最后得到一个修正的角速度值;
Gyro+=δ·Kp+error_I (11)
6)更新四元数微分方程;
四元数微分方程可表示为:
其中,
ωx、ωy、ωz分别为绕X轴、Y轴、Z轴转动的角速度值,则公式可以转换为:
通过一阶近似龙格库塔求解法求解四元数微分方程,得到姿态四元数q0、q1、q2、q3,一阶近似龙格库塔求解方法是利用角增量来达到计算四元数的目的;一阶近似毕卡求解法的公式如(15)式所示:
其中,
所以得到最终的近似求解方法为:
7)四元数归一化,为四元数单位化;
将得到的四元数规范化、单位化;四元数转欧拉角过程中采用Z-Y-X的旋转顺序,选定四元数Q=w+xi+yj+zk,且为绕X轴旋转姿态角,θ为绕Y轴旋转姿态角,ψ为绕Z轴旋转姿态角,四元数转欧拉角的转换公式如(18)式所示:
6.如权利要求1所述的一种基于MPU-6050的睡眠姿态判定方法,其特征在于,包括滑动窗口法和决策树算法。
7.如权利要求6所述的一种基于MPU-6050的睡眠姿态判定方法,其特征在于,所述滑动窗口法中三个欧拉角是时间序列数据;采用滑动窗口法将时间序列数据分割成小片段,每个片段代表一个样本,然后再对这个片段进行特征提取;完成时间序列数据分割后,提取一组特征来代表窗口样本,根据所提取特征对窗口数据进行姿态分类。
8.如权利要求6所述的一种基于MPU-6050的睡眠姿态判定方法,其特征在于,所述决策树算法应用于睡眠姿态分类判断中,将时间序列数据分割后的窗口样本特征值作为属性,具体为将每种欧拉角作为一个属性,每种欧拉角所在的角度范围表示一个属性的判断条件,叶子结点代表四种睡眠姿态;通过决策树的根节点判断符合哪分支;再判断θ符合哪个分支;然后判断ψ落在哪个叶子节点上,判断出待测者的睡眠姿势。
9.如权利要求8所述的一种基于MPU-6050的睡眠姿态判定方法,其特征在于,待测者的睡眠姿势包括四种:仰卧、俯卧、左侧卧、右侧卧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810479919.1A CN108670263A (zh) | 2018-05-18 | 2018-05-18 | 一种基于mpu-6050的睡眠姿态判定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810479919.1A CN108670263A (zh) | 2018-05-18 | 2018-05-18 | 一种基于mpu-6050的睡眠姿态判定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108670263A true CN108670263A (zh) | 2018-10-19 |
Family
ID=63806714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810479919.1A Pending CN108670263A (zh) | 2018-05-18 | 2018-05-18 | 一种基于mpu-6050的睡眠姿态判定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108670263A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109480858A (zh) * | 2018-12-29 | 2019-03-19 | 中国科学院合肥物质科学研究院 | 一种用于量化检测帕金森患者运动迟缓症状的可穿戴智能***及方法 |
CN109674480A (zh) * | 2019-02-02 | 2019-04-26 | 北京理工大学 | 一种基于改进互补滤波的人体运动姿态解算方法 |
CN109731342A (zh) * | 2019-01-28 | 2019-05-10 | 青岛海科虚拟现实研究院 | 一种与游戏互动的vr划船机 |
CN109823270A (zh) * | 2019-03-22 | 2019-05-31 | 哈尔滨理工大学 | 一种用于汽车后视镜的头动控制调节***及方法 |
CN110289085A (zh) * | 2019-05-31 | 2019-09-27 | 杭州小创科技有限公司 | 一种手卫生的监管***及其使用方法 |
CN110429709A (zh) * | 2019-07-19 | 2019-11-08 | 淮阴工学院 | 基于OneNET平台的石油化工企业电力故障监测装置和方法 |
CN111248922A (zh) * | 2020-02-11 | 2020-06-09 | 中国科学院半导体研究所 | 基于加速度计和陀螺仪的人体呼吸情况采集贴及制备方法 |
CN111310599A (zh) * | 2020-01-20 | 2020-06-19 | 重庆大学 | 一种可快速适应各种变化因素的睡眠动作识别*** |
CN111797072A (zh) * | 2019-04-09 | 2020-10-20 | Oppo广东移动通信有限公司 | 数据处理方法、装置、存储介质及电子设备 |
CN112568899A (zh) * | 2019-09-30 | 2021-03-30 | 深圳市荣盛智能装备有限公司 | 一种人员姿态判断方法和*** |
CN113888838A (zh) * | 2021-11-08 | 2022-01-04 | 深圳作为科技有限公司 | 一种睡姿监测告警方法、装置及存储介质 |
CN114176574A (zh) * | 2021-12-02 | 2022-03-15 | 河南华南医电科技有限公司 | 基于数字式陀螺仪的睡眠呼吸***检测装置及检测方法 |
CN114518125A (zh) * | 2022-01-31 | 2022-05-20 | 深圳市云鼠科技开发有限公司 | 加速度计前进里程获取方法及应用 |
CN115063945A (zh) * | 2022-06-20 | 2022-09-16 | 浙江科技学院 | 基于姿态融合解算的跌倒检测报警方法及*** |
CN116539552A (zh) * | 2023-07-05 | 2023-08-04 | 北京市农林科学院智能装备技术研究中心 | 一种智能传感器、水质检测方法及水质检测装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040073128A1 (en) * | 2002-10-09 | 2004-04-15 | Cardiac Pacemakers, Inc. | Detection of congestion from monitoring patient response to a recumbent position |
CN104138260A (zh) * | 2014-07-02 | 2014-11-12 | 中山大学 | 一种利用svm分类器的睡眠姿势多分类识别方法 |
CN104732250A (zh) * | 2015-03-25 | 2015-06-24 | 安徽农业大学 | 一种无干扰睡眠的睡姿和睡眠行为测试识别方法 |
CN105159460A (zh) * | 2015-09-10 | 2015-12-16 | 哈尔滨理工大学 | 基于眼动跟踪的智能家居控制器及其控制方法 |
CN105705091A (zh) * | 2014-06-02 | 2016-06-22 | 住友理工株式会社 | 姿势判定装置以及姿势判定方法 |
CN105850773A (zh) * | 2016-03-29 | 2016-08-17 | 西北农林科技大学 | 一种基于微惯性传感器的生猪姿态监测装置及方法 |
CN106510640A (zh) * | 2016-12-13 | 2017-03-22 | 哈尔滨理工大学 | 基于翻转检测的睡眠质量检测方法 |
-
2018
- 2018-05-18 CN CN201810479919.1A patent/CN108670263A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040073128A1 (en) * | 2002-10-09 | 2004-04-15 | Cardiac Pacemakers, Inc. | Detection of congestion from monitoring patient response to a recumbent position |
CN105705091A (zh) * | 2014-06-02 | 2016-06-22 | 住友理工株式会社 | 姿势判定装置以及姿势判定方法 |
CN104138260A (zh) * | 2014-07-02 | 2014-11-12 | 中山大学 | 一种利用svm分类器的睡眠姿势多分类识别方法 |
CN104732250A (zh) * | 2015-03-25 | 2015-06-24 | 安徽农业大学 | 一种无干扰睡眠的睡姿和睡眠行为测试识别方法 |
CN105159460A (zh) * | 2015-09-10 | 2015-12-16 | 哈尔滨理工大学 | 基于眼动跟踪的智能家居控制器及其控制方法 |
CN105850773A (zh) * | 2016-03-29 | 2016-08-17 | 西北农林科技大学 | 一种基于微惯性传感器的生猪姿态监测装置及方法 |
CN106510640A (zh) * | 2016-12-13 | 2017-03-22 | 哈尔滨理工大学 | 基于翻转检测的睡眠质量检测方法 |
Non-Patent Citations (2)
Title |
---|
牛孟然: "基于重力加速度的睡眠监测***研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
董广宇: "基于多特征融合的人体行为识别技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109480858A (zh) * | 2018-12-29 | 2019-03-19 | 中国科学院合肥物质科学研究院 | 一种用于量化检测帕金森患者运动迟缓症状的可穿戴智能***及方法 |
CN109731342A (zh) * | 2019-01-28 | 2019-05-10 | 青岛海科虚拟现实研究院 | 一种与游戏互动的vr划船机 |
CN109674480A (zh) * | 2019-02-02 | 2019-04-26 | 北京理工大学 | 一种基于改进互补滤波的人体运动姿态解算方法 |
CN109823270A (zh) * | 2019-03-22 | 2019-05-31 | 哈尔滨理工大学 | 一种用于汽车后视镜的头动控制调节***及方法 |
CN111797072A (zh) * | 2019-04-09 | 2020-10-20 | Oppo广东移动通信有限公司 | 数据处理方法、装置、存储介质及电子设备 |
CN110289085A (zh) * | 2019-05-31 | 2019-09-27 | 杭州小创科技有限公司 | 一种手卫生的监管***及其使用方法 |
JP2020198067A (ja) * | 2019-05-31 | 2020-12-10 | 杭州小創科技有限公司 | 手指衛生監視制御システム及び使用方法 |
CN110429709A (zh) * | 2019-07-19 | 2019-11-08 | 淮阴工学院 | 基于OneNET平台的石油化工企业电力故障监测装置和方法 |
CN112568899A (zh) * | 2019-09-30 | 2021-03-30 | 深圳市荣盛智能装备有限公司 | 一种人员姿态判断方法和*** |
CN111310599A (zh) * | 2020-01-20 | 2020-06-19 | 重庆大学 | 一种可快速适应各种变化因素的睡眠动作识别*** |
CN111248922A (zh) * | 2020-02-11 | 2020-06-09 | 中国科学院半导体研究所 | 基于加速度计和陀螺仪的人体呼吸情况采集贴及制备方法 |
CN111248922B (zh) * | 2020-02-11 | 2022-05-17 | 中国科学院半导体研究所 | 基于加速度计和陀螺仪的人体呼吸情况采集贴及制备方法 |
CN113888838A (zh) * | 2021-11-08 | 2022-01-04 | 深圳作为科技有限公司 | 一种睡姿监测告警方法、装置及存储介质 |
CN114176574A (zh) * | 2021-12-02 | 2022-03-15 | 河南华南医电科技有限公司 | 基于数字式陀螺仪的睡眠呼吸***检测装置及检测方法 |
CN114518125A (zh) * | 2022-01-31 | 2022-05-20 | 深圳市云鼠科技开发有限公司 | 加速度计前进里程获取方法及应用 |
CN114518125B (zh) * | 2022-01-31 | 2024-06-07 | 深圳市云鼠科技开发有限公司 | 加速度计前进里程获取方法及应用 |
CN115063945A (zh) * | 2022-06-20 | 2022-09-16 | 浙江科技学院 | 基于姿态融合解算的跌倒检测报警方法及*** |
CN115063945B (zh) * | 2022-06-20 | 2023-12-29 | 浙江科技学院 | 基于姿态融合解算的跌倒检测报警方法及*** |
CN116539552A (zh) * | 2023-07-05 | 2023-08-04 | 北京市农林科学院智能装备技术研究中心 | 一种智能传感器、水质检测方法及水质检测装置 |
CN116539552B (zh) * | 2023-07-05 | 2023-10-20 | 北京市农林科学院智能装备技术研究中心 | 一种智能传感器、水质检测方法及水质检测装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108670263A (zh) | 一种基于mpu-6050的睡眠姿态判定方法 | |
AU2020273327B2 (en) | Systems and methods of swimming analysis | |
Zhu et al. | Efficient human activity recognition solving the confusing activities via deep ensemble learning | |
CN105451652B (zh) | 用于确定对象的呼吸信号的处理装置和处理方法 | |
Hsu et al. | Wearable sport activity classification based on deep convolutional neural network | |
CN103927851B (zh) | 一种个人化多阈值跌倒检测方法及*** | |
CN108196668B (zh) | 一种便携式手势识别***及方法 | |
KR20170084643A (ko) | 듀얼 스마트 밴드를 이용한 모션 분석 장치 및 방법 | |
CN107339992A (zh) | 一种基于行为的室内定位和地标语义标识的方法 | |
CN111708433B (zh) | 手势数据采集手套及基于手势数据采集手套的手语手势识别方法 | |
CN109976526A (zh) | 一种基于表面肌电传感器和九轴传感器的手语识别方法 | |
CN106073793A (zh) | 基于微惯性传感器的姿态跟踪与识别方法 | |
US10424224B2 (en) | Glove for use in collecting data for sign language recognition | |
Wang et al. | CanoeSense: Monitoring canoe sprint motion using wearable sensors | |
CN108827290A (zh) | 一种人体运动状态反演装置及方法 | |
Ghobadi et al. | A robust automatic gait monitoring approach using a single IMU for home-based applications | |
KR101930942B1 (ko) | 수화 인식 시스템 및 방법 | |
CN117643468A (zh) | 基于多源信息融合的无线跌倒检测方法 | |
US9026477B2 (en) | Method for identifying a person's posture | |
Pruthi et al. | Maxxyt: An autonomous wearable device for real-time tracking of a wide range of exercises | |
CN109061215A (zh) | 一种基于可穿戴设备的速度检测方法及可穿戴设备 | |
CN110332936A (zh) | 基于多传感器的室内运动轨迹导航方法 | |
CN111035391B (zh) | 基于特征值加权平均和阈值法相结合的老人跌倒检测方法 | |
Abdullah et al. | Research and development of IMU sensors-based approach for sign language gesture recognition | |
CN114330384B (zh) | 一种基于无源rfid相位信息的手臂运动轨迹追踪方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181019 |