虚拟现实技术在柔性上肢康复机器人中的应用
2020-12-26张成杰
杜 豪,杨 岩,张成杰
重庆理工大学 机械工程学院,重庆400054
1 引言
虚拟现实技术是以计算机为核心,结合网络技术、图像仿真、人机接口、模式识别、传感器、AI、自动控制及远程操控等技术,将抽象模糊的信息处理为与某一特定真实环境完全相似的模拟环境,用户借助人机交互设备控制模拟环境中的对象,让用户身临其境,实时感受模拟环境中的三维世界[1]。针对当前的传统康复治疗方法,虚拟现实技术与机器人技术相结合逐渐受到人们的重视,并应用到运动康复医疗领域,成为新型的康复模式,患者可以在虚拟场景中进行运动技能的恢复,手眼协调、空间定位、日常人物等多种康复训练[2]。虚拟现实技术的特点是带给患者沉浸感和交互性,可以有效弥补传统康复训练方法的局限性,提高在康复机器人辅助训练中的趣味性和患者的主动性[3-5]。
基于虚拟现实技术的康复机器人在各国得到了普遍重视,也取得了一定的进展,比如Connelly等人[6]利用VR结合充气手套对脑卒中后手功能康复训练,Kayyali等人[7]结合有触觉反馈的收据手套,开发了一套针对脑卒中患者的虚拟康复系统,Godfrey[8]利用VR 结合外骨骼机器人,对慢性脑卒中患者进行康复训练,华南理工大学的伍平平[9]开发了一套针对脑卒中恢复期患者偏瘫上肢运动功能康复的虚拟现实系统。
针对现有的上肢康复机器人训练模式单一、结构复杂、控制难度大等缺陷,设计了一款由绳牵引的柔性上肢康复机器人。它是一种混联机构,既能对患者进行主动训练,也能进行被动训练,不仅弥补了康复训练模式单一的缺陷,同时又精简了本体结构,降低了康复控制难度。该柔性上肢康复机器人与虚拟现实技术相结合,为患者在安全和可靠的治疗环境中提供具有特定任务的重复训练,允许患者尝试不同的场景和不同的任务,不仅增添了康复治疗的趣味性,还极大提升了康复训练效果和患者的满意度。
2 柔性上肢康复机器人
2.1 康复理论研究
脑卒中是由急性脑血管病引起的,发病后患者的主要特征有:高位运动调控中枢受损、肌张力异常、运动模式异常,具有语言、认知、智力等伴随症状[10]。对脑卒中康复治疗,是为了防止肌肉萎缩、关节痉挛等各类症状的出现;是为了维持和扩大关节活动度;也是为了增强肌肉力和协调性,最终重建肢体功能以便回归正常生活[11]。从解剖学角度看,人体上肢是由骨骼、关节和肌肉组成,在运动过程中,骨骼起到杠杆的作用,关节作为支点,肌肉则为上肢运动力[12]。通过对人体上肢生理结构分析,根据康复机械设计要求,针对肩关节和肘关节进行的主被动康复训练,各个关节运动原理和角度如图1所示[13]。
肩关节是由肩胛骨和肱骨头的关节盂组成的,是一种球窝关节,可以在三个相互垂直的方向进行屈伸、收展和旋转运动;肘关节由桡尺近侧关节、肱桡关节和肱尺关节共居同一个关节囊内组成,是一种复合关节,可以做屈伸和旋转运动。通过对偏瘫患者的全面康复治疗和康复功能评定学的研究,如图2[13],两个关节的动作方向与角度范围如表1和表2所示。
图2 上肢关节运动方向
表1 肩关节动作方向和角度范围
表2 肘关节动作方向和角度范围
2.2 上肢康复机器人结构模型
结合人体上肢结构及运动特性所设计的柔性上肢康复机器人结构如图3 所示,主要由滑台模组、悬吊系统(卷线装置和T 型架)和支撑机架等几部分组成。该机器人以患者肘关节和腕关节为着力点,采用3根绳索悬吊上肢进行康复训练。其中,肘关节处采用1 根绳索,腕关节处采用2根绳索,3根绳索的上端连接于悬挂机构上的支架,下端通过连接护具套对上肢进行悬吊,同时,将滑台布置于患者上方,通过弹性绳连接驱动手臂完成患者上肢的空间运动。
图3 柔性上肢康复机器人
不考虑绳索晃动所引起的误差,该机器人模型的空间几何关系如图4 所示[13]。整个机构为混联机构形式,串联部分由滑台模组装置的两个平移自由度(d1,d2)和旋转装置的转动自由度θ1组成;并联机构部分由3根绳索上下收放自由度(d3、d4、d5)组成。其中,基坐标系的原点为O,A代表肘关节位置,其初始坐标为(Ax,Ay,Az)=(d2,d1,d3),B代表腕关节位置,其初始坐标为(Bx,By,Bz),θ3代表腕关节的旋转角度,L1、L3代表T型架对应结构的杆长,L2代表前臂长度,L4代表腕关节直径,θ2代表AB与AB′1的夹角,即AB与竖直面yoz的夹角,θ1代表旋转装置的转动自由度。
图4 康复机器人空间几何关系
通过正运动学分析,可得:
结合式(1),通过逆运动学分析,可得角度θ1和θ2分别为:
而θ1和θ2取值范围分别为(-60°,90°)、(-45°,45°),所以θ1和θ2只有唯一解。
前臂旋前和旋后动作通过改变悬绳d4和d5的长度实现腕关节的动作,根据上述公式求得。其余动作悬绳d4和d5的长度始终相等,且满足公式:
综上,该机器人共有6 个自由度,悬绳个数小于自由度数,该机构是欠约束结构式的,能够遍历健全上肢的空间运动域。其中,滑台模组由两个伺服电机驱动工字型同步带,实现肩关节的屈伸、收展2个自由度;卷线装置由3 伺服电机实现3 根绳索在竖直空间中的运动,从而实现肩关节的旋转、肘关节的屈伸和旋转3个自由度;T型架由伺服电机驱动蜗轮蜗杆实现上肢在水平面内转动1个自由度。
2.3 柔性上肢康复机器人运动方案
结合柔性上肢康复机器人本体结构,实验室设计了基于虚拟现实技术的柔性上肢康复机器人控制系统,如图5 所示。控制系统主要由CPAC 控制器、虚拟现实交互环境、Nokov动作捕捉系统等辅助训练设备构成。该控制系统模式含有主被动两套训练方式。被动式康复训练模式是在患者上肢未完全丧失功能,具备一定的自主运动能力下进行的一种模式,该模式简单有效,当前多数上肢康复机器人都能实现这种训练模式。基于被动康复训练模式,利用辅助设备开发了一种主动式康复训练,即实时监测上肢运动情况,机器人自主带动患者进行康复训练。
图5 康复机器人系统原理图
通过对脑卒中患者的犯病特征和上肢的异常运动的深入观察,阅读和查询了大量相关文献,重庆医科大学附属医院从医学角度出发,结合临床试验,分析了患者上肢各个关节的运动状况,设计了一套上肢吃饭动作训练方案,其肩关节和肘关节的运动状态如表3所示。
表3 吃饭训练运动方案
3 VR在柔性上肢康复机器人中的应用
3.1 VR交互系统
虚拟现实(VR)技术是一门借助计算机构建出一个与现实环境十分逼近的虚拟环境,且支持用户使用自然的技能亲身感受的人机交互技术[14-17],其基本特征为3I,即immersion(沉浸)、interaction(交互)和imagination(构想)。
虚拟现实系统中的交互既包括人与系统发生的交互,还包括虚拟对象间的交互。这两个层面的交互存在对应关系:首先,用户的交互行为映射为虚拟环境中虚拟对象的交互行为;然后,虚拟对象之间生成交互,相互作用,并使得其自身状态和环境状态产生变化;最后,用户根据对象状态变化及其变迁过程,调整自己的交互行为。设计了基于Unity3D 引擎的虚拟现实康复训练游戏。上肢康复训练是上肢运动功能反复学习的过程,将虚拟现实技术融入到上肢康复训练当中,可以提供反复刺激,促进运动学习,并保持所学习的技能。虚拟康复训练游戏具备真正的互动体验,使患者在训练中沉浸在一起,并得到积极的反馈。如图6所示。
图6 人机交互康复训练系统
3.2 场景加载
基于上肢康复运动方案,设计了上肢康复机器人VR系统,构建了吃饭、梳头、洗澡、穿衣四个训练运动模型,如图7 所示。模型的制作过程中包括建模、材质和动画环节。使用SolidWorks 或proe 等专业工程建模软件搭建餐桌、盘子、勺子、食物、手臂等三维模型,但在制作VR内容时,过于精细的模型会占用大量的CPU导致VR展示时帧率过低出现卡顿,使用效果不佳,所以用工业软件搭建三维模型后,利用3DMAX进行精简和渲染处理,最后保存的fbx 格式文档导入Unity3D 进行开发。在Unity3D中给物体增加刚体组件和碰撞体后,仿真系统中的物体就具备碰撞检测和重力等物理特性。本实验采用HTC VIVE虚拟设备,通过VR虚拟头盔建立虚拟场景空间原点,操控手柄基于头盔建立相对运动坐标系,各个模块的空间布局以空间原点为参考点进行规划,同时,对于部分原始模型可采用二级建模的方式来避免模型面数较多、布线不合理的问题。
图7 动态交互模型
3.3 动态模型的交互性节点设计
交互性节点:虚拟对象可以通过各自成功匹配的交互节点建立相应的联结约束关系,是操作行为能够得以发生的接口。
在虚拟仿真设计中,连续运动节奏的好坏对界面动画效果产生直接的影响,为保证虚拟动作显得自然生动,需要严格标定动态模型的节点坐标[18]。
假设虚拟模型上的点P在场景图像中的亚像素坐标和对应的空间三维坐标分别为(m,n)和(Xu,Yu,Zu)。通过式(5)将场景中的亚像素坐标来获得径向和切向畸变中摄像机坐标的归一化坐标。
其中,ax、ay为虚拟场景中图像坐标系在X轴和Y轴的尺度因子;xd(1)、xd(2)为进行归一化的虚拟场景X、Y轴向坐标点;m0、n0为虚拟场景中心像素坐标。对归一化处理后的动画场景图像坐标xn,经过多次迭代实现径向和切向畸变补偿,当xn对应的初始估计值为xd,通过来表示xn,利用式(5)联合求解得到归一化处理后的动态坐标xn,表示为:
式(6)中的∂1和∂2分别为切线畸变值,k为径向畸变值,通过xn与∂、k的多次迭代,获得收敛的xn值,由于xn为线性模型中摄像机坐标系的归一坐标,当摄像机测量的现场坐标为(Xc,Yc,Zc),通过公式实现场景三维坐标系和摄像坐标系的转化:
其中,t 和R 分别为摄像机外部平移向量和对应的选择矩阵,通过上式获得动画场景中节点的深度值。
3.4 上肢运动捕捉与补偿
由上述分析中,当知道节点在虚拟场景中的各坐标分量,通过对摄像机坐标系的归一化处理,得到上肢运动坐标与虚拟运动坐标的转化,进而将捕捉到关键点的空间坐标位置转化为由一系列动画帧组成的运动序列,如图8为运动捕捉模块,即在一个连续事件上追踪关节点运动,描述三维空间运动过程,创建三维人物骨骼动画源文件。
图8 运动捕捉模块
为获得患者上肢在空间中的运动坐标,实验室使用了Nokov(度量)光学三维动作捕捉系统如图9所示。
图9 康复运动信号采集
通过标定,确定三维空间的原点位置,构建三维空间坐标体系:每个红外镜头都会拍一个2D图像,其中至少有两个镜头拍到同一个点,才会呈现出3D效果,并测出其空间坐标,拍摄镜头越多,坐标位置越精确。完成标定后,红外摄像头拍摄到荧光点的运动即为在控制器作用下的腕关节和肘关节的运动,生成.trc 格式的三维数据跟踪文件。
柔性上肢康复机器人进行被动训练后,患者上肢具有一定的自主能力,但与正常人相比,患者上肢的自主运动不够连续,主动运动的速度达不到康复运动速度,因此,在对患者上肢进行主动康复训练时,柔性上肢康复机器人应该对康复运动进行补偿,如图10所示。
图10 运动补偿流程图
利用大量的患者上肢康复过程中训练数据,拟定适合患者上肢运动的速度是V0。柔性上肢康复机器人进行主动康复训练,通过NOKOV动作捕捉系统实时测量上肢在运动空间的位置变化参数。在CPAC控制器里,计算动作捕捉系统中每一帧的空间坐标变化量(V),并且与拟定的速度(V0)进行比较。当测得患者上肢运动速度V<V0时,表示患者自主运动能力不足,需要在康复机器人的牵引下进行运动训练,因此,CPAC控制发出脉冲信号,驱动末端执行机构,使得绳索牵引上肢运动。当上肢运动速度V≥V0时,表示患者能够自主运动,故末端执行机构跟随上肢,做主动运动。
当获取上肢运动空间坐标位置后,利用Unity3D软件的SDK数据插件读取空间坐标位置并转化为虚拟动态模型节点坐标系,实现虚拟现实运动交互。
3.5 柔性上肢康复运动虚拟现实交互功能与验证
患者戴上VR头盔,握住操控手柄,康复机器人处于初始状态,此时Unity3D中的空间原点与硬件驱动传过来的点进行匹配,使得虚拟环境中的手臂位置与患者坐的位置保持一致。通过配套的两个红外摄像头对手柄进行定位,即测量康复机器人末端位置。获取数据后,通过驱动接口传入Unity3D软件,实现虚拟手臂跟随运动,如图11所示。
图11 VR训练装置
患者和虚拟现场场景中的交互,不仅通过虚拟场景观察手臂的实时运动效果,同时可以检测到任务动作路径的规范性和有效性。本文通过患者的坐姿特征,在场景嘴的同等高度下设置了碰撞检测体,实现碰撞功能提高吃饭训练动作的仿真度,验证吃饭动作的准确度,如图12所示。
图12 碰撞检测体
在虚拟场景中,结合患者的视觉特征,碰撞检测体设置在机器人视觉正下方,替代患者的嘴,通过刀叉食物的实时状态,判断吃饭训练动作的准确性和可行度。
本虚拟现实系统的碰撞检测算法采用层次包围盒算法。在Unity3D 中,根据手柄与周围物体间的碰撞形式:进入碰撞与未发生碰撞的临界状态、碰撞发生中、脱离碰撞状态,会分别调用On Collision Enter() 、On Collision Stay()、On Collision Exit()三个函数[19],将碰撞时所要执行的逻辑分别加入到这三个函数中,从而实现碰撞检测功能,完成吃饭训练,如图13所示。
图13 碰撞检测试验
当食物在靠近嘴时,程序检测到碰撞发生,将虚拟场景中的食物颜色由黄色变为青色,脱离碰撞状态后,食物消失,这表明本虚拟现实系统具有碰撞功能,并验证了吃饭训练完成。
4 结论
虚拟现实技术和柔性上肢康复机器人中的联合驱动,为患者在康复过程中提供了有效的康复训练,增强了患者进行康复训练的主动性和趣味性。虚拟现实技术在柔性上肢康复机器人的应用主要包括:
(1)柔性上肢康复机器人复合训练动作设计,验证康复运动训练的可行性。
(2)结合康复机器人运动域,运用3DMAX和Unity3D软件搭建上肢康复运动场景。
(3)标定上肢运动节点坐标,通过引入交互节点实现运动场景的坐标系和摄像坐标系的转化,完成虚拟动态模型交互。
(4)设置碰撞检测体,完成碰撞检测试验,实证吃饭动作训练,完善柔性上肢康复机器人虚拟现实交互功能。