李佳伟 林娜 池荣虎
针对重复运行的系统,迭代学习控制(Iterative Learning Control,ILC)[1]能够在有限操作长度内获得对输出的完全跟踪.与人工智能相似,ILC也被赋予了智能化的能力,它利用从以往重复操作过程中学习到的误差信息和控制输入信息对当前迭代的控制输入进行修正以提高控制性能.由于其简单的控制结构和高效的控制性能,ILC在实际生产生活中得到了广泛的应用,如轨道列车[2]、直线电机[3]、工业机械臂[4]、康复机器人[5]、轮式机器人[6]、多智能体[7]等.
近年来,针对非线性系统的ILC控制已经取得了一些进展.文献[8]针对具有时变参数不确定性的切换非线性连续系统,提出了一种自适应迭代学习控制方法,通过在时域上构建状态反馈项和在迭代域上构建包含自适应性学习项的迭代学习控制器,在二维系统中实现了指数稳定.文献[9]结合迭代学习和模型预测控制的优点,提出了一种新型迭代预测学习方案.该方法可从多个时间节点对过去误差进行补偿,其中相关的增益被自适应优化.文献[10]则针对试验长度随机变化的非瞬时脉冲分数阶系统提出了新型迭代学习控制方案,通过引入域对齐算子保证输入、输出、状态和跟踪误差被预先设计的函数空间约束,实现了将传统ILC方案从离散系统扩展到包含冗余跟踪信息的连续系统和代数系统.
值得注意的是,以上大部分的研究工作是基于模型的ILC控制,控制性能取决于模型精度,因此很难满足实际工作要求.目前,实际工况下控制器设计面临的主要问题是获得精确的数学模型往往比控制系统设计本身更难.在不同运行环境下,被控系统的内部参数会发生巨大变化,从而导致模型信息随参数的变化而发生变化[11-14].此外,非线性系统非常容易受到外界复杂环境因素的影响,如噪声、磁场或温度等.综上,由于模型摄动和环境干扰的显著影响,未建模动态是不可避免的,因此设计的控制系统鲁棒性和可靠性较低.
同时,数据驱动控制(Data-Driven Control,DDC)[15-18]在处理复杂动态过程的控制问题方面变得越来越流行,技术的进步使得获取和存储操作数据变得更加容易.DDC设计的原理是利用从实际系统中获得的测量数据来设计控制器,而不使用任何显式的辨识模型信息.
目前,已提出许多数据驱动的ILC方法[19-22].针对复杂的非线性系统的控制器设计问题,在一般情况下需要一个线性系统的框架.为
了构造控制系统,通常要对非线性对象进行线性化,且获得的线性化模型应等价于非线性对象,没有近似或者省略模型信息.针对非线性系统的线性化问题,Chi等[23-24]提出了迭代动态线性化(Iterative Dynamic Linearization,IDL)方法,在连续两次迭代之间的所有操作点上建立与原始非线性对象完全等价的线性增量输入输出数据关系,得到的线性输入输出系统结构简单、参数少,有利于控制器的设计.此外,文献[25-30]利用IDL提出了几种数据驱动的最优学习控制方法.
基于以上分析,本文针对重复运行的非线性非仿射系统提出了一种基于遗忘因子的数据驱动最优迭代学习控制(Forgetting Factor based Data-Driven Optimal Iterative Learning Control,FF-DDOILC)方法.首先,引入迭代动态线性化方法,将非线性系统等价地表示为线性输入输出增量形式;其次,设计含有未知参数的控制目标函数得到学习控制律,利用迭代参数估计律估计未知参数,并设计重置算法来增强参数更新律的估计性能;再次,为了减少超调和震荡引入遗忘因子得到FF-DDOILC;最后,仿真结果验证了所提方法的有效性.本文的创新点在于:1)与现有的基于遗忘因子的ILC方法相比,控制器设计和分析过程只使用系统输入/输出数据,不包含任何显式的模型信息;2)与以往DDOILC方法相比,通过在学习律中加入遗忘因子,提高了控制灵活性.
本文余下结构分布如下:第1节是基本问题描述,将非线性非仿射模型利用IDL转化为线性模型;第2节给出了基于遗忘因子的DDOILC的设计;第3节利用仿真结果验证所提出方法的有效性;第4节是对本文工作的总结.
考虑如下非线性离散时间系统:
yk(t+1)=f(yk(t),uk(t)),
(1)
其中,yk(t)∈R表示系统输出,uk(t)∈R表示控制输入,f(·)是一个连续可微的未知非线性函数,t∈{0,1,…,N}表示离散的时间,N为正整数.k∈{0,1,…}表示迭代次数.
在每次迭代中,输入和输出之间的关系可以用以下代数函数[21]表示:
yk(1)=f(yk(0),uk(0))=g0(yk(0),uk(0)),
yk(2)=f(yk(1),uk(1))=
f(g0(yk(0),uk(0)),uk(1))=
g1(yk(0),uk(0),uk(1)),
⋮
yk(N)=f(yk(N-1),uk(N-1))=
f(gN-2(yk(0),uk(0),uk(1),…,uk(N-1))=
gN-1(yk(0),uk(0),uk(1),…,uk(N-1)),
(2)
其中,gi(·),i=0,1,…,N-1,表示f(·)的复合函数.
(3)
其中,g(·)=[g0(·)g1(·) …gN-1(·)]T:RmN→RN是一个未知的向量值函数.
本文做了以下假设:
假设1每次迭代的初始值yk(0)是相同的,即yk(0)=y0,∀k.
假设2非线性函数g(·)满足广义Lipschitz条件,即
‖g(x1,u1)-g(x2,u2)‖≤Lx|x1-x2|+
Lu‖u1-u2‖,
其中,Lx<∞和Lu<∞是两个正的Lipschitz常数.
根据式(3),相邻两次迭代的输出作差,并运用微分中值定理可得:
ΔYk=Yk-Yk-1=
(4)
根据假设1,式(4)可以写为
(5)
定义系统的期望输出为yd(t+1),本文的控制目标是寻找最优控制输入ud,使得系统输出yk(t+1)跟踪上期望输出yd(t+1),即当迭代次数k趋近于无穷时,跟踪误差ek(t+1)=yd(t+1)-yk(t+1)在整个有限时间区间内收敛到零.
记Ek=Yd-Yk=[ek(1),ek(2),…,ek(N)]T.
设计如下目标函数:
J(Uk)=‖Ek‖2+λ‖Uk-Uk-1‖2,
(6)
其中,λ>0是一个权重因子.
根据式(5),目标函数(6)可以被进一步写为
J(Uk)=‖Yd-Yk-1-Φk(Uk-Uk-1)‖2+
λ‖Uk-Uk-1‖2=
‖Ek-1-Φk(Uk-Uk-1)‖2+
λ‖Uk-Uk-1‖2.
(7)
对式(7)关于控制输入信号Uk求偏导,并将所得式子设置为零,可以得到控制律为
(8)
其中,ρ>0是一个步长因子.
(9)
由于Φk是一个下三角矩阵,上三角的所有元素为零,因此只需估计Φk的非零元素即可.
所以,根据式(5)可得:
(10)
定义如下目标函数:
(11)
(12)
其中,0<η<2是一个步长因子.
为了增强算法(12)对φk(t)的估计能力,设计如下重置算法:
(13)
综上,数据驱动最优迭代学习控制(DDOILC)方法由式(9)、(12)和(13)组成.
根据式(9)作如下分析:
当k=2时,
(14)
当k=3时,
(15)
当k=n时,
(16)
记
(17)
其中Uold为历史数据,Unew为更新数据,则式(17)可以整理为
Un=Uold+Unew.
(18)
由以上分析可知,数据驱动最优迭代学习控制是一种增量控制的方法,在第k=n次迭代,控制输入Un由历史数据Uold和更新数据Unew构成.由于历史信息的累积效应,控制输入不能及时响应更新的信息,难以快速跟踪.
针对上述数据驱动最优迭代学习方法的独特问题,对数据驱动最优迭代学习控制方法进行改进.
设计带遗忘因子的数据驱动最优迭代学习控制(FF-DDOILC)方法如下:
(19)
(20)
(21)
其中,Fk表示遗忘因子,它是一个随系统控制过程变化的常数并满足0 根据学习律(19),可以得到: 当k=n时, (22) 历史数据和更新数据可以表示为 (23) 由式(22)和(23)可以看出,在遗忘因子的作用下历史信息Uold对输入Uk影响的权重随迭代次数k的增加而降低,显著提高了更新数据对输入Uk的影响权重,有助于弱化积分饱和现象,提高控制性能. 进一步,根据在不同控制阶段采用不同控制策略的控制思想,设计自适应遗忘因子来动态调整控制行为,即: (24) 其中,Fmax和Fmin分别表示遗忘因子的最大值和最小值,且满足0 为了验证所提方法的有效性,考虑以下非线性系统: (25) 期望路径为 yd(t)=0.5sin(tπ/10)+0.3cos(tπ/10), t∈{0,1,…,20}. 仿真结果如图1和图2所示.图1为第50次迭代系统输出对期望输出的跟踪情况.图2为跟踪误差随迭代次数的变化情况.从图1和图2可以看出,所提的FF-DDOILC能够达到很好的跟踪控制效果. 图1 输出跟踪性能Fig.1 Output tracking performance 图2 跟踪误差Fig.2 Tracking error 进一步,为了验证所提方法的鲁棒性,在系统中加入随机噪声dk(t),即原系统变为 (26) 其中,dk(t)=0.03 rand,rand表示为在[0 1]间随机取值,dk(t)的变化情况如图3所示. 图3 随机噪声Fig.3 Random noise 应用所提FF-DDOILC方法(19)—(21),选择与不加扰动时同样的参数设置,仿真结果如图4和图5所示.图4为加入输出扰动后第50次迭代系统输出对期望输出的跟踪情况.图5为加入扰动后跟踪误差随迭代次数的变化情况.从图4和图5可以看出,所提的FF-DDOILC在有随机噪声干扰的情况下也能够达到很好的跟踪控制效果. 图4 有扰动下输出跟踪性能Fig.4 Output tracking performance under disturbance 图5 有扰动下跟踪误差Fig.5 Tracking error under disturbance 针对重复运行的非线性非仿射离散时间系统,提出了一种带遗忘因子的数据驱动最优迭代学习控制算法.通过引入迭代动态线性化技术,将非线性系统转化为线性输入输出增量形式,在此基础上设计控制器.通过在学习律中加入自适应遗忘因子,提高了控制的灵活度及可调自由度.仿真结果表明所提的FF-DDOILC方法对非线性系统的输出跟踪问题具有较好的控制效果,并且对于外界扰动具有较好的鲁棒性.3 仿真验证
4 结论