1、实验二 基于 BP 神经网络自整定 PID 控制仿真 一、实验目的 熟悉神经网络的特征、结构以及学习算法,通过实验掌握神经网络自整定 PID 的工作原理。了解神经网络的结构对控制效果的影响,掌握用 MATLAB 实现神经网络控制系统仿真的方法。二、实验原理 在工业控制中,PID 控制是工业控制中最常用的方法。这是因为 PID 控制器结构简单、实现简单,控制效果良好,已得到广泛应用。但是,PID具有一定的局限性:被控制对象参数随时间变化时,控制器的参数难以自动调整以适应外界环境的变化。为了使控制器具有较好的自适应性,实现控制器参数的自动调整,可以采用神经网络控制的方法。利用人工神经网络的自学习这
2、一特性,并结合传统的 PID 控制理论,构造神经网络 PID 控制器,实现控制器参数的自动调整。基于BP神经网络的PID控制器结构如图1所示。控制器由两部分组成:一是常规PID控制器,用以直接对对象进行闭环控制,且三个参数在线整定;二是神经网络NN,根据系统的运行状态,学习调整权系数,从而调整PID参数,达到某种性能指标的最优化。图 1 基于 BP 网络的 PID 控制器结构网络学习过程由正向和反向传播两部分组成。在正向传播过程中,每一层神经单元的状态只影响下一层神经网络。如果输出层不能得到期望输出,也就是实际输出与期望输出有误差,那么转入反向传播过程,将误差信号沿原来的连接通路返回,通过修改
3、各层神经元的权值,逐次向输入层传播,去进行计算,再经过正向传播过程,这样经过两个过程的反复作用,使得误差信号最小。实际上,当误差达到人们所希望的要求时,网络的学习过程就结束了。图2 BP 网络结构三、实验内容(1) 被控对象为一时变非线性对象,数学模型可表示为:式中,系数a(k)是慢时变的,。(2) 如图 2 确定BP网络的结构,选 4-5-3 ,各层加权系数的初值 ,取区间 -0.5, 0.5 上的随机数,选定学习速率=0.25和惯性系数=0.05 (3) 在 MATLAB 下依据整定原理编写仿真程序并调试。(4) 给定输入为阶跃信号,运行程序,记录实验数据和控制曲线。 (5) 修改神经网络参数如学习速率,隐含层神经元个数等,重复步骤(4),(6)分析数据和控制曲线。 四、具体操作在MATLAB工具条最左边打开一个新的工作空间,把控制程序copy进去,运行,就可得出仿真结果。然后按实验要求完成实验。新建工作空间程序S=1的运行结果如下S=2是运行结果