双迭代学习-交叉耦合控制算法设计

2021-02-23 02:46赵大兴
湖北工业大学学报 2021年1期
关键词:单轴控制算法轮廓

王 聪,赵大兴,袁 聪,肖 迪

(湖北工业大学机械工程学院,湖北 武汉 430068)

有很多学者对提高加工精度的精密运动控制(Precision Motion Control,PMC)的运动方法进行了研究:在单轴的跟踪性能问题上,有迭代控制(Iterative Learning Control,ILC)学习算法[1-5],即利用系统的重复性任务和及时反馈的数据通过迭代的方式来改善单轴的跟踪性能,这种方法虽然能够很好地改善单轴的性能,但在单系统中,系统轮廓运动轨迹需要在两个或者这多个轴间定位,很难准确捕捉到系统的轮廓运动轨迹,故并不能显著提升系统性能;而交叉耦合(Cross-couple Control,CCC)控制算法[6-10],将关注的焦点从对单轴的跟踪误差转移到系统的轮廓误差,可以使最终结果更接近于期望轨迹[11-12],但该方法牺牲了单轴的跟踪性能。为了减少多轴之间的运动协调问题引起的误差,一些学者将迭代学习控制算法和交叉耦合算法相结合[13-16],用来更好地减少轮廓误差。

本文在交叉耦合迭代控制学习算法的基础上,进一步提出了双迭代学习-交叉耦合控制算法,通过改善单轴跟踪性能和系统轮廓性能来提高运动控制系统的精度。

1 轮廓误差理论基础

1.1 轮廓误差定义

大多数情况下,多轴运动系统的控制均属于轮廓控制,即要求运动系统各轴协调运动来完成预定轨迹的运动或者加工。这就需要系统的实际轮廓更加精确。轮廓误差是直接影响多轴系统性能好坏的一个很重要的参数,会受到多方面因素的影响。当使用双轴来进行轮廓加工时,其误差可以通过图1来表示。

图 1 轮廓误差定义

如图1所示,曲线L0为指令运行的期望轮廓轨迹,P0点是该时间点实际轮廓的运动点P到期望轨迹最短距离的切点,P*点是该时间点期望轨迹上的位置点。跟踪误差是该时间点P到P*点的距离,轮廓误差是该时间点P到P0点的距离。

1.2 轮廓误差模型

假设某双轴运动系统加工的轮廓轨迹如图2所示,L0是期望运动轨迹,某一时刻实际位置为P,该点的期望位置点为P*,跟踪误差E表示P点和P*点的距离,θ是期望运动轨迹与X轴正向的夹角,Ex和Ey分别是跟踪误差E在X轴和Y轴方向上的分量,轮廓误差ε表示P点到期望轨迹L0的最短距离。

对图2中的误差进行几何分解,则轮廓误差

图 2 直线运动轨迹的轮廓误差几何关系

ε=Eycosθ-Exsinθ

(1)

将轮廓误差沿坐标轴进行分解,可得:

εx=-εsinθ,εy=εcosθ

(2)

一般定义交叉耦合增益系数

Cx=sinθ,Cy=cosθ

(3)

将式(3)代入式(1)中,可以得出轮廓误差

ε=EyCy-ExCx

(4)

2 双迭代学习-交叉耦合控制算法

2.1 迭代学习控制

迭代学习控制是指不断重复一个同样轨迹的控制尝试,并以此修正控制律,以得到非常好的控制效果的控制方法。迭代学习控制算法的工作原理:对于具有重复运动的控制系统,每次控制都将前一次期望轨迹和实际轨迹的误差信号作为修正控制输入信号,以产生一个新的控制信号,使得该重复运动系统在下一次执行中有更好的轮廓跟踪效果。

迭代学习控制在闭环反馈控制中主要有两种结构,分别是串行结构和并行结构。串行结构是把控制信号补偿到参考信号上,这种结构非常适用于不支持直接修正系统控制信号的商用控制器上;并行结构是把控制信号直接补偿到系统的控制量上,可以直接通过改变控制量来改善系统的跟踪性能,并且更容易分离反馈控制器和迭代学习控制器的作用。

本文主要是把迭代学习应用到位置闭环中,需要把迭代学习控制算法与交叉耦合控制算法相结合,而本文实验中所选用的控制器也支持并行结构,故选用的是并行结构。迭代学习控制算法在SISO系统中的结构如图3所示。

图 3 迭代学习控制系统

2.2 交叉耦合迭代学习控制

在伺服控制系统中,轮廓误差严重影响着控制系统的精度。交叉耦合控制器是减小轮廓误差的有效途径。但是在多轴运动中只使用交叉耦合控制器并不能得到理想的控制精度,若数控加工需面对大批量的重复加工生产,产品的加工精度无法得到保证。而迭代学习也是减小误差的有效办法。把迭代学习直接应用到控制系统轮廓误差上,可以在收敛范围内不断减小系统的轮廓误差,在收敛后能够有效保证产品的加工精度。Barton交叉耦合迭代学习控制(Cross-coupling Iterative Learning Control,CCILC)方法是对轮廓误差进行迭代学习的一种算法,它能够在有限的时间区间上减小系统的轮廓误差,对多轴运动系统的轮廓精度具有显著的提高。交叉耦合迭代学习的系统框架如图4所示。

图 4 交叉耦合迭代学习系统

由图4知,交叉耦合迭代学习控制算法是把上一次的轮廓误差经过迭代学习,得到新的控制信号,然后通过轮廓误差分配模型动态补偿到各轴的方法。该方法有效结合了交叉耦合控制的轮廓补偿性能和迭代学习控制的轨迹跟踪性能,能实现轮廓轨迹有限时间区间的完全跟踪。

2.3 双迭代学习-交叉耦合控制方法定义

迭代学习控制是一种无模型综合控制方法,对运动系统的数学模型和参数的精确度要求不是很严格,不需要很多的先验知识和计算量,并且能够有效提高跟踪性能。交叉耦合控制器是通过建立的轮廓误差模型,对各个轴进行轮廓误差补偿,能够有效提高多轴运动系统的轮廓跟踪能力,减小轮廓误差。交叉耦合迭代学习控制虽然把迭代学习控制应用到了交叉耦合控制器中,通过对耦合误差的学习修正控制信号,提高系统的轮廓轨迹跟踪性能,能够在一定程度上减小轮廓误差,但是对单轴的跟踪性能并没有提高。

基于这些特点,本文结合单轴的迭代学习控制和多轴的交叉耦合迭代学习控制提出了一种双迭代学习-交叉耦合(ILC&CCILC)的控制方法,即在交叉耦合迭代学习控制(CCILC)的基础上,对各轴分别再进行迭代学习控制方法,既能保证系统的轮廓轨迹跟踪性能,减小系统的轮廓误差,又能提升单轴的跟踪性能。其系统框架如图5所示,其中,xr和yr分别为两轴的期望轨迹,Ex和Ey分别为两轴的跟踪误差,xj和yj分别为两轴的实际轨迹,e为双轴运动系统的轮廓误差。

图 5 双迭代学习-交叉耦合控制方法的系统

图5中,轮廓误差e的迭代学习律为

uccj+1(t)=

uccj(t)+Lε(q-1)εj(t=1)

其中,Lε(q-1)是轮廓误差的学习率,εj是轮廓误差。

将X轴和Y轴的迭代学习律与轮廓误差的学习率相结合,则双迭代学习-交叉耦合控制的算法公式分别为

uxj+1=(ux+LxEx-CxLεε)j

(5)

uyj+1=(uy+LyEy+CyLεε)j

(6)

式中:Lx和Ly分别是X轴和Y轴的学习率函数,Le是轮廓误差的学习率。Exj(t)=xr(t)-xj(t),Eyj(t)=yr(t)-yj(t)分别是两轴的跟踪误差。同时,将式(3)代入式(5)和(6)中,可以得到与控制输入和周期扰动相关的矩阵公式:

(7)

其中:M11=I-(Lx+CxLεCx)Px;M12=CxLεCyPy;M21=CyLεCxPx;M22=I-(Ly+CyLεCy)Py。

2.4 系统性能

(8)

式中:i∈[1,n],λ为谱半径。

由于max|λi|<1,则收敛条件可以转化为:

(9)

式中:‖·‖i表示矩阵的范数,当满足式(9)中的2-范数条件(σ(M))<1时,就可以保证系统的单调性和稳定性。式(9)中的组合矩阵可以分成单轴ILC和CCILC两个矩阵形式,即

‖[ILCx,y]+[CCILC]‖2<1

(10)

(11)

(12)

式(10)是系统满足稳定性和收敛性的条件。式(5)到式(12)表明可以分别设计控制器,并可将其组合成一个单输入控制器,分别对单轴迭代学习控制器和交叉耦合迭代学习控制器进行调节,以改善系统的控制性能。

3 实验与讨论

3.1 实验装置

双迭代学习-交叉耦合控制是一种针对轮廓轨迹、基于位置闭环的改进算法,主要是对多轴运动控制系统的位置轨迹进行实时跟踪,。在实验设计中,需要对位置闭环进行单独设计,结合所提算法,设计快速控制原型。对双迭代学习-交叉耦合算法的验证主要是通过实际控制实验进行,使用的实验设备主要包括三个部分:上位机、运动控制器和控制对象。实验装置如图6所示。

图 6 实验控制平台

其中,上位机是由PC(win7以上系统,16GB内存,i7-6700处理器)和Labview组成的软硬件系统,通过与下位机建立局域网连接,并基于TCP/IP协议实现通讯。Labview是美国国家仪器公司(NI)开发的一款系统工程软件,是一种基于图形化编程的语言,能够快速访问硬件并提供数据信息,特别是在数据采集和控制方面处理能力优越。CompactRIO 9082是一款可重配置的实时嵌入式系统,且搭载了FPGA技术,其开发是通过上位机来完成的。NI9516运动板卡是驱动接口模块,其主要作用是对伺服系统进行伺服驱动,并带有对光栅和编码器的传感器信号双采集功能,运动控制器是在Labview环境下进行系统开发的。本实验上位机的作用主要是用于程序的编写和实验过程中数据的采集和监测,而且,算法仿真程序也是在PC机上用Labview进行调试的,为在运动控制器上的系统开发做准备。

控制对象是由伺服系统和丝杠导轨组成的X-Y工作平台,丝杠的导程均为5 mm。实验采用了两台不同参数的永磁同步电机,是为了使两轴之间动态特性不一致,从而更好地验证算法的动态补偿特性。其中,X轴采用的是三菱的MR-JE-10A系列驱动器和HF-KN13J-S100伺服电机进行驱动;Y轴采用的是松下的MSDA023A1A系列驱动器和MSMA022A1C伺服电机进行驱动。其位置信息是由长春光机生产的线位移系列封闭式光栅尺采集,型号是SGC-4.2T 250,其分辨率为5 μm。

3.2 实验方法与结果

为了验证双迭代学习-交叉耦合控制方法对提高单轴跟踪性能和系统轮廓控制精度的有效性,主要做了线性轮廓轨迹实验,并且分别进行了双轴交叉耦合迭代学习控制(CCILC)实验、双轴轮廓误差的交叉耦合控制与单轴的迭代学习控制相结合的控制(ILC&CCC)实验和双迭代学习-交叉耦合控制(ILC&CCILC)实验,通过3组实验结果比较3种控制方法的单轴跟踪误差和轮廓误差。

进行线性轮廓轨迹实验时,运行的参考轮廓时长是34 s,采样步长是0.005 s。X轴的位置控制器参数是kpx=80,速度控制器参数是kvp=200,kvi=50;Y轴的位置控制参数是kpy=100,速度控制器参数是kvi=120,kvi=20。线性轮廓轨迹的双迭代学习-交叉耦合控制(ILC&CCILC)的PD型迭代学习参数如表1所示。

表1 线性轮廓轨迹的PD型迭代学习控制器参数

实验过程中运行的线性轮廓轨迹如图7所示。图7展示了指令轮廓轨迹及交叉耦合迭代学习控制(CCILC)、双轴轮廓误差的交叉耦合控制与单轴的迭代学习控制相结合的控制(ILC&CCC)和双迭代学习-交叉耦合控制(ILC&CCC)3种轮廓误差收敛后的轮廓轨迹。图8a和b分别是图7a和b两部分的局部放大图,可知与CCILC和ILC&CCC两种控制相比,ILC&CCILC收敛后的轮廓轨迹与指令轮廓轨迹更接近,在轨迹拐角处也较另外两种控制更平稳一些。

图 7 线性轮廓轨迹

(a)左拐点处轨迹放大

三种控制方法轮廓误差的实验结果如图9—11所示。由图9—11可知,使用ILC&CCILC控制方法的轮廓误差与CCILC和ILC&CCC的轮廓误差比较起来更小,实际输出轨迹与期望轨迹也更接近,能够更显著地降低系统的轮廓误差。

图 9 CCILC控制方法的轮廓误差

图10 ILC&CCC控制方法的轮廓误差

图11是双迭代学习-交叉耦合(ILC&CCILC)算法的轨迹误差收敛图,表示的是轮廓误差绝对值的平均值与迭代次数的关系。由图11可知,使用双迭代学习-交叉耦合(ILC&CCILC)控制方法对线性轮廓轨迹具有很好的稳定性和收敛性。表2统计了上述实验中3种不同控制方法的均方根误差。

图11 ILC&CCILC控制方法的轮廓误差

表2 线性轮廓轨迹不同控制方法的均方根误差

从表2中可以看出,CCILC虽然能够提高轮廓控制精度,但是单轴跟踪性能并不好,双迭代学习-交叉耦合(ILC&CCILC)和ILC&CCC控制方法的单轴跟踪误差都明显小于CCILC控制方法。其中,ILC&CCILC控制方法的X轴的跟踪误差是ILC&CCC的72.65%,Y轴的跟踪误差是ILC&CCC的79.46%,轮廓误差是ILC&CCC的87.71%。ILC&CCILC的轮廓误差是CCILC的65.15%。由实验结果知,在运行线性轨迹时,双迭代学习-交叉耦合(ILC&CCILC)对单轴跟踪性能和轮廓精度都有显著的提高。

4 结论

本文针对迭代学习控制重复运动过程中能够在有限时间区间上减小系统的跟踪误差,结合交叉耦合控制器在多轴运动中能有效改善轮廓误差的特性,提出了一种双迭代学习-交叉耦合控制算法。该算法既能减小各轴跟踪误差,也能减小单系统的轮廓误差。通过与交叉耦合迭代学习和迭代学习-交叉耦合两种控制方法的对比实验,表明本算法显著减小了单轴跟踪误差和多轴轮廓误差。

猜你喜欢
单轴控制算法轮廓
大型单轴燃气-蒸汽联合循环性能技术研究
世界首台单轴六缸六排汽汽轮机投入运行
跟踪导练(三)
基于dSPACE和PLC的控制算法测试系统设计
基于DCS的过程实时控制平台的研究
卫星姿控系统半物理仿真中转台控制算法的实现
儿童筒笔画
创造早秋新轮廓