APP下载

基于Android的人体平衡能力测试系统研究

2020-03-27任福汉李文强樊永生

中北大学学报(自然科学版) 2020年2期
关键词:投影客户端轨迹

樊 萌,任福汉,李文强,樊永生

(1.中北大学 大数据学院,山西 太原 030051;2.中北大学 电气与控制工程学院,山西 太原 030051;3.中北大学 信息与通信工程学院,山西 太原 030051)

0 引 言

平衡能力是指人体在受到外部干扰时,通过协调自身的神经、肌肉、关节等,能够使身体回到平衡状态[1]的能力.平衡能力在日常生活中起到了举足轻重的作用,人类的各种行为活动都需要通过平衡能力实现.人体平衡能力也是选拔运动员、检验运动员训练效果、优化训练计划的一个重要指标;对于脑卒中、颈椎病、帕金森等患者,通过对病患进行科学、准确的人体平衡能力测试,可以有效地辅助医师做出正确的医学诊断,制定康复训练计划,检验康复效果[2-3].

现阶段在临床中普遍被人接受的方法为Berg平衡能力测量法[4],通过患者主动施力或医护人员对患者施力进行测量,但是由于是人为施力,存在个体差异,随机性较大.目前国内主流的定量检测平衡能力的方法为基于静态姿势描记图法[5],由于其功能相对单一,评价标准难以客观反映人体的真正平衡能力水平.在被动平衡能力检测方面,国外有学者提出了将随机振动脉冲形式的位移加入被测者足底,通过力平台采集相关数据,分析被测人员的平衡功能状态[6-7].本文提出一种人体平衡能力智能测试方法,患者和健康人群均可通过测试系统的测试项目进行自我检测,在测试结束后及时得到准确的自身测试报告,测试数据可保存至个人专属数据库,方便患者检验自身平衡能力变化,也有益于健康人群进行有效预防.

1 测试原理

人在站立不动时,人体重心会在一定范围内不规则移动,若移动范围较小,则人体平衡能力较好,移动范围较大,则平衡能力不好[8].因此,通过测量人体站立时重心移动范围,就可测定人体平衡能力.人体平衡能力与先天因素和后天疾病都有关系.

1.1 影响因素

人体平衡能力是人体重要的生理机能之一,它是指人体维持自身稳定性的能力,如人体维持某种姿势不变或者受到外力作用时人体能够保持机体平衡[9].在生理学方面,人体平衡能力的维持主要依赖于视觉、前庭器官和本体感受系统的信息输入以及中枢神经系统对所有信息的整合与对运动效应器的控制[10].首先,运动环境、运动方向等信息通过视觉处理后传递到中枢神经;人体自身的空间位移信息被前庭觉获取,中枢神经通过前庭觉获取到上述信息并进行相应的处理;躯体感觉则是通过人体肌肉、韧带和关节等体现,中枢神经通过躯体感觉获取躯体各部位的位置、状态信息,从而控制躯体运动[11].以上三类本体感觉对维持自身平衡起着至关重要的作用,任一位置发生异常,都会使人体失去平衡,导致人在站立时重心坐标出现大幅度摆动.

1.2 人体重心坐标测试原理

测量人体站立时重心移动范围可判定人体平衡能力.重心坐标测试原理如图1 所示.以测试平台几何中心作为原点O,左右两边中点连线所在直线为X轴,过原点垂直于X轴的所在直线为Y轴.A、B、C、D四个压力传感器以原点为中心,对称分布于测试平台,4个压力传感器坐标分别为(a,b),(-a,b),(-a,-b),(a,-b).

图1 测试平台受力示意图

设人体重力为G,重心在测试平台上的投影点坐标为(x,y),FA,FB,FC,FD为压力传感器所受压力,它们的合力与重力大小相等.只考虑力的大小有

G=FA+FB+FC+FD.

(1)

根据力矩平衡公式可得

FA*a+FB*(-a)+FC*(-a)+

FD*a=G*x,

(2)

FA*b+FB*b+FC*(-b)+

FD*(-b)=G*y.

(3)

由式(2),(3)可得人体重心在测试平台上投影点坐标公式为

(4)

(5)

1.3 重心轨迹包络面积

每隔固定一段时间对重心投影点坐标进行一次测试,根据所得的重心投影点绘出坐标轨迹,轨迹线上的点为人体重心发生变化时可能经过的位置.所以,在计算包络面积时需要将各个重心投影点的坐标以及重心投影点轨迹线考虑在内.本文采取计算最小凸边形的方法来计算包络面积.假设各个重心投影点和轨迹线如图2 所示,由图2 可得其最小凸边形如图3 所示(最小凸边形由虚线绘制),其包括了所有的重心投影点和轨迹线上的点.

图2 重心投影点及其移动轨迹

图3 重心投影点集最小凸边形

计算图3 中的最小凸边形的算法如下:

计算步骤1:

1)依据重心投影点坐标y轴的值进行升序排序,若y轴的值相等,则对比x轴的值,x轴较小的点在前.取y最小值的重心投影点,记为P1(x1,y1).

2)连接P1与其他重心投影点Pi,分别计算线段P1Pi与P1所在直线的夹角,将线段依据夹角大小进行升序排序,夹角相等的情况下,将线段较短的置前.依据上述规则排序后,将线段另一端点Pi,按P2…Pn标号,坐标依次为P2(x2,y2)…Pn(xn,yn).

3)从i=1开始判断凸点,依次检查相邻的三个点Pi,Pi+1,Pi+2,连接Pi和Pi+1,得到直线L,判断Pi+2是否位于直线L的左边,若位于左边则表示Pi+1为凸点,对其保留,并令i=i+1,继续判断其他点;若位于右边或直线上,则Pi+1为凹点,删除Pi+1点,回退到上一个点重新判断,具体判断方法如算法2所示;将点集中所有的点进行遍历判断,保留下来的点构成了重心投影点集的最小凸边形.

计算步骤2:

Pi+1凹凸性判断:假设Pi、Pi+1、Pi+2三个点的坐标分别为(xi,yi),(xi+1,yi+1),(xi+2,yi+2),计算凹凸判别变量K的值

K=xi+1yi+2-xi+2yi+1+xi+2yi-xiyi+2+

xiyi+1-xi+1yi.

(6)

当K>0时,表示Pi+2位于直线PiPi+1左边,Pi+1为凸点;当K<0,表示Pi+2位于直线PiPi+1右边,Pi+1为凹点,删除Pi+1;当K=0时,表示Pi+2在直线PiPi+1上,Pi+1为中性点,本文中选择删除该点.

通过组合三角形法计算最小凸边形的面积,可得重心轨迹包络面积.

计算步骤3:

已知三角形的三个点分别为a(x1,y1),b(x2,y2),c(x3,y3),其面积公式为

x3)(y1-y3)|.

(7)

以P1(x1,y1)为公共点,把最小凸边形划分为(n-2)个三角形,计算这(n-2)个三角形的面积,并进行累加得到最小凸边形面积,计算公式为

(xi-1-xi)(y1-yi)|.

(8)

2 系统结构与流程图

2.1 系统组成

嵌入式测试系统通过压力传感器与陀螺仪采集人体重心坐标以及躯体角度数据,由STM32进行数据分析,并将数据通过串口通信,上传至Android客户端人机交互系统实时向测试者展示,与此同时,Android客户端通过Socket上传至医师监控系统,由医师监控系统将数据保存至MySql数据库.系统组成如图4 所示.

图4 系统组成

2.2 系统流程图

系统主要包括测试、训练、查询三个功能.具体系统流程如图5 所示.

用户打开测试系统后,系统首先进行初始化,初始化完成后由用户进行功能选择:当用户选择训练功能时,压力传感器与陀螺仪采集数据后,由嵌入式系统计算相关数据,并且通过与数据库中的历史数据进行对比,分析患者平衡能力是否有改善,之后将数据在Android客户端实时显示;当用户选择测试功能时,压力传感器与陀螺仪会进行数据采集,采集到的数据通过力矩平衡原理进行计算得出重心坐标,随后通过包络面积算法计算重心坐标移动范围,系统将依据相关测试指标对比测试数据,并将数据上传至监控端,保存至MySQL数据库中,在Android客户端,用户可与实时查看测试结果;当用户选择查询功能时,Android客户端需要获取用户ID和密码进行验证,验证成功后连接MySQL数据库并在数据库中查找测试数据,随后将历史测试数据显示于客户端.

图5 系统流程图

3 结果分析

3.1 硬件部分展示

人体平衡能力测试仪采用的核心压力传感器HX711原理图如图6 所示.

人体平衡能力测试仪的成品硬件PCB图如图7 所示.

图6 压力传感器HX711原理图

图7 人体平衡能力测试仪的成品硬件PCB图

3.2 系统展示

人体平衡能力测试系统整体如图8 所示.

图8 系统整体展示

3.3 测试数据指标

表1 测试指标参考范围

3.4 静物测试

用静止物体测试时,由于静止物体的重心位置是固定,所以各类测试指标理论上应为固定值.由此可以通过对静止物体进行平衡测试来测定系统误差大小以及测试结果的准确性.本文对10,20,30,40,50,60 kg六种标准重量块各进行了多次重复实验,测试指标为包络面积(mm2).测试结果如表2 所示.

静物测试时,包络面积理论上应为零,但在放置重量块时,由于压力传感器本身的电压波动以及HX711的测量误差导致存在系统扰动,使得测试结果存在一定的误差.由表2 可以看出,随着被测物体重量的增加,系统误差越来越小.被测物体为60 kg时,计算所得的包络面积为1.80 mm2(此为多次测量平均值).我国健康成年人经过平衡测试,平均包络面积值约是300 mm2[12],测量的系统误差值是标准值的0.6%,测试结果较为准确.多次测量同一重量物体,其测量偏差均值较小,并且随着被测物体质量增加,偏差均值下降,验证了测试系统有较好的稳定性.

表2 静物测试实验结果

3.5 人体测试

本测试为典型的双足睁眼测试,实验对象为健康状况良好的24岁男性,其身高175 cm,体重66 kg.被测对象需要在每次测试时在平台静止站立30 s,3 min后进行下一次重复实验.以Area(包络面积/ mm2)、SDx(X轴方向标准差)、SDy(Y轴方向标准差)、vx(X轴方向移动速度/mm·s-1)、vy(Y轴方向移动速度/mm·s-1)、Lng(运动轨迹长度/mm)为测试指标[13-14].SDx计算式为

(9)

式中:N为总测试次数;vx为X轴方向移动速度;μx为多次测试X轴方向移动速度的平均值;SDy计算式为

(10)

式中:vy为Y轴方向移动速度;μy为多次测试Y轴方向移动速度的平均值;Lng计算式为

(11)

式中:xi为被测者重心坐标x值;yi为被测者重心坐标y值,由于测试过程中,被测人员重心坐标点非常密集,所以重心坐标点描绘的曲线长度可近似为n个点依次连接距离长度之和.

测试结果如表3 所示.

对比我国成年人平衡测试指标,显然被测男子的各项测试指标都在正常范围内,平衡能力良好.由表3可得,多测试后,偏差均值降低.

表3 人体测试结果

表4 为与基于力平台的平衡能力测试系统[15]中的双足睁眼测试数据的对比,实验中被测人员身高177cm,体重68kg.与本文中被测试者身高体重相近,对比可得本系统具有更高的稳定性.

表4 人体测试结果对比

图9 为某次双足睁眼测试在客户端显示的测试结果.

图9 Android客户端测试结果

医师端电脑的监测结果如图10 所示.

图10 医师端电脑监测结果

监控端显示的测试报告如图11 所示.

图11 测试报告

4 结 论

本文研究了力矩平衡原理、包络面积算法在人体平衡能力测试中的应用,并利用STM32、Android与PC联合研制了人体平衡能力智能测试系统.根据力矩平衡原理测试人体重心移动轨迹、计算人体重心包络面积,实现人体平衡能力的可视化测试,对运动员选拔、病人康复训练有重要意义.根据系统的功能需求制定了平衡能力测试体系,确定了测试方法和测试指标,设计了相应测试项目以及系统总体结构.试验结果验证了系统的准确性与稳定性,可以帮助医生判断测试者平衡能力的好坏以及影响因素.下一步计划搭建云数据库,将测试者的数据上传至云数据库,增加测试数据数量,以便于分析人体平衡能力的各项指标.

猜你喜欢

投影客户端轨迹
你的手机安装了多少个客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
全息? 全息投影? 傻傻分不清楚
解析几何中的轨迹方程的常用求法
轨迹
基于最大相关熵的簇稀疏仿射投影算法
轨迹
找投影
找投影