
神经网络控制
智能温控系统-插入综合
2023年3月20日发(作者:张焕生)神经网络PID
-CAL-FENGHAI.-(YICAI)-CompanyOne1
2
BP神经网络PID控制方法研究
引言
所谓“神经网络”是以一种简单计算处理单元(即神经元)为节点,采用
某种网络拓扑结构构成的活性网络,可以用来描述几乎任意的非线性系统;不
仅如此,神经网络还具有学习能力、记忆能力、计算能力以及各种智能处理能
力,在不同程度和层次上模仿人脑神经系统的信息处理、存储和检索功能。
神经网络在控制系统中的应用提高了整个系统的信息系统处理能力和适应
能力,提高了系统的智能水平。由于神经网络己具有逼近任意连续有界非线性
函数的能力,对于长期困扰控制界的非线性系统和不确定性系统来说,神经网
络无疑是一种解决问题的有效途径。采用神经网络方法设计的控制系统具有更
快的速度(实时性)、更强的适应能力和更强的鲁棒性。
正因为如此,近年来在控制理论的所有分支都能够看到神经网络的引入及
应用,对于传统的PID控制当然也不例外,以各种方式应用于PID控制的新算
法大量涌现,其中有一些取得了明显的效果。
传统的控制系统设计是在系统数学模型己知的基础上进行的,因此,它设
计的控制系统与数学模型的准确性有很大的关系。神经网络用于控制系统设计
则不同,它可以不需要被控对象的数学模型,只需对神经网络进行在线或离线
训练,然后利用训练结果进行控制系统的设计。神经网络用于控制系统设计有
多种类型,多种方式,既有完全脱离传统设计的方法,也有与传统设计手段相
结合的方式。
一般来说,基于神经网络的PID控制器的典型结构主要有两种,单神经元
网络PID控制器和神经网络PID控制器两种控制算法。本章将详细介绍基于BP
神经网络的PID控制算法,然后对单闭环调速系统的进行设计,对其进行
Matlab算法仿真。
基于BP神经网络的PID整定原理
PID控制要取得好的控制效果,就必须通过调整好比例、积分和微分三种
控制作用在形成控制量中相互配合又相互制约的关系,这种关系不一定是简单
的“线性组合”,而是从变化无穷的非线性组合中找出最佳的关系。BP神经网
络具有逼近任意非线性函数的能力,而且结构和学习算法简单明确。通过网络
自身的学习,可以找到某一最优控制规律下的P、I、D参数。
3
基于BP神经网络的PID控制系统结构如图3-1所示。控制器由两部分组
成:①经典的PID控制器:直接对被控对象进行闭环控制,并且三个参数pk
、
ik
、dk
为在线调整方式。②BP神经网络:根据系统的运行状态,调节PID控制
器的参数,以其达到某种性能指标的最优化,即使输出层神经元的输出状态对
应于PID控制器的三个可调参数pk
、ik
、dk
,通过神经网络的自身学习、加权
系数调整,从而使其稳定状态对应于某种最优控制规律下的PID的控制器参
数。
图3-1基于BP神经网络自适应PID控制系统
经典增量式数字PID的控制算式为
()(1)(()(1))()(()2(1)(2))pidukukkekekkekkekekek
(3-1)
式中pk、ik、dk分别为比例、积分、微分系数。
将pk、ik、dk视为依赖于系统运行状态的可调系数时,可将(3-1)描述为
()[(1),,,,(),(1),(2)]pidukfukkkkekekek
(3-2)
式中,
(.)f
是与pk、ik、dk、u(k-1)、e(k)等有关的非线性函数,可以用BP神经
网络通过训练和学习找到这样一个最佳控制规律。
设BP神经网络NN是一个采用三层BP结构,其结构如图3-2所示,它有
m个输入节点,q个隐含节点,3个输出节点。输入变量的个数m取决于被控
系统的复杂程度。输出节点分别对应PID控制器的三个参数pk、ik、dk,由于
pk
、ik、dk不能为负,所以输出层神经元活化函数取非负的Sigmoid函数。
you
t
学习算法
PID
BP神经网络
被控对象
rin
u
kpkikd
4
图3-2BP神经网络结构图
由图可见,网络隐含层的输入为
(1)()
j
xjoj
=1,2…
m
(3-3)
网络隐含层的输入输出为
(2)(2)(1)
0
()
m
iijj
j
netkwo
(3-4)
(2)
(2)()(())
i
i
kfnetkoi
=1,2…
q
(3-5)
式中,(2)
ij
w
为隐含层加权系数,上标(1)、(2)、(3)分别代表输入层、
隐含层、输出层,f(x)为双曲正切函数,即()()/()xxxxfxeeee。
最后,网络输出层三个节点的输入、输出分别为
(3)(3)(2)
0
()()
i
q
lli
i
netkwok
(3-6)
(3)(3)()(())
ll
okgnetkl=1,2,3(3-7)
即
(3)
1
(3)
2
(3)
3
()
()
()
p
i
d
okk
okk
okk
(3-8)
式中,(3)
li
w为输出层加权系数,输出层神经元活化函数取为非负的Sigmoid函数
()/()xxxgxeee。
取性能指标函数
2
1
()(()())
2
Ekrinkyoutk
(3-9)
按照梯度下降法修正网络的权系数,即按E(k)对加权系数的负梯度方向搜索调
整,并附加一使搜索快速收敛全局极小的惯性项,则有
(3)(3)
(3)
()
()(1)
lili
li
Ek
wkwk
w
(3-10)
为学习率,γ为惯性系数。而
(3)(3)
(3)(3)(3)(3)
()()
()()()()
....
()()()()
ll
lillli
oknetk
EkEkykuk
wykukoknetkw
(3-11)
这里需要用到的变量
()/()ykuk
,由于
()/()ykuk
未知,所以近似用符号函
数来取代,由此带来计算不精确的影响可以通过调整学习速率来补偿。
5
由(3-1)式得
(3)
1
(3)
2
(3)
3
()
()(1)
()
()
()
()
()
()2(1)(2)
()
uk
ekek
ok
uk
ek
ok
uk
ekekek
ok
(3-12)
这样,可得BP神经网络输出层权计算公式为
(3)(3)(2)(3)()()(1)
lilili
wkokwk(3-13)
(3)'(3)
(3)
()()
()(())
()()ll
l
ykuk
ekgnetk
ukok
l=1,2,3(3-14)
同理可得隐含层权计算公式为
(2)(2)(1)(2)()()(1)
ijijli
wkokwk(3-15)
3
(2)'(2)(3)(3)
1
(())()
iilli
l
fnetkwk
i
=1,2,…,
q
(3-16)
基于BP网络的PID控制器控制算法归纳如下:
1.确定BP神经网络结构,即确定输入层节点及数目m、隐含层数目q,
并给出各层权系数的初值(2)(0)
ij
w和(3)(0)
li
w、选定学习率、惯性系数γ,此时
k=1;
2.采样得到rin(k)、yout(k),计算该时刻误差()()()errorkrinkyoutk;
3.计算神经网络NN各层神经元的输入、输出,NN输出层的输出即为PID
控制器的三个可调参数pk、ik、dk;
4.计算PID控制器的输出u(k);
5.进行神经网络学习,在线调整加权系数(2)()
ij
wk和(3)()
li
wk;实现PID控制
参数的自适应调整;
6.置k=k+1,返回到1。
其算法流程图如图3-3所示:
6
图3-3BP网络算法流程图
初始化
给定输入向量和目标输出
求隐含层、输出层各节点输
求目标值与实际输出的偏差
计算反向误差
权值学习
学习结束
结束
Y
N