基于BP神经网络PID整定原理和算法步骤-精品

更新时间:2024-05-31 22:56:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘 要

神经网络作为一门新兴的信息处理科学,是对人脑若干基本特性的抽象和模拟。它是以人的大脑工作模式为基础,研究自适应及非程序的信息处理方法。这种工作机制的特点表现为通过网络中大量神经元的作用来体现自身的处理功能,从模拟人脑的结构和单个神经元功能出发,达到模拟人脑处理信息的目的。

目前,在国民经济和国防科技现代化建设中神经网络具有广阔的应用领域和发展前景,其应用领域主要表现在信息领域、自动化领域、工程领域和经济领域等。

本文以BP神经网络作为研究对象。研究的内容主要有:首先介绍了神经网络的概念、控制结构,学习方式等。其次,介绍了人工神经元模型,并对BP神经网络的基本原理及推导过程进行详细阐述。再次将BP神经网络的算法应用于PID中,介绍了基于BP神经网络PID整定原理和算法步骤。最后利用 MATLAB/Simulink对BP神经网络PID控制系统进行仿真,得出BP神经网络的控制效果明显好,它具有很强的自整定,自适应功能。

关键词:BP算法,PID控制,自整定

I

ABSTRACT

As a kind of emerging information processing science,the neural network can simulate some basic characteristic of human brain. It is an information-processed method which takes person's cerebrum working pattern as a foundation and studies the model of adaptive and non- program. The characteristics of this kind of work mechanism are that it can show its processing function through the massive neurons function in the network. Then, it starts with simulating the human brain structure and the single neuron function to achieve the goal that simulates the human brain to process information.

Nowadays, the neural network has wide application fields and prospects in the national economy and modernization of national defense science. It mainly applies in information, automation, economical and so on.

This article takes the BP neural network as the research object. The content of the research mainly contain: firstly, it introduces the concept of neural network, control structure and mode of study and so on. Secondly, it introduces the artificial neuron model, the basic principles of BP neural network and the derivation process in detail. Then, it applies BP neural network in the PID, and introduces the tuning principles of PID based the BP neural network and steps of the algorithm. Finally, Matlab/Simulink is used to simulate the BP neural network PID control system. In the consequence, the performance of BP neutral network control significantly good. BP neural network control system has a strong self-tuning, adaptive function.

KEY WORDS: BP algorithm, PID control, self-tuning

II

目 录

摘 要 .......................................................... I ABSTRACT .......................................................... II 第1章 绪论 ........................................................ 2 1.1选题背景和意义 ............................................... 2 1.2神经网络技术国内外发展现状 ................................... 3 第2章 神经网络的原理和应用 ........................................ 6 2.1神经网络的基本概念 ........................................... 6 2.2神经网络的控制结构 ........................................... 6

2.2.1 前馈网络 .............................................. 6 2.2.2 反馈网络 .............................................. 6 2.3神经网络的功能 ............................................... 7 2.4神经网络的学习 ............................................... 7

2.4.1神经网络的学习方式 .................................... 7 2.4.2神经网络的学习算法 .................................... 8 2.5人工神经元(MP)模型 ......................................... 8 2.6 BP算法原理 .................................................. 10 2.7 BP网络的前馈计算 ............................................. 11 2.8 BP网络权系数的调整规则 ...................................... 12 2.9 BP网络学习算法的计算步骤 .................................... 14 2.10本章小结 ................................................... 14 第3章 BP神经网络PID控制方法研究 ................................ 15 3.1引言 ........................................................ 15 3.2 基于BP神经网络的PID整定原理 ............................... 15 3.3 本章小结 .................................................... 19 第4章 仿真研究 ................................................... 20 4.1 BP神经网络自整定PID控制系统 ................................ 20 4.2 仿真结果分析 ................................................ 27 4.3 本章小结 .................................................... 27 第5章 结论与展望 ................................................. 28 参 考 文 献 ....................................................... 30 附 录 .......................................................... 31 致 谢 .......................................... 错误!未定义书签。

1

第1章 绪论

1.1选题背景和意义

在计算机技术没有发展的条件下,大量需求的控制对象是一些较为简单的单输入单输出线性系统,而且对这些对象的自动控制要求是保持输出变量为要求的恒值,消除或减少输出变量与给定值之误差、误差速度等。而PID控制的结构,正是适合于这种对象的控制要求。因此PID控制是最早发展起来的控制策略之一,由于其算法简单,鲁棒性好和可靠性高,被广泛应用于过程控制中,尤其适用于可建立精确数学模型的确定性控制系统。然而实际工业生产过程往往具有非线性,时变不确定性,难以建立精确地数学模型,应用常规PID控制器不能达到理想的控制效果,而且在实际生产现场中,由于受到参数整定方法繁杂的困扰,常规PID控制器往往整定不良,性能欠佳,对运行工况的适应性很差。所以人们从工业生产过程需要出发,基于常规PID控制器的基本原理,对其进行了各种各样的改进,形成所谓智能PID控制[1]。而其中神经网络所具有的大规模的并行处理和分布式的信息存储;极强的自学、联想额容错能力;良好的自适应和自组织性;多输入、多输出的非线性系统都基本符合工程的要求。人工神经网络作为生物控制论的一个成果,其触角几乎延伸到各个工程领域,并且在这些领域中形成新的生长点。

以神经网络研究为开端,整个学术界对计算的概念和作用有了新的认识和提高。计算不仅仅局限于数学中,更不仅采取逻辑的、离散的形式,在大量的物理现象以至生物学对象中,进行各种各样的计算,而且大量的运算表现在对模糊低精度模拟量的并行计算,对于这一类计算,传统的计算机是无能为力的。神经网络的数学理论本质是非线性的数学理论,因此,现代非线性科学方面的进展必将推动神经网络的研究,同时,神经网络理论也会对非线性科学提出新课题。神经网络研究的对象是神经系统,这是高度进化的复杂系统,也是系统科学中一个重要的具体的领域。神经网络的研究不仅重视系统的动态特性,而且强调事件和信息在系统内部的表达和产生。

神经网络应用时不需考虑过程或现象的内在机理,一些高度非线性和高度复杂的问题能较好地得到处理,因此神经网络在控制领域取得了较大的发展,特别在模型辨识、控制器设计、优化操作、故障分析与诊断等领域迅速得到应用。神经网络控制作为二十一世纪的自动化控制技术,国内外理论与实践均充分证明,其在工业复杂过程控制方面大有用武之地。而工业现场需要先进的控制方法,迫切需要工程化实用化的神经网络控制方法,所以研究神经网络在控制中的应用,对提高我国的自动化水平和企业的经济效益具有重大意义[2]。神经网络具有很强的非线性逼近能力和自学习能力,所以将BP神经网络算法与PID控制相结合产生的间接自校正控制策略,能自动整定控制器的参数,使系统在较好的性能下运行。

虽然人工神经网络存在着以上的许多优点及广泛的应用,但同时也存在着一些不足,

2

?u(k)?e(k)?e(k?1)(3)?o1(k)

?u(k)(3)?o2(k)?u(k)(3)?o3(k)?????e(k)? (3-12)

???e(k)?2e(k?1)?e(k?2)??这样,可得BP神经网络输出层权计算公式为

)(2)3) ?wl(i3( ) (3-13) k)???l(3o)i(k)???wli((k? 1 ?(3)l??y(k)?uk()'?e(k)gnet(l(3)?u(k)?olk()(3)k( ) ) l=1,2,3 (3-14)

同理可得隐含层权计算公式为

(2)(2)?wij(k)???i(2)o(1)(k)???w) (3-15) jli(k?13?(2)i?f(neit(k)?)?'(2)l?1l(3)li 3w( (k) ) i=1,2,…, q (3-16)

基于BP网络的PID控制器控制算法归纳如下:

1.确定BP神经网络结构,即确定输入层节点及数目m、隐含层数目q,并给出各层

(2)(3)权系数的初值wij(0)和wli(0)、选定学习率?、惯性系数γ,此时k=1;

2.采样得到rin (k)、yout (k),计算该时刻误差error(k)?rin(k)?yout(k); 3.计算神经网络NN各层神经元的输入、输出,NN输出层的输出即为PID控制器的三个可调参数kp、ki、kd;

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

(2)(3)5.进行神经网络学习,在线调整加权系数wij(k)和wli(k);实现PID控制参数的自

适应调整;

6.置k =k+1,返回到1。 其算法流程图如图3-3所示:

18

初始化 给定输入向量和目标输出

求隐含层、输出层各节点输出

求目标值与实际输出的偏差

计算反向误差 权值学习 学习结束? N Y 结束

图3-3 BP网络算法流程图

3.3 本章小结

本章主要是对BP神经网络的PID控制的方法进行了详细的阐述,为下一章的仿真打下了理论基础。

19

第4章 仿真研究

4.1 BP神经网络自整定PID控制系统

直流电动机具有良好的运行和控制特性,长期以来直流调速系统一直占据垄断地位,近年来交流调速系统发展很快,并有望在不太久的时间内取代直流调速系统。但就目前而言,直流调速系统仍然是自动调速系统的主要形式,在续断工业部门,如轧钢,矿山采掘,纺织,造纸等需要高性能调速系统的主要形式,所以直流调速在目前占据重要地位,有很多方式都可以实现其调速。

如图所示:中直流电机参数:Pnom=10kw,nom=1000r/min,Unom=220V, I=55A,电枢电阻Ra=0.5Ω,V-M系统主电路总电阻R=1Ω,额定磁通下的电机电动势转速比

Ce=0.1925V.min/r,电枢回路电磁时间常数Ta=0.017s,系统运动部分飞轮距相应的机电时

间常数Tm=0.075,整流触发装置的放大系数Ks=44,三相桥平均失控时间Ts=0.00167s,拖动系统测速反馈系数Kt=0.001178V.min/r。

图4-1 BP神经网络自整定PID控制系统

在S函数中,用的BP神经网络的结构,学习速率??0.3和惯性系数??0.3,加权系数初始值取区间[-0.5,0.5]上的随机数。输入指令信号分rin(k)?1.0,初始权值取随机值,运行稳定后用稳定权值代替随机值。

当BP网络隐含层和输出层初始权值在[-0.5,0.5]内取随机数,分别为

wi=[-0.6394 -0.2696 -0.3756 -0.7023;

-0.8643 -0.2013 -0.5024 -0.2596; -1.0749 0.5543 1.6820 -0.5437;

-0.3625 -0.0724 -0.6463 -0.2859;

20

-0.7826 0.0279 -0.5406 -0.7662];

wo=[0.7576 0.2616 0.5820 -0.1416 -0.1325; -0.1146 0.2949 0.8352 0.2250 0.4508; 0.7201 0.4566 0.7672 0..4962 0.3692];

rin(k)?1.0

通过调用函数得到单闭环调速系统的四种曲线如下

160140120100rin,yout80604020000.511.522.5time(s)33.544.55

图4-2 BP网络的阶跃跟踪曲线

10.80.60.40.2error0-0.2-0.4-0.6-0.8-100.511.522.5time(s)33.544.55

图4-3 BP网络的误差跟踪曲线

21

8 6 4 2 0 -2 -4 -6 0

u

0.5 1 1.5 2

2.5 time(s)

3 3.5 4 4.5 5

图4-4 BP网络的PID输出曲线

图4-5 BP网络的参数自适应kp整定曲线

22

图4-6 BP网络的参数自适应ki整定曲线

图4-7 BP网络的参数自适应kd整定曲线

根据上面曲线可以发现BP神经网络的自整定、自适应效果是比较好的。阶跃响应曲线中输出的最终值收敛于84.94处。误差跟踪曲线最终收敛于0处,说明了BP网络的自调整

23

无超最终为0,控制效果比较理想。当我们运行稳定后得到一组新的权值wi,wo如下

wi=[-1.6394 -0.2696 -1.3756 -0.7023; -0.8603 -1.2013 -0.5024 -0.2596; -1.0749 0.5543 2.6820 -0.5437; -0.3625 -1.0724 -0.6463 -0.2859; 0.1425 0.0279 -0.5406 -0.7660];

wo=[0.7576 0.2616 0.5820 -3.1416 -0.1325; -0.1146 0.2949 0.8352 0.2205 2.4508; 2.7201 2.4566 3.7672 4.4962 4.3632];

用该组数据仿真得到和上面四个同类型的曲线,但控制效果明显不同,如图所示

90807060rin,yout5040302010005time(s)1015

图4-8 稳定权值下BP网络的阶跃跟踪曲线

24

1.210.80.6error0.40.20-0.205time(s)1015

图4-9 稳定权值下BP网络的误差跟踪曲线

10.90.80.7u0.60.50.405time(s)1015图4-10 稳定权值下BP网络PID输出曲线

25

图4-11 BP网络的参数自适应kp整定曲线

图4-12 BP网络的参数自适应ki整定曲线

26

图4-13 BP网络的参数自适应kd整定曲线

4.2 仿真结果分析

由上述两组图可以看出BP神经网络的各项指标效果均非常良好,特别是BP神经网络的自整定,自适应都非常好。

从上面的仿真结果中,进行分析后,可以将响应结果列表,见表4.1。

表 4.1控制系统的性能参数

性能指标 最大超调量?p 调整时间tp(s) BP神经网络PID控制系统 6.02% 2.3 由上面的表4.1可知,在以上情况下,BP神经网络控制系统的最大超调量小。同样,得出把BP神经网络控制系统的控制品质好。

4.3本章小结

本章主要是用 MATLAB/Simulink对BP神经网络自整定PID控制系统进行仿真对比,得出BP神经网络的控制效果明显比常规的要好,它具有很强的自整定,自适应功能。

27

第5章 结论与展望

人工神经网络理论(Artificial Neural Network—ANN)是近十几年迅速发展起来的一门新兴学科。由于其独特的特性,已应用于控制、信号分析、音处理等多个领域中。在控制领域中,神经网络由于其具有较强的非线性映射自学习适应能力、联想记忆能力、并行信息处理方式及其优良的容错性能,不同程度和层次上模仿人脑神经系统的信息处理、存储和检索功能。这些特性使得神经网络非常适合于复杂系统的建模与控制。特别是当系统存在不确定性因素时,更能体现SIMULINK神经网络方法的优越性。这些都很适合于控制系统中的非线性系统的控制。本文针对在控制领域中应用最广泛的一类控制,PID控制在现代控制越来越高的情况下,由于常规PID控制自身的缺陷,在许多场合已经不能再好的满足控制性能要求的情况下,研究了一系列的改进型PID控制器,其中主要如下成果:

1.提出了基于BP算法的神经网络PID控制器。BP神经网络其具有逼近任意非线性函数的能力,而且结构和学习算法简单明确,通过BP神经网络自身的学习可以找到某一最优控制律下的P,I,D参数。

2.利用MATLAB/SIMULINK建立了基于BP神经网络的PID控制系统,并对系统进行仿真得出仿真图。在仿真的基础上对两者进行了比较得出应用神经网络PID控制,系统的超调量要低,并且在控制品质参数的比较中,神经网络PID控制也表现出比常规PID控制更好的品质。

尽管在应用MATLAB/SIMULINK软件对该系统进行仿真取得了成功,但是神经网络PID控制还是一个比较新的研究领域,基于PID的控制理论还涉及到多个学科的关键技术,同时由于时间仓促加上笔者刚刚涉及这一领域,许多重要的研究内容尚未涉及,有些虽进行了研究但深度不够。因此还存在局限性,需要进一步的研究和完善。主要是在应用神经网络的BP算法对系统进行仿真时由于算法的收敛速度慢,在进行系统训练时所花的时间过

展望今后的工作,在现有工作的基础上,还有很多的工作需要进一步深入,笔者认为至少在以下几方面有进一步研究的必要。主要有:

1.对BP算法的改进。例如为了使学习速率足够大,而且又不易产生振荡,可以在权值调整算法中加入阻尼项的方法或者使用变步长的学习算法,这将提高BP学习算法的收敛速度,从而可以实现系统的快速响应。对神经网络学习算法的研究这将是神经网络领域的一个具有可研究性的课题。

2.对神经网络结构进行改进,应用其他性能更加优良的网络结构来实现神经网络学习过程,例如应用RBF网络结构、小脑模型网络等来进行神经网络学习,或者利用其他如:连续型Hopfield网络、局部递归型神经网络等进行网络学习,从而改善利用BP网络进行网络学习时的缺点。这是在应用神经网络进行PID控制中具有挑战性的一个研究方向。

3.为了使被控系统的跟踪特性和抗干扰特性同时达到最优状态,二自由度、甚至多自

28

长(大概30秒左右),这不利于系统的快速响应。

由度PID控制将是一个具有应用前景的课题。

29

参 考 文 献

[1] 刘金琨.先进PID控制及其MATLAB仿真.北京:电子工业出版社,2004 [2] 易继锴,侯媛彬.智能控制技术.北京:北京工业大学出版社,1999 [3] 张德丰等.MATLAB神经网络应用设计.北京:机械工业出版社,2009

[4] 张德丰等.MATLAB/SIMULINK建模与仿真实例精讲.北京:机械工业出版社,2010 [5] 姜长生等. 智能控制与应用.北京:科学出版社,2007

[6] 周开利,康耀红. 神经网络模型及其MATLAB仿真程序设计.北京:清华大学出版社,2005 [7] 李国勇. 智能控制及其MATLAB实现.北京:电子工业出版社,2005

[8] 龚菲,王永骥. 基于神经网络的PID参数自整定与实时控制.华中科技大学学报(自然科学版),

2002,30(10):298-305

[9] 赵望达,鲁五一,徐志胜,刘子建. PID控制器及其智能化方法探讨.化工自动化及仪表

1999,26(6):45-48

[10] 谷传纲,阎防,王彤.采用改进的BP神经网络预测离心通风机性能的研究.西安交通大学学报,

1999,33(3):43-47

[11] 郭艳兵,齐古庆,王雪光.一种改进的BP网络学习算法.自动化技术与应用,2002,26(2):13-14 [12] 徐丽娜. 神经网络控制.北京:电子工业出版社, 2003 [13] 李少远,王景成. 智能控制.北京:机械工业出版社,2005 [14] 韩力.神经网络理论、设计及应用.北京:化学仁业出版社,2002

[15] 夏玮,李朝晖,常春藤.控制系统仿真与实例讲解.北京:人民邮电出版社,2008 [16] 李国勇.智能控制及其Matlab仿真.北京:电子工业出版社,2005

[17] 黄友锐,曲立国.PID控制器参数整定与实现.北京:科学出版社,2010 [18] 尔桂花,窦曰轩.运动控制系统.北京:清华大学出版社,2005 [19] 胡寿松.自动控制原理.北京:科学出版社,2001 [20] 金以慧.过程控制.北京:清华大学出版社,1993

[21] 光建武.神经网络技术及应用.北京:中国铁道出版社,2000

[22] Rumelhart D E,et al.Learning Representation by BP Errors.Nature(London),1986,(7):64-70 [23] GustafssonT K,skrifwars B O.modeling of pH for control.Ind.Eng.Chem.Res,1995,34(10):

820-933

[24] Patrick P,et al.Minimisation Met hod for Training Feed forward Neural Network.Neural

Network,1994,(7):145-163

[25] Astrom KJ.Toward intelligentcontrol.IEEE Contro l System Magazine,1989,47(2):60264

[26] Astrom KJ.Automatic tuning of simple regula to rswith specification on phase and am plitude

margins.Automatic,1984,20(5):61-72

30

附 录

C 源程序:

%BP based PID Control

%基于BP神经网络自整定PID单闭环直流调速系统 clear all; close all; xite=0.3; alfa=0.3;

S=1; %Signal type

IN=4;H=5;Out=3; %NN Structure if S==1 %Step Signal

wi=[-0.6394 -0.2696 -0.3756 -0.7023; -0.8603 -0.2013 -0.5024 -0.2596; -1.0749 0.5543 -1.6820 -0.5437; -0.3625 -0.0724 -0.6463 -0.2859; 0.1425 0.0279 -0.5406 -0.7660]; %wi=0.50*rands(H,IN); wi_1=wi;wi_2=wi;wi_3=wi;

wo=[0.7576 0.2616 0.5820 -0.1416 -0.1325; -0.1146 0.2949 0.8352 0.2205 0.4508; 0.7201 0.4566 0.7672 0.4962 0.3632]; %wo=0.50*rands(Out,H);

wo_1=wo;wo_2=wo;wo_3=wo; end

x=[0,0,0];

u_1=0.0;u_2=0.0;u_3=0.0;u_4=0;u_5=0; y_1=0.0;y_2=0.0;y_3=0.0;y_4=0;y_5=0;

Oh=zeros(H,1); %Output from NN middle layer I=Oh; %Input to NN middle layer error_2=0; error_1=0; ts=0.005;

for k=1:1:1000 time(k)=k*ts; if S==1

rin(k)=1.0; elseif S==2

rin(k)=sin(1*2*pi*k*ts); end

%Unlinear model

sys=tf(228.57,[2.13e-06 1.4e-003 0.7667 1 ]); dsys=c2d(sys,ts,'z');

31

[num,den]=tfdata(dsys,'v');

yout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(2)*u_1+num(3)*u_2+num(4)*u_3 error(k)=rin(k)-0.01178*yout(k); xi=[rin(k),yout(k),error(k),1]; x(1)=error(k)-error_1; x(2)=error(k);

x(3)=error(k)-2*error_1+error_2; epid=[x(1);x(2);x(3)]; I=xi*wi'; for j=1:1:H

Oh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j))); %Middle Layer end

K=wo*Oh; %Output Layer for l=1:1:Out

K(l)=exp(K(l))/(exp(K(l))+exp(-K(l))); %Getting kp,ki,kd end

kp(k)=K(1);ki(k)=K(2);kd(k)=K(3); Kpid=[kp(k),ki(k),kd(k)]; du(k)=Kpid*epid; u(k)=u_1+du(k);

if u(k)>=10 % Restricting the output of controller u(k)=10; end

if u(k)<=-10 u(k)=-10; end

dyu(k)=sign((yout(k)-y_1)/(u(k)-u_1+0.0000001)); %Output layer for j=1:1:Out

dK(j)=2/(exp(K(j))+exp(-K(j)))^2; end

for l=1:1:Out

delta3(l)=error(k)*dyu(k)*epid(l)*dK(l); end

for l=1:1:Out for i=1:1:H

d_wo=xite*delta3(l)*Oh(i)+alfa*(wo_1-wo_2); end end

wo=wo_1+d_wo+alfa*(wo_1-wo_2); %Hidden layer for i=1:1:H

dO(i)=4/(exp(I(i))+exp(-I(i)))^2; end

segma=delta3*wo;

32

本文来源:https://www.bwwdw.com/article/fts6.html

Top