2.2配合主动训练模式的虚拟现实辅助训练软件设计
2.2.1 主动训练模式介绍 该训练模式适用于病情比较轻的患者,这些的患者的患肢虽然有些运动障碍,但是没有完全丧失运动能力,因此可以通过设计一些具有良好交互性的虚拟场景游戏,使患者完全自主地利用康复机器人进行锻炼。
2.2.2程序设计
整个软件采用VC++6.0创建的 win32 application应用程序,调用 OpenGL的库函数开发。软件所涉及的带有贴图的 3D模型和其他图形素材,采用了现成的资源,这样既保证了图形图像的质量又提高了开发效率。该辅助训练软件结合主动训练模式,给病人提供了宽广的 3D虚拟场景,通过训练臂,并辅助一个罗技游戏摇杆进行漫游,患者通过机械臂控制场景人物平面方位角的改变,辅助游戏摇杆负责场景人物的前进,后退,俯仰角度以及射击击发。患者需要完成的交互训练任务是尽快在该场景中找出移动的目标靶并射击命中。如图 4所示:
该程序首先由 Win32应用程序框架中的WinMain()函数提供程序的入口。当窗口成功建立时,MsgProc()窗口回调函数调出OpenGL框架中Init()函数对OpenGL视图进行变换调整。Windows窗口生成后就进入 GameLoop()主循环中,在此一直循环调用 OpenGL框架中的Render()函数进行我们需要的图形场景处理和显示,程序退出时,调用 CleanUp()清除OpenGL连接。在交互方面,程序初始化时采用 Winsock 2.0建立了套接字,通过局域网接收下位机传送的机械臂位置数据,通过计算转化为场景人物的平面旋转角度。从而达到实时交互的目的。前进后退,俯仰角度的改变以及子弹的发射,采用键盘按键消息事件的方式实现,再通过游戏摇杆驱动程序关联响应的按键,达到摇杆辅助控制的目的。程序分别使用mciSendString函数和 sndPlaySound函数来实现游戏过程中的各种音效。
3、实验结果
进行康复训练时,病人的手固定在康复训练牵引机械臂的托盘上,医生通过上位机界面(医生端)分别设置运动模式为主动训练和抗阻训练,并调用相应的虚拟现实辅助训练程序进行交互式康复训练,结果明显提高了病人参与康复训练的积极性,训练时间明显增加,同时病人也能保持兴奋愉快的状态。病人训练的同时,上位机界面实时曲线绘制正常,在阻抗训练模式下实时训练参数曲线绘制如图 5所示,能较为准确的反映病人的训练状态。训练结束后打开病案数据库的历史数据记录表,可以看到位置数据和力度数据记录正确。
5、总结
综上所述,本康复训练机器人系统采用的上下位机联合的方式,通过设计两种基于虚拟现实技术的互动训练程序,为患者的康复训练提供了一个生动的平台,将患者从枯燥乏味的康复训练中解放出来。实验结果证明,所设计的辅助训练程序能够较好的配合患者进行主动训练和抗阻训练模式的要求。在以后的研究中,还需要针对网络时延对病人与虚拟环境交互实时性的影响进行进一步的克服和改进。
本文作者的创新点是:本文针对中风病人和上肢受伤病人在传统的基于康复器械的训练中,人机之间缺乏良好的互动性以及训练模式内容枯燥乏味的缺点,开发了一种新颖的基于虚拟现实和计算机网络的上肢辅助康复训练系统。该系统配合康复训练的主动模式和阻抗模式,可以对病人进行具有趣味性和良好交互性的康复训练过程。