您的当前位置:首页正文

参数自整定PID控制器设计与仿真

2024-05-26 来源:步旅网
72

参数自整定PID控制器设计与仿真

参数自整定PID控制器设计与仿真

DesignandEmulationofParameterSelf-tuningPIDController

赵明明

王志胜(南京航空航天大学自动化学院,江苏南京210016)

对于工业控制领域中的系统普遍存在非线性、时变的特点,采用传统PID作为控制器很难获得满意的控制效果,而神经网络具有任意非线性逼近能力,可以通过对系统性能的学习来实现具有最佳组合的PID控制。设计了基于BP网络整定

PID参数的控制器,该控制算法只需粗略给出PID参数便可以根据系统性能自动寻优调整。利用MATLAB软件得到的仿真

结果表明,该控制策略可以达到满意的控制效果,且具有很强的鲁棒性和自适应能力。

关键词:PID,BP网络,MATLAB

Abstract

Inthefieldofindustrycontrol,thecontrolresultoftraditionalPIDcontrollerisnotsatisfiedforthesystemwhichisnon-linearantime-varying,sincetheabilityofnon-linearapproximation,theneuralnetworkcanaccomplishtheoptimalcombina-tionofPIDcontrollerbystudyingthesystemperformance.Thispaperdesignstheparameterself-tuningPIDcontrollerbasedonBPnetwork,themethodneedsonlyinitialparametersofPIDcontroller,anditcanautomaticallytuneaccordingtothesystemperformance.

Keywords:PID,BPnetwork,MATLAB

对于具有精确数学模型的线性定常系统,采用传统PID控制器可以得到较好的控制效果,而且其控制算法简单,可靠性高。但由于工业生产中多为非线性、时变系统,无法对其进行精确建模,所以采用传统PID作为控制器很难达到控制性能要求。

式中,wkj为输出层加权系数,g(·)为输出层神经元活化函数,此处取为非负的Sigmoid函数:

g(x)=

e

x-xe+e

x

(5)

BP神经网络具有非线性逼近能力,泛化能力,已被广泛用于系统辨识和参数整定。本文采用BP网络,建立参数自整定的PID

控制器,以满足非线性、时变系统的控制性能要求。

1.2BP网络学习的梯度下降法

梯度下降法也称最速下降法,是最常用的神经网络学习算法。其基本原理为:假定神经元权值修正的目标是极小化标量函数F(w)。如果神经元的当前权值为w(t),且假设下一时刻的权值调节公式为:

w(t+1)=w(t)+△w(t)

(6)

1BP神经网络

1.1BP神经网络基本结构

BP网络是一种单向传播的多层前向网络,采用多层结构,

包括输入层、多个隐含层、输出层,各层间实现全连接,成功的解决了多层网络中隐含层神经元连接权值的学习问题。本文中采用三层BP网络结构,且其各层神经元数目分别为3、4、3。已证明,三层

其中,△w(t)代表当前时刻的修正方向。显然,期望每次修正均有:

F(w(t+1))<F(w(t))

(7)

T

对F(w(t+1))进行一阶泰勒展开,得:

F(w(t+1))=F(w(t)+△w(t))≈F(w(t))+g(t)△w(t)

(8)

BP网络能以任意精度逼近任意连续函数。其结构示意图如图1所示。

对于图1中所示BP网络,其输

入层输入矢量为:

Xi=x(i)

(i=1,2,3)

3

其中,g(t)=塄F(w)|w=w(t)为F(w)在w=w(t)时的梯度矢量。

图1

BP网络结构示意图

(1)

取:

△w(t)=-ηg(t)

(9)

网络隐含层的输入、输出为:

其中,η为学习率,为较小的正数,即权值修正量沿负梯度方向取较小值,则式(6)右边第二项必然小于零,于是式(5)必然满足,这就是梯度下降法的基本原理。

ΣΣHide_Inj=ΣwjiXi

i=1

(2)

Hide_Outj=f(Hide_Inj)(j=1,2,3,4)

2基于BP网络的PID控制器设计为了使PID控制器能够

式中,wji为隐含层加权系数,f(·)为隐含层神经元活化函数,此处取为正负对称的Sigmoid函数:

f(x)=ex-e-xe+e

x

-x

适应工业控制中的非线性、时变系统,使其在系统参数发生变化时自动调整自身参数以满足性能指标,本文提出了基于BP网络整定的

(3)

网络输出层的输入、输出为:

y_ink=ΣwkjHide_Outj

j=14

(4)

PID控制器设计,该控制器

图2

BP网络整定PID控制器结构图

yk=g(y-ink)(k=1,2,3)

《工业控制计算机》2010年第23卷第2期

结构如图2所示。从图中可以看出,PID控制器的参数kp、ki、kd即为BP网络的输出y1、y2、y3。

图2中的PID控制器采用增量式数字PID,其控制误差为:

error(t)=rin(t)-yout(t)

(10)

73

PID控制器的输入为:

󰀁xc(1)=error(t)-error(t-1)xc(2)=error(t)

xc(3)=error(t)-2error(t-1)+error(t-2)

(12)(11)

其控制算法为:

u(t)=u(t-1)+△u(t)

式中,△u(t)=kp*xc(1)+ki*xc(2)+kd*xc(3)。对于图2所示控制结构,取性能指标函数为:

2

J=1(rin(t)-yout(t))2网络输出层权值与隐含层权值学习算法为:

△wkj(t)=α△wkj(t-1)+ηδkHide_Outj(t)△wji(t)=α△wji(t-1)+ηδjXi(t)

(14)(15)(13)

图3

未整定的PID控制输出响应曲线

根据梯度下降法,考虑到动量因子α的影响,可以得到BP

式中,

δk=error(t)sgn

鄣yout(t)鄣△u(t)

g'(y_in(t))鄣鄣△u(t)鄣鄣y(t)

k

k

3

(16)(17)

δj=f'(Hide_Inj(t))Σδjwkj(t)

k=1

且k=1、2、3,j=1、2、3、4,g'(·)=g(x)(1-g(x)),f'(·)=f(x)(1-f(x))。

根据BP网络权值学习算法以及增量式PID控制算法得到基于BP网络整定的PID控制器的控制算法如下:

图4

BP网络整定的PID控制输出响应曲线

1)在t=1时刻,确定BP网络的结构,确定输入层输入矢

量,并给出各层加权系数的初值,选定学习率η和动量因子α;

2)采样得到t时刻的给定输入rin(t)以及实际输出yout(t),计算该时刻误差error(t);

3)计算BP网络各层神经元的输入、输出;4)计算PID控制器的输出u(t);

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

6)令t=t+1,返回(2)。3仿真分析

设被控对象的数学模型为:

(t-1)

yout(t)=v(t)yout+u(t-1)21+yout(t-1)

图5

-0.1t

参数自适应整定曲线

式中,v(t)为慢时变函数,v(t)=1.5(1-0.5e)。

BP网络结构为本文中3-4-3结构,BP网络输入层输入矢量取为rin(t),yout(t),error(t),学习率η取为0.25,动量因子取为0.04,加权系数初始值取区间[-1,1]上的随机数。给定输入指令为rin(t)=sint(2πt)。利用MATLAB软件得到其仿真结果如图3~5所示。

比较图3与图4,在系统起始阶段,由于系统参数变化较小,采用传统PID作为控制器可以达到较好的控制效果,但随着

系统运行时间的加长,系统参数变化增大,其跟踪性能变差,甚至使系统变得不稳定。采用BP网络整定的PID作为控制器时,

PID控制器参数,系统便能依靠BP网络自行寻优调整,从而克服了传统PID控制器对非线性、时变系统的控制精度不高的问

题。仿真结果表明,该控制算法不仅提高了控制器的稳定性,而且具有较强的鲁棒性和自适应能力,因此得到了广泛的应用。

参考文献

[1]姜长生.智能控制与应用[M].北京:科学出版社,2007:238-240[2]易继锴.智能控制技术[M].北京:北京工业大学出版社,1999:99-101[3]刘金琨.先进PID控制MATLAB仿真[M].北京:电子工业出版社,

2004:170-172

[4]李国勇.智能控制及其MATLAB实现[M].北京:电子工业出版社,

PID控制器参数可以跟踪系统参数的变化而自动调整,使其能

够适应参数变化后的系统,以便达到良好的跟踪效果。

2005:115-119

[5]金星姬,贾炜玮.人工神经网络研究概述[J].林业科技情报,2008,

4结束语

采用基于BP网络整定的PID作为控制器,只需粗略给出

40(1):65-67

[收稿日期:2009.9.1]

因篇幅问题不能全部显示,请点此查看更多更全内容