BP神经网络PID控制器的原理
3.1 PID控制器基本描述
PID控制是一种反馈控制方式, 其包括:比例、积分和微分。其3个环节之间相互关联, 且相互间的关系很复杂, 各环节的作用也各不相同
在本设计中采用增量式PID 控制算法, 设其控制误差为:
e (k) =r (k) -y (k)
式中 r——输入;y——输出;k——采样时刻。P、I、D3项输入分别为:x1 (k) =e (k) -e (k-1) ;x2 (k) =e (k) ;x3 (k) =e (k) -2e (k-1) +e (k-2) 。
3.2 BP神经网络的控制原理
BP神经网络的基本原理是梯度最速下降法, 它的中心思想是调整权值使网络总误差最小。其学习过程是一种误差边向后传播边修正权系数的过程。在该控制系统中, 以给矿量、给水压力、分级溢流粒度及浓度作为被控变量, 通过BP网络学习算法来调整PID控制参数的方法, 使控制更加精确。BP神经网络结构组成为:输入、隐含和输出层。也有多层神经网络结构, 其隐含层有多个。BP神经网络控制器的原理是由正向和反向传播来实现的。将输入信息从输入层经隐含层逐层处理, 并传向输出层, 每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望输出, 则转入反向传播, 将误差信号沿原来的连接通道返回, 通过修改各层的权值, 使误差信号最小
3.3 带BP神经网络的PID控制
PID控制算法为:u (k) =u (k-1) +△u (k) ;△u (k) =Kp (k) x1 (k) +Ki (k) x2 (k) +Kd (k) x3 (k) , 式中Kp (k) 、Ki (k) 、Kd (k) 由神经网络进行整定。引入输入误差的二次性能指标, 定义其函数为:E (k) =0.5 (r (k) -y (k) ) =0.5e (k) , 其中Kp (k) 、Ki (k) 、Kd (k) 的调整采用梯度下降法。
3.3.1 前馈算法
设有N个训练样本, 先假定用其中的某一个样本p的输入/输出模式{Xp}和{Tp}对网络进行训练, 隐含层的第i个神经元在样本p作用下的输入为:
式中 o
式中 wki——隐含层i与输出层神经元k之间的连接权值;ak——输出层神经元k的阈值;q——隐含层的个数。输出层第k个神经元的输出为o
3.3.2 反向传播法
性能指标函数为:
式中 T (k) ——给定输入;y (k) ——实际输出, 按照梯度下降法修正网络的权系数, 即按E (k) 对加权系数的负梯度方向搜索调整, 使误差达到最小。
基于BP神经网络的PID控制器结构见图1, 其算法可归纳如下:1) 初始化。确定隐含层单元节点的个数, 并对各层的加权系数进行初始化;2) 采样得到T (k) , y (k) , 计算该时刻误差e (k) =T (k) -y (k) ;3) 计算实际输出, 即为PID控制器的3个可调参数比例、积分和微分系数 ;4) 根据经典增量式数字PID的控制算法:△u (k) =Kp (k) x1 (k) +Ki (k) x2 (k) +Kd (k) x3 (k) , 计算PID控制器的u (k) ;5) 利用神经网络对参数进行训练, 在线调节各层的加权系数, 进行自整定;6) 令k=k+1, 返回到第一步。
3.4 仿真研究
为了验证神经网络PID 控制系统的优越性, 在此进行了仿真实验。下面以一阶时滞系统作为被控对象, 进行仿真实验。设被控对象为:
G (s) =0.5e-20s/15s+1
其传递函数的离散数学模型为:y (k) =0.7165y (k-1) +0.1417u (k-4) 。取采样时间Ts=5s, 传统PID控制器的参数可用Ziegler-Nichols方法整定得到, 根据试验取Kp=2, Kd=0.05, Ki=1。其仿真结果如图2、3。
由图2、3可以看出, 采用神经网络PID控制比采用传统的PID控制超调量要小得多。由此说明, 后者响应的快速性和稳定性均好于前者, 说明该方法的有效性。