预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于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)是慢时变的,。为保证控制器有一定的动态跟踪能力,选定神经网络的输入层输入为网络的学习过程由正向和反向传播两部分组成。如果输出层不能得到期望输出,那么转入反向传播过程,通过修改各层神经元的权值,使得输出误差信号最小。输出层节点分别对应三个可调参数取性能指标函数为:设其中若PID控制器采用采用增量式数字PID控制算法,则有2.网络权系数调整网络权系数的修正采用梯度下降法。根据相关数学知识,针对指定因变量的梯度代表了使因变量增速最大的自变量变化方向,故而其反方向代表了因变量下降最快的自变量变化方向,如果我们选取性能指标为因变量,网络各层权系数为自变量,则对应梯度的负方向就是权系数调整的最佳方向,因此,实际上构成了一个有目标的搜索算法,对最终结果的收敛性提供了有力的保证。对应于本题采用的4-5-3型的BP网络,梯度负方向的计算:隐含层-输出层:其中:为指标函数为隐含层-输出层权系数矩阵元素为被控对象输出为PID控制器输出为输出层输出为输出层输入根据所选用神经网络的数学模型,易知:其中:为隐含层输出,,为输出层激励函数,为其偏导数。另外,直接的数学表达不容易获得,但我们可以使用它的符号函数来近似,仍可以保证参数修正方向的正确性,而由此造成其模的误差只影响参数调整的速度,它可以通过调整学习速率来得以补偿。故而最终有:输入层-隐含层:其中:,为输出层激励函数,为其偏导数。故而最终有:网络权值修正量梯度的负方向给出了网络权值修正的方向,乘以系数,即为权值修正量。其中代表了算法每次在梯度负方向搜索的步长,称为网络的学习速率,另外,如果考虑上次权值对本次权值变化的影响,需要加入动量(平滑)因子,此时新的权值为:3.程序流程步骤1:设定初始状态和参数初始值,包括随机产生初始BP神经网络权值系数,设定初始输入输出值为零,设定学习速率和惯性系数,计数器设为k=1,并设定计数上限等。步骤2:计算产生BP神经网络隐含层输入。本程序为采样获得e(k),并结合储存的e(k-1),e(k-2),及常数1作为隐含层输入。前两次的e(k-1),e(k-2)并未真实产生直接取0.步骤3:前向传播计算。包括:(1)BP神经网络前向传播计算,得到输出层输出,,.;(2)增量式PID控制器计算控制器输出;(3)被控对象模型计算输出值步骤4:反向传播计算。包括:修正输出层的权系数;修正隐含层的权系数;步骤5:参数更新步骤6:如果k达到设定的次数上限,则结束;否则,k=k+1,并返回步骤2.总的程序流程图如下:图3程序流程图五、运行结果及分析1.运行结果取学习速率,惯性系数,隐层节点数位5,各层加权系数的初值取区间[-0.5,0.5]上的随机数进行仿真实验,由于初始值随机,各次仿真结果不完全相同,但基本都能够快速收敛至理想结果,取其中具有普遍代表性的两幅图:图4随机结果1图5随机结果2图中红线表示输入阶跃信号,蓝线表示被控对象输出2.改变参数对运行结果的影响及分析为了便于结果的对比,使每次的初始网络权系数都相同,每次只改变所要考察的参数。此处取网络权系数矩阵的各元素初始值为-0.5.(1)隐层节点数对仿真结果的影响分别取具有代表性的隐层节点数为3,5,7,8的情况进行仿真,仿真过程分为两个阶段:刚开始,输入信号幅值为1,对于收敛的系统,一般会在50到100次之间稳定,我们可以通过