瞿 畅 吴 炳 陈厚军 于陈陈 沈 芳
南通大学机械工程学院,南通,226019
随着机器人技术和人机一体化系统理论的发展,外骨骼机器人在中风患者运动康复领域得到了快速的发展和广泛的应用。无论是传统的人工康复训练,还是机器人辅助康复训练,都需要康复医师采用医患一对一方式进行,而且把注意力都集中在对患肢一侧的功能恢复上,常常忽略了健肢的功能活动。大量的研究表明,双侧肢体功能训练对中风患者的关节活动度、运动速度和准确度等运动功能具有更好的改善作用[1⁃4]。
目前,双侧机器人镜像训练大多采用以下方法实现:通过位置传感器采集健肢运动信息,机器人用采集到的健肢运动信息控制患侧肢体,使其产生“镜像”从属运动[5];设计了主从外骨骼,镜像训练过程中,患者健肢穿戴主外骨骼,患肢穿戴从外骨骼,主外骨骼的运动传递至从外骨骼,辅助患肢复现健肢运动[6⁃7]。上述方法中,由于健肢需穿戴主动机器人或连接传感装置,因此康复训练的舒适性受到一定的影响。SHAHBAZI等[8]构建的机器人辅助镜像康复平台采用双用户遥控方案,利用2台主动机器人联合控制1台从动机器人,实现对患肢的镜像康复训练,但该机器人系统复杂,控制难度大。
为实时获取患者的运动信息,及时调整训练方案,简化控制流程、提高舒适性,CLAUDIO等[9]研制了基于Kinect的上肢辅助机器人系统,根据Kinect检测到的目标物的空间位置逆解机器人的运动路径,带动患者的上肢到达目标区域,以达到康复训练的目的。DOWLING等[10]开发了一种可调节的家用上肢康复机械臂,通过Kinect追踪控制者的肘关节运动,将关节运动转化为气缸动作,驱动上肢康复机械臂带动患肢进行康复训练,但该系统还处于原型验证阶段,未进行实际穿戴实验。
将Kinect用于康复机器人的体感控制,控制精度可以满足康复训练的要求。为实现双侧肢体镜像康复训练,本文研制了基于Kinect体感控制的镜像康复机器人系统,系统可由患者健侧肢体动作体感控制机器人带动患肢动作,实现健肢与患肢双侧协调同步运动的镜像康复训练,也可由理疗师通过肢体动作控制机器人带动患者的同侧患肢体进行同步康复训练。
体感控制上肢外骨骼镜像康复机器人系统包括Kinect传感器、主控计算机、三自由度的外骨骼穿戴式机械臂和机械臂的体感控制系统。Kinect负责采集健侧上肢的关节角度信息。穿戴式机械臂包括肩部外展/内收、肩部前屈/后伸、肘部屈/伸3个自由度,并安装有伺服电机、行星减速器、锥齿轮、前臂和上臂长度调节机构。机械臂的体感控制系统包括网络交换机、运动控制器和伺服驱动器,负责将Kinect获取的健侧上肢的关节角度转化为控制信号,实时传递给康复机器人的控制器,控制伺服电机驱动外骨骼穿戴式机械手臂,带动患侧上肢执行与健侧上肢相同的康复训练动作。体感控制上肢外骨骼镜像康复机器人系统结构如图1所示。
图1 系统结构Fig.1 Structure of system
本文研究的康复机器人本体为三自由度的外骨骼穿戴式机械臂,主要针对人体肩部外展/内收、肩部前屈/后伸和肘部屈/伸运动设计,其结构如图2所示。电机及减速器1驱动肩部连杆,实现肩部外展/内收运动;电机及减速器2驱动上臂连杆,实现肩部前屈/后伸运动;电机及减速器3驱动前臂连杆,实现肘部屈/伸运动。肘部结构通过一对锥齿轮副,使肘部驱动电机和减速器的轴线平行于上臂,减小了占用空间,同时减小了因电机和减速器自重产生的力矩。从动锥齿轮回转轴线与人体肘部屈/伸轴线共线,确保了人体肘部转动角度与从动锥齿轮转动角度一致,避免了体感控制时的角度转化问题。
图2 外骨骼穿戴式机械臂结构Fig.2 Structure scheme of exoskeleton wearable robotic arm
由于上肢外骨骼机器人的使用对象是胖瘦、高矮等众多体征差异的偏瘫患者,因此,穿戴式机械臂的前臂和上臂连杆都设计有相应的长度调节机构。根据人体前臂和上臂尺寸的统计数据,前臂长度调节范围为180~295 mm,上臂长度调节范围为245~360 mm。
为尽量减小外骨骼的质量,提高启动和停止的响应速度,外骨骼机械臂的零件材料选用6061铝合金,同时为提高穿戴舒适性,将肩部结构安装在机架上,患者穿戴后不必承受任何部件的质量。根据外骨骼自重,结合成年人体重统计数据和临床康复训练经验,选取各自由度所需动力参数,如表1所示。
表1 各自由度动力参数Tab.1 Power parameter of each DOF
利用肢体动作对上肢外骨骼康复机器人进行体感控制,关键是要获得稳定的上肢关节角度,并将其转化为控制信号。本文通过Kinect捕捉人体上肢关节骨架点,计算关节角度,将其映射为康复机械臂各轴的转动角度,实现体感控制。
2.2.1 基于Kinect的骨架点数据提取
Kinect传感器主要由VGA摄像头、红外发射器和红外接收器组成,还配备了一组线性麦克风阵列以及可调节俯仰角度的马达。Kinect最主要的特点是具有场景深度信息获取和人体骨架追踪功能。Kinect通过骨架追踪可以得到人体各关节点的位置,形成骨架图像。正常情况下,Kinect可跟踪人体的20多个关节骨架点获取动作信息,通过程序设计将动作转换成控制指令,用肢体动作替代键盘、鼠标等操作设备,实现自然人体交互。外骨骼康复机器人只为上肢康复训练设计,并不需要全部的骨架点信息,本文在Kinect坐标系下提取人体肩部中心SC、髋部中心HC、健侧肢体肩关节Sj、肘关节E和腕关节W以及患侧肢体肩关节Sh这6个关节的三维坐标,获得上肢运动数据。
2.2.2 基于人体坐标系的关节角度计算
Kinect获取的人体骨架点的三维坐标不能直接作为驱动上肢外骨骼的控制变量,只有将骨架点信息转换为外骨骼各个轴的转动角度才可以驱动机器人旋转关节运动。
为尽量减少或避免因关节相互遮挡而引发数据不稳定的现象,建立图3所示的人体坐标系,其中,平面n为人体的冠状面(将人体分为前后两部分的平面),平面m′平行于人体矢状面(将人体分为左右两部分的平面),平面h同时垂直于冠状面n和平面m′。根据Kinect坐标系下获取的6个骨架点数据,在人体坐标系下构建空间向量,计算关节角度。关节角度包括肘关节屈/伸角度α、肩关节分解角度β及γ,其中,β为上臂在冠状面上的投影与脊柱线的夹角,γ为上臂与冠状面的夹角。
图3 骨架点数据提取Fig.3 Extract data of skeleton points
以肩关节分解角度β为例说明关节角度计算方法:过冠状面n内的髋部中心点HC和肩关节点Sj、Sh,构建向量HCSj和HCSh,冠状面 n的法向量为
SjE在nf上的投影为
SjE在平面n中的投影向量为
通过髋部中心点HC和肩关节中间点SC,构建向量SCHC,则有
按上述方法计算的关节角度与外骨骼各轴转动角度的映射关系为:肘关节屈/伸角度的补角对应于外骨骼肘关节转轴的转动角度θ3,肩关节分解角度β对应于外骨骼肩关节外展/内收转轴的转动角度θ1,肩关节分解角度γ对应于肩关节前屈/后伸转轴的转动角度θ2。
2.2.3 关节角度的平滑与安全限制
按上述方法获得的某个时间段内的关节角度曲线存在许多噪声点,直接用于外骨骼的控制会造成运动不平稳,需要对角度数据作进一步的平滑处理。平滑处理算法的选择既要考虑平滑效果,又要尽量避免平滑处理造成的延迟。本文对各关节角度曲线分别采用5阶滑动平均滤波和卡尔曼滤波算法进行处理,结果显示,2种滤波算法都可以进行有效的平滑,滑动平均滤波的数据比原数据滞后,产生动作延时,卡尔曼滤波后的数据比初始数据稍有提前,可以作为数据缓冲耗时的补偿,提高响应能力。显然,采用卡尔曼滤波算法对关节角度进行平滑处理可以更好地保证运动的平稳性和动作的同步性。
为确保患者训练安全,需进一步限定上肢运动的角速度和关节运动角度范围。如果t时刻的角位置Xt与前一时刻角位置Xt-1之间的角速度大于安全角速度ωset,则强制把当前时刻的角位置替换为X′t,以保证最大速度不超过设定的安全角速度ωset。每一帧的数据均按上述方法处理,当满足安全角速度后,数据曲线再次与原数据重合。当关节运动角度在设定范围外时,则将该角度强制赋值为极限值。以肘关节屈/伸运动为例,安全角速度ωset设为80 °/s,角度范围设为60°~180°。
机械臂的体感控制系统硬件包括上位机(PC机)、下位机(运动控制器)、伺服驱动器、伺服电机、网络交换机以及供电部分。上位机通过有线或无线网络连接到网络交换机,通过IP地址连接网络中的运动控制器进行数据传输与交换,运动控制的控制信号经由伺服驱动器驱动伺服电机,带动外骨骼机械臂完成相应的康复动作。
控制系统软件采用C#语言编程,通过Kinect采集健侧上肢的运动数据,由上位机对健侧上肢的关节角度数据进行处理,生成相应的脉冲频率和脉冲当量,采用绝对运动模式对伺服电机的位置进行控制,避免转换角度“增量”的过程及“增量”转化为脉冲当量产生的累计误差。上肢外骨骼康复机器人的姿态需要根据健侧肢体运动实时更新,进行随动控制。此处使用动态修改的方式更新当前时间段内的电机角速度:
式中,θti为当前体感获取的上肢角度;θbi为当前电机编码器的位置;Δt为运动控制命令刷新周期。
为测试系统性能,研制了图4所示的系统样机实验平台,该平台包含主控计算机、Kinect、穿戴式机械臂、供电部分等,其中,控制部分的元器件安装在机架后的托板上。
图4 系统样机Fig.4 The prototype of system
上肢外骨骼镜像康复机器人系统的体感控制分为被动训练与半主动训练两种工作模式。被动训练是指外骨骼穿戴式机械臂在健康手臂的动作指引下带动患肢进行康复运动,这里的健康手臂可以是理疗师的,也可以是偏瘫患者健康一侧的上肢。理疗师选择使用与患肢同侧的肢体进行康复训练指导,即“同步控制”;患者运用健肢对患肢进行康复训练指导,形成“镜像控制”。对于有一定自主动作意识的患者,可以运用半主动训练模式进行康复训练。该模式通过Kinect捕捉理疗师的手掌位置,通过逆运动学求解穿戴式机械臂末端运动到理疗师手掌位置时各关节所需转动的角度,驱动伺服电机使上肢外骨骼机械臂带动患肢运动,完成患者手掌与理疗师手掌“触碰”的动作。半主动训练模式充分考虑了患者的主观意识,有利于病情较轻的患者较快提高运动能力,促进脑部神经重构。
由于镜像控制与同步控制仅在运动控制方式上有所不同,而上肢运动数据处理、转化过程基本类似,此处仅对单关节体感镜像控制进行实验分析。实验者右臂(患肢)穿戴外骨骼机械臂,在距离Kinect 2.0~2.5 m处站立,面对Kinect,左臂(健肢)进行慢速的肩部外展、前屈和肘部屈曲单关节动作,Kinect采集左臂关节角度,经上位机处理程序转化为控制信号,体感控制外骨骼机械臂带动右臂进行镜像运动。如图5所示,患肢与健肢达到了较好的镜像效果。
图5 镜像控制Fig.5 Mirror control
为进一步研究镜像模式下各轴的“随动”性能,对15 s内的上肢运动数据与电机实际位置进行提取(提取频率为30 Hz),并绘制出变化曲线,如图6所示。
运动开始时,控制手臂的关节角度与外骨骼机械臂的关节角度误差较大,这是由于Kinect获取的体感数据计算出的第一组角度往往并不为零,而各轴驱动电机处于初始的零位置;运动一段时间后,两者差异逐渐变小。曲线的波峰或波谷产生的水平直线是由于数据处理时对关节活动的范围进行了限制,以保证系统运行安全。
某时间段内各关节的平均角速度、单次屈伸各关节角度误差平均值及动作最大延时如表2所示。
图6 各关节运动角度曲线Fig.6 Angle curve of each joints
表2 各关节随动性能Tab.2 The servo performance of each joints
由表2看出,健肢关节运动的角速度越大,体感获取的角度与外骨骼机械臂关节的实际位置误差越大,这是由于Kinect获取关节角度的刷新频率是每秒30帧,而电机在有负载的情况下位置更新速度滞后。关节运动速度减小,位置误差和最大延时随之减小,随动性能提高。通常情况下,康复训练的关节角速度都在30°/s以下的低速进行,上肢外骨骼康复机器人的各轴随动性能,基本满足康复训练要求。
多轴联动控制即通过上肢动作对上肢外骨骼机械臂的多个关节同时控制,该种控制模式可以模仿饮食等多关节组合动作,通过多轴联动控制可以较好地训练患者肢体协调能力。图7所示为分别在同步和镜像控制模式下进行的三轴联动控制实验,外骨骼机械臂的姿态与健肢姿态具有较好的一致性或对称性,而当人体上臂进行内/外旋动作时,由于上肢外骨骼机械臂不具备该自由度,所以患肢和健肢的姿态位置会产生一定的差异。
图7 三轴联动控制Fig.7 Three-axis coordinated control
对15 s内的上肢运动数据与电机实际位置进行提取,并绘制出变化曲线,如图8所示。实验表明,在多轴联动控制模式下各轴的“随动”性能良好。健肢抖动加剧时,患肢和健肢的关节位置误差随之加大,但患肢仍可在机械臂的带动下进行较为平稳的运动。
本文开发的基于体感技术的康复机器人结构简单、控制方式新颖,理疗师或患者可以直接通过肢体动作控制上肢外骨骼康复机器人运动,其体感控制方式更加直观、自然、简单,且无需穿戴任何传感装置;能实现多关节的实时联动控制,便于复杂动作的训练。由患者健侧肢体动作体感控制机器人辅助患肢进行康复训练,可以唤醒患者的自我训练意识,实现健肢与患肢双侧协调同步运动的镜像康复训练,使镜像疗法与运动疗法相得益彰。
经测试,该机器人系统工作正常,安全可靠。体感控制的动作延时最大不超过0.8 s,上肢外骨骼康复机器人各关节的随动性能基本满足康复训练要求。为更全面地评价系统康复训练效果,还有待更多的实验加以验证。
图8 多轴联动控制各关节运动角度曲线Fig.8 Angle curve of each joints in three-axis coordinated control