基于遗传算法和模糊神经网络的康复机器人上肢阻抗控制

2021-01-16 02:53穆海芳郭凯胡波

穆海芳 郭凯 胡波

【摘要】康复机器人用于患者上肢的辅助康复训练时,需要根据患肢病情的变化及时调整控制策略,保证系统运动的稳定。在传统阻抗控制方法基础上,提出一种基于模糊神经网络的新阻抗控制方法,通过在线辨识得到机械阻抗参数,根据目标阻抗力模型建立模糊神经网络阻抗控制器,运用控制器调整目标阻抗参数。具体调整采用离线优化和在线微调相结合的方式。仿真结果表明,该方法控制的上肢康复机器人能更好地适应患者病情的变化,系统具有较好的稳定性和鲁棒性。

【关键词】康复机器人;阻抗控制;模糊神经网络

0 引言

随着机器人技术的发展,将机器人用于康复治疗成为一个热点,各种康复机器人技术大量涌现[1]。其中,阻抗控制是一种有效的力控制方法,在患者进行康复运动时,它能够提供一定的阻力,帮助患者完成康复训练[2]。根据现代偏瘫治疗学原理,偏瘫的恢复过程大致分成三个阶段,不同阶段的病情相差很大,在阻抗训练过程中,根据患者肌力的恢复情况,提供给患者的阻力如果能实时调整,将最大程度激发患肢的自主康复能力[3]。

在传统的阻抗控制方法中,目标阻抗参数一经确定,在整个控制过程中是保持不变的[4]。阻抗控制与智能控制技术结合是目前比较流行的方法,但很多方法为了获取阻抗力,都是使用传感器直接检测力信号[5-6]。而且控制器运用的(模糊)神经网络技术大都是基于静态的前馈神经网络,单纯采用反向传播(back-propagation,BP)算法训练網络还容易陷入局部最优[7]。

针对上述问题,本文提出一种康复机器人的阻抗控制方法,该方法基于模糊神经网络(FNN)的阻抗控制器,通过在线辨识得到机械阻抗参数阻尼和刚度的估计值[8],作为阻抗控制器的输入量;建立目标阻抗参数的数学模型[9],目标阻抗参数作为控制器的输出。控制器采用进化遗传算法离线优化与BP算法在线优化相结合的方法,最终实现目标阻抗参数的优化。

1 机械阻抗参数辨识

为了获取患者上肢机械阻抗参数,首先把上肢的动力学特性用弹簧一阻尼系统表示如下:

f=ax+bx(1)

式中,f为上肢和机械手接触点的相互作用力,x为位移,x为速度,a为阻尼,b为刚度,a、b称为机械阻抗参数。假设机械阻抗参数估计值为a'、b',则根据动力学模型有:

f'=a'x+b'x(2)

由最小二乘法,想要求作用力的估计值和实际值偏差的平方和最小,就需要分别对阻尼和刚度的偏导取值为0:

其中N是采样次数,可以看出由最小二乘法得到的阻抗参数与各采样点的位移、速度的算术平均值有关,采用滑动平均值法在线估计患肢的阻抗参数,即:

2 FNN阻抗控制器

为了建立FNN控制器结构,先求出目标阻抗动力学模型。因为驱动关节运动的力矩大小和离心力、重力等因素有关,考虑肢体对机械手的反作用力矩因素,则n自由度机械手的关节驱动力矩动力学模型为:

其中,β是机械手关节驱动力矩,β'是反作用力矩,β、β'∈Rn,是正定惯性矩阵,D(θ)是离心力向量,G(θ)是重力向量,θ是关节位置向量,M(θ)、D(θ)、G(θ)∈Rn×n,θ是角速度向量,θ是角加速度向量。假设目标阻抗力的数学模型如下:

F-F'=CX+A(X-X')+B(X-X')(8)

其中,C是目标惯性矩阵,A是阻尼矩阵,B是刚度矩阵,X是机械式末端的实际位移矢量,X'是期望位移矢量,X是实际速度矢量,X'是期望速度矢量,X是实际加速度矢量,F是机械手关节驱动力,F'是患肢对机械手的反作用力。

由式(7)和(8)可以得到关节驱动力矩的控制模型如(9)式,其中J是雅克比矩阵。

根据关节动力学模型和目标阻抗力控制模型,本文设计了阻抗控制器,它的输入量是机械阻抗参数,输出量是目标阻抗参数。由前述在线辨识得到机械阻抗参数,经控制器调整输出目标阻抗参数,其结构如图1所示。

可以看出,阻尼和刚度分别基于模糊神经网络建立了自己的控制器,加在传统的阻抗力控制器上面。阻尼和刚度的模糊神经网络控制器都是五层网络结构,阻抗参数的估计值a'、b'是控制器的输入量,阻尼或刚度矩阵是控制器的输出量,其结构如图2所示。

3 优化算法

因为优化目标阻抗参数需要通过优化FNN的结构和模糊隶属度函数来实现,本文首先用进化遗传算法进行离线优化,然后利用BP算法在线进一步调整。离线优化之前要运用FNN经模糊推理得到模糊数值决策表,决策表里的数据作为样本数据分别送给FNN刚度控制器和FNN阻尼控制器进行离散优化。

如图2所示,控制器输入、输出的模糊集论域分别定义[-3,3],即{-3,-2,-1,0,1,2,3},分别对应7个模糊语言变量{负大,负中,负小,零,正小,正中,正大},各语言变量隶属度函数取高斯基函数:

决策表如表1所示,输入变量即a'、b',输出变量为A或B,把它们作为样本数据离线优化FNN控制器的参数。

离线优化采用进化遗传算法,流程如图3所示。图3中,编码是为了随机产生一定数量的种群,提供给FNN作为初始参数。适应度值取目标函数值的倒数,由最小二乘法得到目标函数值:

其中,N为样本数目,P为迭代次数,(yj-yj)为实际输出和期望输出的偏差。

遗传算法采用“两点交叉”和“均匀变异”策略,在进化的过程中可能会断开父代与子代间的行为链接。进化编程(EP)依靠变异算子进行进化,选取合适的变异算子,就能够延续父代与子代间的行为链接,变异算子取值x'=x+0.5β'[N(0,1)+C(0,1)]。离线优化的结果如图4所示。可以看出,目标函数值随着进化次数的增加逐渐减小,与遗传算法优化的结果相比,本文方法更有效地优化了FNN控制器的参数。

由上述离线优化算法优化得到的FNN控制器参数,再经在线优化算法对这些参数进行微调,调整的参数包括输入量隶属函数的中心值ωijS、宽度值σijS、输出层连接权值ωijS、递归层连接权值θijS。在线调整采用动态BP算法,即在BP算法中引入动量项,根据定义的刚度和阻尼控制器目标函数对FNN结构参数在线调整,目标函数分别定义为:

4 实验

以某二连杆康复机器人上肢作为实验对象,验证本文所提方法的效果,连杆1的长度l1=0.6m,质量m1=10kg,连杆2的长度l2=0.6m,质量m2=10kg,使用式(7)的动力学模型,具体参数取值为:

θ1(0)=0 rad,θ1(0)=θ2(0)=0rad/s,θ2(0)=π/3rad。根据患者上肢在恢复过程中作用力发生的变化,绘制其实际阻抗曲线,如图5中的实线所示,运用本文的在线辨识法分别得到机械阻抗参数阻尼和刚度的曲线,如图5中的虚线所示,可以看出,辨识出的机械阻抗参数比较准确。

把本文提出的阻抗力控制方法與FNN阻抗力控制方法作对比,分析患者上肢在恒定的辅助力作用下系统的响应和跟踪效果。取辅助力参考值=10N,仿真时间0.001s,结果如图6、图7所示。

可以看出,FNN控制力的稳定性受辅助力的影响较大,与之比较,本文方法受影响的程度要小很多。分析两种方法的力跟踪效果,可以看出,FNN控制的力跟踪误差明显比本文方法的力跟踪误差大,并且从位置跟踪曲线可以看出,本文方法控制的位置跟踪性能也较好。因此,本文所提的阻抗控制方法具有更强的稳定性和鲁棒性。

5 结语

本文基于传统阻抗力控制方法,提出一种基于模糊神经网络的阻抗力控制方法。该方法通过在线辨识得到机械阻抗参数,运用模糊神经网络优化目标阻抗参数,先采用进化遗传算法进行离线优化,后采用动态BP算法进行在线调整。仿真结果表明,该方法能更好地适应患肢的病情变化,改善系统的性能,具有较好的稳定性和鲁棒性。

[参考文献]

[1]李根生,佀国宁,徐飞.下肢外骨骼机器人控制策略研究进展[J].中国康复医学杂志,2018,33(12):1488-1494.

[2]陈建华,李烨,王琦,等.基于人体运动能力的下肢外骨骼支撑相阻抗自调整控制方法研究[J].兵工学报,2020,41(6):1201-1209.

[3]彭二宝,陈昌铎.基于阻抗的下肢康复外骨骼力与位置控制研究[J].南京理工大学学报,2020,44(1):21-25.

[4]李雅楠,左国坤,崔志琴,等.上肢康复机器人建模与力反馈控制策略实验研究[J].制造业自动化,2017,39(5):37-40.

[5]梁文渊,毕胜.主动康复训练机器人的感知交互与控制策略[J].科技导报,2019,37(22):26-36.

[6]张小栋,陈江城,尹贵.下肢康复机器人肌电感知与人机交互控制方法[J].振动.测试与诊断,2018,38(4):649-657+866.

[7]成利敏,孙亮,王宁.基于BP神经网络和GUI的身份证号码识别系统[J].廊坊师范学院学报(自然科学版),2019,19(4):15-18.

[8]李海源,刘畅,严鲁涛,等.上肢外骨骼机器人的阻抗控制与关节试验研究[J].机械工程学报,2020,56 (19):200-209.

[9]刘鹏,葛小青,李宇,等.上肢康复机器人主动康复训练控制策略[J].中国科学院大学学报,2019,36(4):570-576.

[收稿日期]2021-07-30

[基金项目]宿州学院科研平台开放课题“康复机器人上肢运动控制策略研究”(2020ykf10);安徽省智能机器人信息融合与控制工程实验室开放课题(IFCIR2020005)

[作者简介]穆海芳(1984-),男,硕士,宿州学院机械与电子工程学院讲师,研究方向:机电一体化与机器人技术。