APP下载

死区非线性输入系统的自适应迭代学习控制①

2022-02-27陈建勇

高技术通讯 2022年11期
关键词:死区非对称修正

陈建勇

(浙江工业大学信息工程学院 杭州 310023)

0 引言

迭代学习控制(iterative learning control,ILC)是处理非线性系统重复跟踪控制的有效方法。它利用跟踪误差调节被学习信号,从而不断修正控制输入,在有限作业区间上可以实现零误差跟踪性能。自适应控制主要用于处理非线性系统的参数不确定性[1-2],通过设计自适应律对未知常参数进行估计。随着自适应控制的深入研究,人们逐渐从自适应控制角度去设计学习控制,也利用学习控制来改善自适应过渡过程的动态品质。二者相互结合既能取长补短又能拓宽各自的应用范围,从而不断完善自适应迭代学习控制理论[3-4]。

常规迭代学习控制严格遵循初值一致性假设,即每次迭代时系统初值要等于参考轨迹初值。然而,在实际操作过程中,由于设备复位精度、外界干扰等因素的影响,系统运行时可能发生重置偏差。系统重复运行又会导致误差累加继而影响控制精度。因此,初值问题是迭代学习控制领域需处理的基本问题之一。目前,基于Lyapunov 理论讨论初值问题的研究日益受到学者关注,并得到了一些解决方案。文献[5]提出时变边界层法,利用边界层的衰减特性,实现系统误差的渐进收敛。文献[6]考虑一类存在初态误差的纯反馈系统的跟踪控制问题,利用时变边界层构造误差函数解决了初值问题。文献[7]针对一阶参数化系统研究了5 种初值假设下的输出跟踪情况。文献[8]利用变期望轨迹校正方法,即在初始时间段内根据系统状态初始点和期望轨迹切入点,设计一段过渡轨迹从而保证初态零误差。文献[9]提出一种误差跟踪设计方法,通过设计期望误差轨迹得到控制器,确保了跟踪误差轨迹在整个作业区间上与预定轨迹完全吻合。

死区非线性特性广泛存在于各类直流电机、伺服系统中,是影响系统控制性能的重要因素之一。对死区非线性的研究是控制理论研究的一项重要内容,为此人们提出了一些解决办法。文献[10]针对系统死区特性建立了死区模型,并利用自适应反演控制方法补偿死区。文献[11]对于一类非线性系统建立了对称死区逆模型。文献[12]考虑了死区反函数法,用于补偿死区特性对系统带来的影响。文献[13]提出了未知非对称死区的补偿方法,但需要确定未知死区的界函数。文献[14]将死区转化为外界扰动的形式,但需要事先确定已知死区函数的断点和斜率。为了克服文献[14]的限制,文献[15]基于单个神经网络函数逼近器对死区近似估计进行有效补偿。

文献[6]利用时变边界层法处理了存在初态误差的一类非线性系统控制问题,但系统中没有考虑死区输入问题。文献[16]利用神经网络技术解决了非线性系统存在死区输入的学习控制问题,但没有涉及初值问题。借鉴文献[6]和文献[16]的结果,本文考虑存在初值问题以及死区输入问题的一类非线性系统,并提出基于径向基函数(radial basis function,RBF)神经网络的迭代学习控制算法。通过构造新的修正函数形式设计了校正参考轨迹,使得系统状态初值可任意选取;结合微分中值定理,将非对称死区转化为线性形式,利用RBF 神经网络对不确定性和死区参数进行估计;给出了未知参数的微分-差分学习律。文中所提控制算法能实现系统状态在预指定作业区间上对参考轨迹的完全跟踪。

1 修正函数设计:一个说明性例子

先考虑一类重复运行的不确定系统,其表达式如下:

其中,k(k=0,1,2,…)为迭代次数,t∈[0,T]表示运行时间,T >0 为迭代运行长度,Θ∈Rl是未知参数向量,ϕ(xk)∈Rl是已知光滑函数向量,xk=[x1,k,x2,k,…,xn,k]T∈Rn为系统状态向量。控制增益b为未知常数,不失一般性,假定b的符号已知,不妨设b >0。yk∈R代表系统控制输出,uk(t)∈R代表系统控制输入。给定参考轨迹为x1r(t),t∈[0,T]且存在n阶导数,记存在,令xr=[x1r,x2r,…,xnr]T。为了后续使用方便,记ϕk=ϕ(xk),uk=uk(t)。

记zk=xk-xr=[z1,k,z2,k,…,zn,k]T。由于系统初值xk(0) 随迭代变化使得zk(0)≠0,不满足迭代学习控制初态零误差要求,需要设计校正参考轨迹xd,k=[x1d,k,x2d,k,…,xnd,k]T,即

式中,修正函数ωi(t)∈R(i=1,2,…,n)需要满足如下条件:

当ωi(t)满足上述5 个条件时,可知当t∈[T1,T]时,xd,k(t)=xr(t);当t=0 时,有xd,k(0)=xk(0)。

选取适合的修正函数ωi(t)是设计校正参考轨迹xd,k的关键[17]。研究者已经给出了多种修正函数的方法。文献[18]和[19]分别给出了设计一阶系统和二阶系统修正函数的方法及形式。文献[20]给出了如下高阶系统的修正函数设计形式:

该修正函数形式较为复杂,并且在各阶求导计算时工作量较大。因此,本文将从多项式角度来设计高阶系统的修正函数,构造如下形式的ωi(t)表达式:

由式(3)可知,本文设计的修正函数ωi(t)形式简单,求导计算方便,易于推广,且,j=0,1,2,…,n-1;j≠i-1。为了满足ωi(T1)=0,,j=1,2,…,n,ωi(t)表达式中的系数可按如下方式选取:

其中,

根据式(2),定义状态误差如下:

记滤波误差如下:

其中,正实数ci(i=1,2,…,n-1)是Hurwitz 多项式H(λ)=λn-1+cn-1λn-2+…+c1的系数。令c=[0,c1,c2,…,cn-1]T,且满足范数‖c‖≥1。

为了叙述简便,文中将函数的时间自变量t略去。

对式(5)中的sk求导,可得

设计控制律:

其中,σ为正常数,为Θ′的估计。

微分学习律:

其中,Γ是对称正定矩阵,。

假设1对∀k,有。

将控制律式(7)代入式(6),可得

为了分析系统性能,选取正定函数:

对Vk求导,将微分学习律式(8)代入式(10),可得

取式(12)中的k=1,2,…,N并求和,得到

2 学习控制问题及算法提出

考虑一类存在初态误差且含有非对称死区输入系统的跟踪控制问题,其表达式如下:

其中,f(xk)∈R为未知光滑有界非线性不确定函数,记fk=f(xk)。vk为控制器输出经非对称死区后作用于对象的控制量,D(·)代表死区非线性,其形式如下:

其中,mr(br)=ml(bl)=0。常数br >0,bl <0,[bl,br]为未知死区宽度。mr(uk)和ml(uk)为未知光滑非线性函数。由式(15)可知,当br=-bl,且mr(uk)和ml(uk)为线性函数时,式(15)可退化成对称线性死区。因此,系统中考虑非对称死区更具一般性,但也增加了控制器的设计难度。

对于不确定系统式(14),其控制目标是在任意初态情形下,通过构造修正函数获得校正参考轨迹,并设计迭代学习控制器uk。经充分迭代学习后,可实现系统状态在预指定作业区间上完全跟踪参考轨迹,并使系统滤波误差以L2范数形式收敛于0。

对式(5)中的sk求导,可得

对死区非线性做如下假设。

假设2记mr(uk)和ml(uk)的一阶导数分别为m′r(uk)和m′l(uk),且符号已知,不失一般性,不妨设m′r(uk)>0,m′l(uk)>0。

假设3存在未知正常数使得m′r(uk)和m′l(uk)满足如下条件:

由假设2 和假设3 可知,死区非线性具有动态、非平滑的特点,这为控制器的设计带来了不便。利用微分中值定理,式(15)描述的死区函数D(uk)重新表示如下:

这里,

当uk≥br时,ηr∈(br,uk);当uk≤bl时,ηl∈(uk,bl);当bl

将式(18)代入式(16),可得

考虑正定函数:

利用RBF 神经网络逼近不确定函数Hk,可得

其中,l(l >1)为神经网络的节点数,wi表示中心点,μi为宽度,记φk=φ(Xk)。W∗∈Rl为理想权重矩阵。εk为重构误差,且存在一个正常数,满足。人们可以通过增加神经网络节点数来降低重构误差。

由于存在重构误差,为了防止系统发散及后续分析需要,文中引入一级数收敛数列。

定义1级数收敛序列{Δk}定义为[21]

其中,常数k=1,2,…;给定常数q≥0∈R,m≥2∈N。

对式(26)两边关于k求和并取极限,得到如下性质:

式(24)中利用Young′s 不等式,可得

其中,标量θ=‖W∗‖2。

将式(28)代入式(24),可得

选取Lyapunov 函数:

其中,常数δ∈[0,1),常数β >0,。

选取控制律:

其中,σ为正常数。

微分-差分学习律:

对式(30)中的Vk求导,可得

假设4对∀k,有。

定理1非线性系统式(14)在任意初态下,满足假设2~4,采用控制律式(31)以及微分-差分学习律式(32),足够多次迭代后,可使sk以L2范数形式收敛于0。

证明定义Lyapunov 泛函:

连续2 次迭代的差分为

根据等式(b-a)(2a-2c)+(b-a)2-(b-c)2=-(c-a)2,则式(35)的后两项处理后,得到

由于sk(0)=0 并结合假设4,得到

因此,令t=T,取式(36)中的k=1,2,…,N并求和,可得

由式(27)知

若能证明L0(T)的有界性,则有界。结合式(39),当k→∞时,可使sk在整个作业区间上收敛于0。下面证明L0(t)在区间[0,T]上的有界性。

对式(34)中Lk求导,可得

进一步地,由式(40)得到

因此,L0(t)在区间[0,T]上是有界的。由式(39)可知,经过充分迭代后,可使sk以L2范数形式收敛于0。

3 数值仿真

为了验证所提控制算法的有效性,考虑如下非对称死区输入二阶系统:

给定非对称死区函数表达式为

设定系统式(43)中各参数值如下:T=2,T1=0.5,c1=8,σ=0.1,q=90/3,m=2,β=1。状态初值x1,k(0)=0.25+0.1rand,x2,k(0)=0,b=2。

给定参考轨迹如下。

采样间隔取为0.001 s,由于系统状态初值随迭代变化,需要设计校正参考轨迹xd,k=[x1d,k,x2d,k]T,具体表示为

其中,ω1(t)和ω2(t)的选取如下:

其中,系数为

图1 x1,k及参考轨迹x1r(k=10)

图2 x2,k及参考轨迹x2r(k=10)

图3 死区作用下状态误差性能指标J1,k,J2,k

图4 死区作用下滤波误差性能指标Sk

图5 死区输出和控制输入

从图1 和图2 可知,经多次迭代后状态x1,k和x2,k在时间区间[0.5,2]上完全跟踪上参考轨迹x1r和x2r。图3 和图4 分别是J1,k、J2,k和Sk随迭代次数变化的情况。图5 是第10 次迭代过程中的控制输入以及非对称死区作用后的控制量输出情形。

若系统式(14)中不存在不确定性和死区输入环节,则系统退化成系统式(1)的形式。采用控制律式(7)和微分学习律式(8)进行仿真,且参考轨迹、校正参考轨迹和各参数选取同前,另取Γ=diag{1,1,1}。仿真结果如图6和7 所示。

图6 无死区作用下J1,k,J2,k的收敛过程

图7 无死区作用下Sk 的收敛过程

通过仿真实例,可以看出利用本文所提学习控制算法,系统可实现在预指定作业区间上对参考轨迹的完全跟踪。

4 结论

本文讨论了一类含输入死区以及初值问题的非线性系统的跟踪控制问题。通过构造形式简单的新修正函数设计了校正参考轨迹,并利用RBF 神经网络对不确定性和死区参数进行了估计,给出了微分-差分学习律。控制器设计过程中考虑了重构误差对系统跟踪性能的影响,为了防止系统发散引入了级数收敛序列,所设计的控制器实现了系统状态对参考轨迹在预指定作业区间上的完全跟踪。

猜你喜欢

死区非对称修正
Some new thoughts of definitions of terms of sedimentary facies: Based on Miall's paper(1985)
修正这一天
具有输入死区的分数阶Victor-Carmen 系统的有限时间同步(英)
阀控非对称缸电液伺服系统线性自抗扰控制
非对称干涉仪技术及工程实现
零电压开关移相全桥的死区时间计算与分析
软件修正
输油站进站压力控制方案优化
含有死区与间隙电动舵机的反演控制
基于PID控制的二维弹道修正弹仿真