基于神经网络的增量PID算法及仿真研究

时间:2022-06-25 09:05:14

基于神经网络的增量PID算法及仿真研究

摘 要:为了解决传统PID控制器对时变系统控制能力不强的弱点。利用神经网络理论与传统PID控制理论相结合。设计了一种基于神经网络的增量PID控制器,实现PID参数的在线自整定。通过实例仿真试验比较,这种控制器比传统的PID具有较强的适应性,可以获得满意的控制效果。关键词:神经网络; PID; Matlab; 在线自整定

中图分类号:TN919-34; TP274 文献标识码:A

文章编号:1004-373X(2010)18-0121-03

Research on Incremental PID Algorithm and Simulation Based on Neural Network

WANG Jun-qin

(Department of Mechanical and Electronic Engineering, Xi’an University of Arts and Science, Xi’an 710065, China)

Abstract: To resolve the shortages of traditional PID controller which is not strong enough to control the time-varying system, an incremental PID controller based on neural network is designed to realize the online self-tuning of PID parameters in combination with the neural network theory and traditional PID control theory. The result of experiment simulation shows that the controller has better adaptability than the traditional PID controller and can obtain the satisfactory control effect. Keywords: neural network; PID; Matlab; online self-tuning

传统的PID 控制器算法简单,结构上易于实现,被广泛应用在工业过程控制领域[1],但是在实际应用中往往具有非线性、时变不确定性,导致PID控制参数难以整定以达到最佳控制要求。BP神经网络具有较好的在线检测能力[2],将PID控制和BP神经网络相结合通过加权系数调整,可以实现PID参数的自学习过程[3],从而达到满意的控制效果[4]。

1 基于神经网络的PID控制

PID控制要取得好的控制效果,就必须通过调整好比例、积分和微分三种控制作用的关系,这种关系不一定是简单的“线性组合”,而是从变化无穷的非线性组合中找出最佳的关系。BP神经网络具有逼近任意非线性函数的能力,而且结构和学习算法简单明确。通过网络自身的学习,可以找到某一最优控制规律下的PID参数[4]。

1.1 常规PID控制器

传统的PID控制器算式如下:

PID控制器的输入/输出关系式为:

u(t)=KPe(t)+1TI∫t0e(t)dt+TDde(t)/dt

式中:u(t)为控制器的输出;e(t)为误差信号; KP为比例系数;TI为积分时间常数;TD为微分时间常数。

假设采样周期为TS,系统开始运行的时刻为t=0,用矩形积分来近似精确积分,用差分近似精确微分,将上式离散化,第kТ尾裳时控制器的输出为[5]:

u(k)=KPe(k)+KI∑nj=1e(j)+KD[e(k)-e(k-1)]

式中:e(k-1)为第k-1次采样时的误差值;KI为积分系数;KD为微分系数。

1.2 单神经元的结构[6]

图1中输入层有n个神经元节点,这些节点只负责引入外部信息,自身无信息处理能力,每个节点接收┮桓霆输入信号,n个输入信号构成输入列向量X。输出层有m个神经元节点,每个节点均具有信息处理能力,m个节点向外部处理信息。构成输出列向量O。两层之间的连接权值用权值列向量Wj表示,m个权向量构成单神经元的权值矩阵W。3个列向量分别表示为:

O=(o1,o2,…,oi,…,om)T,X=(x1,x2,…,xi,…,xn)T

Wj=(w1j,w2j,…,wij,…,wnj)T,j=1,2,…,m

由神经元数学模型知,对于处理层中任一节点,其净输入netj为来自输入层各节点的输入加权和:

netj=∑ni=1wijxi

1.3 神经网络PID控制器

在此提出一种单神经元的增量PID控制方案,采用图2所示3输入单输出神经元增量式PID闭环控制结构[7]。

图1 单神经元拓扑结构

图2 单神经元PID控制系统结构图

转换器的输入是给定值Yr(t) 和输出Y(t) ,转换器的输出X1(k),X2(k),X3(k)是神经元学习所需的3个参量。3输入单输出神经元增量式PID控制器的输入输出之间满足如下关系[8-9]:

X1(k)=Yr(k)-Y(k)=E(k), X2(k)=

E(k)-E(k-1)=ΔE(k),

X3(k)=[E(k)-E(k-1)]-[E(k-1)-E(k-2)]

=E(k)-2E(k-1)+E(k-2),

U(k)=U(k-1)+∑3i=1Wi(k)*Xi(k)

式中:Wi(k) 是对应于Xi(k) 的加权系数。单神经元PID控制器正是通过对加权系数的调整来实现自适应、自学习功能的。

采用有教师监督的法则δ学习规则[8],并且比例(P),积分(I),微分(D)分别采用不同的学习速率ηP,ηI,ηD,Ъ尤ㄏ凳学习算法如下:

W1(k+1)=W1(k)+ηPE(k)E(k),

W2(k+1)=W2(k)-ηIE(k)∑ki=0E(i),

W3(k+1)=W3(k)+ηDE(k)ΔE(k)

将加权系数代入增量式PID控制器的控制规律,则有:

U(k)=U(k-1)+W1(k)•

X2(k)+TW2(k)*X1(k)+W3(k)T*X3(k)

式中:T是采样周期。

从上式可得:

ΔU(k)=KPX1(k)+KIX2(k)+KDX3(k)

对照以上两式可看出,PID控制器的3个参数实现了在线自整定。

1.4 神经网络PID控制器的控制算法[10]

(1) 确定BP神经网络结构,即确定输入节点数和隐含层节点数,并给出权系数初值,选定学习速率和惯性系数,此时k=1;

(2) 采样得到r(k)和y(k),计算误差为e(k)=r(k)-y(k);

(3) 计算各神经网络的输入/输出,其输出层的输出即为PID控制器的3个控制参数KP,KI,KD;

(4) 计算PID控制器的输出;

(5) 进行神经网络学习,在线调整加权系数,实现PID控制参数的自适应调整;

(6) 令k=k+1,返回步骤(1)。

2 神经网络Matlab仿真

对于被控对象:

G(s)=35s(0.2s+1)(0.01s+1)(0.005s+1)

输入信号为阶跃信号,控制系统经传统方法整定的PID参数KP=3,KI=10,KD=0.2。系统输出见图3。

图3 PID控制输出曲线

利用神经网络增量PID方法选取比例、积分、微分项的初始系数值为W1=W2=W3=1,学习速率ηP=0.01,ηI=1,ηD=0.001,通过编写具有自学习自适应能力的软件程序所得输出曲线如图4所示。

图4 神经网络PID控制输出曲线

PID 三参数在线整定曲线如图5所示。比较可得后一种方法所得曲线有较好的控制品质。

图5 PID 三参数在线整定曲线

3 结 语

理论分析和仿真结果表明,通过研究所提出的神经网络增量PID控制器控制精度高,较传统的PID控制具有更好的控制品质。

参考文献

[1]刘金琨.先进PID控制及Matlab仿真[M].北京:电子工业出版社,2003.

[2]韩豫萍,孙涛,盛新.基于BP神经网络的PID控制及仿真[J].可编程控制器与工厂自动化,2007(12):91-93.

[3]谢英.基于BP神经网络的PID控制器及其Matlab仿真[J].中国新技术新产品,2009(10):13-15.

[4]马玲玲,郑宾,马圆圆.基于神经网络PID智能复合控制方法研究[J].计量与测试技术,2009,36(3):17-19.

[5]张科,靖固.利用FPGA的增量式PID控制的研究[J].现代制造工程,2009(3):112-114.

[6]韩力群.智能控制理论及应用[M].北京:机械工业出版社,2007.

[7]祝轩,侯榆青,彭进业,等.基于单神经元PID控制器的闭环控制系统[J].西北大学学报:自然科学版,2004,34(4):413-417.

[8]冯勇.现代计算机控制系统[M].哈尔滨:哈尔滨工业大学出版社,1996.

[9]MARTIN T H,HOWARD B D,MARK H B. Neural network design[M].北京:机械工业出版社,2002.

[10]吴伟,晏梦云,魏航信.基于神经网络的PID控制及其仿真[J].现代电子技术,2009,32(10):142-145.

上一篇:基于SVPWM的永磁同步电机控制系统建模与仿真 下一篇:基于描述逻辑的商贷本体元数据模型研究