本发明涉及非线性系统控制方法,尤其涉及一种多输入多输出系统的迭代学习控制方法。
背景技术:
迭代学习控制起源于真实工业场所中的机械臂的控制研究,所以其被控系统必须满足能不断重复运行的要求,这样,我们可以充分利用多次反复运行中所能得到的信息(比如多次运行中的控制输入信息、输出跟踪误差信息、可测状态信息等)以弥补工业场所中肯定存在的多种系统不确定性。此时,限制迭代学习控制算法应用的主要有两个因素:其一,工业系统大部分是多输入多输出的,要想较好的将设计的算法应用于实际被控系统,仅针对简单的单输入单输出系统设计迭代学习控制律肯定是不能满足实际控制要求的;其二,实际系统在多次重复运行中肯定存在大量的多种非严格重复量,比如非严格重复的初态定位,非严格重复的系统变量,非严格重复的跟踪轨迹等。
系统中的非严格重复量的变化模式可以分为两类,随机有界变化和按照某种规律变化。针对机械臂抓取物品轨迹的变化方式进行分析发现,沿迭代轴方向机械臂线性的变化轨迹可综合表述为满足某种高阶内模。这样,可将高阶内模用数学公式描述成迭代域-时域变化的耦合变量。因此,被控系统中存在的多种非严格重复情况就可分为两类,随机有界变化和满足高阶内模变化规律。多种非严格重复情况加大了进行未知参数估计和迭代学习控制律设计的难度。
因此,如何针对存在多种非严格重复变化的多输入多输出系统,进行迭代学习控制律设计,实现在有限时间内的高精度跟踪成为研究非线性控制技术的重要内容之一。但是,考虑到设计的复杂性,类似的研究还很少见。
技术实现要素:
发明目的:针对现有技术存在的问题,本发明的目的是提供一种针对多种变化模式的非严格重复问题,仅需要一次未知参数估计,即可实现在有限时间内渐近跟踪的多输入多输出系统的迭代学习控制方法,解决了一类存在高阶内模产生的未知参数的多输入多输出非线性系统中存在的跟踪精度低的问题,
技术方案:一种多输入多输出非线性系统的迭代学习控制方法,所述多输入多输出系统的离散时间动力学模型为:
其中,t∈{0,1,…,t}代表离散时间;k=1,2,…代表被控系统可重复运行的次数,即迭代次数;xk(t)∈rn代表可测的系统状态;uk(t)∈rn代表系统输入;
(1)赋全部初值和跟踪参考轨迹值
(2)构建全部未知参数组成的未知矩阵向量;
(3)设计基于最小二乘法的迭代学习控制方法;
所述动力学模型满足如下先验条件:
条件1:非线性函数ξ(l)(xk(t),t)满足线性增长条件,即
|ξ(l)(xk(t),t)‖≤a1+a2‖xk(t)‖,l=1,2,…,p
其中,0<a1<∞,0<a2<∞;
条件2:对于所有的t∈{0,1,…,t}和k∈z+,在迭代域上随机变化的状态初值xk(0)和跟踪参考轨迹
条件3:系统未知参数
其中,
所述步骤(1)中,具体包括如下内容:
(1.1)寻找合适的控制输入序列uk(t),t∈{0,1,…,t-1},使得当迭代次数k→∞时,系统状态xk(t)沿着迭代轴渐近跟踪到理想参考轨迹
(1.2)高阶内模产生的系统未知参数是时域-迭代域变化的,进行时域-迭代域解耦:
用ω表示迭代域的变化情况,满足
将公式
其中,
(1.3)定义矩阵向量
其中,
其中,
在
所述步骤(2)中,具体包括如下内容:
(2.1)定义第k次迭代时的跟踪误差为:
由于
其中,
(2.2)令
其中,ψ(t)是系统中的全部未知参数构成的未知矩阵向量。
所述步骤(3)中,具体包括如下内容:
(3.1)设计第k次迭代时的控制输入:
其中,
(3.2)
其中,
其中,in∈rn×n是单位矩阵。
所述外循环的迭代次数k的结束条件设置为“系统跟踪误差是否小于等于某个给定误差值”,所述给定误差值和被控系统状态相关。当被控系统要求精度比较高时,如高精度场合机械臂的定位控制,要求给定误差可等于毫米级或更小。
此外,循环的迭代次数k的结束条件还可以设置为“迭代次数是否达到某个给定值”,所述给定值和被控系统相关。例如在永磁同步电机的速度跟踪控制中,一般要求迭代次数至少小于100次,即可实现控制目标。
有益效果
与现有技术相比,本发明具有如下显著进步:1、针对多输入多输出系统,实现在有限时间内的多个跟踪轨迹的跟踪误差渐近收敛;2、针对多种迭代变化的未知参数,设计未知参数估计矩阵,一次估计全部未知向量矩阵,学习收敛性好;3、被控系统中的非线性函数仅要求满足线性增长条件,系统满足条件更宽泛,适应性更广。
附图说明
图1为本发明的一种多输入多输出系统的迭代学习控制方法原理图;
图2为本发明多输入多输出系统的迭代学习控制方法的流程图;
图3a为二输入二输出非线性系统的实施例中,系统跟踪最大绝对值误差
图3b为二输入二输出非线性系统的实施例中,系统跟踪最大绝对值误差
图3c为二输入二输出非线性系统的实施例中,跟踪参考轨迹
图3d是二输入二输出非线性系统的实施例中,跟踪参考轨迹
具体实施方式
下面结合实施例和附图对本发明的技术方案作进一步详细说明。
在对未知参数进行时域-迭代域解耦的基础上,本发明引入最小二乘法进行全部未知参数构成的未知矩阵向量的估计,并引入一种新的迭代学习控制算法,使得轨迹跟踪误差在有限时间内渐近收敛。本发明的迭代学习控制方法同时解决了高阶内模产生的未知参数、跟踪轨迹和初态定位的非严格重复问题。
如图1所示,本发明的一种多输入多输出系统的迭代学习控制方法,主要内容如下:
1)未知参数的时域-迭代域解耦;
本发明的应用对象是一类多输入多输出非线性系统。一般离散时间动力学模型可以如下式表示:
其中,t∈{0,1,…,t}代表离散时间;k=1,2,…代表被控系统可重复运行的次数,即迭代次数;xk(t)∈rn代表可测的系统状态;uk(t)∈rn代表系统输入;
此外,对于上述一般动力学系统模型进行迭代学习控制方法设计需要满足如下先验条件:
条件1:非线性函数ξ(l)(xk(t),t)满足线性增长条件,即
||ξ(l)(xk(t),t)||≤a1+a2||xk(t)||,l=1,2,…,p(2)
其中,0<a1<∞,0<a2<∞。
条件2:对于所有的t∈{0,1,…,t}和k∈z+,在迭代域上随机变化的状态初值xk(0)和跟踪参考轨迹
条件3:系统未知参数
其中,
高阶内模是一种描述时间轴-迭代轴变化的一般线性方式。
在一个实施例中,高阶内模变化方式包括了比例变化方式,此时,
在另一个实施例中,高阶内模变化方式包括了仅随时间轴变化而不随迭代轴变化的情况,此时
控制目的是寻找合适的控制输入序列uk(t),t∈{0,1,…,t-1}使得当迭代次数k→∞时,系统状态xk(t)沿着迭代轴渐近跟踪到理想参考轨迹
高阶内模产生的系统未知参数(3)是时域-迭代域变化的。为了更好的分析系统中的未知情况,进行时域-迭代域解耦。
用ω表示迭代域的变化情况,满足
公式(3)中的系统未知参数的变化模式可改写如下:
其中,
定义矩阵向量
其中,
将(b(l))k的最后一行记为
其中,
在公式(6)中,未知时变-迭代变化的参数被解耦成两部分,迭代变化的已知向量部分,即
2)构建全部未知参数组成的未知矩阵向量;
定义第k次迭代时的跟踪误差为:
由于
其中,
令
其中,ψ(t)是系统中的全部未知参数构成的未知矩阵向量。
3)设计基于最小二乘法的迭代学习控制方法;
设计第k次迭代时的控制输入是
其中,
其中,
正定学习增益矩阵的迭代学习律为:
其中,in∈rn×n是单位矩阵。
如图2所示为本发明的流程示意图,首先赋全部初值和跟踪参考轨迹值。其次,令外循环为k,内循环为t,在内循环t中,计算系统跟踪误差、已知矩阵向量、未知参数估计矩阵向量、控制输入和系统状态变量,其中,内循环结束条件为时间t达到某个给定值,这个给定值是和被控系统状态相关的。外循环结束条件为系统跟踪误差是否小于等于某个给定误差,这个给定值是和被控系统状态相关的。在一些实施例中,外循环的结束条件设置为迭代次数是否达到某个给定值,这个给定值是和被控系统相关的。
通过以上流程设计,并为多输入多输出系统的迭代学习控制方法合理选择正定学习增益矩阵初值,可以得到迭代学习的正定学习增益矩阵、迭代学习控制输入和未知参数估计矩阵向量,使得基于最小二乘法的迭代学习控制方法能在多输入多输出的非线性系统上准确工作。
由于本发明中设计的控制方法适用于多种非线性系统,选择了下面的二输入二输出非线性系统进行了仿真实验,来阐明该发明所设计的方法的有效性。
被控系统的系统方程如下:
其中,
其中,
其中,
其中,
系统跟踪参考轨迹为:
其中,
根据公式(6),可求出随时变-迭变的已知矩阵向量为:
根据公式(6),可知
根据公式(6),同理可知
根据公式(6),同理可知
根据公式(11)可知,
本发明将非严格重复性分解为由高阶内模引起的非严格重复性和随机有界变化的非严格重复性两种类型,引入状态空间模型重构方法,对高阶内模的未知基函数进行解耦,并设计未知参数矩阵向量,再利用最小二乘法设计未知参数估计律,进行未知参数的统一估计。随机有界变化的状态初值定位和参考轨迹则利用自适应迭代学习算法解决。所提出的迭代学习控制算法针对多种变化模式的非严格重复问题,仅需要一次未知参数估计,实现了在有限时间内的渐近跟踪。
由图3a-3d可见,针对多输入多输出的非线性系统,采用基于最小二乘法的迭代学习控制后,即使被控系统有诸多时域-迭代域变化的未知变量,系统跟踪参考轨迹是时域-迭代域变化的,且系统状态初值随机有界变化,系统跟踪误差渐近收敛到零。