APP下载

可穿戴的智能矫姿系统设计与实现

2021-01-23敖文聪沈佳阳

浙江工业大学学报 2021年1期
关键词:坐姿姿态脊柱

董 辉,敖文聪,罗 强,吴 祥,沈佳阳

(浙江工业大学 信息工程学院,浙江 杭州 310023)

自进入互联网时代以来,人类与手机和电脑联系愈加紧密,这也导致坐姿不良现象越来越普遍。国内外的临床研究发现,长时间的不良坐姿会导致人体的受压部位血液循环减慢,加重心脏的负荷,增加了引发心血管疾病发生的风险[1]。同时长时间的久坐,人的肌肉和韧带处于紧张状态[2],极易导致颈肩腰背酸疼[3]。此外长时间的不良坐姿容易引发颈椎、胸椎、腰椎等脊柱结构发生生理性形变,这对人的身体健康存在很大的隐患[4]。研究表明:经过长期科学的坐姿训练会减缓脊椎病的扩散,同时有助于减缓视觉疲劳,降低近视[5]。因此对于伏案群体(如学生、办公室职员)纠正不良坐姿形成良好科学的坐姿习惯是十分迫切的问题。针对这一问题,笔者设计了一套可穿戴的智能矫姿系统,利用坐姿识别技术来实现对人体的坐姿矫正。

目前,针对坐姿的检测和识别的技术主要有基于机器视觉技术、基于压力传感器技术和基于惯性传感器技术等三大类。国内的韩晓明团队采用机器视觉识别技术,利用摄像机对学生的坐姿进行采集与识别,从而实现了对学生不良坐姿的实时监控提醒[6]。但是这类基于机器视觉原理的坐姿矫正系统容易受到环境光线的影响,而且该类系统目前只能检测识别粗粒度的坐姿行为。国外的Kim.M团队基于压力传感器技术开发一款实时的坐姿矫正系统,其原理是通过传感器检测臀部、大腿和背部等位置的压力进行坐姿的识别与矫姿提醒[7]。这类基于压力传感器基础的坐姿矫正系统一般是需要椅子这类的载体,存在使用场景固定,携带不方便无法满足多场景矫姿的使用需求。国内的刘雪通过惯性传感器对人体的坐姿进行数据采集,并通过机器学习SVM算法实现对坐姿的识别检测,进而达到人体坐姿矫正的目的[8]。刘雪的这类基础惯性传感器的矫姿系统只采用单一的惯性传感器难以采集到人体脊柱真实变化情况的姿态数据。为了克服上述方案存在的一些问题,通过采用双惯性传感器协同采集的方案,利用主板从板的硬件结构设计,将其安装矫姿背带两侧以实现对脊柱弯曲变化的精准采集。姿态检测装置通过蓝牙与手机APP实现连接,用户则可通过APP观察脊柱曲率变化数据和功能参数设置。采用这一方案既能解决传统的单一惯性传感器采集数据不精确的问题,又能解决压力传感器方案携带不方便的问题,同时还能避免机器视觉方案容易受到环境光线影响识别精度的问题。

1 系统总体设计

1.1 坐姿变化机理

人体脊柱由颈椎、胸椎和腰椎以及尾椎组成[9]。脊柱的弯曲变化会导致人体的坐姿发生变化,如图1所示。当人体坐在椅子上,人体的坐姿的变化主要来源于颈椎和胸椎的活动,而尾椎很难影响人体的坐姿变化。因此可以通过监测颈椎和胸椎的状态来观察人体的坐姿变化,进而实现姿态矫正的功能。

图1 坐姿与脊柱变化关系图

为了能够实现对坐姿的监测矫正的目的,需要建立正确坐姿和不良坐姿与脊柱曲率变化之间的联系。Chaffin和Killbom等研究发现:当肌肉骨骼疾患和颈椎曲率超过20°有正向相关性[10],这为胸椎和腰椎的躯干弯曲模型提供了理论支持。Dury和Grandjean等在此基础上进一步研究发现:如果人体处于一个前倾且躯干弯曲超过20°的坐姿时,可以视为是不良坐姿[11]。结合以上理论,当检测到脊柱弯曲曲率超过20°时,即可视为不良坐姿。

1.2 系统方案设计

本可穿戴的智能矫姿系统主要由可穿戴柔性背带、姿态检测装置、手机终端APP构成,如图2所示。柔性背带为姿态检测装置提供了进行数据采集的物理固定支撑的位置。姿态监测装置为了提供姿态采用了主板和从板的硬件结构设计,并在主板和从板都布置了惯性传感器,从而使得本系统能够准确监测人体脊柱的真实变化情况。该装置利用蓝牙实现与手机APP的通信。手机APP将接收到的姿态角度信息进行快速的解析处理和动画显示。系统的相关功能参数可以通过APP进行设置。

图2 系统总体示意图

当手机APP与姿态监测装置蓝牙连接成功后,用户可在手机APP上对矫姿目标值(脊柱弯曲角度)和超限报警参数(语音提醒音量和震动强度)进行设定。当用户的脊柱弯曲度数超过设定的目标值时,会自动触发姿态监测装置的语音提醒和振动提示功能,通过这种智能的方式能够有效的辅助用户实现姿态矫正的目的。

2 系统硬件设计

为了提高对脊柱真实变化的数据采集精度,姿态监测装置在硬件设计上采取了主从板的硬件结构设计,以便数据采集模块能实现对脊柱不同部位进行姿态数据采集。其中数据采集模块通过I2C实现了两个传感器的扩展。姿态检测装置将采集的原始数据进行处理后通过蓝牙将数据上传至手机APP进行显示,具体如图3所示。

图3 硬件结构组成图

主板电路由惯性传感器MPU6050、微处理器STM32、蓝牙模块、报警提示模块、开关及指示灯模块、电源模块和锂电池充电模块等共同构成。从板主要功能是通过惯性传感器进行数据采集,其中主板和从板的惯性传感器作为数据采集模块的组成部分共同完成对脊柱姿态的数据采集。

数据采集模块的传感器选用的是目前市场较为通用的MPU6050传感器。该传感器集成了三轴陀螺仪与三轴加速度计,可以对人体的姿态数据进行采集和处理。此外,MPU6050不仅提供了I2C接口可挂载不同种类的传感器实现扩展,还集成了可扩展数据运动处理器DMP(Digital motion processor)。

主板电路选用STM32F072CBU6芯片作为微处理器,完成对采集的姿态数据的处理、超限报警提醒、久坐提醒、电池充电、开关机、外部通信等任务。

通讯模块是实现设备与手机终端的互联,考虑到功耗和装置内部空间大小,本系统选用上海博通的BK3431Q蓝牙芯片来实现与手机APP的数据通信。该蓝牙芯片是一款高度集成的蓝牙4.0低功耗单模芯片,支持Android BLE 4.0的应用。

弯曲超限报警模块包含振动马达和语音提醒小喇叭。其中语音提醒喇叭采用的是NVC语音芯片,具体型号为NV040C-SOP8。振动马达采用的是贴片震动马达。

锂电池充电模块采用的是TP4056芯片,该芯片可以根据使用的电池容量大小选择充电电流大小。

从板电路主要功能是通过I2C通信实现与主板的传感器协同作业。此外从板通过转接板与主板实现连接,以便其主板电路的电池对从板电路进行供电。

3 软件系统程序开发

姿态监测装置的软件程序设计需要满足系统对姿态监测的数据采集处理、久坐计时和状态识别、报警提醒、蓝牙连接以及电池信息显示和充电等功能需求,该装置程序需求分析如图4所示。

图4 姿态监测装置软件需求分析

姿态检测单元和久坐提醒单元是软件系统程序开发的主要单元。系统在初始化成功之后,系统通过按键时长来确定电源芯片是否进入工作状态,若进入工作状态则双传感器进入姿态监测处环节,姿态监测环节主要实现对数据的采集、姿态解算处理和姿态识别判定。此外系统还通过状态识别和动作监测实现久坐提醒的智能计时处理,解决了目前固定周期计时存在的问题。系统在蓝牙连接成功后,监测装置则将处理后的姿态角度上传至APP进行实时显示。用户也可以通过APP查看姿态变化情况和电池电量信息变化的情况。软件系统具体流程如图5所示。

图5 姿态检测装置程序流程图

3.1 姿态解算原理

目前姿态解算的算法主要有四元数法和方向余弦法以及欧拉角法[12]。四元数相对欧拉角法具有全姿态解算的优势,相比方向余弦法又具有实时性强的优势。因此本系统采用四元数法进行惯性传感器的姿态解算。

四元数法的原理是坐标系的变换可以绕参考系内的某个矢量转动实现,通过旋转轴和绕该轴旋转的角度可以构造出四元数,其计算式为

(1)

(2)

式中q表示四元数。式(1)是四元数的矩阵表达式;式(2)是用来表示四元数的大小,q=1表示其为规范化四元数。结合式(1,2)以及四元数法则可得到欧拉角表示的姿态转换矩阵与四元数的转换关系,即用欧拉角直接表示的四元数为

(3)

式中:ψ,θ,φ分别表示绝对姿态角航向角、俯仰角和横滚角[13]。根据式(3),可得到用方向余弦表示的欧拉角。结合四元数可得欧拉角计算式为

(4)

3.2 姿态监测程序设计

姿态监测的主要原理是基于阈值的方法进行坐姿的识别判定。其中阈值的设定主要根据坐姿变化机理1.1节中两种坐姿模型特征值(不良坐姿与正确坐姿的脊柱弯曲角度)进行设定。当人体脊柱弯曲角度超过设定的阈值时,系统会自动触发语音和震动的方式进行超限报警,进而实现辅助用户矫正坐姿的目的。

姿态监测程序的设计思路大致分为3 步:1)将双惯性传感器采集的原始数据进行消除漂移处理;2)利用姿态解算原理将四元数转换成欧拉角;3)进行阈值识别判定。

针对传感器采集的原始数据的消除漂移处理,有许多成熟的方案,但是考虑到本系统计算资源有限、实时性要求强的特点,采用MPU6050芯片集成的DMP(Digital motion processing,数字处理器)进行数据预处理。DMP数据处理方案能够大幅降低处理的工作负担,避免了繁琐的滤波和数据融合处理,有效的提高了系统整体的响应速度。

经过DMP处理之后,处理器则可对从MPU6050的FIFO缓存中直接读取四元数q进行下一步的姿态解算处理。结合姿态解算原理3.1节中的姿态计算原理,以及出于降低运算量提高处理器利用效率的目的,先将DMP输出的四元数采用q30格式得到

(5)

式中:quat[0]~quat[3]为MPU6050自带的DMP处理后输出的四元数。此外,q30格式是常量,其实质是将该浮点数放大了230倍。将式(5)结合式(4)可得

θ=arcsin(2(q2q3+q0q1))×57.3

(6)

双惯性传感器协同采集的数据经过以上数据处理程序即可获得欧拉角。在监测脊柱弯曲变化时,选用俯仰角作为主要的观察角度,之后利用阈值识别判定的方法实现姿态监测。

3.3 久坐提醒程序设计

为了缓解久坐对人体身体健康造成的负面影响,系统设计了基于人体动作和状态识别的久坐计时提醒方案,有效地解决了目前市场上久坐提醒方案计时难以识别用户状态且计时固定的问题。

久坐计时提醒单元主要通过对人体坐姿与站立状态进行状态识别判定,当传感器检测用户坐下之后,系统开始触发久坐计时处理单元。当用户静坐时间超过设定的时间,久坐提醒单元通过马达震动和语音提醒的方式对用户进行久坐提醒,进行身体舒展,以缓解久坐带来的颈肩背臀的酸痛。当系统监测到用户的动作为起身动作时,系统则先暂停久坐计时,并对用户起身站立的时间进行判断,如果起身超过设定的时间,系统则会终止久坐计时。反之,系统继续计时,直到达到久坐提醒的时间。久坐提醒程序流程图具体如图6所示。

图6 久坐提醒程序流程图

4 Android客户端的设计

4.1 APP功能需求分析

本系统APP基于Android Studio编译环境进行APP的设计开发。APP主要目的是通过蓝牙连接实现与系统的姿态监测装置的交互。为了实现APP交互的易用性和功能的齐全性目的,对手机APP进行了需求分析,其软件需求分析总体框图如图7所示。

图7 APP软件需求分析框图

本系统APP可以实时查看当前用户姿态变化(即脊柱弯曲变化)和设备电池电量信息。为了用户良好坐姿的习惯养成,APP还设计了统计数据页面,以便用户可以查看当日的坐姿得分和历史成绩。同时用户通过手机APP能够实现久坐提醒和提醒警报相关功能参数的设置。

4.2 脊柱曲率显示模块

脊柱曲率显示模块是为了满足姿态数据连续动态且实时显示的需求设计了本模块,如图8所示。当APP接收到的角度数据之后,迅速从资源文件中调用该数据对应的图像资源,进行动态显示。采用此方案不仅能够满足姿态数据连续动态变化的需求,还因为采用了象形图设计,使得坐姿变化更加生动形象。

图8 姿势页面显示效果图

4.3 报警提示设置

报警提示设置单元主要由目标提示角度、延迟时间(从姿势不正确到触发提醒的时间)、静音设置、音量大小设置、震动强度设置组成。用户在用户设置页面的设置子页面中可以对这些参数进行设置,以满足自己在不同场合的姿势矫正需求。用户在课堂或者图书馆等安静的公共场所使用时,可以通过对报警提示单元模块中的音量大小和震动强度进行自定义的设置,以满足在不同场景下的使用需求。

5 系统测试

为了验证本系统在工作场景下的实际矫姿效果,设计了系统实验进行测试。系统实验主要测试在设定的不同的脊柱弯曲的目标角度下,系统自动触发报警提醒功能以及久坐提醒功能的实际效果。本实验邀请了60 位志愿者进行实验测试,实验测试如图9所示。

图9 系统测试示意图

为了对本系统的超限报警准确率进行测试,分别选取了60 位志愿者分组进行测试。每个志愿者都分别测试在10°,15°,20°,25°等4 种目标角度下超限报警的准确效果。经过数据分析后,获得了表1的实验测试结果。

表1 姿态检测效果测试表

实验结果表明:本套可穿戴智能矫姿系统在设定的不同目标角度的模式下,系统的超限报警提示的准确率相当稳定,稳定在93.3%以上。实验表明本系统对脊柱的驼背具有明显的矫姿效果。此外,久坐提醒的功能在系统测试中,计时准确率高,表现稳定,充分证明本系统的智能久坐提醒具有良好的使用价值。

6 结 论

设计开发了一种可穿戴的智能矫姿系统,利用双传感器的数据采集方案有效地提高了人体坐姿的检测精度;通过基于阈值判定的方法实现了对人体坐姿的矫正。结合基于动作识别的智能计时设计,有效避免了目前市场传统的久坐提醒方案无法智能应对运动变化带来的问题,提高了系统整体的易用性,对缓解久坐带来的颈椎酸痛具有良好的效果。该系统相较于市场上的坐姿矫正系统,不仅具有佩戴舒适,携带方便,矫姿智能的优点,还利用APP的加入使得系统交互更加智能方便,便于用户对系统进行管理和维护。

猜你喜欢

坐姿姿态脊柱
孩子身姿不挺拔 原是脊柱侧弯
长期久坐低头 你的脊柱还好吗
18F-FDG PET/CT在脊柱感染诊治中的应用及与MRI的比较
坐姿好习惯
康复锻炼在脊柱外科患者中的应用及对脊柱功能的影响
攀爬的姿态
坐姿矫正器
学生作业坐姿及台灯控制器
基于坐姿感应的智能视力保护台灯设计
全新一代宋的新姿态