基于网络的老年人安全检测系统研究与设计

2021-02-26 03:47唐玉佳潘迪钊刘元杭马国利
海峡科技与产业 2021年9期
关键词:陀螺仪角速度加速度

唐玉佳 潘迪钊 刘元杭 张 鑫,2 马国利,2

1.滨州学院航空工程学院,山东 滨州 256600 2.山东省航空材料与器件工程技术研究中心,山东 滨州 256600

随着社会老龄化进程的加速,老年人数量增加,而随年龄增长,身体机能下降,反应迟缓,因跌倒导致的死亡率和受伤率急剧增加。在不影响老年人日常活动的前提下,研发一种能够实时检测老年人是否摔倒并及时发出警报的系统,对保护老年人安全具有重大意义[1]。本项目设计一种基于物联网的老年人安全检测装置的系统,方便携带,效果良好。

1 系统结构与功能

系统结构示意图如图1所示。安全检测系统由蓝牙串口、心率传感器、报警模块、GSM模块、MPU6050 数字陀螺仪、单片机STM32F1等器件组成,采用可穿戴式的智能设备。利用心率传感器、血压模块、疲劳度检测模块检测身体健康信息,通过MPU6050获取三轴角速度数据,STM32F1对数据进行计算和处理,判断是否摔倒。该系统利用网络把检测结果实时上传到终端,便于家人或医生及时掌握情况。

图1 系统结构示意

1.1 MPU6050模块

MPU6050为6轴运动处理组件,免除了组合陀螺仪与加速器时差的问题。当连接到三轴磁强针时,MPU6050会将收集的数据输出到它的主I2C端口[2]。且该芯片自带了一个数据处理子模块DMP,内部安装了滤波算法,在很多应用中使用DMP输出的数据能够很好的符合要求[3]。MPU6050 模块如图2所示。

图2 MPU6050模块

1.2 GSM模块

通过串口通信与单片机进行数据传输,当芯片的指示灯开始闪烁时,开始实时定位;将获取的位置、血压、时间等信息由单片机处理后,经GSM模块发送给指定手机号码。接收信息手机可以对老年人进行定位。

1.3 心率血氧模块

MAX30102心率血氧传感器模块主要检测的信号类型为光反射信号,通过该模块可以随时监测老年人的心率,当老年人心率异常时,对其提供紧急预警。另外,当模块接到语音读取心率等指令时,便会通过中断利用IIC,将MAX30102 模块读取到的数据经 STM32 处理后反馈给语音模块进行检测。心率血氧模块如图3所示。

图3 心率血氧模块

1.4 STM32F103C8T6单片机

以ARM Cortex-M3为内核的32位微型处理器,使用STM32F103C8T6通过算法对数据的运算处理。通过STM32F1单片机为控制核心,用MPU6050数字陀螺仪来收集加速度、角速度的数据;同时,心率传感器获取心率。用I2C软件实现数据传输,STM32F1进行数据接收处理,用摔倒检测算法综合判断是否满足符合摔倒条件,若符合,则GSM进行通信和定位,同时,报警系统发出报警。

2 加速度获取

初始LED灯引脚,初始化并启动定时中断,初始化陀螺仪、蓝牙串口及对应的串口中断;再对人体数据初始化,利用摔倒检测算法,以及获取初始三轴的平均加速度计算出人体俯仰角。测量过程中,利用算法,不断更新角度。通过侧摔、后摔这样的重复实验来观察三轴角速度和加速度,找到最精确阈值。综合训练得到的阈值和人为调整的数据阈值来确定最后阈值大小。摔倒过程中2 s的数据结果如图4所示。

图4 摔倒三轴加速度和角速度

2.1 数据处理

通过观察两图,发现角速度的发生超前于加速度的发生。所以要将优化模型,即对图4进行优化先进行角速度摔倒判断,满足条件后,再对摔倒测量得到的加速度判断。

2.2 优化之后的加速度

实验进行侧摔两次和正摔两次,得到侧摔三轴加速度和正摔三轴加速度的测量结果,如图5所示。

图5 正摔和侧摔的三轴加速度

实验进行侧摔两次,发现z轴的数值绝对值接近2000;而正摔两次加速度数值绝对值在1000左右。经过分析,推测可能是在正摔时,摔的姿势不规范,以及心理对摔的恐惧导致身体不自主地减缓与地面的碰撞。

3 算法设计

3.1 俯仰角获取

获取初始三轴的平均加速度和αx,αy,αz加速度,并计算出陀螺仪三轴和规定z轴夹角的余弦值。

cosβ=αx/asum;

cosγ=αz/asum;

cosα=αx/asum;

得到了三轴与z′轴的余弦值

利用αz=αx×cosα+αy×cosβ+αz×cosγ获取z′轴更新的加速度;采集陀螺仪静止时刻的三轴数据,利用平均数消除掉陀螺仪的零点误差。

借鉴陀螺仪全场定位算法,利用三轴旋转角度计算人体的俯仰角。

OP旋转到OP′相对于x轴的旋转角,α1为OP旋转到OP′相对于y轴的旋转角α2。设俯仰角为<POP′。坐标轴如图6所示。

图6 坐标轴图

计算出人体俯仰角为:

3.2 摔倒算法

利用数据更新模块更新角速度和加速度,与阈值比较检测结果,之后再获取加速度的更新值,得出阈值检测结果,达到阈值后,检测整体角速度数据窗口中判断为Ture的数据个数是否达到阈值。若不是,则返回摔倒检测,进行数据更新,进入循环;若是,则检测整体角速度数据窗口中为Ture的数据个数是否达到阈值1。若达到阈值,则检测整体角速度数据窗口中为Ture的数据个数是否达到阈值2,若满足,则灯亮闪烁且扬声器响起来提示摔倒;若不满足,则返回进行数据更新,进入循环,等待摔倒检测。摔倒检测算法如图7所示。

图7 摔倒检测算法

4 系统总体设计

系统总体流程如图8所示。

图8 系统总体流程

利用MPU6050获取三轴加速度和三轴角速度数据,利用STM32F1对数据进行计算和处理,判断是否摔倒[4],并把检测到的数据实时上传到终端,同时利用通信的接口模块,将心率传感器、血压模块、疲劳度检测模块检测身体健康信息生成健康报告。

5 结 语

本项目设计一种基于物联网研发的一套老年人安全检测装置,通过STM32F1单片机为控制核心,用MPU6050数字陀螺仪来收集加速度、角速度的数据;同时,利用心率传感器获取心率。用I2C软件实现数据传输,STM32F1进行数据接收处理,用摔倒检测算法综合判断是否满足符合摔倒条件;若符合,则GSM进行通信和定位,同时,报警系统发出报警。在系统测试时,该装置在上楼、坐电梯情况测量时,报警的概率很小;正确率在84%,在一些轻微的摔倒情况下,设备有时检测不出来,需要提高设备的灵敏度。利用陀螺仪来检测人体摔倒比用图像识别来判断从数据上会更精确,并且借鉴了全场定位算法,修正了角速度误差,计算出了俯仰角的变化。

猜你喜欢
陀螺仪角速度加速度
“鳖”不住了!从26元/斤飙至38元/斤,2022年甲鱼能否再跑出“加速度”?
基于EMD的MEMS陀螺仪随机漂移分析方法
天际加速度
创新,动能转换的“加速度”
死亡加速度
我国著名陀螺仪专家——林士谔
圆周运动角速度测量方法赏析
微机械陀螺仪概述和发展
MEMS三轴陀螺仪中不匹配干扰抑制方法
半捷联雷达导引头视线角速度提取