一种基于非严格重复的自适应迭代学习控制方法与流程

文档序号:15442958发布日期:2018-09-14 23:01阅读:195来源:国知局

本发明涉及迭代学习控制系统及方法,尤其一种基于非严格重复的自适应迭代学习控制方法。



背景技术:

迭代学习控制方法首先应用于工业机械臂,是一种针对可重复运行的实际对象的控制方法,因而以其实用性、精准跟踪能力而应用广泛。在传统的迭代学习控制方法中,对被控系统的迭代域严格重复性有很强的要求,究其原因有许多,最主要的因素是,当对被控系统完全无法建模时,只有通过迭代式的学习,才能控制系统实现跟踪目标。此时,系统的迭代域严格重复性越好,系统的控制精度也越佳。遗憾的是,实际应用中,迭代域完全严格重复的被控系统不存在,扰动、噪声更会破坏系统的鲁棒性。

当被控系统越来越具备一般性时,系统中存在的非严格重复问题也越来越多。非严格重复问题可按其变化规律是否已知分为变化规律可已知和变化规律未知两大类。

变化规律已知的非严格重复问题以经典的单连杆机械臂抓举盛水容器浇灌植物为例。机械臂抓举的盛水容器与水的总重量是一个时变函数;在不同的浇灌次数下,浇灌不同的植物所需的水量不同;最后,本次浇灌中需要的水量和上次已浇灌的水量相关。因此,被控系统的未知参数不仅是随时间变化的函数,还是随迭代次数变化的函数;未知参数沿迭代轴变化并与之前迭代时的未知参数相关。

变化规律未知的非严格重复问题一般可考虑成有界的任意变化函数。

自适应控制作为一种针对系统中存在未知变量进行在线估计,并能更新估计量的控制方法而被广泛应用。虽然已经有很多人研究了基于自适应和迭代学习的控制方法,但是针对被控系统中存在多种非严格重复问题的自适应迭代学习控制方法的研究十分有限。因此,如何利用非严格重复问题中的已知变化规律,再针对其他未知变化规律的非严格重复问题,进行有目的性的自适应迭代学习控制方法设计,成为研究非严格重复问题的重要内容之一。



技术实现要素:

发明目的:针对上述现有技术存在的缺陷,本发明旨在提供一种基于非严格重复的自适应迭代学习控制方法。

技术方案:一种基于非严格重复的自适应迭代学习控制方法,包括如下步骤:

(1)对基于非严格重复的被控系统动力学模型通过状态-空间矩阵向量解耦,将时间变化-迭代变化的系统未知参数表达成如下形式:

其中,θk(t)是系统的非严格重复参数,δ0(t)是非严格重复的参数中解耦出的随时间变化的未知初值;βk是由解耦出的已知系数构成的随迭代变化的向量;

(2)利用投影算法,构建全部未知参数向量估计器、非严格重复自适应迭代学习控制器及其收敛范围;

未知参数向量的学习估计算法为:

其中,为对未知参数向量γ(t)第k次的迭代学习估计值;p和q为正的学习增益参数,且满足2b-1(t)-p≥0;是由系统已知量构成的非严格重复的向量,是系统的跟踪参考轨迹,ξ(xk(t),t)是被控系统中的已知变化量;ek(t)是系统跟踪误差;

基于非严格重复的自适应迭代学习控制方法为:

(3)采用自适应迭代学习算法,使得控制器能适应非严格重复的多种情况并跟踪非严格重复的目标轨迹。

进一步的,步骤(1)中系统的非严格重复参数具体为:

θk(t)=h1θk-1(t)+h2θk-2(t)+…+hmθk-m(t)(1-2)

其中,下标“k”表示迭代次数,hi是变化系数。

进一步的,步骤(3)中所述自适应迭代学习算法包括以下步骤:

(3.1)进行参数初始化;

(3.2)计算非严格重复条件,包括非严格重复轨迹、非严格重复的系统未知参数变化系数构建的矩阵向量以及系统非线性函数向量;

(3.3)计算未知参数向量估计值;

(3.4)计算自适应迭代学习控制器输入;

(3.5)计算系统跟踪情况;

(3.6)判断系统跟踪是否在有限时间内渐进跟踪,若是,则返回步骤(3.3),若否,则迭代结束。

进一步的,步骤(3.6)中判断系统跟踪是否在有限时间内渐进跟踪的具体条件为跟踪的最大绝对值误差是否大于给定最大允许误差。

进一步的,步骤(1)中所述基于非严格重复的被控系统动力学模型满足如下先验条件:

条件1:有界控制增益的控制方向已知且不变;

条件2:所有非严格重复变量都一致有界;

条件3:非线性函数满足线性增长条件;

条件4:非严格重复的未知参数的迭代变化的规律已知。

进一步的,步骤(1)中所述基于非严格重复的被控系统动力学模型为:

xk(t+1)=θk(t)ξ(xk(t),t)+b(t)uk(t)+d(t)(1-1)

其中,下标k表示迭代次数;xk(t)代表可测的系统状态;uk(t)是系统的控制输入;θk(t)是系统的非严格重复变化的未知参数;ξ(xk(t),t)为已知非线性函数;b(t)是系统的有界未知输入增益;d(t)代表系统的未知外部扰动;此时,考虑的非严格重复变量为系统初始状态x0(t),系统跟踪参考轨迹系统未知参数θk(t)。

有益效果:本发明提供的基于非严格重复的自适应迭代学习控制方法解决了当被控系统中存在多种非严格重复问题时,系统轨迹跟踪误差的收敛性问题;利用投影算法进行未知参数向量估计器的设计,给出了收敛条件,并实现了轨迹跟踪误差的快速收敛;基于状态-空间重构技术,将非严格重复规律嵌入自适应迭代学习控制方法,有效减小了跟踪误差的抖动范围,且解决了传统投影算法抗干扰能力差的问题。

附图说明

图1是本发明的原理图;

图2是一种实施流程图;

图3是另一种实施流程图;

图4是永磁直线电机的非严格重复的跟踪轨迹曲线图;

图5是永磁直线电机的非严格重复的扰动曲线图;

图6是永磁直线电机的动子速度跟踪最大绝对值误差曲线图;

图7是实施例2的系统参数的时域-迭代域变化情况图;

图8是实施例2的迭代变化的跟踪参考轨迹的时域-迭代域变化情况图;

图9是实施例2的系统沿迭代方向的最大绝对值误差曲线图。

具体实施方式

下面通过实施例并结合附图对本技术方案进行详细说明。

实施例1:本发明为了解决传统迭代学习控制方法中存在的当被控系统非严格重复、系统初态非严格定位,跟踪轨迹非严格重复时跟踪精度低,迭代次数多,跟踪误差振动范围大的问题,通过建立多种非严格重复约束模型,引入状态-空间矩阵向量,结合自适应能量函数机制,对非严格重复项进行学习,并发明了基于非严格重复的自适应迭代学习控制方法,使得轨迹自动跟踪变化的设定函数,轨迹跟踪精度高,同时控制算法具有较强的鲁棒性。

本发明所述的基于非严格重复的自适应迭代学习控制方法,普遍适用于被控系统动力学模型中存在的非严格重复规律可解构为高阶内模形式的系统未知参数的情况。可以根据未知参数的非严格重复规律,对其进行状态-空间矩阵向量解耦。

如图1所示,本发明的基于非严格重复的自适应迭代学习控制方法,主要内容及实现的步骤如下:

通过建立多种非严格重复约束模型,引入状态-空间矩阵向量,结合自适应能量函数机制,对非严格重复项进行学习,并发明了基于非严格重复的自适应迭代学习控制方法。

(1)对基于非严格重复的被控系统动力学模型通过状态-空间矩阵向量解耦。

本发明的应用对象的一般动力学模型可以如下式表示:

xk(t+1)=θk(t)ξ(xk(t),t)+b(t)uk(t)+d(t)(1-1)

其中,下标k表示迭代次数;xk(t)代表可测的系统状态;uk(t)是系统的控制输入;θk(t)是系统的非严格重复变化的未知参数;ξ(xk(t),t)为已知非线性函数;b(t)是系统的有界未知输入增益;d(t)代表系统的未知外部扰动。此时,考虑的非严格重复变量为系统初始状态x0(t),系统跟踪参考轨迹系统未知参数θk(t)。

此外,对于上述一般动力学系统模型进行基于非严格重复的自适应迭代学习控制方法设计需要满足如下先验条件:

条件1:有界控制增益b(t)的控制方向已知且不变。并且b(t)的边界已知。不失一般性,在后面的分析中,假设b(t)>0。

条件2:从实际应用角度出发,所有非严格重复变量都一致有界。

条件3:非线性函数ξ(xk(t),t)满足线性增长条件,即都有|ξ(xk(t),t)|≤a1+a2|xk(t)|,其中0<a1<∞,0<a2<∞。

条件4:非严格重复的未知参数(即被控系统动力学模型中含有非严格重复规律已知的系统未知参数)θk(t)的迭代变化的规律已知,统一用下式表示:

θk(t)=h1θk-1(t)+h2θk-2(t)+…+hmθk-m(t)(1-2)

其中,下标“k”表示迭代次数,θk(t)是系统的非严格重复参数,不仅随时间变化,且随迭代次数的变化而变化;hi是变化系数。

非严格重复约束模型可分为非严格重复规律可查,和非严格重复规律未知两类。其中,规律可查的未知参数部分我们仅仅讨论满足上述先验条件即能写成(1-2)式的分析方法,对规律未知的部分用有界随机变化模型表示。

非严格重复规律未知的模型,考虑到实际工作条件,统一用有界的随机变化模型表示。

利用状态-空间矩阵向量,对非严格重复规律可查的模型进行变换,如下式所示:

δk(t)=bδk-1(t)=…=bkδ0(t)(1-3)

其中,δk(t)=[θk+1-m(t),θk+2-m(t),…,θk(t)]t

将bk的最后一行记为βk=[β1,k,β2,k,…,βm,k]t,非严格重复规律可查的模型可继续变换为下式:

θk(t)=β1,kθ-m+1(t)+β2,kθ-m+2(t)+...+βm,kθ0(t)(1-4)

将公式(1-4)变换成向量形式,即时间变化-迭代变化的系统未知参数解耦成如下形式:

其中,δ0(t)是δk(t)的未知迭代初值。

(2)利用投影算法,构建全部未知参数向量估计器,以及非严格重复自适应迭代学习控制器。

定义理想的非严格重复参考轨迹为控制目的是设计合适的控制输入uk(t),t∈{0,1,…,t-1},使得当迭代次数k趋于无穷时,xk(t)跟踪到理想的参考轨迹即达到目标

定义轨迹跟踪误差如下:

其中,是非严格重复的理想参考轨迹。

将应用对象的一般动力学模型代入跟踪误差可得:

通过将公式(1-5)代入公式(2-2)并利用状态-空间矩阵向量方法可得:

其中,代表系统中的全部未知变量构成的向量,可以通过后面的自适应迭代学习算法进行未知向量的统一估计,代表系统中的其他已知量组成的向量。

设计未知参数估计律即未知参数向量的学习估计算法为:

其中,为对未知参数向量γ(t)第k次的迭代学习估计值;p和q为正学习增益参数,且满足2b-1(t)-p≥0。

设计基于非严格重复的自适应迭代学习控制方法:

其中,t∈{0,1,…,t-1}。

(3)采用自适应迭代学习方法,使得控制器能适应非严格重复的多种情况并跟踪非严格重复的目标轨迹。

在实际实施时,有的有界控制增益是小于零的,此时,可以用反相器来实现控制过程。

有的扰动和系统状态及控制输入输出相比,小于一定数量级,对系统的干扰可以忽略。关于系统扰动的知识是在确定实际系统特征的过程中获得的,此时,利用状态-空间矩阵向量定义的未知向量少一维。

如图2所示,它说明了基于非严格重复的自适应迭代学习控制方法的学习流程,主要步骤为:

(3.1)进行参数初始化;

(3.2)根据公式(1-2)、(1-3)、(1-5)和(2-3)计算非严格重复条件,包括非严格重复轨迹,非严格重复的系统未知参数变化系数构建的矩阵向量,以及系统非线性函数向量;

(3.3)根据公式(2-1)和(2-4)计算未知参数向量估计值;

(3.4)根据公式(2-5)计算自适应迭代学习控制器输入;

(3.5)根据应用对象的一般动力学模型计算系统跟踪情况;

(3.6)判断系统跟踪是否在有限时间内渐进跟踪,本实施例中设定的具体条件为跟踪的最大绝对值误差是否大于给定最大允许误差,若是,则返回步骤(3.3),若否,则迭代结束。

如图3所示,它说明了在其他一些实施情况中,定义的循环结束条件为迭代学习算法执行的次数。在一些实现方式中,这个执行次数根据实际应用对象的不同而修改。例如,当算法执行的次数小于定义次数时,返回步骤(3.3)继续循环,当算法执行的次数等于或大于定义次数时,结束循环。

另外,本领域技术人员也可以根据实际情况选择定义的循环结束条件为是否满足最大迭代算法执行时间。例如,当算法执行的迭代时间小于定义时间时,返回步骤(3.3)继续循环,当算法执行的迭代时间等于或大于定义时间时,结束循环。

或者,也可以定义的循环结束条件为最大绝对值误差或(和)算法执行时间或(和)最大迭代次数的组合(例如数学关系库)。例如,定义循环结束条件为满足最大绝对值误差小于给定最大允许误差且算法执行时间大于1秒。或者是上述三个条件的其他数学关系组合。

由于本发明中设计的控制方法适用于多种非线性系统,选择了永磁直线电机作为示例对象一进行了仿真实验,来阐明该发明所设计的方法的有效性。

永磁直线电机离散化后的动态系统可表示为:

其中,v(t)代表永磁直线电机的动子速度,u(t)代表动子电压;kf、ke是常数;r表示动子阻抗,m表示电机动子部分的总质量;fc、fs和fv分别代表库伦摩擦系数、静摩擦系数和粘性摩擦系数,vs是常数;fl代表系统中的其他不确定因素及未知扰动;h代表采样时间间隔。

非严格重复的跟踪轨迹如下式:

其中,rk∈(0,1],在区间(0,1]上随机变化;n代表采样次数。

仿真实验中选择的永磁直线电机的未知控制增益是有界的,且边界已知为kfh/(rm)≤0.01。

仿真实验中选择的永磁直线电机的参数及基于非严格重复的自适应迭代学习控制器中的学习增益如下表所示:

表1永磁直线电机参数及学习增益表

本实施例中,基于非严格重复的未知参数变化情况为:未知参数仅随时间变化而变化。根据公式(1-5),此时的βk=1。

根据公式(2-4),此时取p=23,q=0.15,满足2b-1(t)-p≥0。

根据公式(2-5),取未知参数迭代学习估计初值为根据流程图可计算出采用基于非严格重复的自适应迭代学习控制方法使得系统在有限时间内渐近跟踪到理想参考轨迹。

图4-6是将本发明应用于永磁直线电机后的控制效果曲线图,该示例用来展示基于非严格重复的自适应迭代学习控制方法的示例性应用。在该实施例中,永磁直线电机的速度跟踪目标是非严格重复的,且状态初值定位是非严格重复的,在永磁直线电机上实现基于非严格重复的自适应迭代控制算法。

图4展示出非严格重复的速度跟踪轨迹曲线图,展示出速度沿迭代轴和时间轴都变化的情况,且迭代变化的情况彼此相关。

图5展示出非严格重复的系统初始状态曲线图,展示出实际工作情况下,系统初始状态的变化是有界且无规律的。

图6展示出由基于非严格重复的自适应迭代学习控制方法所计算出的永磁直线电机的动子速度跟踪最大绝对值误差曲线图。

如图6所示是将本发明应用于永磁直线电机的速度跟踪最大绝对值误差曲线图。在本实施例中,应用对象是永磁直线电机,在其他实施例中,应用对象也可以是其他满足一般动力学模型(1-1)的其他实际可重复运行的被控对象,包括例如单连杆机械手。

图6显示出沿迭代方向的动子速度跟踪的最大绝对值误差迅速下降到小于0.01m/s,收敛速度快。图6显示出在带有扰动的情况下,采用基于投影算法的自适应未知参数更新律,跟踪非严格重复的目标轨迹,速度跟踪仍然能收敛在约0.003m/s左右,振动范围小,抗干扰能力强。

由图4-6可知,在存在多种非严格重复问题和不确定扰动的情况下,永磁直线电机在本发明所提出的自适应迭代学习控制方法作用下,能准确跟踪系统迭代变化的跟踪目标,具有较好的鲁棒性。

非严格重复的定义是沿迭代轴变化且沿时间轴变化的变量。在一些实施例中,必须了解,沿迭代轴不变也是沿迭代轴变化的一种极端情况。因此,也可按照状态-空间矩阵向量方法进行控制算法的设计。

实施例2:更具一般非严格重复性的非线性系统如下:

xk(t+1)=θk(t)ξ(xk(t),t)+b(t)uk(t)+d(t)

其中,已知函数ξ(xk(t),t)=0.1sin(xk(t));未知时变控制增益b(t)=1+sin(0.5t);外部扰动d(t)在区间[0,0.1]上随机变化;未知参数变量θk(t)迭代域重复规律可查。

θk(t)的迭代变化情况如下:

θk(t)=-2cos0.4θk-1(t)-θk-2(t)

其中,未知初态函数分别为θ-1(t)=1.4sin(0.02πt)和θ0(t)=0.4cos(0.02πt)。

系统的初始状态xk(0)为有界随机信号,在区间(0,1]上随机变化。

系统状态跟踪迭代变化的参考轨迹如下式所示:

其中,rk∈(0,1],在区间(0,1]上随机变化。

未知时变控制增益边界已知,为b(t)≤2。

本实施例中,未知参数不仅随时间变化而变化,还随迭代次数变化而变化。根据公式(1-4),此时有是随迭代次数变化的量。

根据公式(1-5),将bk的第二行记为βk=[β1,k,β2,k]t

根据公式(2-4),取p=0.95,q=0.15,满足2b-1(t)-p≥0。

根据公式(2-5),取未知参数迭代学习估计初值为根据流程图可计算出采用基于非严格重复的自适应迭代学习控制方法使得系统在有限时间内渐近跟踪到理想参考轨迹。

图7表明了参数θk(t)的时域-迭代域变化情况。由图7可见,参数θk(t)在时域-迭代域的变化是有规律可循的。

图8表明了迭代变化的跟踪参考轨迹的变化情况。

图9表示采用本发明所述的基于非严格重复的自适应迭代学习控制方法时,系统沿迭代方向的最大绝对值误差曲线图。

以上阐述的是本发明给出的两个实施例表现出的轨迹跟踪效果。本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用于对本发明的限定,只要在本发明的实质精神范围内,对以上所述实施例的变化、变型都将落在本发明的权利要求书范围内。而且,本发明针对一般非线性系统模型给出了求解基于非严格重复的自适应迭代学习控制方法的方法,目的是说明简介清楚,但实际上,满足非线性系统模型的其他被控系统都可以采用所发明的基于非严格重复的自适应迭代学习控制方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1