神经网络模型预测控制器.doc
《神经网络模型预测控制器.doc》由会员分享,可在线阅读,更多相关《神经网络模型预测控制器.doc(15页珍藏版)》请在冰豆网上搜索。
![神经网络模型预测控制器.doc](https://file1.bdocx.com/fileroot1/2022-11/3/41de351e-d71e-43be-9bbd-80f5bdb93f34/41de351e-d71e-43be-9bbd-80f5bdb93f341.gif)
神经网络模型预测控制器
摘要:
本文将神经网络控制器应用于受限非线性系统的优化模型预测控制中,控制规则用一个神经网络函数逼近器来表示,该网络是通过最小化一个与控制相关的代价函数来训练的。
本文提出的方法可以用于构造任意结构的控制器,如减速优化控制器和分散控制器。
关键字:
模型预测控制、神经网络、非线性控制
1.介绍
由于非线性控制问题的复杂性,通常用逼近方法来获得近似解。
在本文中,提出了一种广泛应用的方法即模型预测控制(MPC),这可用于解决在线优化问题,另一种方法是函数逼近器,如人工神经网络,这可用于离线的优化控制规则。
在模型预测控制中,控制信号取决于在每个采样时刻时的想要在线最小化的代价函数,它已经广泛地应用于受限的多变量系统和非线性过程等工业控制中[3,11,22]。
MPC方法一个潜在的弱点是优化问题必须能严格地按要求推算,尤其是在非线性系统中。
模型预测控制已经广泛地应用于线性MPC问题中[5],但为了减小在线计算时的计算量,该部分的计算为离线。
一个非常强大的函数逼近器为神经网络,它能很好地用于表示非线性模型或控制器,如文献[4,13,14]。
基于模型跟踪控制的方法已经普遍地应用在神经网络控制,这种方法的一个局限性是它不适合于不稳定地逆系统,基此本文研究了基于优化控制技术的方法。
许多基于神经网络的方法已经提出了应用在优化控制问题方面,该优化控制的目标是最小化一个与控制相关的代价函数。
一个方法是用一个神经网络来逼近与优化控制问题相关联的动态程式方程的解[6]。
一个更直接地方法是模仿MPC方法,用通过最小化预测代价函数来训练神经网络控制器。
为了达到精确的MPC技术,用神经网络来逼近模型预测控制策略,且通过离线计算[1,7.9,19]。
用一个交替且更直接的方法即直接最小化代价函数训练网络控制器代替通过训练一个神经网络来逼近一个优化模型预测控制策略。
这种方法目前已有许多版本,Parisini[20]和Zoppoli[24]等人研究了随机优化控制问题,其中控制器作为神经网络逼近器的输入输出的一个函数。
Seong和Widrow[23]研究了一个初始状态为随机分配的优化控制问题,控制器为反馈状态,用一个神经网络来表示。
在以上的研究中,应用了一个随机逼近器算法来训练网络。
Al-dajani[2]和Nayeri等人[15]提出了一种相似的方法,即用最速下降法来训练神经网络控制器。
在许多应用中,设计一个控制器都涉及到一个特殊的结构。
对于复杂的系统如减速控制器或分散控制系统,都需要许多输入与输出。
在模型预测控制中,模型是用于预测系统未来的运动轨迹,优化控制信号是系统模型的系统的函数。
因此,模型预测控制不能用于定结构控制问题。
不同的是,基于神经网络函数逼近器的控制器可以应用于优化定结构控制问题。
在本文中,主要研究的是应用于非线性优化控制问题的结构受限的MPC类型[20,2,24,23,15]。
控制规则用神经网络逼近器表示,最小化一个与控制相关的代价函数来离线训练神经网络。
通过将神经网络控制的输入适当特殊化来完成优化低阶控制器的设计,分散和其它定结构神经网络控制器是通过对网络结构加入合适的限制构成的。
通过一个数据例子来评价神经网络控制器的性能并与优化模型预测控制器进行比较。
2.问题表述
考虑一个离散非线性控制系统:
其中为控制器的输出,为输入,为状态矢量。
控制目标是保持输出接近参考轨迹,一般地控制目标是通过最小化代价函数来实现的:
同时约束条件为:
其中为k时刻预测状态和输出的函数,这里,由将来的输入组成:
为输入增量:
在方程
(2)中,Q和R输入与输出权值矩阵,为非负终止条件。
根据动态编程的优化原则[6],必须最小化代价函数
(2),当终止条件为在K+N时刻时的无穷小,得出当时的无穷优化控制问题的解,同样就能得到有穷优化问题。
对于非线性系统,优化控制问题一般无闭式解,因此,本文研究强力和不最理想的方法。
在模型预测控制(MPC)中,控制信号的确定是通过在每个采样时刻输入序列为时,最小化代价函数
(2)。
只有优化输入序列的第一个元素u(k)作为系统的输入,在下一个采样时刻k+1,新的优化问题是对于给定的优化控制问题而言的。
在这种方法中,终止条件可以看作是一个当时刻K+N趋于无穷时最小化代价函数的逼近器,但实际上更多的是用于保证闭环的稳定性。
模型预测控制方法有一个非线性的缺点,且需要通过在每个采样时刻得到受约束的优化问题,同时需要通过在线计算来实现。
为了减小模型预测控制的计算量,本文提出了一种精确MPC方法,在这种方法中,计算的部分是离线进行的。
对于非线性系统,优化的MPC方法应该由离线计算进行映射,且用一个函数逼近器表示。
更准确地,控制策略是通过最小化代价函数
(2)定义控制信号,或等于它的增量:
其中作为计算代价函数
(2)中的。
对于任意,最小化代价函数
(2)来评估方程(6)。
从而通过离线训练来获得函数逼近器作为优化策略,尽管这种方法非常有用,但仍然存在一些限制。
因为MPC策略是基于信息来计算预测输出,这种不能很好的表示阶次递减或定结构的控制器。
另外,计算还要求产生训练的数据非常广泛,这些每个训练数据点都需要一个MPC优化问题的解。
3.神经网络优化控制器
在本节中,研究了构成第2节所述的控制问题的一个神经网络模型预测控制器的问题。
这里我们采样一个训练数据集作为直接训练代价函数
(2)的控制器,而没有计算优化MPC控制信号的离线优化问题。
控制器表示如下:
其中为神经网络函数逼近器,I(k)为k时刻控制器的有效信号,W为逼近器参数(即神经网络权值)。
假设状态信息,如I(k)=时,控制器(7)可以看作是优化MPC策略(6)的函数近似。
在本文中尽管研究的是这个方法,但控制器并没有完全受到状态信息的限制,而是把I(k)当成由许多输入u(k-i)与输出y(k-i)的过去值组成。
,并将其作为参考信号的设定值。
这种方法可以构成高阶系统的较为复杂的控制器。
I(k)值的不同选取方法将在第四节通过例子讲述。
Remark1
为了降低控制器的复杂性,控制器的结构可以利用映射函数来确定,例如,假设信息I(k)为:
,一个分布式控制器为:
,控制器的结构为:
为了用控制规则(7),即最小化代价函数
(2)来确定控制器的参数W,需要知道训练数据:
利用控制策略(7),系统的更新如下所示:
用训练数据定义联想代价函数:
逼近器(7)的训练,最小化优化问题的平方为:
约束条件为:
训练问题可以通过梯度算法来最小化优化问题的平方,如LM算法,从方程(11)可以得到代价函数的梯度为
其中:
其中为神经网络输出关于网络参数的偏导数,它取决于网络的结构,可以根据下式得到:
Remark2
代价函数(11)用于训练神经网络控制器,与模型预测控制中代价函数类似,本文提出的控制器可以作为精确的模型预测控制器。
注意到,对于一个给定的控制器的复杂性,计算量取决于优化控制器的参数W,而不是控制器的长度N。
因此可以比模型预测控制能更灵活地用控制器的长度,从而被优化的参数也能成比例地增加。
4.仿真例子
在本节中,用例子仿真来说明第3节中所讲的神经网络模型预测控制器,在所有例子中,控制规则(7)用一个前馈神经网络来表示,该网络含有一层隐含层,用双曲正切函数作为激活函数。
这种网络可以以任意精度逼近所有连续非线性函数[12]。
I(k)作为输入,为输出,训练算法为LM算法[21],用来解决非线性最小二乘问题(12),利用matlab的优化工具箱中的常规函数lsqnonlin来计算。
在所有的例子中,优化范围N为足够大,这样对于闭环系统就能达到平衡,因此,用一个零终止条件作为代价函数(11)。
例1
在本例中,我们仿真一个pH中和过程[10,18,17,1],在文献[1]中,应用了一个神经网络来逼近优化MPC策略的过程。
这个过程可以用非线性微分方程来表示,该过程的表达式如下式所示[17,1]:
式中,输出y(k)由pH值控制,u(k)为输入流量,用于控制,系统还有确定性扰动d(k)、相互独立的随机白躁声扰动v(k)和n(k)(分别用Rv和Rn表示)。
采样时间为0.2分钟,时延为L=5,系统矩阵表示为输出的函数,如下所示。
状态参数表达式为:
其中这些系统参数的函数表达式在文献[1]中已有研究。
根据方程(17),预测输出根据下式确定:
其中状态参数根据Kalman滤波原理得到:
,其中K(k)为Kalman滤波增益:
优化控制策略为预测状态的函数,参考轨迹为,i=1,….N
假设参考轨迹由参考模型给出:
式中为设定值,为阶跃响应。
控制策略为在k+L时刻时预测系统状态,参考模型的状态,设定值等的函数,控制器(7)的信息I(k)为:
参数的选取根据文献[1],代价函数(11)中的权值为:
Q=1,R=1。
白躁声变量:
,用于Kalman滤波方程(19)中,参考模型(20)为一个二阶系统,增益为1,一对极点,均为0.9
由于非线性系统的动态特性,为了在整个操作过程中获得优化控制器的精确特性,需要大量的数据集。
与非线性系统辨识相比较,仍需要长的训练集[16]。
训练数据(9)用于训练控制器,包括轨迹跟踪和扰动抑制(将输出pH的范围控制在)。
因此训练数据有两种类型。
对于轨迹跟踪,训练数据由以下构成:
初始状态作为稳定状态响应,设定值的改变,八个相等的初始pH值,14个设定值,给定的14个参考轨迹。
代价函数(11)的控制范围设定为N=150,这个足够使新的设定到达参考模型(20)所定义的参考轨迹。
对于扰动抑制,训练数据由以下构成:
常量设定值,参考信号,初始状态对稳定状态的响应。
同样有14个不同的常量设定值,用于轨迹跟踪,且有28个初始状态。
在这种情况下,控制范围为N=25步,这就使系统能达到设定值的一个初始偏值。
初始状态和参考轨迹的总数为M=42。
训练集中的每个元素包括了N个数据点,总的数据点数为2800。
根据一个独立的测试数据集来选取优化网络的大小,测试数据有36组2400个数据点,均是均相同的方法产生训练数据,6个范围在的初始pH值以及6个范围在的设定值。
为了找出一个最小测试数据集,网络的大小不同,训练的结果如表1所示。
当网络中含有11个隐含节点时,测试数据中的代价函数为最小,而当增加网络大小时该值不会减小,因此,以下仿真中网络的结构为11。
这个结果与[1]中一致,即当用于逼近MPC策略时网络的大小也为11。
同时,表1也表明了用一个非线性MPC的结果。
MPC策略的预测和控制范围为N=20步。
为了避免局部收敛特性,需要用不同初始点来优化网络的权值。
在本例中没有遇到局部最优化值的问题。
一般来说,网络权值在第400-500代时就已收敛。
所需要的代数与优化MPC策略中神经网络的代数相同[1],且用相同的数据点。
然而,当对每一代的轨迹(10)和联想代价(11)进行评估时,用于训练的计算量将比直接逼近要重。
从另一个方面说,直接逼近方法在每个数据进行优化MPC控制时所需要的计算量,大体上比以前要重。
应用神经网络控制器和优化MPC策略得到的闭环响应如果图1所示,图2表明了当有一个可测量的白躁声时的响应。
注意到图1和图2的设定值是在每个训练数据处都是不同的,为了测试神经网络控制器的性能,在达到一个新的稳定之前改变设定值,响应如图3所示,表明了神经网络控制器的性能很好。
图4为阶跃扰动d(k)在不同稳定值pH处的响应,阶跃变化在时刻k=75处从10到11变化然后又在时刻k=325变回10。
在仿真中可测躁声的表示一样。
注意到扰动d(k)对于控制器是未知的,神经网络控制器不能用阶跃扰动来训练。
稳定状态偏移量的限制根据条件来确定[1]。
仿真结果表明神经网络控制器对于不同类型的扰动都能达到一个近似优化控制的性能。
同时注意到神经网络控制器在每段采样数据中仅仅需要238步