1. 引言
迭代学习控制一般用于消除系统在执行重复性任务时的重复性误差,在机械手等运动控制场合得到了广泛的应用。目前,研究人员的主要研究方向是将最优控制、H∞控制和滤波器设计等方法与迭代学习相结合。在控制器设计过程中充分考虑了系统的模型信息 [1] [2] [3] ,其中最优迭代学习控制具有良好的瞬态行为和沿迭代方向的单调收敛性。因此,最优迭代学习控制已被广泛使用和研究。Gunnarsson等人 [4] [5] [6] 通过辨识方法得到了系统的Toeplitz矩阵,然后利用最优理论设计了基于Toeplitz矩阵的迭代学习控制器,取得了良好的跟踪性能。Bosgra O H.等人 [7] [8] 设计了一个基于优化方法的迭代学习控制器,并引入窗口矩阵来抑制光刻机运动控制系统的残余振动。上述所有的算法都依赖于系统的Toeplitz矩阵,而没有考虑系统长期运行所引起的参数扰动,这可能导致迭代学习算法的性能恶化。
目前,迭代学习控制主要是针对线性时变系统设计的,但在系统长期运行过程中会有一定的参数扰动,系统参数会缓慢变化。针对系统的时变特性,Feng等人 [9] 提出了一个改进的偏微分方程模型来建立对象模型,结合自适应迭代学习,提出了一个用于具有主动质量阻尼器和边界干扰的高层建筑的控制器。然而,它是基于模型的,建立一个准确的系统模型结构是很困难的。Lin等人 [10] 提出了一种数据驱动的递归最小二乘法识别算法,该算法只是对系统参数识别的研究,没有提到在迭代过程中与迭代学习控制的结合。Ketelhut等人 [11] 提出了一种用于机器人辅助训练的规范最优迭代学习控制算法,该算法的目的是在使用机器人辅助训练装置进行腿部伸展训练时,最大限度地减少外部膝关节内收/外展力矩。然而,该算法仅对重复干扰具有鲁棒性,并且没有解决模型的不确定性带来的问题。Yang等人 [12] [13] 提出了一种数据驱动的自适应最优迭代学习控制算法(DDAOILC),然而,该方法使用第(k − 1)次的数据来计算第k次的系统名义模型,收敛效果需要改进。此外,算法缺乏灵活性,控制器在每次迭代时都要更新一次,这增加了算法的计算复杂性,不利于该算法在实际系统中的应用。
因此,根据伺服系统的时变特性,本文提出了一种将最小二乘法辨识与TOILC相结合的算法,即LSAOILC;在系统运行过程中,不断对系统名义模型进行辨识,弥补了TOILC不能应对时变系统的不足之处。此外,引入了新的性能指标,来监测跟踪误差是否超出限制,不用每一次迭代都更新控制器,增强了算法的灵活性;并将提出的算法应用于实际伺服系统。当系统具有时变特性时,该系统仍然具有良好的跟踪性能。
2. 问题描述
2.1. 伺服系统的数学模型
本文的目标是为具有时变特性的伺服系统设计控制器,以实现良好的轨迹跟踪性能。本节给出了系统描述,控制系统的框图如图1所示。
其中,
表示被控对象,
表示反馈控制器,v表示噪声,r表示参考轨迹,
,
和
分别表示第k次迭代的误差信号,前馈信号和输出信号。每次迭代运行时间为
,设采样周期为
,因此,对信号进行离散化,取
,则第k次迭代输出为
(1)
N表示采样点,r,
,
与由
形式相同的向量表示。不考虑噪声的影响,系统的输出为
(2)
Toeplitz矩阵
由传递算子G(s)/(1+G(s)C(s))的脉冲响应系数形成,即
(3)
的定义类似,当不考虑系统参数的变化时,根据等式(2),第k次和第
次输出之间的差值为
(4)
其中
,
,利用伺服系统的基本数学模型,可以设计控制器。
2.2. TOILC算法
TOILC通常使用如图2所示的控制结构,一般更新方程如下:
(5)
其中
(6)
其思想是通过最小化准则
来确定
,从而使误差
尽可能小。
(7)
其中,
和
是正定加权矩阵,使得
是严格凸的。通常,
是单位阵I,
,
为控制器设计参数并且
[14] 。
结合等式(6)和等式(7),将
相对于
微分并令倒数得0,从而可以用等式(8)更新等式(5)
(8)
加权矩阵
用于调节控制信号的步长,以防止控制信号变化过快。
的引入可以提高TOILC算法的鲁棒性。
通常,TOILC在迭代之前获得Toeplitz矩阵。然而,在实践中,伺服系统的参数可能在迭代过程中缓慢变化,这将使得TOILC无法收敛并导致跟踪性能恶化。
2.3. 系统时变的影响
虽然TOILC具有一定的鲁棒性,但当系统参数变化到一定程度时,将导致轨迹跟踪性能的恶化。具有系统时变特性的TOILC框图如图3所示,
表示时变系统的名义模型。因为
,所以当系统具有时变特性时,TOILC不能保证收敛。

Figure 3. TOILC block diagram with system time-variant
图3. 有系统时变的传统的最优迭代学习控制框图
因此,控制器L需要在迭代过程中更新,如图3所示,即:
(9)
其中,
表示
的辨识的值,当估计误差很小时,表示
,可以有效地改善系统参数对轨迹跟踪性能的影响。
3. LSAOILC算法
3.1. LSAOILC控制器设计
脉冲响应由输入和输出数据识别,从而得到系统的Toeplitz矩阵。当系统参数保持不变时,等式(4)可重新表述为:
(10)
其中,
,表示脉冲响应,
表示表示向量的下三角Toeplitz矩阵。
(11)
可以根据最小二乘估计算法获得目标函数:
(12)
其中,
表示脉冲响应
的估计值,将J相对于
做微分并且令倒数等于0可得
(13)
因此,可以获得脉冲响应的估计值:
(14)
在许多实际情况下,矩阵
的逆可能不存在,导致方程(5)没有解。在这种情况下,算法将不稳定。因此,将Moore-Penrose广义逆矩阵代入方程(14),即:
(15)
因此,系统Toeplitz矩阵
的估计值可以由等式(15)生成,然后带入式(9),从而可以对控制器进行更新,在系统参数变化时通过更新控制器,弥补了TOILC的不足。通过矩阵奇异值分解可以得到Moore-Penrose广义逆矩阵,使用广义逆矩阵解可以避免奇异值的影响,使算法更稳定。
在一些实际情况下,伺服系统的参数不会突然变化,而是缓慢变化。然而,在实践中,测量得到的输出信号总是受到噪声的影响 [15] 。因此,测量的输出变化量表示为
。在实验过程中,发现当跟踪误差和噪声接近时,测量的输出变化量
将被系统噪声淹没,导致辨识获得的系统模型不准确,跟踪性能较差。
越准确,所辨识的系统模型越准确,轨迹跟踪性能越好。结合等式(4)和等式(5)表明,
越大必然导致
越大。考虑实际系统中存在的噪声引入性能指标 [16] :
(16)
其中,
是实际系统的噪声,该不等式用于在迭代过程中可以监控系统的跟踪误差
。不等式(16)中的c值用于测量跟踪误差和系统噪声之间的定量关系,需要通过实验确定。因此,不等式(16)可以有效地抑制噪声对辨识精度的影响。
TOILC具有一定的鲁棒性,当系统参数发生轻微变化时,不会影响算法的性能。对于具有时变特性的伺服系统,系统参数变化缓慢。由于噪声的影响,当跟踪误差变化很小时,辨识的名义模型的精度不高,LSAOILC和TOILC的收敛程度相似。此时,无需辨识系统的名义模型。因此,引入不等式(16)可以有效地避免在每次迭代中运行辨识算法,提高了效率。
因此,只要辨识精度高,就可以保证LSAOILC的收敛性。最重要的一点是,LSAOILC的辨识算法只需一次即可获得准确的辨识结果。因此,LSAOILC的辨识算法收敛较快。
3.2. LSAOILC算法与DDAOILC算法的比较
DDAOILC本质上是TOILC和非参数模型辨识算法的结合,用于在迭代过程中辨识系统的名义模型,能在系统参数变化时补偿TOILC的不足,详见 [12] 。基于最优控制理论,通过理论分析获得辨识算法的性能目标函数,如等式(17)所示:
(17)
其中,
表示向量的二范数,
表示系统名义模型
的非零元素
的估计值,
表示拉格朗日算子,
表示无穷小正数。
最小化性能函数
来获得
,可以得到
(18)
在等式(18)中,每次迭代都需要矩阵
的逆,这是一个复杂且计算量大的过程,因此为了避免这种现象,使用了
来计算
的值,详见 [12] 。
因为在DDAOILC中,
是根据经验选择的,很难调整到合适的值,所以矩阵
的逆可能不存在。而LSAOILC可以通过计算
的广义逆矩阵找到等式(13)的近似解,从而避免矩阵逆不存在的影响,使算法更稳定,从而可以更好地应用于实际系统。
在DDAOILC中,当系统模型参数发生变化时,DDAOOLC需要大约八次迭代才能达到稳定性。相比之下,而在LSAOILC中,最小二乘法(一次能达到最优)需要大约三次迭代能在系统模型参数改变后达到稳定,从而减少了系统达到稳定之前的迭代次数。
在DDAOILC中,采用第(k − 1)次的数据来辨识得到系统的第k次迭代的名义模型。而在LSAOILC中,采用第k次的数据来辨识系统的第k次迭代的名义模型。因为使用第k次迭代的数据进行识别获得的系统名义模型更接近真实值,通过LSAOILC辨识的系统模型参数更准确,稳定时的误差更小。
而且LSAOILC引入了一个性能指标,即不等式(16),它保证跟踪性能的同时,避免了在每次迭代时对系统模型进行辨识,更有利于算法在实际系统中的应用。
4. 仿真结果
4.1. 参考轨迹和仿真模型
参考轨迹如图4所示,轨迹参数为:
,
,
,
,
。
一般的机械系统是二阶系统。为了简化模型结构,假设对象是刚体模型,系统具有摩擦阻尼。由于机械系统中存在柔性连杆引起的谐振特性,在MATLAB中对具有谐振模块的伺服系统进行了建模。由于对谐振模型建模时考虑的条件不同,系统传递函数的参数数量不同,但传递函数的阶数保持不变。因此,在仿真中使用方程(19)中所示的一般谐振模型,该模型可以具有多个谐振模块。
(19)
其中,m是刚体模型的质量,b是摩擦阻尼系数,
和
是共振频率,
和
是二阶阻尼比,
,
。考虑到实际模型以及简化过程,伺服系统默认仅使用一个谐振模块进行建模。仿真所用模型通过等式(20)的伺服连续系统模型经过双线性变换获得的离散模型。
(20)
反馈控制器参数设置如下:
,
,
。

Figure 4. Third-order reference trajectory
图4. 三阶参考轨迹
4.2. 系统参数不变
当系统参数不发生改变时,采用TOILC算法进行控制,TOILC的跟踪误差的二范数如图5所示。从图5可以看出,当系统参数保持不变时,TOILC具有良好的收敛性。

Figure 5. Two-norm of the tracking error for TOILC without parameter change
图5. 无参数变化的TOILC跟踪误差的二范数
4.3. 系统参数变化
在机械系统运行期间,阻尼比
变化缓慢 [17] 。在第18次迭代时,
的值从0.07变化为0.2,新的模型对象如等式(21)所示。
(21)
控制系统分别采用TOILC、LSAOILC和DDAOILC三种算法进行控制,图6显示了在迭代时改变系统参数时三种算法的目标函数。从图中可以看出,在第18次迭代时改变系统参数后,TOILC迅速发散,LSAOILC和DDAOILC的性能指标经过迭代后都可以收敛。LSAOILC性能指标只需要大约三次迭代即可收敛。相比之下,DDAOILC需要大约十次迭代才能收敛,这表明LSAOILC比DDAOOILC收敛更快。

Figure 6. Two-norm of the tracking error
图6. 跟踪误差的二范数

Figure 7. Error comparison of the 36th iteration
图7. 第36次迭代误差对比
图7显示了LSAOILC和DDAOILC第36次迭代的跟踪误差曲线的比较。从图中可以看出,LSAOILC辨识的系统模型参数更准确,稳定时的误差更小,这表明LSAOILC的收敛精度优于DDAOILC。
仿真结果表明,当系统参数不变时,无需辨识系统模型。当系统中存在参数扰动时,TOILC的跟踪性能会受到影响。LSAOILC和DDAOILC可以在系统参数变化时补偿TOILC的不足,并且目标函数经过多次迭代后逐渐收敛。此外,LSAOILC的收敛速度和收敛精度优于DDAOILC。
5. 实验结果
5.1. 实验平台介绍
实验平台如图8所示,运动控制平台由无刷直流电机组成。伺服驱动器由基于ARM芯片设计的驱控一体的运动控制卡组成,图9表示伺服电机实验平台的组成部分。系统重复执行如图4所示的三阶轨迹。

Figure 8. Servo motor experiment platform
图8. 伺服电机实验平台

Figure 9. Experimental platform structure block diagram
图9. 实验平台结构框图
实验中存在一个扰动模拟器来模拟系统长时间运行导致的参数的变化,传递函数如等式(22)所示。
(22)
扰动模拟器参数设置为
,
,
,
,反馈控制器参数为
,
,
。
5.2. 系统参数不变
当系统参数不发生改变时,采用TOILC算法进行控制,TOILC的跟踪误差的二范数如图10所示。从图10可以看出,当系统参数保持不变时,TOILC具有良好的收敛性。

Figure 10. Two-norm of the tracking error for TOILC without parameter change
图10. 无参数变化的TOILC跟踪误差的二范数
5.3. 系统参数变化
在第5次迭代时,
的值从0.25变化为0.35,在多次实验之后选取c的值为1.6。
图11表示DDAOILC和LSAOILC的跟踪误差的两个范数,在第5次迭代中,
的值从0.25变化为0.35。如图10所示,LSAOILC和DDAOILC在多次迭代后收敛,LSAOILC仅需约3次迭代能达到目标函数的稳定时的收敛值,而DDAOILC需要约11次迭代。因此,LSAOILC的收敛速度优于DDAOILC。
图12表示LSAOILC和DDAOILC第36次迭代的跟踪误差曲线的比较,从图中可以看出LSAOILC辨识的系统模型更准确,稳定时的误差更小,这表明LSAOILC的收敛精度优于DDAOILC。
实验结果表明,当系统参数不变时,不需要对系统模型进行辨识,直接使用TOILC进行控制。当系统中存在参数扰动时,TOILC的跟踪性能会受到影响,LSAOILC和DDAOILC可以弥补TOILC的不足,并且目标函数在多次迭代后逐渐收敛。此外,LSAOILC的收敛速度和收敛精度优于DDAOILC。

Figure 12. Error comparison of the 36th iteration
图12. 第36次迭代误差对比
6. 结论
在本研究中,针对时变系统,设计了一种用于无刷直流电机位置控制的自适应最优迭代学习控制算法LSAOILC。在LSAOILC中,它可以有效地处理系统参数扰动引起的轨迹跟踪性能恶化,从而弥补TOILC在处理时变系统方面的不足。此外,还对LSAOILC和DDAOILC两种控制算法进行了比较,仿真和实验结果表明,当系统中出现参数扰动时,LSAOILC的收敛速度和收敛精度均优于DDAOILC。
基金项目
温州市科技局重大科技创新攻关项目(ZG2020029)、国家自然科学基金(52277068)、浙江省科技厅重点研发计划(2023C01159)。
参考文献