APP下载

平衡功能障碍智能康复训练系统

2021-09-28范永祥崔海坡邵印麟

软件导刊 2021年9期
关键词:采集卡评估模块

范永祥,崔海坡,邵印麟

(1.上海理工大学医疗器械与食品学院上海市介入医疗器械工程中心,上海 200093;2.上海普陀区人民医院,上海 200060)

0 引言

平衡能力是人体的一项重要生理功能。在日常生活以及各种活动中,人体需要对身体重心的稳定进行控制,才能不断应对外界突发变化情况[1]。静态平衡能力指人体在坐立或站立状态下肌肉维持等长收缩的状态,属于人体平衡能力的一种。国外静态平衡功能评估测试仪生产单位较多,如美国Betec 公司生产的BalanceCheck 系统、德国公司生产的Bismarck SuperBalance 系统、英国生产的Medi⁃ca Balance Trainer 系统、日本ANIMA 公司的重心动摇平衡检查系统等,它们都具有测试人体静态平衡功能。20 世纪90 年代起,国内也开展了静态平衡功能定量检测并应用于临床,且对某些疾病患者的姿势图进行分析研究,对其平衡功能进行定量测评[2-3]。随着计算机技术在医学中的广泛应用,厂家推出了各种型号的静态平衡仪,主要由带有压力传感器的测力台、计算机、显示器、显示平衡功能的控制板、专用于平衡功能的处理和分析软件以及打印机等组成[4]。通过这些设备的组合应用,能够计算并显示静态平衡能力的评价指标,包括重心偏移幅度、摆幅指数、重心分布区域、动摇轨迹长、外周面积、单位面积轨迹长等[5]。大部分平衡功能训练模块功能较为单一,患者配合训练意愿不强。尽管少量训练设备开发了三维游戏模块[6],但其不能根据患者的平衡功能障碍程度调节游戏难度,患者难以完成游戏过程,降低了患者通过游戏完成康复训练的效果[7]。此外,进口设备价格昂贵,不利于大范围推广应用。因此,开发一款价格便宜、功能全面的平衡功能评价与训练系统具有现实意义。

本文开发的平衡功能障碍智能康复训练系统主要由下位机测量板和上位机软件组成。下位机的压力测量板采用模块化设计,既可以利用单个测量板进行单独的手、足部测试,也可以组合应用多个压力测量板;上位机软件是基于Qt Creator 开发的Windows 系统下的客户端程序,通过数据采集卡的信号传输接口连接测量板和电脑。本文还开发了三维游戏用于康复训练。采用Unity3D 作为开发平台设计智能游戏模块,可根据患者的平衡功能障碍程度调节游戏难度,满足不同患者需求。

1 系统总体设计

系统总体设计框图如图1 所示。系统中的脚踏板与数据转接盒两个硬件最为重要,它们是整个系统稳定运行的核心。脚踏板感知人体压力的快慢,直接关系到软件使用时的灵敏度与易用性,数据转接盒处理数据的水平也直接关系到软件界面展示数据的精确度与合理性。平衡能力训练与评估软件的设计策略决定了整个设计系统的功能特点、使用范围以及可扩展性。

Fig.1 System overall design图1 系统总体设计框图

根据平衡训练系统功能需求,脚踏板部分设计包括压力传感器模块和传感器调理电路模块。数据转接盒部分包括采集调理电路模块、数据采集卡模块、USB 数据隔离模块、调压模块等。软件部分采用上位机客户端软件设计技术以及三维游戏开发技术,开发一系列适用于平衡康复患者的趣味游戏。在设计过程中各个模块硬件及软件部分尽量做到相对独立,为后续功能扩展和系统升级创造条件。系统各模块功能如下:

脚踏板部分由4 个压力传感器以及传感器调理电路组成。4 个压力传感器是以圆心为中心受力点的柱状结构,在受到压力时输出模拟电压信号,可在一定程度上消除横向力带来的横向位移。传感器调理电路主要实现对压力信号的接收、RFI 滤波、放大及平均处理,处理完的信号由通信线传输到数据转接盒,如图2 所示。

数据转接盒包含调压模块、采集调理电路、数据采集卡和USB 隔离芯片,如图3 所示。调压模块实现220V 交流转5V 直流给转接板供电;采集调理电路由四阶低通滤波器滤波电路对信号滤波,再传导至数据采集卡的模拟信号输入端;数据采集卡则对信号进行采样、数字化和传输;考虑到电气安全问题,最后还要利用USB 隔离芯片进行电气隔离,保障USB 接口能够安全传输数据到电脑端,并对数据进行存储、分析、处理、展示等操作。

Fig.2 Intelligent balance training instrument foot pedal图2 智能平衡训练仪脚踏板

Fig.3 Data transfer box structure图3 数据转接盒结构

软件部分由平衡能力评估模块和三维游戏训练模块组成。平衡能力评估模块通过处理数据采集卡传来的数据,计算出患者的重心投影位置以及重心偏移的百分比,实时显示到软件界面,据此评估患者的实时平衡功能,并把训练结果保存到患者个人信息档案。患者档案则采用数据库保存患者所有信息,方便医师根据患者的记录辅助患者进行针对性训练;三维游戏训练模块则由多个不同类型的趣味三维训练游戏以及智能调整参数的算法程序组成。通过智能调整游戏参数机制吸引患者主动进行训练,在这种不断调整重心的过程中逐步提高患者对身体的控制能力,最终实现平衡能力的康复。

2 平衡能力评估模块

2.1 建立患者档案

患者档案模块采用SQLite 数据库保存患者所有信息。Qt Creator 内部嵌入了SQLite 数据库,处理SQLite 数据库的类主要是QSQLQuery 及其子类QSQLDatabase[8]。通 过QSQLDatabase 的addDatabase 函数,可在Qt 项目内部创建SQLite 数据库。创建患者数据库表patient 后,通过相关执行函数对数据库进行增加、修改、删除、查询等操作,并将数据库的有关信息显示到Qt 软件创建的界面控件table⁃Widget 上。增加数据库记录时,以“患者姓名+出生日期”作为该数据记录的ID,方便日后对记录进行查询。

患者档案模块界面如图4 所示。患者在进行平衡能力评估或平衡能力训练前,必须登记个人信息到该模块,该模块记录了患者的详细档案信息。患者档案模块主要功能是保存患者的个人基本信息、平衡能力的评估数据以及训练结果数据。患者档案模块还记录了患者的优势侧与患侧、诊断与病史、损伤日期、手术日期、检查次数、主治医师等信息,方便医师根据患者的记录辅助患者进行针对性训练。创建的数据记录文件保存在“my.db”文件中,便于与评估模块、训练模块进行数据共享以及同步更新。

Fig.4 Patient file module interface图4 患者档案模块界面

2.2 评估平衡能力

平衡功能评估模块是上位机软件系统的核心模块。本系统设计的上位机软件是基于Qt Creator 平台编写的,QtCreator 具有跨平台、代码简洁、开发高效等优点[9]。Qt 使用QtDesigner 对界面的布局和控件进行排版,再利用QSS脚本语言进行界面美化,可节省大量的开发时间。本系统采用的数据采集卡配备了基于C++的驱动程序源文件,该源文件包含获取数据采集卡各个通道信号的类和函数[10]。Qt Creator 可直接调用,从而实时获取各通道电压信号。数据采集卡一共有16 个通道,本系统使用模拟信号输入的4个通道AI0 到AI3 分别获取4 个压力板传输进来的电压信号,再通过数据拟合的方法把两个通道的电压信号转换为每个测力板承受的重量值。根据力矩平衡原理,可以得到受试者的重心在地面上的投影位置坐标,通过重心坐标的变化反映患者的平衡能力。通过动态实时显示重心坐标的位置以及重心在左右两个方向的偏移指数评估患者的平衡能力。数据采集与处理流程如图5 所示。

平衡能力评估模块软件运行界面如图6 所示,不同的标签卡显示患者不同方向对地面的压力值,通过计算得出患者对地面不同方向的重心偏移指数。

训练结束时会显示评估结果,如图7 所示。评估结果为平衡能力的生理学参数,包括重心摆动轨迹长度、轨迹平均摆动速率、平均摆动幅度、最大摆动幅度和重心轨迹图,作为评估平衡能力的参考分析数据。

Fig.5 Flow of data acquisition and processing program图5 数据采集与处理流程

Fig.6 Software execution interface图6 软件运行界面

Fig.7 Evaluation result interface图7 评估结果界面

3 三维游戏设计模块

3.1 游戏场景搭建

三维游戏训练模块不仅要求游戏充满趣味性和吸引力,还要适合老年人的生理和心理状态。使用Unity3D 平台开发的游戏画面丰富、元素逼真,能够增强使用者操作游戏的沉浸感,起到很好的视觉和听觉反馈作用[11]。本系统搭建了多种适用于平衡康复训练的三维游戏,游戏种类丰富,场景多样,难度可调,可提供给不同患者进行选择,如图8 所示。

Fig.8 3D games scene construction图8 三维游戏场景搭建

以打砖块游戏为例,本文设计的一个游戏场景如图9所示。先创建颜色鲜明的背景场景和游戏元素(砖块、滑板等),再在Unity3D 软件中编写游戏元素对应的C#脚本代码,控制游戏中各个元素在游戏过程中的物理变化,如砖块被小球击中后消失、小球掉落地面生命数减一,滑板移动速率变化与压力板承受压力大小同步变化等。基于Uni⁃ty3D 平台创建的三维游戏场景逼真,游戏元素生动,能够达到使玩家沉浸于游戏的目的[12]。

Fig.9 Brick-breaking game scene construction图9 打砖块游戏场景搭建

3.2 数据传输接口

为了使电路模块中的数据采集卡信号变化与游戏中的元素运动同步调用,还需要编写数据采集卡的数据传输接口代码文件。接口文件能够获取各个测力板承受的压力值大小,供各游戏场景使用[13]。数据传输接口关键代码如下:

3.3 游戏脚本编写

整个游戏系统中较为重要的部分是实现压力板受到的压力大小与游戏关键元素的运动同步变化。该步骤目的是驱使患者在游戏时主动执行游戏任务,沉浸到三维虚拟环境中。三维游戏主要通过评分机制来反馈训练效果,让患者进行自我驱动式训练,从而达到良好的训练效果[14]。控制游戏关键元素运动方式的主要代码如下:

4 智能算法设计模块

在开发出具有较强操作性和趣味性的三维游戏基础上,本文在游戏程序中还添加了基于遗传算法思想的能够智能调整游戏参数和游戏难度的代码片段,其智能性体现在能够根据患者自身平衡能力情况以及训练效果的实时反馈及时调整训练参数和难度[15]。

遗传算法基本原理是将问题的解映射为染色体,算法对每个染色体进行评价,通过适应值来对染色体进行选择[16]。优胜劣汰则通过适应性好的染色体繁殖机会更多来体现。在算法执行前,需要先给出一组假设解,即随机给出一组染色体,然后将这组假设解嵌入到问题中,给予一个适应度函数评价其适应度。适应性高的染色体拥有更多的繁殖机会,对染色体进行复制,淘汰适应性低的染色体。然后交叉、变异,产生下一代染色体,再对新群体进行优化,直到产生最优解[17]。

本文将患者训练时产生的初始数据作为初始建模条件个体,量化游戏障碍物、方向控制等属性,将生命数、游戏获得分数作为适应度函数,对染色体进行交叉和变异。随后,找到适应度最差的个体进行淘汰,找出适应度最好的个体进行复制和繁殖,通过个体特征和属性交叉产生下一代;再引入随机突变函数,挑选一定的染色体并随机赋予一个新值,控制这种随机突变的概率;然后利用突变后的染色体与其他染色体进行交叉产生新的后代。如此往复,数代之后获得适用于该患者的游戏难度和游戏参数的最优值并实时更新到游戏中。智能算法流程如图10 所示。

Fig.10 Intelligent algorithm flow图10 智能算法流程

5 临床实验及结论

为验证系统对平衡功能障碍患者的有效性,对18 位患有平衡功能障碍患者进行随机对照试验。患者年龄为60±5 岁,男性10 名,女性8 名。将18 名患者随机分为两组,其中对照组患者使用一般的物理康复治疗设备进行康复锻炼,作为空白对照;实验组患者使用平衡康复系统进行为期15 天的下肢平衡功能训练,每天训练30min,分别进行10min 的平衡功能评估以及20min 的三维游戏平衡功能训练。最后分别测试两组患者的Berg 平衡量表分数(Berg 平衡量表每一项检查项满分是4 分,分值越高代表平衡性越好),如表1 所示。

Table 1 Clinical trial data表1 临床实验数据

实验结果显示,实验组的Berg 平衡量表平均分数提升的百分比都高于对照组的平均分数提升百分比,特别是站立状态静态平衡下的平衡检查项目至少提高了10%。Berg平衡量表分数是体现人体平衡功能的指标[18],说明了该平衡功能训练系统确实能提高人体的平衡能力。

6 结语

维持身体平衡不仅是人体重要的生理机能,同时也是人们日常生活的保障[19-20]。因此,在科研领域以及临床实践中,人体平衡能力的测量与评估具有重要的研究价值[21]。本文设计了一套针对平衡能力损伤患者的智能化康复训练系统,该系统可以根据患者自身平衡能力情况以及康复训练的实时反馈信息,及时调整训练参数和游戏难度。对患者的平衡功能进行康复对照实验,结果显示,以三维游戏为载体的平衡功能康复系统相对于传统的康复手段而言省时省力,有助于提高患者的平衡功能。同时,作为一款模块化、上位机与下位机可分离的系统,平衡功能障碍康复训练系统也为其他康复功能障碍系统的研究和开发提供了借鉴。但本次对照实验采用的样本量较小,还需要通过进一步的严谨实验和数据分析来验证系统的有效性;系统还需在训练游戏的多样性、趣味性上进一步改进和完善。

猜你喜欢

采集卡评估模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
高精度AD采集卡性能测试及评价方法研究
面向数控机床的多通道传感数据采集卡设计
并行高速采样在地震物理模拟采集中的应用
PCI-e高速数据采集卡的驱动与上位机软件设计
评估依据
最终评估
集成水空中冷器的进气模块
EMA完成对尼美舒利的评估