APP下载

基于虚拟场景的踝关节训练软件系统开发

2018-06-21王子梅徐秀林安美君

软件导刊 2018年5期
关键词:踝关节虚拟现实康复训练

王子梅 徐秀林 安美君

摘 要:开发一种基于虚拟场景的踝关节训练软件系统,利用踝关节康复训练器械,使患者在虚拟环境中进行踝关节主动康复训练,并能对患者进行康复评估。该系统由下位机硬件和上位机软件构成。硬件系统基于STM32F103ZET6单片机进行开发,MPU6050传感器采集踝关节活动度,通过蓝牙传至上位机。软件系统包括患者信息模块、虚拟场景训练模块和人机交互模块。采用ADO数据接口访问SQL Server数据库对患者的信息进行管理。虚拟场景训练模块在Visual Studio 2010的MFC和DirectX SDK 9.29开发环境下,基于DirectX 11应用程序接口和VC++编程语言开发,实现了旋转魔方的虚拟场景构建。使用MFC中的编辑框,实时显示踝关节运动角度。系统挑选15名健康正常人为踝关节角度测试的受试者,对系统进行可靠性测试。结果显示, 其组内相关系数大于0.85,说明系统具有良好的可靠性。

关键词:虚拟现实;踝关节;康复训练;康复评估

DOI:10.11907/rjdk.172769

中图分类号:TP319

文献标识码:A 文章编号:1672-7800(2018)005-0098-04

Abstract:An ankle training software system based on virtual scene was developed to facilitate patients to do active rehabilitation training and make rehabilitation assessment of the ankle in the use of rehabilitation training instrument.The system was composed of lower computer hardware and upper computer software.The hardware system was developed by STM32F103ZET6 microcontroller, with MPU6050 sensors collecting ankle mobility and bluetooth transferring data to the host computer.The software system included patient information module, virtual scene training module and human-computer interaction module.Server database was accessed from ADO interface to manage the patients′ information.The virtual scene training module was developed under the Visual Studio 2010 MFC and DirectX SDK 9.29. Based on the DirectX 11 application program interface and VC++ programming language, it realized the virtual scene construction of the Rubik′s cube.The angle of ankle movement in real time was displayed in the edit box of MFC. The reliability of the system was tested. The results showed that the correlation coefficient was greater than 0.85 and proved that the system had a high reliability.

Key Words:virtual reality; ankle joint; rehabilitation training; rehabilitation evaluation

0 引言

踝關节损伤是一种常见的骨关节损伤,其发生率在下肢损伤中居第二位,及时有效地进行康复训练是恢复踝关节功能的关键[1-2]。目前,踝关节康复设备逐渐取代了传统的人工疗法,具有省时、省力的优点,能加快患者康复进程。但是,绝大多数康复设备只有一些简单的运动模式,长期进行单调重复的机械运动,患者感到枯燥无味,不利于患者康复[3]。

将虚拟现实技术应用于康复医疗领域,是目前临床上提高康复治疗效果的有效方法。该技术通过计算机模拟出一种虚拟环境,通过传感装置将人的感官与虚拟元素相关联,对虚拟元素进行操作,以达到人机交互的目的[4-5]。

美国罗格斯大学设计开发了一种踝关节康复设备,该设备结合虚拟现实技术,让患者在虚拟环境中进行康复训练[6]。The Rutgers Ankle已经被应用于临床试验,给患者带来有效的康复训练效果 [7-9]。但是,该系统的结构复杂,需要配置独立的压缩机、价格昂贵的驱动组件和传感设备。在进行虚拟康复训练过程中,缺乏鼓励机制和时间设置,不利于康复计划的制定。

本研究开发一种基于踝关节主动训练的虚拟现实系统。系统硬件由STM32F103ZET6单片机、MPU6050传感器和无线蓝牙模块组成,实现对踝关节运动角度的数据采集、处理和无线传输至上位机。系统软件包括患者信息模块、虚拟场景训练模块和人机交互模块对患者的信息进行管理、踝关节虚拟魔方训练和康复评估。通过背景音乐和音效,让患者在训练过程中心情放松;设置有训练难度和训练时间参数,训练过程中采用任务制和得分制,使患者更好地沉浸在虚拟训练场景中,以增强患者训练的参与度。

1 系统硬件实现

下位机的数据采集装置由传感器MPU6050、单片机STM32F103ZET6、蓝牙模块HC-05组成,数据采集流程框如图1所示。

MPU6050传感器与单片机STM32F103ZET6统一使用5.0V供电电压,单片机通过I2C接口对传感器加速计和陀螺仪中的数据进行读取,传输频率可以达到400kHz。I2C为两线接口,MPU6050传感器中的数据線SDA根据时钟线SCL的信号进行数据传输[10]。ADO引脚接地,传感器的设备地址确定为0xD0。为了消除加速度计瞬时快速变化的信号和抑制陀螺仪积分的漂移,对两者输出的角度数据进行卡尔曼滤波融合处理[11-12]。HC-05蓝牙模块把处理后的角度数据通过无线的方式传输至上位机,其接口电平为5.0V,选择从模式状态,蓝牙模块的发送引脚TXD和接收引脚RXD分别连接单片机URXD0接收引脚和UTXD0发送引脚,SET引脚悬空。

2 系统软件设计

系统软件由患者信息模块和人机交互模块构成。通过虚拟的魔方场景实现了患者踝关节主动趾屈与背屈运动的康复训练。患者信息模块实现了对患者的信息管理,并能对数据进行增加、删除、修改和查询等。人机交互模块通过显示和记录患者在自主康复训练过程中,趾屈与背屈运动的活动度及最大角度,对患者进行踝关节康复评估。

2.1 患者信息管理模块

患者信息管理模块使用SQL Server 2008数据库建立患者信息数据库,包括患者编号、姓名、性别、年龄等基本信息。采用ADO技术访问数据库,使用SQL语句对患者数据库的信息进行新建、查询和修改等操作,具有访问快捷、灵活性高、占用内存少等特点[13]。

该模块访问数据的接口封装成CPatientSet类,使用_ConnectionPtr型的指针变量建立与数据库“patient”的连接;_RecortsetPtr型的指针变量打开“patient”数据库的表“dbo.patientinfo”,显示出表中的患者信息,完成对数据库的访问。

信息管理模块是由当前患者信息、列表视图等组成。使用SQL语句编辑OnBtnAll()、OnBtnModify()、OnBtnLookUp()、OnBtnDelete()、OnBtnNew()、OnBtnKeep()等函数分别对dbo.patientinfo表中的病患信息进行显示、查找、修改、删除、新建和保存等操作。

2.2 魔方虚拟场景设计

本系统虚拟场景开发的硬件环境为中央处理器酷睿i3以上、显卡GTX650及以上、内存4GB及以上、硬盘150GB以上;软件环境开发平台为Visual Studio 2010和DirectX SDK 9.29,基于DirectX 11应用程序接口、VC++编程语言和高级着色器语言(High Level Shader Language,HLSL)。

将3个正六面体的魔方作为主要虚拟元素,用踝关节的趾屈和背屈运动控制魔方的旋转,趾屈运动控制魔方向屏幕内旋转,背屈运动控制魔方向屏幕外旋转,直至3个魔方旋转至相同位置处即可得分。利用DirectX11中Direct3D图形程序接口的Cube Mapping(立方体映射)实现天空盒效果。用HLSL编写渲染文件Shader.fx,将纹理映射到场景中对应的位置,文件中包含顶点着色器VSMain()函数、像素着色器PSMain()函数和采样器。渲染文件采用SM5.0版本的着色器,实现将顶点位置输入VSMain()函数,经过世界变换、观察变换和投影变换,输出新的位置和颜色信息传递给PSMain()函数,输出对应的像素值。采样器中选用线性过滤技术进行纹理过滤,采用箝位(clamp)寻址模式对超出[0,1]区间的纹理坐标进行处理。

构建的虚拟场景如图2所示,3个魔方和四位数分数板的绘制,使用笛卡尔左手坐标系,图元类型为三角形,采用顶点缓存的方法。顶点数组中共有42个顶点缓存,一个魔方需要36个顶点缓存,一个数字需要6个顶点缓存。每个顶点结构都包含位置和纹理两个坐标信息,根据顶点的位置坐标在虚拟场景中绘制出对应的图形,实现中间魔方和分数板中个位数的绘制。分别对魔方和个位数的世界矩阵进行X轴上的平移变换,绘制出另外两个魔方和分数板中其它三位数,相邻两个魔方的位置在X轴上相距3.5个单位,得分板上相邻位数的数字在X轴上相距0.3个单位,完成虚拟场景的构建。

2.3 人机交互实现

人机交互界面如图3所示,采用MFC静态分割窗口技术[14],重写OnCreateClient函数将窗口分割为两个视图,分别为人机交互视图和虚拟场景视图。人机交互视图包括训练的设置模块和人机交互模块。在康复训练过程中,人机交互模块实时显示患者踝关节的运动角度范围以及趾屈和背屈的最大角度。虚拟场景中魔方旋转是由患者踝关节运动控制的,当脚踝进行趾屈(背屈)运动时,对应的魔方向屏幕内(外)旋转,当3个魔方的点数和位置一致时,完成训练任务得分,并进行语音鼓励。根据文献报道的踝关节客观检查评分表[15],将患者趾屈和背屈运动角度范围进行划分,不同的角度范围对应魔方不同的旋转角度,如表1所示。

在传感器处于水平位置时,计算采集400次传感器输出的平均值作为零点校正值进行零点校正。加速度在X、Y、Z轴的零点偏移值分别为-0.003、 0.002、-0.001;角速度在X、Y、Z轴的零点偏移值分别为1.878、-1.261 5、-0.648。将采集的数据减去零点校正值,再进行滤波和融合处理,最后获得正确的踝关节角度值。

当患者开始训练时,系统设置通信端口为COM3,波特率为9 600bps、数据位为8位、1位停止位、无奇偶校验位,开启读写线程。上位机处理后得到踝关节的运动角度数据,在人机交互模块中,计算显示出踝关节趾屈与背屈运动的最大角度及活动度。踝关节角度的计算公式为:

3 可靠性实验

利用本系统对15名年龄为24±3岁的健康正常人作踝关节角度测试。踝关节趾屈的测试角度分别为10°、20°、40°;踝关节背屈的测试角度分别为5°、15°。在测试过程中,读取人机交互模块趾屈和背屈的角度数据,与临床使用的关节活动度量角器的测试数据进行分析比较。

测试时,保持测量环境安静舒适、宽敞明亮,避免闲杂人员干扰。受试者心情愉悦、全身处于放松状态,为坐立位,屈膝90°,足与小腿呈90°。用标准量角器对各角度进行标定,将硬件装置固定在脚背处,踝关节进行趾屈和背屈运动,获得相应的各角度数值。一周后,在同样的测试环境下,重复进行实验,将两次测试结果进行分析比较,判断系统的可靠性。

将踝关节两种状态下的两组测量数据输入SPSS数据分析软件,进行两次测试数据的组内相关系数分析,如表2所示。测试结果显示,该系统测试的踝关节趾屈与背屈运动角度的组内相关系数(ICC值)均大于0.85,表明系统具有良好的可靠性。

4 结语

该虚拟现实系统主要用于患者踝关节康复运动训练,要求患者的踝关节有一定运动能力,能够通过自己的意识控制虚拟场景中的虚拟元素。系统使用的传感器、主控芯片和蓝牙设备,可以准确地采集数据,并且通过蓝牙通讯技术实现无线传输。虚拟训练过程中添加了背景音乐和音效,使患者在放松舒适的环境下进行康复训练并且对完成任务的患者给予鼓励和积分;人机交互模块为患者踝关节的康复评估提供参考数据。但该系统的虚拟现实康复训练只对踝关节的趾屈与背屈运动的相关运动参数进行了研究,还可进一步对踝关节的内翻、外翻等活动的虚拟场景和人机交互模块进行研究,以获取更多踝关节运动参数,使患者得到较为全面的踝关节康复训练、使医生获取更多康复评估数据。这些均有待于进一步研究。

参考文献:

[1] 张小俊,刘更谦,何春燕,等.基于虚拟现实的踝关节康复机器人的综述[J].机电产品开发与创新,2006,19(1):29-31.

[2] ZHOU Z, ZHOU Y, WANG N, et al. Changes of achilles tendon properties via 12-week PNF based robotic rehabilitation of ankle joints with spasticity and/or contracture [C]. IEEE Engineering in Medicine and Biology Society,2014:1214-1217.

[3] 陈翼雄.基于功能性电刺激及生物信号反馈的下肢康复机器人设计及控制[D].北京:中國科学院大学,2014.

[4] 谢梦怡.虚拟现实技术在未来医疗领域的应用[J].无线互联科技,2016(22):137-139.

[5] 王瑞利,刘更谦,于庆增,等.基于虚拟现实踝关节康复系统的研究[J].机电产品开发与创新,2007,20(1):16-17.

[6] GIRONE M, BURDEA G, BOUZIT M, et al. A Stewart platform-based system for ankle telerehabilitation[J]. Autonomous Robots,2001,10(2):203-212.

[7] DEUTSCH J E, LATTONIO J, BURDEA G, et al. Rehabilitation of musculoskeletal injuries using the Rutgers ankle haptic interface: three case reports[C]. Eurohaptics Conference. 2001:11-16.

[8] DEUTSCH J E, LATONIO J, BURDEA G, et al. Post-stroke rehabilitation with the Rutgers ankle system: acase study[J]. Presence Teleoperators & Virtual Environments, 2006,10(4):416-430.

[9] GIRONE M, BURDEA G, BOUZIT M, et al. Orthopedic rehabilitation using the "Rutgers ankle" interface[J]. Studies in Health Technology & Informatics,2000,70(70):89.

[10] 王丹,赵凯.基于I2C总线的测试仪设计[J].装备制造技术,2014(9):121-122.

[11] WELCH G, BISHOP G. An introduction to the Kalman filter[EB/OL]. [2001-08-12]. http://www.iro.umontreal.ca/~mignotte/IFT6150/ComplementCours/FiltrageKalman.pdf.

[12] CHOUKROUN D, BAR-ITZHACK I Y, OSHMAN Y. Novel quaternion Kalman filter[J]. IEEE Transactions on Aerospace & Electronic Systems Aes,2006,42(1):174-190.

[13] 王浩,李莉,覃卫民,等.ADO在监测信息管理系统开发中的应用[C].地面和地下工程中岩石和岩土力学热点问题研讨会,2007.

[14] 孙鑫.VC++深入详解[M].修订版.北京:电子工业出版社,2012.

[15] 方玲,刘剑.踝关节功能障碍的康复与评估[J].中华物理医学与康复杂志,2001,23(4):254-255.

(责任编辑:江 艳)

猜你喜欢

踝关节虚拟现实康复训练
“胖人”健身要注意保护膝踝关节
多功能智能康复训练床的设计与仿真
穴位按摩与康复训练治疗周围性面瘫的疗效观察
REALITY BITES
上肢康复训练机器人的研究
虚拟现实技术向科幻小说借灵感
踝关节骨折术后早期能否负重的生物力学分析
浅述蒙医治疗踝关节骨折进展
中医康复治疗陈旧性踝关节扭伤48例
浅谈虚拟现实