一种基于机器学习的非重复性时变系统迭代学习控制方法
文献发布时间:2023-06-19 13:27:45
技术领域
本申请涉及机器学习这一领域,更具体地说,尤其涉及一种基于机器学习的非重复性时变系统迭代学习控制方法。
背景技术
21世纪以来,制造业中大部分人力已经被机器所替代。各种文献提出了多样的控制方法进而控制一系列机器人系统。
然而,它们的精度水平在一些应用上可能不处于容错度范围内,例如,激光切割。迭代学习控制(iterative learning control:ILC)是针对提高执行重复任务精度的控制方法。由于每次试验的任务都是相同的,ILC得以通过从以往的试验中学习经验,进而迭代更新其输入信号并逐渐降低跟踪误差。同时,ILC有很广泛的应用场景,例如,机器手,晶圆台等。
有关经典ILC的各项研究已经表明:即使存在一定程度的系统不确定性,该方法理论上在执行足够多的重复性跟踪任务后,能够使误差减少为零。然而,传统ILC本身有六个设计假设,即固定的参考信号,固定的试验长度,固定的初始状态,固定的系统动力学模型,固定的输入更新规律以及系统稳定性要求,这些方面限制了ILC的潜在应用范围。
近年来,为了扩展ILC应用范围以及实现更多设计自由度,科研工作者们尝试去除一些设计假设以获得可改变的参考信号,可变初始状态,可变试验长度,可变标称模型以及可变更新律。
然而,在具有非重复性时变参数的时变系统中,ILC的研究工作进展尚未显著。此外,从未有人尝试去除试验中对于系统动态特性的不变性设计假设。
在文献中,有一些ILC方法能够处理时变系统的重复性跟踪任务以及时变系统的动力学模型,即在整个试验中,输入与输出的关系是时不变且重复的。
据相关研究表明,ILC算法对于试验重复性系统具有一定的鲁棒性,但必须假设系统参数的有界性。
然而,非重复性时变系统的系统动力学模型中可变参数会随着试验的推进而不断积累,进而可能使系统的动力学模型与标称模型之间产生显著差异。这个问题严重违反了经典ILC设计中需要有界系统参数的鲁棒性收敛条件,因为它会造成经典ILC所无法处理的无界模型不确定性。
因此,本申请的设计目标在于解决现有研究工作的局限性,去创造一种去除ILC设计中不变系统动力学模型假设的新机制,即开发一种适用于非重复性时变系统的新型ILC机制。
发明内容
本申请的目的在于针对上述现有技术的不足,提供一种基于机器学习的非重复性时变系统迭代学习控制方法。
本申请的技术方案如下:
一种基于机器学习的非重复性时变系统迭代学习控制方法,包括以下步骤:
S1,输入以下数值:初始估计值
S2迭代学习
S2-1:初始化:设置参数k=0;
S2-2:将带入目标系统并运行程序中并且记录系统输出轨迹y
所述的目标系统为:
x
x
y
其中,x
x
y
A
B
C
u
x
x0表示:重复跟踪任务的恒定初始值;
t表示:有限长度的试验的采样时间索引;
S2-3:当k小于k
S2-4:使用η、ε、
其中,
S2-5:应用前馈迭代学习控制法则u
其中,u
S2-6:在目标系统中使用u
S2-7:k值增加1。
进一步,所述的步骤S2-5,具体包括如下步骤:
A,输入:先前的估计
B,初始化:设置
C,使用
D,当
E,i的初始值为1,当i<η,执行步骤E-1,E-2;
E-1采用下式,求解
其中,γ表示学习率;
E-2i的值加1;
G.在有
未知参数集合σ包括每一轮的A
本申请的有益效果在于:
第一,本申请采用机器学习解决一个用于辨识时变系统模型的线性回归问题。大量的文献已采用各种方法对系统参数辨识时变回归问题进行了一定的研究。
然而,由于没有使用历史数据以及在线运算负载相对较高,这些问题将导致系统对于动态变化的响应变慢。
因此,与传统的时变回归方法相比较,非重复性时变系统的标称模型在每个试验中都会改变,本申请提出了一种基于离线数据驱动的机器学习方法,即利用两个连续的迭代学习控制试验之间的历史的数据进而更新时变系统模型。
第二,本申请提出了一种基于ILC框架的高性能非重复性时变系统跟踪方法。在此框架内,非重复性时变系统的标称模型在每个试验中通过机器学习得到更新。
在当前试验结束后,算法对整个系统的状态进行初始化,并为下一次试验作准备。在整个初始化阶段里的同时,运用机器学习获得一个能够描述当前状态下非重复性时变系统的最优标称模型。
在假设两个连续相邻的试验之间的非重复性时变系统动力学模型不会发生大变动的假设下,提出的最优ILC更新率将会采用当前试验中ILC轨迹跟踪误差与当前试验的输入信号进而更新下一次试验的输入信号。
通过上述标称模型更新机制以及假设,根据ILC算法在试验过程中的鲁棒收敛条件,模型的不确定度能够保持在一个可接受的容错范围内。
附图说明
下面结合附图中的实施例对本申请作进一步的详细说明,但并不构成对本申请的任何限制。
图1是本申请的基于迭代学习控制框架的工作流程图。
具体实施方式
实施例一:本申请中提出的用于非重复性系统的ILC算法1其对应的工作流程图如图1所示。具体流程如下:在k轮试验结束时,系统的状态被初始化成初始值×
Algorithm1非重复性时变系统的迭代学习控制:
S1,输入:初始估计值
S2运行
S2-1:初始化:设置k=0;
S2-2:将带入目标系统并运行程序中并且记录系统输出轨迹y
所述的目标系统为:
x
y
S2-3:当k小于k
S2-4:使用η、ε、
S2-5:应用前馈迭代学习控制法则(u
S2-6:在目标系统中使用u
S2-7:k值增加1。
上述过程的计算机语言流程如下:
Algorithm 2算法2梯度下降的机器学习方法(双重循环):
A,输入:先前的估计
B,初始化:设置
C,使用
D,当
E,i的初始值为1,当i<η,执行步骤E-1,E-2;(for i=1:n do)
E-1采用下式,求解
E-2 i的值加1;
F.在有
上述过程的计算机语言流程如下:
本申请的各参数示意表
以上所举实施例为本申请的较佳实施方式,仅用来方便说明本申请,并非对本申请作任何形式上的限制,任何所属技术领域中具有通常知识者,若在不脱离本申请所提技术特征的范围内,利用本申请所揭示技术内容所作出局部更动或修饰的等效实施例,并且未脱离本申请的技术特征内容,均仍属于本申请技术特征的范围内。
- 一种基于机器学习的非重复性时变系统迭代学习控制方法
- 一种基于矩阵多项式的周期分段时变系统的非脆弱控制方法