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

在线预览结束,喜欢就下载吧,查找使用更方便

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

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

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

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

基于BP神经网络的自整定PID控制仿真一、实验目的1.熟悉神经网络的特征、结构及学习算法。2.通过实验掌握神经网络自整定PID的工作原理。3.了解神经网络的结构对控制效果的影响。4.掌握用Matlab实现神经网络控制系统仿真的方法。二、实验设备及条件1.计算机系统2.Matlab仿真软件三、实验原理在工业控制中PID控制是工业控制中最常用的方法。这是因为PID控制器结构简单实现简单控制效果良好已得到广泛应用。但是PID具有一定的局限性:被控制对象参数随时间变化时控制器的参数难以自动调整以适应外界环境的变化。为了使控制器具有较好的自适应性实现控制器参数的自动调整可以采用神经网络控制的方法。利用神经网络的自学习这一特性并结合传统的PID控制理论构造神经网络PID控制器实现控制器参数的自动调整。基于BP神经网络的PID控制器结构如图4所示。控制器由两部分组成:一是常规PID控制器用以直接对对象进行闭环控制且3个参数在线整定;二是神经网络NN根据系统的运行状态学习调整权系数从而调整PID参数达到某种性能指标的最优化。图4中神经网络采用结构为4-5-3型的BP网络。BP网络是一种单向传播的多层前向网络。输入节点对应系统的运行状态量如系统的偏差与偏差变化率必要时要进行归一化处理。输入变量的个数取决于被控系统的复杂程度输出节点对应的是PID的3个可调参数。由于输出不能为负所以输出层活化函数取非负的Sigmoid函数隐含层取正负对称的Sigmoid函数。本系统选取的BP网络结构如图5所示。网络的学习过程由正向和反向传播两部分组成。如果输出层不能得到期望输出那么转入反向传播过程通过修改各层神经元的权值使得误差信号最小。输出层节点分别对应3个可调参数Kp、Ki、Kd。取性能指标函数为按照梯度下降法修正网络的权系数即按E(k)对加权系数的负梯度方向搜索调整并附加一使快速收敛全局极小的惯性项式中η为学习速率;α为惯性系数。又其中u(k)为控制器在k时刻的输出;为输出层各节点的输出;为输出层各节点的输入。若采用增量式数字PID控制算法则有四、实验步骤(1)被控对象为一时变非线性对象数学模型可表示为式中系数a(k)是慢时变的。(2)如图5所示确定BP网络的结构选4-5-3型的BP网络各层加权系数的初值取区间[-0.50.5]上的随机数选定学习速率η=0.25和惯性系数α=0.05。(3)在Matlab下依据整定原理编写仿真程序并调试。(4)给定输入为阶跃信号运行程序记录实验数据和控制曲线。(5)修改神经网络参数如学习速率、隐含层神经元个数等重复步骤(4)。(6)分析数据和控制曲线。五、实验结果1.实验代码xite=0.25;alfa=0.02;IN=4;H=10;Out=3;wi=[0.4634-0.41730.31900.45630.18390.32010.11120.3395-0.31820.04700.0850-0.0722-0.62660.08460.3751-0.6900-0.32240.1440-0.2783-0.0193-0.0232-0.09920.26360.2011-0.4502-0.29280.0062-0.5640-0.1975-0.13320.19810.04220.05210.0673-0.5546-0.4830-0.6016-0.40970.0338-0.1503];wi_1=wi;wi_2=wi;wi_3=wi;wo=[-0.16200.36740.1959-0.0337-0.1563-0.14540.08980.72390.76050.33490.76830.47140.02150.58960.7143-0.09140.46660.07710.42700.24360.70260.02150.44000.11210.25660.24860.48570.01980.49700.6450]';wo_1=wo;wo_2=wo;wo_3=wo;x=[000];u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;oh=zeros(H1);I=oh;error_2=0;er