胡玉舸,陶庆,2,孟庆丰,来全宝
(1.新疆大学机械工程学院,新疆 乌鲁木齐 830047;2.新疆大学机械工程博士后研究中心,新疆 乌鲁木齐 830047)
随着社会老龄化的加快,现有医疗资源以及专业人员的匮乏,康复外骨骼机器人应运而生。研究表明,主动积极的康复训练更有利于偏瘫患者的神经通道重建以及功能恢复。这要求康复外骨骼机器人跟随患者的肢体意图进行控制,达到所思即所动的效果。人体运动意图的准确识别成为了研究重点。
现有研究中的人体运动意图的获取主要有基于生物感知信号和物理交互信号两种方式。常用的生物信号有脑电信号(Electroencephalogram,EEG)和肌电信号(Electromyography,EMG)。2014年足球赛,巴西开幕上的外骨骼机器人[1],即经过分析瘫痪少年的EEG信号,获取其运动意图,从而控制外骨骼辅助行走。文献[2]将以往的脑电图源成像(ESI)技术扩展到解码手/手腕操作上,对右手的四种复杂运动想象:屈伸、伸展、外旋和内旋进行了精确的分类。而日本著名的混合辅助义肢(HAL)通过采集并分析处理表面肌电信号,根据研究表面肌电信号强度和关节力矩大小的映射关系,提取信息预测运动步态。文献[3]设计了一种肌电控制模式的分类算法,将用户的运动意图映射到轮椅的七个不同的运动指令上,从而实现了电动轮椅的智能控制功能。文献[4]提出了一种基于短时傅里叶变换的短时傅里叶变换排序(ST⁃FT−ranking)的新方法,考虑并覆盖了运动模式中,sEMG与多个肌肉之间的关系信息,进行了有效的运动模式识别。脑电信号最大的优势在于,只要大脑功能正常,它不用考虑肢体的残疾程度。但是EEG信号具有更大的随机性,并且对于采集过程要求严格。相对于脑电信号,sEMG的信噪比较优,但由于贴敷身体,易受皮肤表面情况影响。
物理交互类通常是利用传感器,固定在待测物体上,从而获取所需位置信息或运动学信息。文献[5]使用力矩传感器,获得人体下肢运动意图,并经过延迟弥补,将处理后的信号导入外骨骼康复机器人中。文献[6]使用三轴加速度计,检测大腿肌肉上的多通道MMG(Mechanomyography)信号,对6 种膝关节运动状态进行识别。文献[7]利用肌周传感器(Muscle Circumference Sensor,MCS)和测压元件(load cells)计算期望运动意图力。然后根据这些力,用阻尼最小二乘法计算了期望运动。相对而言,物理交互类在实际中应用较多,但具有一点的迟滞性。
上述方法各有优劣,实际操作中也会根据各自的特点,综合使用。但患者会和采集设备有着直接或间接的接触,康复运动自由度受限,特别是在主动式的康复训练运动中,不利于培养患者的积极性。体感交互技术的出现,为患者的非接触式信息的提取提供了可能。文献[8]运用Kinect,来获取健肢运动轨迹,镜像控制康复机器人工作。文献[9]经过Kinect,获取人体下肢运动意图,实现了一种主动式伴舞康复机器人。欲基于Kinect,试图做一些探寻与研究,减少主动康复训练中对患者的运动限制,培养患者的主动积极性。
在患者的主动康复训练中,运用Kinect获得人体上肢关键骨骼点的原始坐标信息。结合运动方程,进行卡尔曼滤波,对数据进行滤波保证其精准性时,还可以改善设备采集过程中存在的滞后性。为了控制康复机器人的运动,提取滤波处理后的坐标信息,换算成人体肢体的运动关节角度,描述人体的运动状态情况,获取人体上肢运动意图。
不同于传统的人机交互,Kinect的主要优势在于远程控制,不需要鼠标和键盘的控制。目前市场上的Kinect产品共有两个版本,与一代相比,Kinect2.0的彩色图像分辨率可以实现1920×1080,大幅度提高,如图1所示。在骨骼关节点获取中,Kinect2.0可得到25个Joint。最佳测试距离为(0.5~4.5)m,水平角度最大值是70°,垂直60°。利用Kinect2.0,通过visual studio 的c#语言编程,将它的骨骼图像叠加到彩色图像上,如图2所示。
图1 Kinect2.0Fig.1 Kinect2.0
图2 Kinect信息采集页面Fig.2 Kinect Information Collection Page
通过卡尔曼滤波器,结合运动方程,对Kinect采集的三维空间关节点坐标进行滤波,以及意图预测,便于后续数据应用。假设实验人员做变加速运动,设加速度为a,由系统高斯白噪声ω提供[10]。建立运动方程如下:
由于测量过程中同样存在噪音ν,假设测量到的位置为sZ,则:
卡尔曼滤波器根据测量值和预测值的结合,进行工作,式如下:
其中,系统控制变量Ut一般取0值,Wt和Vt分别是系统的过程噪音以及测量噪音,两种噪音的协方差分别是Q和R。编程测试时,Q可以先取较小值,再慢慢往大值调整,R相反。
取Δt=1,根据式(1)、式(2)代入得出:
式中:A—系统状态参数;B—系统控制量参数;H—测量参数。
在主动康复训练中,为了将Kinect数据用于后续康复,提取卡尔曼滤波处理后的坐标信息,计算人体肢体关节的运动关节角度,描述人体运动状态。在忽略较小误差可行的基础前提下,建立的上肢简化模型,如图3所示。主要研究肩部的外展/内收α,前屈/后伸β以及肘部的屈/伸θ三种上肢常见运动。其中,S(SpineShoulder)、SL(ShoulderLeft)、SR(ShoulderRight)、EL(El⁃bowLeft)、ER(ElbowRight)、WL(WristLeft)、WR(WristRight)和S′(SpineMid)为上肢主要活动关节点。向量n→是人体冠状面的法向量,点EL沿着法向量n→在冠状面上的投影为EL'。
图3 人体上肢简化模型Fig.3 Simplified Model of Human Upper Limb
根据模型,很容易得到:
研究以左臂为例,模型为了直观,肘部角度标注在右臂。所以左臂肘部角度公式为:
这里研究主要验证卡尔曼滤波在数据处理中的滤波以及预测效果。
(1)将Kinect采集的数据直接处理。
(2)把所采集到的数据经过卡尔曼滤波后,再进行相同处理。最后,将两种数据进行对比。
主要设计了两种分别针对肩关节或肘关节的实验:实验1,主要针对肩关节运动,试验人员站在Kinect前方1m左右处,左臂平行于左肩,垂直于躯干,置于左前方135°左右,正常速度向下收于身体左侧。实验2,肘关节主要运动,左臂平行于左肩,垂直于躯干,置于左侧180°左右,上臂保持稳定,小臂正常速度向内收大约135°。
将Kinect中采集的原始坐标数据,输入到MATLAB中,一种直接进行运动状态转化,一种进行滤波处理后,再进行运动状态转换。最后,在两种数据中提取出上肢关键骨骼点信息,经过MATLAB处理,显示出运动轨迹,构造数学模型,如图4所示。
图4 肩关节的外展/内收运动Fig.4 Abduction/Adduction of Shoulder Joint
由图4~图6可以看出,卡尔曼滤波处理后的数据相对早于原始数据,可以有效改善信息采集过程中所造成的滞后性。图4和图5中,由于手臂贴合身体时,不会严格地平行于人体躯干,所以运动角度不会趋于0,由图中所示,大概在10°左右。
图5 肩关节的前屈/后伸运动Fig.5 Forward/Backward Movement of Shoulder Joint
图6 肘关节运动信息Fig.6 Elbow Motion Information
图4~图6中,运动开始采集时,两种数据相差甚大,故在以后的研究中,会选择舍去大概10帧左右的数据,让康复机器只接收不执行该部分数据。三幅图中的其它运动拐点,为动作转换时刻,能够看出通过卡尔曼滤波的数据变化更为圆滑平缓,更要满足运动需求。
Kinect 价钱亲民,性能良好,易操作,并且属于非接触式采集,不需要添加辅助设备与标志。虽然精度方面不如Vicon 等光能捕捉系统,但经众多试验证明,可以满足实验需求。经过微软体感设备Kinect,(1)运用visual studio 的语言编程,将它的骨骼图像叠加到彩色图像上,直观清晰,获取人体上肢原始关节坐标数据;(2)结合运动方程,进行卡尔曼滤波,确保数据的实时性以及准确性,以便后续应用;(3)根据上肢简化模型,计算上肢关节角度,运用MATLAB转换为数据模型,显示运动意图。
结果表明Kinect是可以获取人体上肢运动意图的,满足实验需求,是可靠且可行的。这为以后的研究应用做好了技术准备。