0 引言
迭代学习控制是智能系统中具备严格数学描述的一个分支,由日本学者内山(Uchiyama)在20世纪80年代最先提出[1].该理论主要应用于具有较强非线性耦合、较高位置重复精度、较高轨迹跟踪控制要求且难以建模的重复运动系统,可实现有限区间上快速、高精度、高性能的完全跟踪[2-3].目前迭代学习控制不但在理论方面取得了很多成果[4-5],而且在工程实践中也获得了广泛的应用,如机器人[6-8]、UPS逆变器[9]、光刻机[10]、电机系统[11-13]和工业过程控制[14]等领域.
为了增强系统的鲁棒性,研究者引入了遗忘因子[15],算法中引入遗忘因子会导致跟踪误差不能收敛到零,但是可以保证收敛到零点的某一邻域内,并且符合实际应用的要求[9].但是实际研究中为了方便理论分析,研究者通常将跟踪误差近似为零[16-18],忽略了遗忘因子对跟踪误差的具体影响,无法进行量化分析.田森平针对线性系统提出了基于相邻迭代控制向量的开环P型遗忘因子迭代学习控制算法[19]. Bouakrif针对存在外部干扰的非线性系统提出了一种基于相邻迭代控制向量的闭环P型遗忘因子迭代学习控制算法,默认系统输出误差收敛到零且遗忘因子矩阵为对角线正定矩阵[20]. Panda等人提出了一个开闭环角度修正ILC算法,利用遗忘因子和基于相邻两次迭代误差的增益函数进行学习控制,但未考虑系统干扰且只考虑最近一次控制向量[11].孙瑜、夏鹏提出了一个带遗忘因子开环PD型ILC算法和谱半径形式下算法收敛条件,利用了最近一次控制向量和初始控制向量信息进行遗忘因子ILC算法控制[21].汪首坤等人在典型的非线性和时变系统中设计了一种带遗忘因子的可预测迭代学习控制算法,该算法用于消除弹性负载和系统振荡[22].曹伟[7]分析了可变遗忘因子离散迭代学习在移动机器人轨迹跟踪问题中的收敛速度,认为当遗忘因子、初态偏移、状态扰动和输出噪声都为零时,输出将收敛为零,但是论文中对于存在初态学习算法时遗忘因子的具体影响没有进行详细分析.王洪瑞等面向一类存在初始误差的非线性系统提出了非因果、初态学习且可变遗忘因子ILC算法[23],但是对算法中引入的遗忘因子仍然没有进行详细分析,且学习律中引入系统初始控制向量,不利于系统输出误差的减小.以上文献都侧重于对所提出算法的收敛性进行研究,没有具体分析系统初态误差和遗忘因子取值对输出误差收敛区域大小的影响,难以对后续算法的研究提供直接帮助.
与此同时,由于理想初始定位条件的不可实现,ILC的初始状态研究具有重要的实际意义.孙瑜等对任意初值条件下非线性控制时滞系统的开环PD型迭代学习进行了研究[24],孙瑜、李志安对一类非线性时变系统在任意初值条件下采用开环D型迭代学习控制算法时的收敛条件进行了研究,并运用算子理论进行收敛性证明[3],曹伟、戴学丰等对有限时间区间上重复运行的非线性系统研究在任意初态条件下闭环D型迭代学习控制的收敛性[25],曹伟、丛望等针对一类有限时间区间上重复运行的状态时滞非线性系统进行迭代学习控制研究,并给出了算法的谱半径形式收敛条件[26].然而在上述文献中的ILC算法研究,都只考虑存在初态误差的情况下系统收敛性问题,而对引入遗忘因子后的系统特性变化没有涉及,因此,研究任意初态下遗忘因子ILC控制系统的收敛性更具有实际意义.
本文针对一类时变非线性系统,从遗忘因子ILC算法的构建形式方面进行改进,提出一种带有多控制向量的遗忘因子初态学习迭代学习控制算法,通过算子谱理论进行算法收敛性数学证明,分析遗忘因子对算法输出误差收敛区域大小的影响.仿真结果表明,使用本文提出的多控制向量遗忘因子初态学习迭代学习控制算法,可使系统输出误差收敛,有效减小遗忘因子导致的输出收敛误差,提高系统跟踪误差性能.
1 算法研究 1.1 问题描述考虑如下重复运行的时变非线性系统:
(1) |
式中,t∈[0,T],x(t),y(t),u(t)∈Rn分别表示系统的状态、输出和控制向量,f、B、g为适当维数的向量或矩阵.
假设该系统每次迭代时状态的初值都不相同,记第k次迭代的初值为xk(0),系统状态与输出为
(2) |
其输出误差为
(3) |
则对系统(1)设计初态学习下带遗忘因子的开环D型迭代学习控制器
(4) |
(5) |
式中,0≤λ < 1为遗忘因子,学习增益L(t)为有界函数.
与常见的带遗忘因子的迭代学习控制算法形式uk+1(t)=λuk(t)+L(t)
由于已知系统中引入遗忘因子及考虑初态学习后,会导致跟踪误差不能收敛为零,所以针对文[27]中的定理1、2引入与迭代次数k无关的常数L,重新推导得到引理1、2.
引理1 设常数序列{bk}k≥0收敛到零,序列{Zk(t)}k≥0⊂C[0,T]满足
(6) |
则当k→∞时,{Zk(t)}k≥0一致地收敛到一个与L有关的有限区间内.其中M > 0,0 < β < 1均为常数,L为任意大于零的常数.
引理2 设常数序列{bk}k≥0(bk≥0)收敛到零,算子C:Cr[0,T]→Cr[0,T],并满足
式中,M≥1为常数,L为任意大于零的常数. Cr[0,T]的r维向量取最大值范数,设P(t)为r×r维连续函数矩阵,令:
若P的谱半径小于1,则:
对于t一致地成立.
由引理1、2可知,算子范数||Qk||的取值范围扩大后,由于与k无关,所以不影响
假设系统(1)在时间区间t∈[0,T]的任意时刻均满足以下假设条件:
假设1 f(t,x(t))关于x(t)满足Lipschitz条件,即存在kf > 0,对于x1(t),x2(t)∈Rn,t∈[0,T],有
(7) |
假设2 期望轨迹yd(t)在[0,T]上连续.
假设3 在t∈[0,T]中,B(t)和g(t,x(t))有界.
假设4 系统初态偏移有界,即||xd(0)-xk(0)||≤b0.
假设5 u1(t)=λu0(t)+L(t)
定理1[27] 设x(t),c(t)和a(t)是[0,T]上的实值连续函数,且a(t)在[0,T]上非负,若x(t)≤c(t)+
(8) |
定理2 满足假设1~5的非线性系统(1)在迭代学习律式(4)和式(5)的作用下,如果满足:
则系统在任意初始状态下,系统的输出误差将收敛于某一特定界限.
证明 由式(1)~(5)得:
(9) |
由微分中值定理得:
(10) |
将式(10)代入得:
(11) |
定义算子P:Cr[0,T]→Cr[0,T]为
(12) |
定义算子Qk:Cr[0,T]→Cr[0,T]为
(13) |
则式(11)变为
对算子Qk进行估计,可得式(13)前半部分
(14) |
其中,
对式(9)整理后取范数,并由定理1可得:
(15) |
其中,
同时可由式(4)推出:
(16) |
又由于
则可得式(13)的后半部分
(17) |
其中,
可知当k→∞时,
(18) |
即当系统存在输出干扰时,系统的输出误差将会收敛到零的某一邻域内,系统输出有界,定理2成立.
由定理2证明结果可以看出:当系统确定后,引入遗忘因子λ将直接决定系统输出误差收敛区域大小,当λ=1且k→∞时,输出误差收敛于零,0 < λ < 1时,λ越小,系统输出误差越大,λ越大,误差越小.推导过程中出现的变量U0在最终的收敛误差区域中没有出现,这也就意味着系统初始控制向量对该算法的收敛误差没有影响,允许根据系统控制要求选择适当的初始控制向量,放宽了系统收敛条件.
通常情况下,ILC中使用遗忘因子控制律时,为了兼顾收敛性和鲁棒性,uk(t)所占比重较多,所以,λ > 0.5甚至λ > 0.9.此时由式(18)可知,系统输出跟踪误差随遗忘因子的增大而减小.但是当遗忘因子λ无限接近1时遗忘因子也就失去了存在的意义,所以应根据工程实际在收敛精度和鲁棒性之间取得平衡.
2 仿真验证使用文[4]中的非线性时变系统进行仿真验证:
假设期望轨迹为y1d(t)=y2d(t)=12t2(1-t),迭代初始状态选取为[x1(0),x2(0)]=[1.2,1],期望初始状态为[x1(0),x2(0)]=[0, 0],学习增益矩阵为L=
同时选取初始控制为[u1(t),u2(t)]=[0, 1],t∈[0, 1],遗忘因子为λ=0.9,此时仿真结果如下:
图 1为无遗忘因子时前30次迭代输出曲线,图 3为使用本文提出的遗忘因子算法时前30次迭代输出曲线,图 2、图 4为相应的输出误差范数与迭代次数之间的关系,其中k为迭代次数,红色曲线代表期望轨迹,蓝色曲线代表不同迭代次数时实际输出轨迹.
为更好地对比不同遗忘因子对系统输出误差的影响,将传统D型算法[3]、传统遗忘因子算法[22]、指数变增益算法[28]、自适应算法[29]以及本文提出的遗忘因子算法进行了对比,具体结果如表 1、表 2所示.
算法 | norm(e1) | norm(e2) |
uk+1(t)=uk(t)+L(t)k(t) | 0.049 | 9.7×10-4 |
uk+1(t)=λuk(t)+L(t)k(t) (λ=0.9) | 8.245 | 0.209 |
uk+1(t)=uk(t)+L(t)expλtk(t) (λ=0.8) | 0.007 | 3.8×10-4 |
uk+1(t)=uk(t)+L(t)k(t)+δk(t)sgn(k(t)) (δk(t)=δk-1(t)+10-5k(t)sgn(k(t)) | 0.186 | 0.104 |
uk+1(t)=λuk(t)+L(t)k(t)+(1-λ)uk-1(t) (λ=0.8) | 0.154 | 2.8×10-3 |
uk+1(t)=λuk(t)+L(t)k(t)+(1-λ)uk-1(t) (λ=0.9) | 0.096 | 1.8×10-3 |
算法 | norm(e1) | norm(e2) |
uk+1(t)=uk(t)+L(t)k(t) | 3.0×10-5 | 1.6×10-6 |
uk+1(t)=λuk(t)+L(t)k(t) (λ=0.9) | 1.8×10-5 | 1.2×10-6 |
uk+1(t)=uk(t)+L(t)expλtk(t) (λ=0.8) | 0.189 | 0.131 |
uk+1(t)=uk(t)+L(t)k(t)+δk(t)sgn(k(t)) (δk(t)=δk-1(t)+10-5k(t)sgn(k(t)) | 8.263 | 0.207 |
uk+1(t)=λuk(t)+L(t)k(t)+(1-λ)uk-1(t) (λ=0.8) | 5.5×10-4 | 2.1×10-5 |
uk+1(t)=λuk(t)+L(t)k(t)+(1-λ)uk-1(t) (λ=0.9) | 1.6×10-4 | 6.8×10-6 |
由图 1~4可以看出,本文提出的遗忘因子ILC算法收敛且第30次迭代时输出误差大于无遗忘因子ILC算法输出误差.从表 1、2的对比可以看出,传统遗忘因子ILC算法输出误差范数较大且保持在一个固定数值附近,指数变增益ILC算法具有更小的系统输出误差,自适应ILC算法的收敛速度与收敛误差较差,而本文提出的多变量遗忘因子算法的输出误差可以随着迭代次数的增加而持续减小,有效抑制遗忘因子对系统跟踪误差性能的影响,兼顾系统收敛速度与收敛误差.
3 结论1) 本文提出的遗忘因子ILC算法将多个控制向量与初态学习引入ILC算法中,可以有效跟踪系统期望轨迹,并通过算子谱理论严格证明了算法有界收敛.
2) 提出的基于初态学习的多变量遗忘因子ILC算法有效利用多个系统信息,明显减小遗忘因子对系统输出误差带来的影响.
3) 遗忘因子的取值对系统输出误差的影响较大,本文提出的算法放宽了遗忘因子取值范围,增加了控制系统构建设计的灵活性.
[1] | Arimoto S, Kawamura S, Miyazaki F. Bettering operation of robots by learning[J]. Journal of Robotic Systems, 1984, 1(2): 123–140. DOI:10.1002/(ISSN)1097-4563 |
[2] |
黄发钧, 杨孟远.
迭代学习控制的研究与现状[J]. 计算机与现代化, 2008(9): 23–26.
Huang F J, Yang M Y. Development of Iterative Learning Control[J]. Computer and Modernization, 2008(9): 23–26. DOI:10.3969/j.issn.1006-2475.2008.09.006 |
[3] |
孙瑜, 李志安.
一类非线性系统在任意初值下的开环D型迭代学习控制[J]. 系统仿真学报, 2008, 20(24): 6767–6770.
Sun Y, Li Z A. Open-loop D-type iterative learning control for a class of nonlinear systems with arbitrary initial value[J]. Journal of System Simulation, 2008, 20(24): 6767–6770. |
[4] | Mishra S, Topcu U, Tomizuka M. Optimization-based constrained iterative learning control[J]. IEEE Transactions on Control Systems Technology, 2011, 19(6): 1613–1621. DOI:10.1109/TCST.2010.2083663 |
[5] | Butcher M, Karimi A. Iterative learning control using stochastic approximation theory with application to a mechatronic system[M]. Berlin, Germany: Springer, 2010: 49-64. |
[6] | Hu K, Ott C, Lee D. Online iterative learning control of zero-moment point for biped walking stabilization[C]//International Conference on Robotics and Automation (ICRA). Piscataway, NJ, USA: IEEE, 2015: 5127-5133. |
[7] |
曹伟, 戴学丰, 刘艳菊.
移动机器人的可变遗忘因子离散迭代学习控制[J]. 北京工业大学学报, 2015, 41(10): 1516–1521.
Cao W, Dai X F, Liu Y J. Discrete iterative learning control with variable forgetting factor for mobile robots[J]. Journal of Beijing University of Technology, 2015, 41(10): 1516–1521. DOI:10.11936/bjutxb2014100068 |
[8] |
陶洪峰, 董晓齐, 杨慧中.
离散非线性系统的迭代学习轨迹跟踪鲁棒算法优化及应用[J]. 信息与控制, 2016, 45(4): 385–390.
Tao H F, Dong X Q, Yang H Z. Robust optimization and application of iterative learning trajectory tracking algorithm for discrete nonlinear systems[J]. Information and Control, 2016, 45(4): 385–390. |
[9] | Deng H, Oruganti R, Srinivasan D. Analysis and design of iterative learning control strategies for UPS inverters[J]. IEEE transactions on Industrial Electronics, 2007, 54(3): 1739–1751. DOI:10.1109/TIE.2007.894701 |
[10] |
姜晓明, 王岩, 王程, 等.
鲁棒迭代学习控制及在高精密平台中的应用[J]. 系统工程与电子技术, 2013, 35(3): 601–608.
Jiang X M, Wang Y, Wang C, et al. Robust iterative learning control and its application to high precision test bench[J]. Systems Engineering and Electronics, 2013, 35(3): 601–608. DOI:10.3969/j.issn.1001-506X.2013.03.26 |
[11] | Panda S K, Xu J X, Qian W. Review of torque ripple minimization in PM synchronous motor drives[C]//Power and Energy Society General Meeting-Conversion and Delivery of Electrical Energy in the 21st Century. Piscataway, NJ, USA: IEEE, 2008: 1-6. |
[12] | Chien C J, Hung Y C, Chi R H. Design and analysis of current error based sampled-data ILC with application to position tracking control of DC motors[C]//The 11st IEEE International Conference on Control & Automation (ICCA). Piscataway, NJ, USA: IEEE, 2014: 1162-1167. |
[13] | Li W S, Zhang J, Li Y. A simpler and more efficient iterative learning controller for PMSM torque ripple reduction[C]//International Conference on Electrical Machines and Systems (ICEMS). Piscataway, NJ, USA: IEEE, 2013: 1231-1235. |
[14] | Parmar G, Barton K, Awtar S. Large dynamic range nanopositioning using iterative learning control[J]. Precision Engineering, 2014, 38(1): 48–56. |
[15] | Arimoto S, Naniwa T, Suzuki H. Robustness of P-type learning control with a forgetting factor for robotic motions[C]//The 29th IEEE Conference on Decision and Control. Piscataway, NJ, USA: IEEE, 1990: 2640-2645. |
[16] |
杨红.
带遗忘因子的PD型迭代学习控制算法研究[J]. 暨南大学学报(自然科学与医学版), 2013, 34(1): 27–30.
Yang H. PD-type iterative learning control algorithm research with forgetting factor[J]. Journal of Jinan University (Natural Science), 2013, 34(1): 27–30. DOI:10.3969/j.issn.1000-9965.2013.01.007 |
[17] |
丁健, 杨慧中.
基于遗忘因子最小二乘的自适应学习控制[J]. 控制工程, 2013, 20(6): 1010–1013.
Ding J, Yang H Z. Adaptive Learning control based on least squares algorithm with a forgetting factor[J]. Control Engineering of China, 2013, 20(6): 1010–1013. DOI:10.3969/j.issn.1671-7848.2013.06.005 |
[18] |
曹勇, 李华德.
带有遗忘因子的滤波器型迭代学习直线伺服系统[J]. 北京科技大学学报, 2009, 31(2): 266–271.
Cao Y, Li H D. Filtered-version iterative learning linear servo system with forgetting factor[J]. Journal of University of Science and Technology Beijing, 2009, 31(2): 266–271. DOI:10.3321/j.issn:1001-053X.2009.02.024 |
[19] |
田森平, 谢胜利. 一种新的带有遗忘因子的迭代学习控制算法[C]//第二十二届中国控制会议论文集. 北京: 中国自动化学会控制理论专业委员会, 2003: 331-334. Tian S P, Xie S L. A new algorithm of iterative learning control with forgetting factors[C]//The 22nd Chinese Control Conference. Beijing, China: TCCT, 2003: 331-334. |
[20] | Bouakrif F. Iterative learning control for strictly unknown nonlinear systems subject to external disturbances[J]. International Journal of Control, Automation and Systems, 2011, 9(4): 642–648. DOI:10.1007/s12555-011-0404-z |
[21] |
孙瑜, 夏鹏, 林辉.
含状态时滞的非线性间歇过程迭代学习控制研究[J]. 系统工程与电子技术, 2011, 33(2): 380–384.
Sun Y, Xia P, Lin H. Iterative learning control for a class of nonlinear batch processes with state delay[J]. Systems Engineering and Electronics, 2011, 33(2): 380–384. DOI:10.3969/j.issn.1001-506X.2011.02.30 |
[22] |
汪首坤, 彭建敏.
带遗忘因子的预测迭代学习控制在阀控非对称缸系统中的应用研究[J]. 机械工程学报, 2014, 50(10): 191–197.
Wang S K, Peng J M. Applied research with forgetting factor predictive of iterative learning control valve controlled asymmetrical cylinder system[J]. Journal of Mechanical Engineering, 2014, 50(10): 191–197. |
[23] |
王洪瑞, 王娜, 王洪斌, 等. 具有可变遗忘因子的非因果型迭代学习算法[C]//第三十二届中国控制会议论方集. 西安: 中国自动化学会控制理论专业委员会, 2013: 5420-5425. Wang H R, Wang N, Wang H B, et al. Non-causal iterative learning algorithm with variable forgetting factor[C]//The 32nd Chinese Control Conference. Xi'an: TCCT, 2013: 5420-5425. |
[24] |
孙瑜, 李志安, 林辉.
一类含控制时滞非线性系统在任意初值下的开环PD型迭代学习控制[J]. 兵工学报, 2010, 31(6): 837–841.
Sun Y, Li Z A, Lin H. Open-loop PD-type iterative learning control for a class of nonlinear systems with control delay and arbitrary initial value[J]. Acta Armamentarii, 2010, 31(6): 837–841. |
[25] |
曹伟, 戴学丰.
非线性系统在任意初态下的闭环迭代学习控制[J]. 系统仿真学报, 2011, 23(5): 965–968.
Cao W, Dai X F. Closed-loop iterative learning control with arbitrary initial state of nonlinear systems[J]. Journal of System Simulation, 2011, 23(5): 965–968. |
[26] |
曹伟, 丛望, 孙明.
初态学习下时滞非线性系统的迭代学习控制[J]. 仪器仪表学报, 2012, 33(2): 315–320.
Cao W, Cong W, Sun M. Iterative learning control with initial state study for nonlinear time-delay system[J]. Chinese Journal of Scientific Instrument, 2012, 33(2): 315–320. DOI:10.3969/j.issn.0254-3087.2012.02.011 |
[27] |
林辉, 王林.
迭代学习控制理论[M]. 西安: 西北工业大学出版社, 1998: 17-88.
Lin H, Wang L. Iterative Learning Control Theory[M]. Xi'an: Northwestern Polytechnical University Press, 1998: 17-88. |
[28] |
曹伟, 丛望, 孙明.
带有初态学习的指数变增益迭代学习控制[J]. 系统工程与电子技术, 2012, 34(4): 773–777.
Cao W, Cong W, Sun M. Iterative learning control of variable index gain with initial satate study[J]. Systems Engineering and Electronics, 2012, 34(4): 773–777. DOI:10.3969/j.issn.1001-506X.2012.04.24 |
[29] |
刘金琨.
机器人控制系统的设计与Matlab仿真[M]. 北京: 清华大学出版社, 2008: 311-323.
Liu J K. Robot control system design and Matlab simulation[M]. Beijing: Tsinghua University Press, 2008: 311-323. |