导纳控制在康复机器人中的应用
2022-10-17陈卓强李林
陈卓强,李林
1 广东省医疗器械质量监督检验所 (广东广州 510663);2 橙象医疗科技(广州)有限公司 (广东广州 511400)
多数学者认为,对早期卒中患者进行步态干预尤为重要。目前较为先进的介入方式为康复机器人技术,其历史虽然较短,但发展速度很快,主要功能为帮助患者完成如行走训练等运动功能的恢复训练。康复机器人和患者之间的交互控制是康复机器人研究中非常重要的内容,因此,如何将康复机器人中的机械结构部分和患者躯体紧密结合起来进行交互控制,成了目前各大企业和科研机构研究的重要方向。由于下肢康复机器人是与运动功能受损的患肢相互作用,而患者是具备自主运动意识的对象,因此机器人与患者之间的交互控制不可或缺。交互控制的必要条件是运动意图的识别,目前,可通过两种方式解析得到运动意图,一种是生物医学信号,另一种是力信号。生物医学信号主要包括肌电和脑电两种检测手段[1],其中,肌电信号测量的是人体骨骼肌的活动,通过传感器将这种活动转换为电信号[2];脑电信号检测是通过检测并分析大脑活动时发出的电信号,得到人的运动意图[3],只要大脑能够产生运动控制信号,就能产生相应的脑电信号,故该方法识别患者意图不受限于其肢体残疾程度,非常适用于脊髓损伤患者,但不适用于大脑运动控制区域损伤的患者,如卒中患者[1]。目前,对上述两种技术的研究仍处于初级阶段,研究成果较少,技术尚未成熟。基于此,本研究主要探讨基于力信号的检测,并将使用了力信号的导纳控制方法应用于康复机器人中,旨在使机器人实现人机交互功能,获得柔顺控制的效果。
1 康复机器人的工作原理
1.1 结构部分
步态训练康复机器人属于康复机器人中的一种,多被用于下肢康复患者的辅助治疗中。其主要由4大功能系统组成,分别是悬挂系统、跑台系统、机械腿训练系统和人机交互控制系统(图1),其中,悬挂系统负责将患者悬挂,以达到减小其足底压力的目的;跑台系统为患者提供了行走的路径;机械腿训练系统可辅助患者腿部在跑台上运动;人机交互控制系统可用于治疗师根据患者情况设定不同的治疗方案,同时评估和反馈治疗效果。
图1 步态训练康复机器人的结构
1.2 运动学分析
步态训练康复机器人的主要控制部分是对机械腿的运动控制,而正运动学控制是其最基本的控制方法。本研究中康复机器人使用的是轨迹跟踪控制方法,简述如下:轨迹的跟踪控制需要有原始参考轨迹,该参考轨迹是通过测量采集到的正常人的步态曲线,然后再通过数据融合、滤波、消耦等方法得到的1条正常人体运动的步态曲线;有参考轨迹后,再将该曲线进行拟合,得到曲线函数[公式(1)~(4)];将曲线函数变换、滤波、限幅可得到用于控制电机的电机控制函数,再将该电机控制函数离散化,即可得到用于控制机械腿电机运动的离散数据,这些数据可直接用于控制电机,髋、膝关节的电机运动即可在机械腿上表现出拟人步态。
髋关节的步态拟合函数:
HipAngle=0.003414·cos(4.42·x+1.395)
-0.008281·cos(17.63·x+2.015)
-0.1338·cos(6.157·x -2.75)
-0.0278·cos(12.25·x - 0.2242)
-0.0007318·cos(24.12·x+0.995)
(1)
为了使髋关节的运动角度、偏移量可调,还需进行相应处理,处理函数如下:
HipAngle=double(subs(HipAngle,x,t))
·100·AngleRatio+HipOffset+6
(2)
膝关节的步态拟合函数:
KneeAngle=26.47·sin(3.621·x+2.542)+15.56
·sin(9.639·x+4.15)+19.95
·sin(18.29·x-0.8485) + 16.03
·sin(19.29·x-16.71)·0.3315
·sin(28.09· x+7.136)
(3)
同样,为了使膝关节的运动角度、偏移量可调,亦需进行相应处理,处理函数如下:
KneeAngle=double(subs(KneeAng,x,t))
·AngleRatio+KneeOffset· (1.5
· AngleRatio)
(4)
其中,x为周期时间值;HipAngle为髋关节角度;KneeAngle为膝关节角度;AngleRatio为角度系数;HipOffset为髋关节偏移量;KneeOffset为膝关节偏移量。
至此,正运动学的控制部分已经完成,但康复机器人是需要与人体进行交互作用的,故还需加入导纳控制,以实现人机交互功能与柔顺控制的效果。
2 人机交互力的检测
2.1 力检测方式
导纳控制是根据外力的大小来控制位置,故外力是输入,位置是输出,在讨论导纳控制前,需对外力的获取进行探讨。在交互方式中,力信号是指人体肌肉收缩作用于机械结构所产生的作用力,在控制系统中可称为交互力,其可通过力传感器、电机电流环等方式直观地被测量。使用力信号检测方法不仅可避免生物医学信号检测中贴肌电贴这种操作,还可更整体、直观地识别患者肢体的整体运动意图,故我们将该方法应用到步态训练康复机器人中,作为机器人引导训练的一种控制策略。
目前,力信号的检测方式包含以下几种类型。(1)力矩传感器式:其动态性能好、技术成熟,但机械结构较为复杂,很难用于对体积有严格要求的设备。(2)谐波减速器式:此种检测方式通过测量谐波两侧的角度差,再加以处理,即可达到与力矩传感器相同的效果,但其谐波变形的特性非常复杂,且存在固定频率的转矩波动,导致此类研究极少[4]。(3)串联弹性驱动式:此种检测方式在驱动端和负载端增加了一个弹性器件,可测量弹性器件的形变量,并计算出扭矩值;在实际应用中,可通过在弹性器件两端增加编码器对位置进行检测,然后计算两个编码器的位置差,以检测弹性器件的形变量,从而计算出扭矩值[5];通过此种方式构成的机器人关节被称为串联弹性驱动,该方式也是目前机器人力控制中最热门的研究方向。(4)关节电流式:该方式的力测量原理是通过获取电机输出电流,剥离机器人动力学所产生的部分,得到外部作用力;此种力检测方式无需外围传感器,结构简单、成本低,但由于受齿轮、结构等摩擦力的影响,难以精确计算,导致控制精度较低。
2.2 动力学模型
基于上述介绍与分析,综合实际情况,目前步态训练康复机器人最终使用检测关节电流的方式来估算外力的大小,而使用关节电流来估算力需要建立机器人的动力学模型。
髋关节:
(5)
+(m1P1+m2l1)·g·sinθ1+m2P2g
·sin(θ1+θ2)
(6)
(7)
(8)
膝关节:
(9)
(10)
将实际的机械腿参数带入到上述建立的动力学模型中,得到如下的结果:
髋关节:
(11)
(12)
τ13=250·(-2·m2l1P2sinθ2)·s1·s2
(13)
τ14=250·(-m2l1P2sinθ2)·s2
(14)
τ15=150·s1
(15)
τ16=-1·[(m1P1+m2l1)sinθ1
+m2P2sin(θ1+θ2)]·9.8
(16)
τ1=-1·(τ11+τ12+τ13+τ14+τ15+τ16)
(17)
膝关节:
(18)
(19)
(20)
τ24=160·s2
(21)
τ25=9.8·sinθ12abs·m2l2
(22)
τ2=τ21+τ22+τ23+τ24+τ25
(23)
其中,θ1为髋关节角度;θ2为膝关节角度;θ12abs为θ1+θ2的绝对值;a1为髋关节角加速度;a2为膝关节角加速度;s1为髋关节角速度;s2为膝关节角速度;m1为大腿的重量;m2为小腿的重量;l1为大腿的长度;l2为小腿的长度;P1为大腿长度的一半;P2为小腿长度的一半。
3 导纳控制
3.1 导纳控制的原理
1985年,Hogan[6]最早提出阻抗/导纳控制方法,经过多年的发展,该方法被大量用于工业机器人中。近年来,康复机器人也开始使用该方法。Bernhardt等[7]为Lokomat机器人的主动训练模式设计了阻抗控制器,实现了患者与设备的人机交互。Jiang等[8]将融合模糊控制测量的力位混合控制方法应用于对一款可穿戴上肢康复机器人的控制。
导纳控制的理论模型可简化为KBM模型,由弹簧、阻尼器和质量块3个物体组成,见图2。
图2 导纳控制的模型
该模型通过受力分析可以得到以下公式:
(24)
在导纳控制中,外部作用力可影响机器的位置,与目标位置进行融合处理,得到最终输入控制机器人的位置,因此可将导纳控制看作是一种力输入、位置输出的控制方法。根据KBM二阶模型系统端点的位移、速度和加速度,可以计算出外力的大小,而导纳控制则恰好相反,需根据外力来计算机器的运动位置,转换后得到以下公式:
(25)
其中可以通过积分得到,则通过两次积分得到以下公式:
(26)
(27)
在实际的系统中,需要将公式(26)(27)离散化,得到以下公式:
(28)
(29)
3.2 机械腿的导纳控制模型
机器腿所受的外力可以由公式(21)的电流环估算出来,而m、b、k 3个参数需要整定。由于此类康复机器人需要适应不同的患者,而患者的肌张力水平有所不同,因此,为了适应不同的患者,需要确保导纳控制中的m、b、k 3个参数能调节。由于患者的实际情况较为复杂,肌张力的大小也会直接在机械腿上表现出来,因此导纳控制的m、b、k 3个参数不能由患者进行自适应,需要治疗师根据患者的实际情况和个人建议来调节。在实际的调节过程中,只需调节1个参数(引导力)即可由算法产生m、b、k这3个参数,而这3个参数的确定需要根据测试结果进一步调整。
步态训练康复机器人的腿部控制框架见图3。
图3 机械腿的控制结构图
在导纳控制中,先建立机械腿的动力学模型,得到机械腿运动所需要的电机扭矩τ,再通过计算其与电机实际的扭矩τr,得到外力的估算值Fext;将该估算值输入导纳控制器后,得到机械腿额外的加速度a;然后将这一加速度经过二阶积分处理,得到机械腿额外的位置x;之后将额外位置加入规划位置xt中,用于改变规划位置,生成输入位置控制的目标位置xe,进入位置控制。
位置的改变可能会影响机械腿与患者接触力的大小,这会使系统输出的加速度产生抖动,此时,除了对系统参数进行整定外,还需对输出的加速度进行滤波处理。虽然进行滤波处理会降低系统的响应性能和动态特性,但为了安全和系统的可靠性考虑,且根据实际测试结果,在机械腿设计中使用大滞后的一阶滤波可能得到较理想的结果。
4 实验设计与结果
在不加入导纳控制时,机械腿动力学模型建立完成后可通过matlab进行仿真验证。本研究在测试中分别采集了4组不同机械腿运动速度下的电机扭矩输出值,以测试机械腿的动力学模型在不同速度下的适用性,通过matlab仿真验证,绘制出不同速度下机械腿的动力学模型输出理论力矩,再与实际电机扭矩输出值进行比较得到计算的误差值。
膝关节仿真结果见图4~5。
图4 0.5 km/h速度下的膝关节仿真
图5 1.0 km/h速度下的膝关节仿真
髋关节仿真结果见图6~7。
受机械腿驱动方式及其所带来的摩擦力影响,准确建立模型非常困难,因此,电流环的估算值会存在误差,需调高系统的刚性和阻抗值,以忽略摩擦力所带来的估算误差。以下测试只使用了机械腿的左髋关节作为数据比较,膝关节效果类似,故不列出。髋关节在未开启导纳控制时的测试结果见图8~9。在无导纳控制的情况下,即使有外力作用,机械腿的实际运动轨迹也与规划轨迹一致。在开启髋关节导纳控制后,测试结果见图10~11显示的是髋关节的导纳控制结果,其中,图10是外作用力与机械腿运动方向相反时的目标步态曲线,图11是外作用力与机械腿运动方向相同时的目标步态曲线。由图可知,该导纳控制有较好的控制效果。
图6 0.5 km/h速度下的髋关节仿真
图7 1.0 km/h速度下的髋关节仿真
图8 髋关节施加阻力无导纳控制效果
图9 髋关节施加助力无导纳控制效果
图10 髋关节施加阻力导纳控制效果
图11 髋关节施加助力导纳控制效果
5 小结
本研究设计是基于步态机器人的导纳控制方法,该方法通过测量电机转矩值,并将其与动力学模型得到的理想电机转矩值作差值比较,估算得到外作用力值,最后通过导纳控制算法实现机械腿与患者的人机互动和柔顺控制。本研究将机械腿和患者腿考虑为理想的圆柱刚体,但在实际使用中,机械腿和患者腿的质量分布肯定是不均匀的,因此在后续的研究开发中需考虑这一因素的影响,以进一步优化该控制模型,使其发挥更好的控制效果。