基于BP神经网络的自整定PID控制仿真.docx
- 文档编号:25929337
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:15
- 大小:437.31KB
基于BP神经网络的自整定PID控制仿真.docx
《基于BP神经网络的自整定PID控制仿真.docx》由会员分享,可在线阅读,更多相关《基于BP神经网络的自整定PID控制仿真.docx(15页珍藏版)》请在冰豆网上搜索。
基于BP神经网络的自整定PID控制仿真
基于BP神经网络的自整定PID控制仿真
一、目的
1.熟悉神经网络的特征、结构以及学习算法
2.掌握神经网络自整定PID的工作原理
3.了解神经网络的结构对控制效果的影响
4.掌握用MATLAB实现神经网络控制系统仿真的方法。
二、设备及条件
计算机系统
Matlab仿真软件
三、问题背景
在工业控制中,PID控制是工业控制中最常用的方法。
这是因为PID控制器结构简单、实现简单,
控制效果良好,已得到广泛应用。
但是,PID具有一定的局限性:
被控制对象参数随时间变化时,控制器
的参数难以自动调整以适应外界环境的变化。
为了使控制器具有较好的自适应性,实现控制器参数的自动调整,可以采用神经网络控制的方法。
利用人工神经网络的自学习这一特性,并结合传统的PID控制理论,
构造神经网络PID控制器,实现控制器参数的自动调整。
基于BP神经网络的PID控制器结构如图1所示。
控制器由两部分组成:
一是常规PID控制器,
用以直接对对象进行闭环控制,且三个参数在线整定;二是神经网络NN根据系统的运行状态,学习调整
权系数,从而调整PID参数,达到某种性能指标的最优化。
图1基于神经网络的PID控制器结构
四、基于BP神经网络的PID设计1设计原理
神经网络采用结构为4-5-3型的BP网络,如图2。
图2BP网络结构
其中,输出层激励函数取非负的Sigmoid函数,隐层取正负对称的Sigmoid函数。
被控对象为一时变非线性对象,数学模型可表示为:
式中,系数a(k)是慢时变的,二"'■■■■'-。
为保证控制器有一定的动态跟踪能力,选定神经网络的输入层输入为
X.[e(k),e(k1),e(k2),1]T
网络的学习过程由正向和反向传播两部分组成。
如果输出层不能得到期望输出,那么转入反向传播过程,通过修改各层神经元的权值,使得输出误差信号最小。
输出层节点分别对应三个可调参数
12
取性能指标函数为:
E(k)_(r(k)y(k))2
2
设其中r(k)y(k)e(k)
u(k)
-O(3Te(k)e(k1)
u(k)宀、⑶e(k)
O2
u(k)
[⑶e(k)2e(k1)e(k2)
2.网络权系数调整
网络权系数的修正采用梯度下降法。
根据相关数学知识,针对指定因变量的梯度代表了使因变量增速最大的自变量变化方向,故而其反方向代表了因变量下降最快的自变量变化方向,如果我们选取性能指标E(k)为因变量,网络各层权系数为
自变量,则对应梯度的负方向就是权系数调整的最佳方向,因此,实际上构成了一个有目标的搜索算法,对最终结果的收敛性提供了有力的保证。
对应于本题采用的4-5-3型的BP网络,梯度负方向的计算:
(1)
隐含层-输出层:
E(k)E(k)*y(k1)*u(k)*Oi(3)*net⑶
(3)y(k1)u(k)Oi⑶netj⑶(3)
其中:
E(k)为指标函数
(3)为隐含层-输出层权系数矩阵元素y(k1)为被控对象输出u(k)为PID控制器输出
Oi⑶为输出层输出
net|⑶为输出层输入
根据所选用神经网络的数学模型,易知:
O
(2)(k)为隐含层输出,
1'g[x]-[1tanh(x)],为输出层激励函数,g(x)g(x)*[1g(x)]为其偏导数。
2
另外,辿1)直接的数学表达不容易获得,但我们可以使用它的符号函数来近似,仍可以保证参数
u(k)
修正方向的正确性,而由此造成其模的误差只影响参数调整的速度,它可以通过调整学习速率来得以补偿。
故而最终有:
E(k)
⑶ji
e(k1)*sgn[“)]*[e(k)
e(k1)]*g[netl⑶]*O
(2)(k)
u(k)
(2)输入层-
隐含层:
E(k)
E(k)*Oj⑵*
net
(2)
j2)(k)
O
(2)net
(2)(k)
j2)(k)
E(k)
o
(2)
E(k)*
3
net(k)
net;(k)
o
(2)
E(k)*
3
net2(k)
net;(k)E(k)*
O
(2)net;(k)
3
net3(k)
Of
其中:
i123,4j
123,4,5
l1,2,3
E(k)
E(k)
*y(k1)*
u(k)*Oi⑶
nef
y(k1)
u(k)
Ofnet⑶
net
(2)
Oi⑴(k)
故而最终有:
3.程序流程
步骤3:
前向传播计算。
包括
(1)BP神经网络前向传播计算,得到输出层输出Kp,KI,KD.;
(2)增量式PID控制器计算控制器输出u(k);
(3)被控对象模型计算输出值y(k)
步骤4:
反向传播计算。
包括:
(1)修正输出层的权系数(3)(k);
(2)修正隐含层的权系数j2)(k);
步骤5:
参数更新
步骤6:
如果k达到设定的次数上限,则结束;否则,k=k+1,并返回步骤2.总的程序流程图如下:
程序流程图
五、运行结果及分析
1•运行结果
0.5]
取学习速率0.25,惯性系数0.05,隐层节点数位5,各层加权系数的初值取区间[-0.5,
上的随机数进行仿真实验,由于初始值随机,各次仿真结果不完全相同,但基本都能够快速收敛至理想结果,取其中具有普遍代表性的两幅图:
图4随机结果1
图5随机结果2
图中红线表示输入阶跃信号,蓝线表示被控对象输出
2•改变参数对运行结果的影响及分析
为了便于结果的对比,使每次的初始网络权系数都相同,每次只改变所要考察的参数。
此处取网络权系数矩阵的各元素初始值为-0.5.
(1)隐层节点数对仿真结果的影响
分别取具有代表性的隐层节点数为3,5,7,8的情况进行仿真,仿真过程分为两个阶段:
刚开始,输入信
号幅值为1对于收敛的系统,一般会在50到100次之间稳定,我们可以通过系统在前200次迭代情况,
考察系统的收敛性及收敛速度;从第201次开始,我们改变输入信号的幅值为1.2,考察稳定系统在情况发
生改变的情况下,跟踪并稳定至新状态的能力。
同时为了使各系统间性能对比更明显,对系统的时变程度也进行了适当的放大。
图6隐层节点数为4
3-
图7隐层节点数为5
Irdu
-JI
1001502002£0300350^00
time(s)
图8隐层节点数为7
timejs}
图9隐层节点数为8
由以上图可知,对于前200次的迭代,在隐层节点数较小时,随着节点数增多,系统对误差的敏感性增强,隐层节点数从4变成5,收敛变短,但随着节点数进一步增加,系统振荡程度变大,反而又不容易收敛。
另一方面,这个变化规律在后200次的新状态跟踪中也是成立的。
这一点并不难以理解,因为后200
次改变输入幅值,本质上其实就是人为产生一个误差,然后重新训练并跟踪的过程,所不同的是,它的初始网络权值本身就是网络在前一稳定状态的训练结果,在此基础上的新状态跟踪能力本身就是系统性能的体现,相对与完全的随机初始值或者某一指定值,在低重复次数的试验中,其结果更具代表性和可靠性。
以上各图结果中,前后两阶段变化规律的相似性也印证了这一点。
总的来讲,增大隐层节点数,在一定范围内会减少收敛时间,但同时也会造成系统稳定性变差,超调振荡变得严重,而在系统收敛的范围内,隐层节点数太小,系统相对迟钝,收敛速度变慢,输入变化时,抗干扰能力较差,跟踪新状态所花的时间也变长。
另外,从图中明显可以看出,隐层节点数过大,系统陷入局部最优的风险也在不断增大,表现为跟踪曲线中有明显变长的水平线,实际上,在所给的情况下,当隐层节点数增为13时,系统明显陷入局部最优。
图10隐层节点数13时,系统陷入局部最优
综上,系统隐层节点数并不是越多越好,也不是越少越好,而应该根据实际情况和实验结果选定合适值。
针对本实验问题,合适的隐层节点数为5个,图7显示了各方面都较好的跟踪能力。
(2)学习速率及惯性系数对仿真结果的影响
图110.25,0.05时的跟踪曲线
保持0.05时,改变分别为1.25,0.02有如下结果
图121.25,0.05图130.02,0.05
保持0.25,改变分别为0.1,0.001结果如下
图140.25,0.1
'a3&40M如™i12厂rio1€C1B9^Xl
Ufn^a^
图150.25,0.01
从以上图可知,学习速率对结果的影响与隐层节点数有些类似,太小系统跟踪能力较差或跟踪不
上,太大容易振荡并且陷入局部最优的风险也增大。
惯性系数对结果的影响不是很突出,可能与有
相反的效果的趋势,但是并不明显,不过可以确定的是,的取值应当较小,而不能大,否则系统性能明
显恶化。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 BP 神经网络 PID 控制 仿真