一种基于神经网络逆模型的前馈跟踪控制方法

文档序号:30834900发布日期:2022-07-22 22:47阅读:202来源:国知局
一种基于神经网络逆模型的前馈跟踪控制方法

1.本发明涉及一种基于神经网络逆模型的前馈跟踪控制方法,属于闭环自动控制算法技术领域。


背景技术:

2.闭环自动控制算法广泛应用于制造业、流程工业等生产过程的模拟量控制,是自动控制系统的重要组成部分。控制算法运行于计算机等运算设备上,接收人为给定的期望值信号和传感器输入的测量信号,其运算结果传输至执行设备并最终作用于被控对象,目的是实现被控对象的输出跟踪期望值的变化,在确保调节过程稳定性、准确性的同时,尽可能提高调节过程的快速性。
3.现有技术中的常规前馈-反馈控制系统,存在以下三方面的缺点:
4.1.常规的前馈-反馈控制系统中,前馈环节采用静态前馈的方式,不包含被控对象模型的动态信息。该类前馈作用效果粗糙,未考虑被控对象的动态特性。同时对于非线性被控对象,前馈作用仅能在设计工况下取得最优效果,工况变化时效果劣化。
5.2.某些采用动态前馈的控制系统,采用传递函数逆模型构建前馈过程,该模型仅针对某一特定工况下被控对象动态特性建立,对于全工况范围内非线性变化的被控对象,无法保证前馈作用始终工作在最优状态。
6.3.常规的前馈-反馈控制系统,前馈作用和反馈作用是两个互相独立设计调参的通道,二者之间没有信息交互机制,由于反馈作用的滞后性,当两个通道调参不合理时,易造成反馈作用的往复调节,导致执行机构的往复动作,降低系统的稳定性,增加系统的调节时间。


技术实现要素:

7.本发明为了解决现有技术中存在的问题,提供一种能提升系统的控制品质的基于神经网络逆模型的前馈跟踪控制方法。
8.为了达到上述目的,本发明提出的技术方案为:一种基于神经网络逆模型的前馈跟踪控制方法,其特征在于:
9.将被控对象的设定值r(s)输入前馈控制器g
c1
(s)得到前馈控制器的输出u
c1
(s),将u
c1
(s)与跟踪控制器g
c2
(s)的输出u
c2
(s)之和u(s)作为被控对象g0(s)的控制量并输入g0(s)中,得到g0(s)的输出y(s);
10.将u
c1
(s)输入到预估模型gm(s)中,得到预估模型的输出ye(s);
11.所述跟踪控制器g
c2
(s)的输出u
c2
(s)由预估模型gm(s)的输出ye(s)与被控对象g0(s)的输出y(s)之差输入跟踪控制器g
c2
(s)得到;
12.所述前馈控制器g
c1
(s)和预估模型gm(s)均为由长短期记忆网络建立的非线性模型;且g
c1
(s)=gm(s)-1gc1
(s)=gm(s)-1

13.对上述技术方案的进一步设计为:前馈控制器g
c1
(s)和预估模型gm(s)中,长短期
记忆网络采用序列输入单输出的网络结构。
14.所述预估模型gm(s)分为离线训练和在线运算两个阶段;
15.离线训练阶段长短期记忆网络的输入输出关系为
[0016][0017]
式中,为采用长短期记忆网络构建的gm(s)的非线性模型;t为网络输入向量的时间步;x(
·
)为网络的输入向量;为网络对k
+
1时刻系统输出的预估;
[0018]
在线运算阶段长短期记忆网络的输入输出关系为
[0019][0020]
式中,xe(
·
)为长短期记忆网络的输入向量;ye(k+1)为k+1时刻预估模型gm(s)的输出。
[0021]
所述前馈控制器g
c1
(s)分为离线训练和在线运算两个阶段。
[0022]
离线训练阶段长短期记忆网络的输入输出关系为
[0023][0024]
式中,为g
c1
(s)采用长短期记忆网络构建的预估模型gm(s)的逆模型;为长短期记忆网络对k+1时刻系统控制量的预估;
[0025]
在线运算阶段长短期记忆网络的输入输出关系为
[0026][0027]
式中,xe(
·
)为长短期记忆网络的输入向量;u
c1
(k+1)为k+1时刻前馈控制器g
c1
(s)的输出。
[0028]
所述跟踪控制器g
c2
(s)采用pid控制器,其传递函数为
[0029][0030]
式中,k
p
、ki、kd分别为比例、积分和微分系数。
[0031]
本发明的有益效果在于:
[0032]
本发明的方法提出了一种基于神经网络逆模型的前馈跟踪控制算法,包括前馈和跟踪两个控制通道,前馈通道发挥主要调节作用,跟踪通道实现细调和无差调节作用,以前馈通道为主体,进行快速响应,以跟踪通道为补偿,进行细调和无差调节,兼顾了控制过程的快速性和准确性。
[0033]
前馈通道采用被控对象的神经网络逆模型,确保前馈作用对被控对象全范围工况的适应性;本发明重新构建了跟踪通道(反馈),用于校正前馈作用下被控对象预估模型与实际系统响应的偏差,实现了前馈作用和反馈作用的信息交互、调节联动,避免了执行机构的往复动作。本发明所述控制算法相较传统的前馈-反馈控制系统,可以进一步提升系统的控制品质,可用于制造业、流程工业等生产过程的模拟量控制,特别是大惯性、大迟延系统的控制。
[0034]
本发明的方法采用神经网络逆模型构建前馈通道,神经网络可以构建复杂的非线性模型,使本发明的方法可以运用于非线性系统的控制中,确保在被控对象工况和特性发
生变化时控制系统始终保持最优工作状态。
[0035]
本发明中前馈通道为动态前馈,内置了系统模型信息,相较传统的静态前馈方式响应更加快速,调节作用更加准确。
[0036]
前馈控制器中模型信息与被控对象真实特性必然存在一定失配。本发明将跟踪通道的输入设计为预估模型与被控对象在前馈通道作用下响应的偏差,通过跟踪通道计算一个控制增量叠加到前馈通道上作用至被控对象,使被控对象跟踪预估模型的轨迹。即跟踪通道的控制作用中考虑到了前馈通道已经施加的作用,前馈与跟踪两通道间构建了一种信息交互机制,避免了传统前馈-反馈控制系统在调参不合理时,易造成的反馈往复调节、执行机构往复动作等问题。
附图说明
[0037]
图1为本发明的前馈跟踪控制方法控制方框图;
[0038]
图2为lstm神经元结构和详细组织图;
[0039]
图3为lstm网络结构示意图;
[0040]
图4为预估模型离线训练阶段的示意图;
[0041]
图5为预估模型在线运算阶段的示意图;
[0042]
图6为前馈控制器离线训练阶段的示意图;
[0043]
图7为前馈控制器在线运算阶段的示意图;
[0044]
图8为输入信号图;
[0045]
图9为被控对象响应图;
[0046]
图10为预估模型训练过程中的损失函数变化情况图;
[0047]
图11为预估模型系统实际输出和lstm网络的输出对比图;
[0048]
图12为前馈控制器训练过程中的损失函数变化情况;
[0049]
图13为前馈控制器系统实际输出和lstm网络的输出对比图;
[0050]
图14为控制系统框图;
[0051]
图15为控制系统调节速度的仿真结果图;
[0052]
图16为控制系统鲁棒性的仿真结果图。
具体实施方式
[0053]
下面结合附图以及具体实施例对本发明进行详细说明。
[0054]
实施例
[0055]
本实施例的基于神经网络逆模型的前馈跟踪控制方法如图1所示,分为前馈控制通道和跟踪通道;
[0056]
前馈控制通道将被控对象的设定值r(s)输入前馈控制器g
c1
(s)得到前馈控制器的输出u
c1
(s),将u
c1
(s)与跟踪控制器的g
c2
(s)的输出u
c2
(s)之和作为被控对象g0(s)的控制量并输入被控对象模型中,得到被控对象模型的输出y(s);将u
c1
(s)输入到预估模型gm(s)中,得到预估模型的输出ye(s);跟踪通道中跟踪控制器的输出u
c2
(s)由预估模型的输出与被控对象g0(s)的输出y(s)之差输入跟踪控制器g
c2
(s)得到。
[0057]gm
(s)为被控对象的预估模型;g
c1
(s)为前馈控制器,采用预估模型的逆,即g
c1
(s)
=gm(s)-1
;g
c2
(s)为跟踪控制器;g0(s)为被控对象;u
c1
(s)为前馈控制器输出;u
c2
(s)为跟踪控制器输出;u(s)为施加给被控对象g0(s)的控制量;ye(s)为预估模型gm(s)在前馈控制器g
c1
(s)作用下的输出;y(s)为被控对象g0(s)的响应。
[0058]
当预估模型gm(s)准确时,即gm(s)=g0(s)时,有ye(s)≡y(s),此时跟踪控制器g
c2
(s)输入恒等于0,跟踪通道不产生调节作用,系统响应y(s)为
[0059]
y(s)=g
c1
(s)g0(s)r(s)=g
c1
(s)gm(s)r(s)=gm(s)-1gm
(s)r(s)=r(s)
ꢀꢀ
(1)
[0060]
当预估模型gm(s)与被控对象g0(s)存在一定误差时,在前馈控制通道u
c1
(s)作用下,gm(s)的输出ye(s)与g0(s)输出y(s)存在一定的偏差,将该偏差作为跟踪控制器g
c2
(s)的输入,求解得到跟踪控制器输出u
c2
(s),g0(s)在u
c2
(s)的闭环校正下,其输出y(s)实现对ye(s)的跟踪。由g
c1
(s)=gm(s)-1
可知,ye(s)≡r(s),即y(s)最终实现对r(s)的跟踪。
[0061]
本实施例为了实现对被控对象全范围工况的适应性,前馈控制器g
c1
(s)和预估模型gm(s)采用由长短期记忆网络(long short-term memory,lstm)建立的非线性模型。跟踪控制器g
c2
(s)主要进行细调,采用普通的pid控制器。
[0062]
lstm相较普通神经网络,更加适用于对时间序列数据进行建模。lstm神经元由输入门、遗忘门、输出门、自循环连接四部分组成,负责融合过去状态、现在记忆和当前输入三种信息。lstm神经元结构和详细组织图如图2所示。
[0063]
图中,x
t
为时间步t隐层神经元的输入;i
t
为输入门的激活值;f
t
为遗忘门的激活值;o
t
为输出门的激活值;h
t
、h
t-1
为时间步t和时间步t-1x
t
的隐层输出;c
t
、c
t-1
为时间步t和时间步t-1记忆单元的输出;为神经元的输出;s
t
为记忆单元的临时状态;w
ix
为当前时刻输入x
t
到输入门的连接权重;w
ih
为上一时刻隐层输出h
t-1
到输入门的连接权重;bi为输入门的偏置;w
fx
为当前时刻输入x
t
到遗忘门的连接权重;w
fh
为上一时刻隐层输出h
t-1
到遗忘门的连接权重;bf为遗忘门的偏置;w
sx
为当前时刻输入x
t
到临时记忆单元的连接权重;w
sh
为上一时刻隐层输出h
t-1
到临时记忆单元的连接权重;bs为临时记忆单元的偏置;w
ox
为当前时刻输入x
t
到输出门的连接权重;w
oh
为上一时刻隐层输出h
t-1
到输出门的连接权重;bo为输出门的偏置;v为输出层权重向量;by为输出层偏置。
[0064]
(1)输入门
[0065]
输入门决定了新输入信息保存到记忆单元的程度,输入为当前时间步t的输入信息x
t
和上一时间步t-1的隐层输出h
t-1
,计算公式如下:
[0066]it
=σ(w
ix
x
t
+w
ihht-1
+bi)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0067]
(2)遗忘门
[0068]
遗忘门控制舍弃历史信息的比例,输入为当前时间步t的输入信息x
t
和上一时间步t-1的隐层输出h
t-1
,采用sigmoid激活函数将输出变换到[0,1]的区间内,输出值越接近1,表示保留历史信息的量越大,反之,越接近0,表示历史信息保留量越少,计算公式如下:
[0069]ft
=σ(w
fx
x
t
+w
fhht-1
+bf)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0070]
(3)记忆单元
[0071]
记忆单元的临时状态s
t
负责综合当前时刻的输入x
t
与上一时刻隐层输出h
t-1
,是对历史信息和当前信息的综合,计算公式如下:
[0072]st
=tanh(w
sx
x
t
+w
shht-1
+bs)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0073]
当前时刻记忆单元输出值c
t
由两部分组成:一是c
t-1
经过遗忘门滤除后的剩余历
史记忆值;二是记忆单元临时状态s
t
,该部分比例由输入门负责控制。两部分经过组合后的值即为记忆单元输出值c
t
。计算公式如下:
[0074][0075]
符号表示按元素相乘。
[0076]
(4)输出门
[0077]
输出门控制记忆单元允许输出的信息比例,输入为当前时间步t的输入信息x
t
和上一时间步t-1的隐层输出h
t-1
,计算公式如下:
[0078]ot
=σ(w
ox
x
t
+w
ohht-1
+bo)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0079]
采用tanh作为激活函数对记忆状态c
t
进行变化,并与输出门计算结果o
t
相乘,得到允许输出的信息即为隐层输出h
t
,如下:
[0080][0081]
神经元的输出的计算公式为:
[0082]yt
=σ(vh
t
+by)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0083]
(5)lstm网络结构设计
[0084]
在前馈控制器g
c1
(s)和预估模型gm(s)的设计中,lstm采用序列输入单输出的网络结构,如图3所示,即通过多个时间步的内容,对当前时刻的lstm网络输出进行预测,输入是多个时刻的,输出是一个时刻的。
[0085]
本实施例预估模型gm(s)的设计过程如下:
[0086]
预估模型gm(s)采用lstm网络构建。lstm网络的输入为有时间关联关系的序列数据,引入“时间步”的概念,代表lstm网络依赖于历史上多少个时刻的输入信息。gm(s)分为离线训练和在线运算两个阶段。
[0087]
(1)离线训练
[0088]
离线训练阶段lstm网络的输入输出关系为
[0089][0090]
式中,为采用lstm网络构建的gm(s)的非线性模型;t为lstm网络输入向量的时间步,即lstm网络输入中包含了多少个时刻的历史信息;x(
·
)为lstm网络的输入向量;为lstm网络对k+1时刻系统输出的预估。
[0091]
按照时间顺序依次向lstm网络中输入x(k-t+1),

,x(k)这t个输入向量,即可预测得到被控对象g0(s)在k+1时刻的输出预估值将预估值与真实输出值y(k+1)进行比较,按照梯度下降法对lstm进行迭代训练,即可得到训练好的lstm网络,该网络即为预估模型gm(s)的非线性模型。
[0092]
输入向量x(
·
)由被控对象g0(s)在对应时刻的输出响应与控制量组成,如下所示:
[0093]
x(k)=[y(k),u(k)]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0094]
离线训练阶段的示意图如图4所示。
[0095]
(2)在线运算
[0096]
在线运算阶段lstm网络的输入输出关系为
[0097][0098]
式中,xe(
·
)为lstm网络的输入向量;ye(k+1)为k+1时刻预估模型gm(s)的输出。输入向量xe(
·
)为
[0099]
xe(k)=[ye(k),u
c1
(k)]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0100]
式中,u
c1
(k)为k时刻前馈控制器g
c1
(s)的输出。
[0101]
在线运算阶段的示意图如图5所示。
[0102]
前馈控制器g
c1
(s)设计如下:
[0103]
前馈控制器g
c1
(s)采用lstm网络构建预估模型gm(s)的逆模型,因为该模型的输出为控制量,因此又称该模型为gm(s)的逆模型。g
c1
(s)的构建分为离线训练和在线运算两个阶段。
[0104]
(1)离线训练
[0105]
离线训练阶段lstm网络的输入输出关系为
[0106][0107]
式中,为g
c1
(s)采用lstm网络构建的预估模型gm(s)的逆模型;t为lstm网络输入向量的时间步,即lstm网络输入中包含了多少个时刻的历史信息;x(
·
)为lstm网络的输入向量;为lstm网络对k+1时刻系统控制量的预估。
[0108]
按照时间顺序依次向lstm网络中输入x(k-t+1),

,x(k)这t个输入向量,即可预测得到被控对象g0(s)在k+1时刻的控制量预估值将预估值与真实输出值u(k+1)进行比较,按照梯度下降法对lstm进行迭代训练,即可得到训练好的lstm网络,该网络即为预估模型gm(s)的非线性逆模型。
[0109]
输入向量x(
·
)由被控对象g0(s)在对应时刻的输出响应与控制量组成,如下所示:
[0110]
x(k)=[y(k),u(k)]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0111]
离线训练阶段的示意图如图6所示。
[0112]
(2)在线运算
[0113]
在线运算阶段lstm网络的输入输出关系为
[0114][0115]
在线运算阶段的示意图如图7所示。
[0116]
反馈控制器g
c2
(s)设计如下:
[0117]
反馈控制器g
c2
(s)采用pid控制器,其传递函数为
[0118][0119]
式中,k
p
、ki、kd分别为比例、积分、微分系数。
[0120]
测试实例
[0121]
本实例设被控对象g0(s)为
[0122][0123]
为g0(s)施加如图8所示输入信号u,得到g0(s)的响应y如图9所示。
[0124]
以上述仿真得到的u和y作为输入,y作为输出,训练得到gm(s)的lstm模型。图10所示为训练过程中的损失函数变化情况。
[0125]
系统实际输出和lstm网络的输出对比如图11所示,模型拥有不错的精确度。
[0126]
以上述仿真得到的u和y作为输入,u作为输出,训练得到g
c1
(s),即gm(s)的lstm逆模型。图12所示为训练过程中的损失函数变化情况。
[0127]
系统实际输出和lstm网络的输出对比如图13所示,模型拥有较好的精确度。
[0128]
搭建如图14所示的控制系统框图,对基于神经网络逆模型的前馈跟踪控制算法和现有技术中普通前馈反馈控制算法进行仿真对比。
[0129]
对调节速度的仿真结果如图15所示。由仿真结果可知,因为基于神经网络逆模型的前馈跟踪控制算法采用了动态模型作为前馈,所以调节速度更快。
[0130]
对控制系统的鲁棒性进行测试,改变被控对象g0(s)为
[0131][0132]
对鲁棒性的仿真结果如图16所示。由仿真结果可知,基于神经网络逆模型的前馈跟踪控制算法鲁棒性更强。
[0133]
本发明的技术方案不局限于上述各实施例,凡采用等同替换方式得到的技术方案均落在本发明要求保护的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1