基于模糊RBF导纳控制的恒力打磨技术研究

2022-11-12 10:23姜涛毕建民
关键词:控制算法阻尼偏差

姜涛,毕建民

(长春理工大学 机电工程学院,长春 130022)

工业机器人在打磨领域中有着广泛的应用,随着制造业的迅速发展,国内对制造技术的成本和精度愈发看重,高精度、高效率、低成本成为现代制造业的核心发展方向。打磨加工是保障产品质量和精度的重要环节,目前,打磨加工已经向智能化和自动化方向发展,打磨机器人是降低成本、提高精度的一种重要手段,本文对机器人打磨控制策略进行研究,并提出了一种基于模糊RBF导纳控制的恒力打磨技术。

目前,机器人恒力控制方法主要可以分为两大类:导纳控制和阻抗控制,这两种方法在国内外被广泛研究。De Schutter J[1]在阻抗控制的基础上进行了改进,将阻抗控制进行了分离,提出了外环力控制,内环位置控制的控制思路,并且在位置控制回路上增加了PI控制器,保证系统稳定[2]。Hamdan S 等人[3]在导纳控制的基础上提出了一种利用强化学习更新权值的神经网络打磨方法,并对打磨过程进行了仿真,保证了打磨时法向的进给速度,提高了工件表面精度。在国内,李正义[4]首先提出了一种未知环境下阻抗参数的调节方法,包括用神经网络算法估算阻尼系数、用模糊控制方法推算环境刚度,并用Kalman状态观测器减少干扰误差,提高了机器人动态力控制的稳定性和准确性。兰州理工大学李二超[5]在阻抗控制的基础上引进了滑膜控制,来提高系统的鲁棒性。本文在导纳控制的基础上,提出了一种基于模糊RBF的导纳控制算法,将传统导纳控制算法与现代算法相结合,并利用MATLAB和Adams进行联合仿真,最后搭建机器人打磨实验平台进行实验验证,证明该方法的有效性。

1 导纳控制原理

1.1 导纳控制模型

机器人执行许多任务时,需要与环境进行交互,例如研磨、冲击、抛光、扭曲、切割、挖掘等。这些任务的实施除了需要机器人到达预设的位置之外,还需提供必要的力克服来自环境的阻力,或者顺应环境。因此,机器人力控制涉及任务目标的集成,如环境建模、位置、速度和力反馈,以及对机器人关节施加扭矩的调整。机器人输出的各种信号(位置、力、速度)和机器人输入信号的选择导致不同的力控制方法。

阻抗/导纳控制算法是Hogan于20世纪90年代提出的一种机器人柔顺控制算法,它能根据末端反馈力与位置误差的关系来动态调整加工位置,是一种广泛应用于机器人与未知环境柔顺交互的控制算法。

机器人导纳控制算法是将机器人与环境等效为“弹簧-质量-阻尼”的控制模型,通过控制惯性、阻尼、刚度参数调整位置偏差的大小,以达到期望的轨迹[6]。

导纳控制是力/位转换的核心内容,它是一个二阶微分方程表达式:

式中,M为惯性系数;B为阻尼系数;K为刚度系数;F为机器人末端与外界环境接触的相互作用力;Fd为期望力。当机器人的实际位置x与期望位置xd产生偏差时通过上诉公式进行动态调整,以达到期望加工轨迹[7]。

由于打磨过程中对加速度有一定要求,采用公式(1)中3式进行控制,并令e=x-xd,Fe=F-Fd,代入得:

其导纳关系数学公式在频域中可以表示为:

1.2 导纳模型的参数辨识

根据Hogan等人的研究可知,导纳控制模型是关于输入打磨力和输出位移量的一个二阶未知系统,为了能够得到准确的系统模型,下面通过控制实验对导纳系统进行参数辨识。

控制模型的实验测量是通过给系统发送特定的指令,采集响应信号随时间变化的曲线进行分析,从而实现对模型参数的辨识。目前主要的参数辨识方法有时域测定法、频域测定法两种。本文采用时域测定法对导纳模型参数辨识。

在t=0时刻,给予系统一个信号,令打磨头朝Z方向进给一个步长,机器人打磨力F随时间变化曲线如图1所示。

图1 打磨力变化图

(1)确定K

设阶跃输入幅值为x=0.05,其参数K可以表达为:

将x=0.05,F(0)=0,F(∞)=10,代入后取整得K=200。

(2)确定B、M

通过图1可知,系统的超调量为σ%=5.2%,调节时间为ts=0.57,将其代入下式:

联立求解后得到ξ=0.600 8,ωn=10.22。将ξ、ωn、K代入下面公式后,可求解B、M:

解得:B=29.21、M=1.91。

因此,得到系统的导纳模型:

由上式可知,当末端产生10 N的打磨力偏差时,机器人将在Z方向上发生一个0.05 mm的位移,打磨力与位置偏差关系固定,但由于打磨金属工件时,材料会发生变化,工件刚度有所不同,打磨力偏差和位置偏差对应的关系也要发生变化,固定的导纳参数不能满足系统要求,系统需要对导纳参数进行调整才能适应各种打磨环境。变导纳控制的目标是根据推断的意图来调整导纳参数。当机器人末端检测到的打磨力发生变化时,系统会及时调整导纳模型的惯性系数M和阻尼系数B,从而保证系统具有良好的动态性能。

2 基于模糊RBF的导纳控制器设计

2.1 模糊RBF导纳控制器工作流程

导纳控制器作为恒力控制的核心,其动态性能对系统控制有着重大影响,传统的导纳控制器参数固定,当环境发生变化时,导纳参数无法在线调整,对期望力的跟踪效果比较差,改变导纳控制器参数,能够有效改善导纳系统的动态响应和稳态误差,使机器人系统能够快速跟踪期望力[8]。本文采用模糊RBF神经网络对阻尼系数B和刚度系数K进行调整。机器人控制原理图如图1所示,它由内环PID位置控制器、外环导纳控制器和可根据力反馈调整导纳参数的模糊RBF神经网络组成。

其工作流程为:首先通过末端压力传感器采集末端接触力信息Fz,对Fz重力补偿后得到实际接触力Fr,然后将Fr与末端期望接触力Fd做差,得到接触力偏差Fe,并将其传入模糊RBF神经网络中,得到导纳系统的阻尼系数增量ΔB和刚度系数增量ΔK,对导纳系统进行自适应调整后,导纳系统输出位置偏差e,对参考轨迹进行补偿得到期望轨迹θd;将θd传入到机器人内环位置控制器,经计算后得到末端实际位置X和末端接触作用力Fz,然后对Fz进行下一轮的处理,实现机器人的闭环控制。控制流程图如图2所示。

图2 机器人模糊控制流程图

2.2 模糊RBF神经网络算法原理

模糊RBF神经网络结构取2-5-5-2,可分为4层,分别为:输入层、模糊化层、模糊推理层、输出层[9]。如图 3所示。

图3 模糊RBF网络图

第一层为输入层,该层有两个输入变量,分别为:力误差Fe(k)、力误差变化率Fec(k),用u1表示该层的输入向量,o1表示输出向量,则:

第二层为模糊化层,该层将输入的数据进行模糊化处理,根据实际情况,将输入划分为5个模糊区间。用u2表示该层的输入向量,o2表示输出向量,则:

式中,cij代表隶属度函数的均值;bj代表隶属度函数的标准差。

第三层为模糊推理层,将该层的输入与模糊规则库进行匹配推理,实现各节点之间的模糊运算,得到输入与各个规则的相关程度。用u3表示该层的输入向量,o3表示输出向量,则:

第四层为输出层,该层通过解模糊化实现规则前提与结论的推理,最终得到两个输出变量为ΔB、ΔK,分别为阻尼系数增量和刚度系数增量。用u4表示该层的输入向量,o4表示输出向量,则:

式中,ω为输入权重;l为网络输出个数。

最后通过目标函数对神经网络参数进行调整。定义目标函数:

采用梯度下降法在线调整输出层的网络权值:

其中,α∈(0,1)为学习速率;β∈(0,1)为影响因子。

隶属函数参数调整方法如下:

将模糊RBF控制应用到导纳系统仿真中可以得到如图4所示仿真框图。

图4 模糊RBF力控仿真框图

阶跃输入下,打磨力变化如图5所示。

图5 模糊RBF控制下阶跃仿真图

从图5可知,模糊RBF控制具有良好的动态性能,上升时间为28.338 s,峰值为10.27,超调量为2.7%,超调量低,能够快速对系统进行跟踪,有效抵抗外界环境的变化。

2.3 模糊RBF神经网络初值确定

2.3.1 神经网络节点确定

RBF神经网络隐含层节点数对模糊系统的逼近效果有着重要影响,选取不同的神经网络结构会对系统的输出造成不同的影响,通常隐含层节点数用如下公式进行计算:

式中,P为隐含层节点数;m为输出变量个数;n为输入变量个数;a为调节参数。对隐含层节点数进行假设,将4、5、6、7四个节点数值带入仿真系统进行训练计算,系统输出的绝对均方差如表1所示。

表1 隐含层节点个数对神经网络影响

根据仿真结果可以得出,当隐含层的节点个数为5时,系统输出的绝对均方差最小,因此神经网络结构选取2-5-5-2。

2.3.2 神经网络参数的确定

RBF神经网络的逼近效果和ci、bi参数的初值有关,bi影响神经网络的映射范围,ci影响神经网络的敏感度。合理的神经网络参数能够保证有效的学习过程。本文采用K-means聚类方法对模糊RBF神经网络进行聚类分析,并利用聚类所得的结果确定神经网络的初始化参数[10]。

(1)选择初始化样本X={X1,X2,…,Xn},包含n个对象,每个对象具有m维度。

(2)初始化K个聚类中心 {C1,C2,C3,…,Ck},1<k≤n。

(3)针对数据集中每个样本xi,计算它到K个聚类中心的距离并将其分到距离最小的聚类中心所对应的K个类{S1,S2,…,Sk}中。

式中,Xit表示第i个对象的第t个属性;Cjt表示第j个聚类中心的第t个属性。

(4)重新计算每个聚类中心和半径:

(5)重复步骤(3)、步骤(4)两步,直到满足条件。

3 仿真验证

采用FANUC公司的M-20iA机器人,对导纳控制进行仿真验证,将Solidworks中的机器人模型导入到Adams中,并在Adams中配置各关节的连接关系、材料属性等一系列配置要求[11],结果如图6所示。

图6 Adams仿真图

为了在虚拟机上实现机器人的导纳控制,将Adams中建立好的机器人打磨机械系统导出到MATLAB的Simulink中,并在Simulink中实现机器人的打磨控制。在Simulink中对打磨系统添加控制策略,内环采用PID控制,添加基于时间序列的机器人打磨头的期望轨迹,利用Adams中的VARVAL(Force_Z)函数测量打磨头的实际打磨力,通过实际打磨力与期望打磨力的偏差调整打磨头Z方向上的位置,从而完成对机器人控制。其中,机器人系统的输入变量为机器人各关节角度,输出变量为机器人各关节角度,反馈变量为系统打磨力。模糊RBF系统的输入变量为系统打磨力偏差和打磨力偏差变化率,输出为导纳控制器的阻尼系数增量ΔB和刚度系数增量ΔK。联合仿真控制框图如图7所示。

图7 MATLAB和Adams联合仿真

设定仿真时间为10 s,采样周期为0.01 s,X、Y、Z是基于时间序列的机器人末端位置信息,设定期望力为10 N,根据所打磨材料选取导纳参数,M=1.91,B=16.21,K=200。传统导纳控制和基于模糊RBF的导纳控制打磨力变化如图8所示。

图8 打磨力波动曲线

对图5中导纳控制曲线和模糊RBF导纳控制曲线进行稳定性分析,分析结果如表2所示。

表2 控制效果数据表

通过表2可知,导纳控制下,系统消耗0.333 s达到峰值,峰值为12.9,超调量达到29%,远超过系统要求,稳态时间为1.2 s,系统动态性能较差。模糊RBF导纳控制下,系统消耗0.42 s达到峰值,峰值为10.46,超调量4.6%,满足系统要求,稳态时间为0.89 s,系统动态性能较好。

4 实验验证

为了验证机器人变导纳控制算法在恒力打磨中的控制效果,设计机器人平面打磨实验,根据打磨控制策略,在上位机输入机器人初始打磨轨迹,控制机器人按照目标轨迹行进,行进过程中,力传感器将测量的打磨力信息传到上位机模糊控制系统中,模糊控制系统对打磨力进行分析处理后,得到导纳系统的阻尼系数增量ΔB和刚度系数增量ΔK,传入到导纳控制系统中,得到机器人的位置偏移量,从而对打磨头位置进行修正。

设置期望打磨力为10 N,进给速度10 mm/s,砂纸粒度400目[12],M=1.91,B=16.21,K=200,分别使用导纳控制和基于模糊RBF的导纳控制两种方式控制机器人进行平面打磨力跟踪实验,打磨过程如图9所示,机器人与工件表面密切接触,并按照期望轨迹进行直线运动,同时使用力传感器时刻测量法向力信息,将数据通过EtherCAT协议传回到PC端上位机,记录接触力信息,并分析模糊RBF导纳控制的控制效果。

图9 导纳控制打磨实验

图10是传统导纳控制下打磨力波动图,观察曲线后可知,大约2 s时,接触力达到峰值11 N,超调量在10%左右,2.3 s以后,打磨力开始趋于稳定状态,最终打磨力稳定在10 N,误差范围保持在±2 N左右,出现波动的原因是加工平面并非完全理想化的标准水平平面,并且打磨头在打磨过程中存在振动,致使机器人末端存在跳动,从而导致打磨力出现跳动。

图10 导纳控制打磨力曲线

图11是模糊RBF导纳控制下打磨力波动图,观察曲线后可知,大约2.5 s时,接触力达到峰值10.5 N,超调量在5%左右,3 s以后,打磨力开始趋于稳定状态,最终打磨力稳定在10 N,误差范围保持在±1N左右。

图11 模糊RBF导纳控制打磨力曲线

通过对比发现,基于模糊RBF的导纳控制具有更好的恒力追踪能力,相比于传统的导纳控制,基于模糊RBF的导纳控制的超调量减少了5%左右,并且有着更好的打磨力波动处理能力。

5 结论

本文研究在内环PID控制基础上的外环力控制方法,采用基于模糊RBF的导纳控制算法对系统进行调控,在线修改导纳控制参数,通过Adams对机器人系统进行建模,并在MATLAB中建立系统仿真模型,进行仿真验证,最后搭建实验平台,对打磨力的跟踪效果进行实验验证,实验结果表明:相比于传统导纳控制算法,基于模糊RBF的导纳控制算法在导纳控制中更有优势,其打磨力波动范围为±1N左右,超调量为5%,其恒力追踪和超调抑制能力有所提高,具有更好的稳态性能。

猜你喜欢
控制算法阻尼偏差
N维不可压无阻尼Oldroyd-B模型的最优衰减
关于具有阻尼项的扩散方程
具有非线性阻尼的Navier-Stokes-Voigt方程的拉回吸引子
如何走出文章立意偏差的误区
两矩形上的全偏差
纺织机械手专利瞄准控制算法
阻尼连接塔结构的动力响应分析
基于ARM+FPGA的模块化同步控制算法研究
关于均数与偏差
基于航迹差和航向差的航迹自动控制算法