神经网络PID控制算法的MATLAB仿真及其在环境控制中的应用

更新时间:2024-04-13 02:58:01 阅读量: 综合文库 文档下载

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

南林林业大学毕业设计(论文)

本科毕业设计(论文)

课题名称 神经网络PID控制算法的MATLAB仿真及其在环境控制中的应用

学 号 学生姓名 指导教师 起讫日期

工作地点

- 0 -

南林林业大学毕业设计(论文)

摘要

PID(比例-积分-微分)控制器作为最早实用化的控制器已有50多年历史,现在仍然是应用最广泛的工业控制器。PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。PID控制室最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛应用于过程控制和运动控制中,尤其适用于可建立精确数学模型的确定性控制系统。但是常规的PID控制器参数往往整定不良、性能欠佳,对运行工况的适应性很差。而神经网络具有很强的非线性映射能力、自学习能力、联想记忆能力、并行信息处理方式及优良的容错性能。

本课题设计提出就是为了建立一种单神经网络的PID控制器,使得人工神经网络与传统PID控制相结合互相补充,共同提高控制质量,并利用Matlab软件进行仿真。 关键词:控制理论;神经网络;pid控制;BP算法;神经网络pid;MATLAB仿真

- 1 -

南林林业大学毕业设计(论文)

ABSTRACT

The PID ( PID ) controller as the first practical controller has 50 years of history, is still the most widely used industrial controller. The PID controller is simple and easy to understand, without the use of accurate system models prerequisites, and thus become the most widely used controller. The PID control room is the earliest developed one of the control strategy, because of its simple algorithm, good robustness and high reliability, is widely used in process control and movement control, especially can be applied to establish the precise mathematical model of uncertainty control system. But the conventional PID controller parameters often setting bad, poor performance, the operating condition adaptability is poor. While the neural network has very strong nonlinear mapping ability, self-learning ability, the capacity of associative memory, parallel information processing and fine fault-tolerant performance.

This topic design proposed is to establish a single PID neural network controller, the artificial neural network and traditional PID control are combined to complement each other, work together to improve the control quality, and the use of Matlab software simulation.

Key words: control theory; neural network; PID control; BP algorithm; neural network PID; MATLAB simulation

- 2 -

南林林业大学毕业设计(论文)

目录

第一章 绪论 .................................................................................................................... - 5 -

1.1课题研究背景 ...................................................................................................... - 5 - 1.2课题研究意义 ...................................................................................................... - 6 - 1.3课题目前研究现状 .............................................................................................. - 7 - 1.4本文的主要任务及研究内容 ............................................................................ - 10 - 第二章 神经网络 .......................................................................................................... - 12 -

2.1神经网络的基本概念 ........................................................................................ - 12 - 2.2人工神经元模型 ................................................................................................ - 14 - 2.3神经网络的结构 ................................................................................................ - 16 - 2.4神经网络的工作方式 ........................................................................................ - 18 - 2.5神经网络的学习 ................................................................................................ - 18 - 2.6小结 .................................................................................................................... - 20 - 第三章 PID控制器 ...................................................................................................... - 21 -

3.1传统控制理论的局限性 .................................................................................... - 21 - 3.2 PID控制概述 ................................................................................................. - 22 - 3.3 PID控制的原理和特点 ................................................................................. - 22 - 3.4 PID控制的预置和参数整定 ......................................................................... - 24 - 3.5 PID工作应注意问题 ..................................................................................... - 26 - 3.7小结 .................................................................................................................... - 27 - 第四章 基于BP神经网络整定的控制及MATLAB仿真 ......................................... - 29 -

4.1 MATLAB语言简介 .......................................................................................... - 29 -

4.1.1 MATLAB概述 .................................................................................... - 29 - 4.1.2 MATLAB语言特点 ............................................................................ - 30 - 4.2神经网络工具箱函数 ........................................................................................ - 30 - 4.3基于simulink的神经网络控制 ........................................................................ - 31 - 4.4 BP神经网络 ................................................................................................... - 32 -

4.4.1 BP算法原理 ........................................................................................ - 32 - 4.4.2 BP网络的前馈计算 ............................................................................ - 33 - 4.4.3 BP神经网络学习算法的改进 ............................................................ - 34 - 4.5 基于BP神经网络的PID整定原理 .............................................................. - 36 - 4.6设计与仿真 ........................................................................................................ - 39 - 结束语 .............................................................................................................................. - 44 - 致 谢 .............................................................................................................................. - 45 -

- 3 -

南林林业大学毕业设计(论文)

参考文献: ...................................................................................................................... - 46 - 附录:仿真程序 .............................................................................................................. - 47 -

- 4 -

南林林业大学毕业设计(论文)

第一章 绪论

引言

从二十世界四十年代以来,传统的控制理论得到了快速的发展。并且形成完整和具体的理论体系,同时在工业生产中得到了广泛的运用。近几十年,为了解决航天、军事、工业、社会系统等复杂的控制任务,控制理论以不可想象的速度飞快的发展起来,经历现代控制理论和大系统理论两个重要的的发展阶段,但是,它对精确数学模型的依赖性,使其应用受到了很大的限制。无论是现代控制理论还是大系统,其分析、综合和设计都是建立 在严格和精确的数学模型基础之上的。而在科学技术和生产力水平高速发展的今天,人们对大规模、复杂和不确定性系统实行自动控制的要求不断提高。因此,传统的基于精确数学模型的控制理论的局限性日益明显。为了更好的适应时代的发展和技术要去,我们转向更加实用的PID控制。PID控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好及可靠性高,被广泛应用与过程控制和运动控制中,尤其适用于可建立精确数学模型的确定性系统。然而常规PID控制器不能达到理想的控制效果,而且在实际生产现场中,由于受到参数整定方法繁杂的困扰,常规PID控制器参数往往整定不良、性能欠佳,对运动工况的适应性很差。为了克服常规PID控制的弱点,控制界已经提出了大量的对PID控制的改进方案,例如自校正PID控制、广义预测PID控制、模糊PID控制、专家PID控制、智能PID控制等等。以上各种方案的理论依据不同,采用手段也不相同,但是它们的共同点都是正对如何选取和整定PID参数,都是在保持传统PID控制器结构的基础上,采用新的方法在线或离线确定PID参数,这些方法在一定程度上提高了PID控制器的性能,但这些方案一般是针对某些具体问题,缺乏通用性,附加的结构或算法也增加了控制器的复杂性,使它们的广泛应用受到限制。但是,随着神经元网络的研究和应用,人们开始采用神经元网络和PID控制相结合,以便改进传统PID控制的性能,这种研究已经取得了一些成果。

1.1课题研究背景

不管是神经网络还是pid控制技术,都是有国外的技术传入中国。国外在这方面科技要先进与中国。但是不管这样,神经网络仍然出于理论型研究范围,这方面都是比较理论。神经网络系统理论的发展是不平衡的。神经网络发展的第一次热潮是自1943年M-P模型

- 5 -

南林林业大学毕业设计(论文)

开始的,至该世纪60年代为止,这一段时间可以称为神经网络系统理论发展初期阶段,这个时期的主要特点是多种网络的模型的产生与学习算法的确定,如1944年Hebb学习规则,该规则至今仍是神经网络学习算法的一个基本规则;1957年Rosenblantt提出了感知器(Perceptron)模型;1962年Widrow提出了自适应(Adaline)线性元件模型等。这些模型和算法在很大程度上丰富了神经网络系统理论。第二次热潮是1982年,在美国国家科学院的刊物上发表了著名的Hopfield模型理论,这是一个非线性动力系统的理论模型,它引起了各国学者的关注,并力图将这一数学模型进行电子学或者光学的硬件实现,这就形成了人工神经网络的研究队伍。迄今为止的神经网络研究大体可分为三大方向。1,)探究人脑神经系统的生物结构和机制,这实际上是神经网络理论的初衷。2)用微电子学或者光学器件形成特殊功能网络,这主要是新一代计算机制造领域所关注的问题。3)将神经网络理论作为一种解决某些问题的手段和方法,这些问题在利用传统方法时或者无法解决,或者在具体处理计划上尚存困难。

目前国内PID控制及其控制器或智能PID控制器(仪表)已经很多,产品已在工程实际中得到了广泛的应用,有各种各样的PID控制器产品,各大公司均开发了具有PID参数自整定功能的智能调节器 (intelligent regulator),其中PID控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现。有利用PID控制实现的压力、温度、流量、液位控制器,能实现PID控制功能的可编程控制器(PLC),还有可实现PID控制的PC系统等等。可编程控制器(PLC) 是利用其闭环控制模块来实现PID控制,而可编程控制器(PLC)可以直接与ControlNet相连,如Rockwell的PLC-5等。还有可以实现 PID控制功能的控制器,如Rockwell 的Logix产品系列,它可以直接与ControlNet相连,利用网络来实现其远程控制功能。

1.2课题研究意义

在深入的了解了神经网络与PID的发展历史和目前的发展状况,我更加觉得我研究的这个课题具有重要的意义。

一、 感知模式识别

神经网络进过调试可有效提出信号、语音、图像、声纳等感知模式的特征,并能解决现有启发性模式识别系统不能很好解决的不变量探索、自适应、抽象概括等

- 6 -

南林林业大学毕业设计(论文)

问题,神经网络已在遥感、医学图像分析、计算机视觉、语音识别、计算机输入装置等方面有了新的应用。 二、 具有容错和容差能力。

每个神经元和每个连接对阿络的整体功能的贡献是微小的.以致于少量神经元和连接发生故摩对同络功能影响很小。此外.神经元激活函数的“压扁特性又高概率地把这种影响压缩到最低限度.从而使整个同络具有稷强的鲁棒性(硬件容错性)。另一方面.输入向量中每个分量对同络输出的贡献是散小的.以致于少量分量有偏差对同络输出影响很小。同时,激活函数的“压扁 特性把这种影响进一步压缩到最低限度.使整个同络具有很强的容差能力 。

三、 神经网络在工作时具有高速度和潜在的超高速。

神经网络体系结构上的两大特性——数据处理的超大规摸并行性和数据存储的分布性—— 完全消除丁冯·诺依曼体系结掏中存在的 处理器一存储器瓶颈”.从而在工作时具有高速度 另一方面.一旦用VLSI技术或(和)光学技术实现了神经同络(这是可能的).神经同络的工作过程就成为实际系统的状态演化过程.就可以充分利用底层硬件的超高速。

四、 PID神经元对现有神经元类型的补充和完善

目前应用较多的神经元模型,一般只考虑了神经元的静态特性,只把神经元看作是一具有静态输入-输出映射关系的单元,只能处理静态信息。对于动态信息处理,一般只是通过神经元网络的互联方式的动态结构进行。PID神经元中,不仅有具备静态非线性映射功能的比例元,还有可处理动态信息的积分元和微分元。PID神经元即具有一般神经元的共性,有具备着不同的特征,尤其是积分元和微分元的引入,使作为数学基石的微积分概念同神经元网络的基本单元融为一体,增强了神经元处理信息的能力,充实和完善了神经元的种类和内涵,将使神经元网络的行为更加丰富多样化。

1.3课题目前研究现状

近年来,随着神经网络的研究和应用,人们开始采用神经元网络和PID控制相结合,

- 7 -

南林林业大学毕业设计(论文)

以便改进传统PID控制的性能,这种将神经元网络和PID控制相结合的研究已经得到了一些成果。

目前已经提出的神经元网络和PID控制相结合的方法可以归结为两类型:一、采用神经元网络确定PID参数;二、单神经元结构PID控制器。这两种类型分别具有各自的特点和不足之处,如下所述:

1.

采用神经元网络确定PID参数

这种方法和上述其他改进方案的出发点类似,是在传统的PID控制器的基础上符合一个或者多个神经元网络,利用神经元网络的学习功能确定和调整PID参数,其结构如图所示。

由图可知,此控制器分为两个部分:一部分为虚线内部部分,按传统PID控制器的结构,对系统偏差信号进行比例、积分和微分处理并加权重相加,这些权重值即为比例、积分和微分系数;另一部分则为神经网络,一般采用多层前向网,此网络根据系统的输入和输出信息,通过反复的

学习和调整,提供第一部分所需要的PID参数。这种方法主要缺点之一是它的结构比传统PID控制器要复杂的多,实现的难度和代价较大;主要缺点之二是其不能避免一般神经元网络的弱点,如收敛速度慢、易陷入局部最小点、隐层单元个数和连接权重初值难以确定,等等。

r + e 神经元网络 图1-1 神经元网络和PID控制现有结合方式一 2.

kp K1 ++ v y 被控对象 d/dt kd 单神经元结构PID控制器

- 8 -

南林林业大学毕业设计(论文)

单神经元结构PID控制系统的结构如下图所示,三个并联为单神经元网络,它不承担比例、积分、微分处理工作,它的输入信号分别为系统偏差、偏差的积分和微分,单神经元的输入权重值一一对应比例、积分、微分系数。

W2 W1 R + e + v 被控对象 图1-2 神经元网络和PID控制现有结合方式二

比较图1和图2可知,单神经元结构PID控制器的形式与传统PID控制器的形式是相同的,所不同的是传统PID控制器的比例、积分、微分参数是预先设定的和固定不变的,而单神经元结构PID控制器的比例、积分、微分参数对应网络的连接权重值,可按某种算法改变。

虽然单神经元结构PID控制器的结构简单、容易实现,也具备神经元网络

的一些优势,但它也有本质性的弱点。一方面,它仍然是一种选择PID控制器参数的方法。另一方面,这种网络类似于单层感知器,用Delta算法来修正权重值。这种单层网络只具备线性分类能力,甚至不能进行简单的异或逻辑运算,更不具备任意函数逼近能力,这种控制器在复杂系统的控制中难以达到良好的性能。

以上所述的两种类型的神经元网络和PID控制的结合方式还有一个共同的不足之处,就是它们尚没有应用于多输入—多输出的多变量系统控制,目前的研究结果都是在一些比较简单的单变量系统的控制应用方面。

d/dt W3 - 9 -

南林林业大学毕业设计(论文)

1.4本文的主要任务及研究内容

一、分析了传统控制的局限性

传统控制方法对于一些已知的、时不变的、线性或近似线性的单变量系统的

控制是行之有效的,但是对于非线性的、时变的、多变量的复杂系统的控制无能为了,对于参数、结构未知的系统的控制也无能为力。其主要原因是由于传统控制是基于模型的控制,传统控制器的设计前提就是被控系统特性已知且能建立数学模型,而且只对对象具有线性模型时的控制方法是比较成熟的。由于在实际的控制问题中,被控对象的已知、时不变、线性等条件往往难以满足,因而限制了传统控制的应用,也促使建立和发展新的控制理论和控制方法。 二、分析了传统神经元网络的特点和应用于控制中的不足之处

神经元网络的本质性非线性特征和并行结构以及其学习功能,可以处理那些难

以用模型或者规则描述的系统信息,使它在复杂系统的控制反面具有显著的优势。但是,传统神经元网络也存在着不足之处,主要包括:收敛速度慢,学习时间长,结构选取主要靠经验和试验,连接权重初值为随机数,易于陷入局部极小、静态网络和动态控制性能的矛盾,神经元网络的结构、参数、机能难以和控制系统的性能要求相对应,等等。这些不足之处使传统神经元网络难以在控制系统中广泛应用。

三、分析了传统PID控制的特点及其改进方法的研究现状

PID控制是应用最多的一种传统控制方法,只要比例、积分、微分三种控制

作用协调适当,就会得到即快速敏捷、又平稳准确的控制效果。然而,PID控制也无法避免传统控制的共同弱点。为了改善传统PID控制的性能,已有大量的研究结果问世,各有其优点和缺点,其中包括神经元网络和PID控制相结合的研究。但是,现有的神经元网络和PID控制相结合的方法存在着缺陷,这些方法仅仅是用神经元网络辅助选取PID参数。因此,虽然使传统PID控制的性能得到了一些改善,但也使控制系统不能避免一般神经元网络的弱点。 五、 建立了基于BP神经网络整定的控制

在具体了解MATLAB的相关知识和使用方法以后,并深入的学习了BP算法、BP网络学习算法、PID整定原来以后,在此基础上建立模型,并运用MATLAB仿

- 10 -

南林林业大学毕业设计(论文)

真,做出仿真图像,并写出仿真程序。

- 11 -

南林林业大学毕业设计(论文)

第二章 神经网络

2.1神经网络的基本概念

神经生理学和神经解剖学证明了人的思维是由人脑完成的。神经元是组成人脑的最基本单元,它能够接受并处理信息,人脑是一个复杂的信息并行加工处理巨系统。探索脑组织的结构、工作原理及信息处理的机制,是整个人类面临的一项挑战,也是整个自然科学的前沿领域。

生物神经元,也称神经细胞,是构成神经系统的基本单元。生物神经元主要由细胞体、树突和轴突构成,其基本结构如图3所示。

图2-1 生物神经元结构

1)细胞体

细胞体由细胞核、细胞质与细胞膜等组成。细胞体是生物神经元的主体,它是生物神经元的新陈代谢中心,同时还负责接收并处理从其他神经元传递过来的信息。细胞体的内容是细胞核,外部是细胞膜,细胞膜外是许多外延的纤维,细胞膜内外有电位差,称为膜电位,膜外为正,膜内为负。 2)轴突

轴突是由细胞体向外伸出的所有纤维中最长的一条分支。每个生物神经元只有一个轴突,长度最大可达到1m以上,其作用相当于生物神经元的输出电缆,它通过尾

- 12 -

南林林业大学毕业设计(论文)

部分出的许多神经末梢以及末梢端的突触向其他生物神经元输出神经冲动。 3)树突

树突是由细胞体内向外伸出的除轴突外的其他纤维分支,长度一般均较短,但分支很多。它相当于神经元的输入端,用于接收从四面八方传来的神经冲动。 4)突触

突触是轴突的终端。是生物神经元之间的连接接口。一个生物神经元通过其轴突的神经末梢,经突触与另一个生物神经元的树突连接,以实现信息的传递。

从生物的控制理论来看,作为控制和信息处理基本单元的生物神经元,具有以下功能特点。 一、时空整合功能

生物神经元对于不同时间通过同一突触传入的信息,具有时间整合功能;对于同一时间通过不同突触传入的信息,具有时空整合功能。两种功能相互结合,使生物神经元具有时空整合的输入信息处理功能。 二、动态极化性

在每一种生物神经元中,信息都是以预知的确定方向流动的,即从生物神经元的接收信息部分传到轴突的起始部分,再传到轴突终端的突触,最后再传给另一生物神经元。尽管不同的生物神经元在形状及功能上都有明显的不同,但大多数生物神经元都是按这一方向进行信息流动的。 三、兴奋与抑制状态

生物神经元具有两种常规工作状态,即兴奋状态与抑制状态。所谓兴奋状态是指生物神经元对输入信息整合后使细胞膜电位升高,且超过了动作电位的阈值,此时产生神经冲动并由轴突输出。抑制状态是指对输入信息整合后,细胞膜电位值下降到低于动作电位的阈值,从而导致无神经冲动输出。 四、结构的可塑性

由于突触传递信息的特性是可变的,也就是它随着神经冲动传递方式的变化,传递作用强弱不同,形成了生物神经元之间连接的柔性,这种特性又称为生物神经元结构的可塑性。

五、脉冲与电位信号的转换

突触界面具有脉冲与电位信号的转换功能。沿轴突传递的电脉冲是等幅的、离

- 13 -

南林林业大学毕业设计(论文)

散的脉冲信号,而细胞膜电位变化为连续的电位信号,这两种信号是在突触接口进行变换的。

六、突触延期和不应期

突触对信息的传递具有时延和不应期,在相邻的两次输入之间需要一定的时间间隔,在此期间,无激励,不传递信息,这称为不应期。 七、学习、遗忘和疲劳

由于生物神经元的结构可塑性,突触的传递作用有增强、减弱和饱和三种情况。所以,神经细胞也具有相应的学习、遗忘和疲劳效应。

2.2人工神经元模型

生物神经元经抽象化后,可得图4所示的一种人工神经元模型,他有三 个基本要素。

图2-1 人工神经元模型 1.连接权

连接权对应于生物神经元的突触,各个神经元之间的连接强度由连接权

的权值为正表示激活,为负表示抑制。 2.求和单元

用于求取各输入信号的加权和线性组合。 3.激活函数

激活函数起非线性映射作用,并将人工神经元输出幅度限制在一定范围

- 14 -

南林林业大学毕业设计(论文)

内,一般限制在(0,1)或(-1,1)之间。激活函数也称传输函数。

此外,还有一个阈值?k(或偏值bk???k) 以上作用可分别以数学式表达出来,即

uk??wkjxj,vk?netk?uk??k,yk??(vk)

j?1p 式中,x1,x2,...,xp为输入信号,它相当于生物神经元的树突,为人工神经元的输入信息;wk1,wk2,...,wkp为神经元k的权值;uk为线性组合结果;?k为阈值;?(.)为激活函数;yk为神经元k的输出,它相当于生物神经元的轴突,为人工神经元的输出信息。

若把输入的维数增加一维,则可把阈值?k包括进去,即

uk??wkjxj,yk??(uk)

j?0p此处增加了一个新的连接,其输入x0??1,权值wk0??k(或bk),如图5所示

图2-3 输入扩维后的人工神经元模型

激活函数?一般有以下几种形式。 (.)1)阶跃函数

?1(x?1)函数表达式为y??(x)??

??1(x?0)- 15 -

南林林业大学毕业设计(论文)

2)分段线性函数

?1(?1)?函数表达式为y??(x)??12(1?x)(?1?x?1)

??1(x??1)?2.3神经网络的结构

人工神经网络(artificial neural networks,ANN)是由大量人工神经元经广泛互连而组成的,它可用来模拟神经系统的结构和功能。人工神经网络可以看成是以人工神经元为节点,用又向加权弧连接起来的又向图。在此又向图中,人工神经元就是对生物神经元的模拟,而又向加权弧则是轴突——突触——树突对的模拟。又向弧的权值表示相互连接的两个人工神经元间相互作用的强弱。

人工神经网络是生物神经网络的一种模拟和近似。它主要从两个方面进行模拟。一种是从生理结构和实现机理方面进行模拟,它涉及生物学、生理学、心理学、物理及化学等许多基础科学。由于生物神经网络的结构和机理相当复杂,现在距离完全认识它们还相差甚远。另外一种是从功能上加以模拟,即尽量使得人工神经网络具有生物神经网络的某些功能特性,如学习、识别、控制等功能。

1.前馈型网络

前馈神经网络是整个神经网络体系中最常见的一种网络,其网络中各个神经元接受前一级的输入,并输出到下一级,网络中没有反馈,如图6所示。

图2-4 前馈网络

节点分为两类,即输入单元和计算单元,每一计算单元可有任意个输入,但是只有一个输出。通常前馈网络可分为不同的层,第i层的输入只与第i-1层输出相连,输入和输出节

- 16 -

南林林业大学毕业设计(论文)

点与外界相连,而其他中间层成为隐含层,它们是一种强有力的学习系统,其结构简易于编程。从系统的观点看,前馈神经网络是一静态非线性映射,通过简单非线性处理的复合映射可获得复杂的非线性处理能力。但从计算的观点看,前馈神经网络并非是一种强有力的计算系统,不具有丰富的动力学行为。大部分前馈神经网络是学习网络,并不注意系统的动力学行为,它们的分类能力和模式识别能力一般强于其他类型的神经网络。

2.反馈型网络

反馈型神经网络又称为递归网络或回归网络。在反馈网络中,输入信号决定反馈系统的初始状态,然后系统进过一系列状态转移后,逐渐收敛于平衡状态。这样的平衡状态就是反馈网络经计算后输出的结果,由此可见,稳定性是反馈网络中最重要的问题之一。如果能找到网络的Lyapunov函数,则能保证网络从任意初始状态都能收敛到局部最小点。反馈神经网络中所有节点都是计算单元,同时也可以接收输入,并向外输出,可画成一个无向图,其中每个连接弧都是双向的,也可以画成下图所示,若总单元数为n,则每一个节点有n-1个输入和一个输出。

图2-5 反馈网络

- 17 -

南林林业大学毕业设计(论文)

2.4神经网络的工作方式

神经网络的工作过程主演分为两个阶段:第一阶段是学习期,此时各计算单元状态不变,各连接权上的权值可通过学习来修改;第二阶段是工作期,此时各连接权固定,计算单元变化,以达到某种稳定状态。

从作用效果看,前馈网络主要是函数映射,可用于模拟识别和函数逼近。反馈网络按对能量函数的极小点的利用来分类有两种;第一类是能量函数的所有极小点都能起作用,这一类主要用做各种联想存储器;第二类只利用全局极小点,它主要用于求解最优化问题。

2.5神经网络的学习

1.学习方式

通过向环境学习获取知识并改进自身性能是神经网络的一个重要特点,在一般情况下,性能的改善是按某种预定的度量调节自身参数随时间逐步达到的,学习方式有三种:1.有监督学习(有教师学习)。2.无监督学习(无教师学习)。3.强化学习(或再励学习)。 2.学习算法

1)?学习规则(误差纠正规则)

若yi(k)为输入x(k)时神经元i在k时刻的实际输出,ti(k)表示相应的期望输出,则误差信号可写为ei(k)?ti(k)?yi(k)

误差纠正学习的最终目的是使某一基于ei(k)的目标函数达最小,以使网络中每一输出单元的实际输出在某种统计意义上最逼近于期望输出。一旦选定了目标函数形式,误差纠正学习就成为一个典型的最优化问题。最常用的目标函数是均方误差判据,定义为

?1L?J?E?2?(ti?yi)2?

?i?1?式中,E是统计期望算子;L为网络输出数。

上式的前提是被学习的过程是宽而平稳的,具体方法可用最陡梯度下降法。直接用J作为目标函数时,需要知道整个过程的统计特性,为解决这一困难用J在时刻k的瞬时值J(k)代替J,即

- 18 -

南林林业大学毕业设计(论文)

J(k)?12?(t?y)iii?1L2?12?e(k)

2ii?1L 问题变为求J(k)对权值wij的极小值,根据最陡梯度下降法可得: ?wij(k)????i(k)?xj(k)???ei(k)?f'(Wix)?xj(k)

式中,?为学习速率或步长(0???1);f(?)为激活函数。这就是通常说的误差纠正学习规则,用于控制每次误差修正值。它是基于使输出方差最小的思想而建立的。

2)Hebb学习规则

神经心理学家HEBB提出的学习规则可归结为“当某一突触(连接)两端的神经元的激活同步(同为激活或同为抑制)时,该连接的强度应增加,反之则应减弱”,用数学方式可描述为

?wij(k)?F(yi(k),xj(k))

式中,yi(k),xj(k)分别为wij两端神经元的状态,其中最常用的一种情况为 ?wij(k)???yi(k)?xj(k) 式中,?为学习速率。

由于wij(k)与yi(k)、xj(k)的相关成比例,故有时称之为相关学习规则。上式定义的HEBB规则实际上是一种无监督的学习规则,它不需要关于目标输出的任何相关信息。

原始的Hebb学习规则对权值矩阵的取值未做任何限制,因而学习后权值可取任意值。为了克服这一弊病,在Hebb学习规则的基础上增加一个衰减项,即

?wij(k)???yi(k)?xj(k)?dr?wij(k)

衰减项的加入能够增加网络学习的“记忆”功能,并且能够有效地对权值的取值加以限制。衰减系数dr的取值在(0,1)之间。当取0时,就变成原始Hebb学习规则。

另外,此规则还可以采用有监督的学习,对于有监督学习的Hebb学习规则而言,是将目标输出代替实际输出。由此,算法被告知的就是网络应该做什么,而不是网络当前正在做什么,可描述为

?wij(k)???ti(k)?xj(k)

- 19 -

南林林业大学毕业设计(论文)

3)竞争学习规则

顾名思义,在竞争学习时网络各输出单元相互竞争,最后达到只有一个最强者激活。最常见的一种情况是输出神经元之间有侧向抑制性连接。这样众多输出单元中如有某一单元较强,则它将获取并抑制其他单元,最后只有比较强者处于激活状态。最常用的竞争学习规则有以下三种。

???(xj-wij),若神经元j竞争获胜?w(k)??Kohonen规则:ij ??0,若神经元j竞争失败???yi(xj?wij),若神经元j竞争获胜Instar规则:?wij(k)??

??0,若神经元j竞争失败???(yi?wij)/xj,若神经元j竞争获胜Outstar规则:?wij(k)??

??0,若神经元j竞争失败 3.学习与自适应

当学习系统所处环境平稳时,从理论上说通过监督学习可以学到环境的统计特征,这些统计特征可被学习系统作为经验记住。如果环境是非平稳的,通过的监督学习没有能力跟踪这种变化,为解决此问题需要网络有一定的自适应能力,此时对每一个不同输入都作为一个新的例子对待。此时模型被当做一个预测器,甚于前一时刻输出x(k-1)和模型在k-1时刻的参数,它估计出k时刻的输出x(k),

x(k)与实际值x(k)比较,其差值e(k)称为“新息”。

??2.6小结

本章节首先详细介绍了神经网络的基本概念,包括生物神经元的结构与功能特点、人工神经元模型、神经网络的结构、神经网络的工作方式、神经网络的学习方法。

- 20 -

南林林业大学毕业设计(论文)

第三章 PID控制器

3.1传统控制理论的局限性

传统的控制理论都是建立在一微分和积分为工具的精确模型之上。迄今为止,还不存在一种直接使用工程技术用语描述系统和解决问题的方法。从工程技术用语到数学描述的映射过程中,一方面虽使问题作了很多简化,但另一方面却使原问题丢失很多信息。

传统控制理论在具体控制系统中的局限性,主要表现在一下几个方面:

(1)不适应不确定性系统的控制。传统控制是基于模型的控制,即认为控制、对象及干扰的模型是已知的或者是经过辨别可以得到的。但是,由于被控制系统的结构和参数往往难以测量或辨识,很多被控制系统的结构和参数还具有不确定性,甚至常常会发生突变。对于这些未知、不确定或知之甚少的控制系统,难以建立数学模型,因而使采用传统控制理论无法实现有效的控制。

(2)不适应非线性系统的控制。一般被控制系统都具有非线性特性,当非线性特性的影响较小时,传统控制理论通常将其近似线性化后设计控制器。当被控系统具有高度非线性特性时,在传统控制理论中虽然也有一些方法可资利用,但只是针对一些具体问题,有较多的附加条件,大多数过于复杂而难以实际运用。

(3)不适应时变系统的控制。实际被控制系统的结构和参数随时间而发生变化,绝对不变的系统是不存在的。当这种变化较小时,经过一系列的近似后,才能利用传统控制理论进行系统综合。如果时变因素较大,传统控制理论则无法应用。

(4)不适应多变量系统的控制。多变量系统的控制问题一直是控制理论界和控制工程界研究的重点和难点问题,多变量系统除了与单变量系统一样存在着不确定性、非线性和时变问题以外,还存在着系统各要素间相互耦合、相互制约等特殊的问题。如果多变量系统为线性时不变而且结构和参数已知,还可以应用传统控制理论设计解耦器和控制器,对多变量系统进行控制。如果以上条件不成立,传统控制理论则无法应用。而在实际中,这些条件一般难以满足。

传统的控制理论虽然也有办法对付控制对象不确定性和复杂性,如自适应控制和鲁棒控制也可以克服系统中所包含的不确定性,达到优化控制的目的。但是自适应控制是以自

- 21 -

南林林业大学毕业设计(论文)

动调节控制器的参数,使控制器与被控对象和环境达到良好的“匹配”,以削弱不确定性的影响为目标的。从本质上说,自适应和自校正控制都是通过对系统某些重要参数的估计,以补偿的方法来克服干扰和不确定性。它较适合于系统参数在一定范围内的慢变化情况。鲁棒控制则是在一定的外部干扰和内部参数变化作用下,以提高系统的不灵敏度为宗旨来抵制不确定性的。根据这一思想和原理所导出的算法,其鲁棒的区域是很有限的。

因此,在实际应用中,尤其在工业过程控制中,由于被控对象的严重非线性,数学模型的不确定性,系统工作点变化剧烈等因素,自适应和鲁棒控制存在这难以弥补的严重缺陷,其应用的有效性受到很大的限制,这就促使人们提出新的控制技术和方法。

3.2 PID控制概述

PID(比例-积分-微分)控制器作为最早实用化的控制器已有70多年历史,现在仍然是应用最广泛的工业控制器。PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。PID 控制器是一个在工业控制应用中常见的反馈回路部件。这个控制器把收集到的数据和一个参考值进行比较,然后把这个差别用于计算新的输入值,这个新的输入值的目的是可以让系统的数据达到或者保持在参考值。和其他简单的控制运算不同,PID控制器可以根据历史数据和差别的出现率来调整输入值,这样可以使系统更加准确,更加稳定。可以通过数学的方法证明,在其他控制方法导致系统有稳定误差或过程反复的情况下,一个PID反馈回路却可以保持系统的稳定。PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。其输入e (t)与输出u (t)的关系为 u(t)=kp(e(t)+1/TI∫e(t)dt+TD*de(t)/dt) 式中积分的上下限分别是0和t,因此它的传递函数为:G(s)=U(s)/E(s)=kp(1+1/(TI*s)+TD*s) 其中kp为比例系数;TI为积分时间常数;TD为微分时间常数

3.3 PID控制的原理和特点

在模拟控制系统中,控制器最常用的控制规律是PID控制。模拟PID控制系统原理框图如下图所示。系统由模拟PID控制器和被控制对象组成。

- 22 -

南林林业大学毕业设计(论文)

图3-1 模拟PID控制系统原理框图

PID控制器是一种线性控制器,它根据给定值X (t)与实际输出值Y(t)构成控制偏差:error(t)=X(t)-Y(t) PID的控制规律为:

t?Tderror(t)?1u(t)?kp?error(t)??error(t)dt?D?

T10dt??或写成传递函数的形式:

G(s)???U(s)1?kp?1??TDs? E(s)?T1s?式中,kp是比例系数;T1是积分时间常数;TD是微分时间常数。

简单来说,PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。 比例(P)控制

比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。 积分(I)控制

在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。 微分(D)控制

- 23 -

南林林业大学毕业设计(论文)

在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入 “比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。

在PID控制器中,比例部分产生与偏差成正比的输出信号,以便消除偏差;积分部分产生与偏差的积分值成正比的输出信号,以便消除系统的静态误差;微分部分产生与偏差的变化率成正比的输出信号,以便加快控制器的调节速率,缩短过渡过程时间,减少超调。如果这三个部分配合适当,便可得到快速敏捷、平稳准确的调节效果。

因此,PID控制器的设计关键问题是如何选择比例、积分和微分系数,而这些参数的整定的困难使PID控制器的应用受到限制。实际上,PID控制规律是一种线性的控制规律,它也具有传统控制理论的弱点,仅在简单的线性单变量系统中有较好的控制效果,而在复杂系统的控制中效果不佳

3.4 PID控制的预置和参数整定

比例增益 P

变频器的 PID 功能是利用目标信号和反馈信号的差值来调节输出频率的,一方面,我们希望目标信号和反馈信号无限接近,即差值很小,从而满足调节的精度:另一方面,我们又希望调节信号具有一定的幅度,以保证调节的灵敏度。解决这一矛盾的方法就是事先将差值信号进行放大。比例增益 P 就是用来设置差值信号的放大系数的。任何一种变频器的参数 P 都给出一个可设置的数值范围,一般在初次调试时, P 可按中间偏大值预置.或者暂时默认出厂值,待设备运转时再按实际情况细调。

积分时间

如上所述.比例增益 P 越大,调节灵敏度越高,但由于传动系统和控制电路都有惯

- 24 -

南林林业大学毕业设计(论文)

性,调节结果达到最佳值时不能立即停止,导致“超调”,然后反过来调整,再次超调,形成振荡。为此引入积分环节 I ,其效果是,使经过比例增益 P 放大后的差值信号在积分时间内逐渐增大 ( 或减小 ) ,从而减缓其变化速度,防止振荡。但积分时间 I 太长,又会当反馈信号急剧变化时,被控物理量难以迅速恢复。因此, I 的取值与拖动系统的时间常数有关:拖动系统的时间常数较小时,积分时间应短些;拖动系统的时间常数较大时,积分时间应长些。

微分时间 D

微分时间 D 是根据差值信号变化的速率,提前给出一个相应的调节动作,从而缩短了调节时间,克服因积分时间过长而使恢复滞后的缺陷。 D 的取值也与拖动系统的时间常数有关:拖动系统的时间常数较小时,微分时间应短些;反之,拖动系统的时间常数较大时, 微分时间应长些。

P 、 I 、 D 参数的调整原则

P 、 I 、 D 参数的预置是相辅相成的,运行现场应根据实际情况进行如下细调:被控物理量在目标值附近振荡,首先加大积分时间 I ,如仍有振荡,可适当减小比例增益 P 。被控物理量在发生变化后难以恢复,首先加大比例增益 P ,如果恢复仍较缓慢,可适当减小积分时间 I ,还可加大微分时间 D 。

PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。两种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。利用该方法进行 PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作;(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;(3)在一定的控制度下通过公式计算得到PID控制器的参数。

在实际调试中,只能先大致设定一个经验值,然后根据调节效果修改。

- 25 -

南林林业大学毕业设计(论文)

对于温度系统:P(%)20--60,I(分)3--10,D(分)0.5--3 对于流量系统:P(%)40--100,I(分)0.1--1 对于压力系统:P(%)30--70,I(分)0.4--3 对于液位系统:P(%)20--80,I(分)1--5

参数整定找最佳,从小到大顺序查 先是比例后积分,最后再把微分加 曲线振荡很频繁,比例度盘要放大 曲线漂浮绕大湾,比例度盘往小扳 曲线偏离回复慢,积分时间往下降 曲线波动周期长,积分时间再加长 曲线振荡频率快,先把微分降下来 动差大来波动慢。微分时间应加长 理想曲线两个波,前高后低4比1 一看二调多分析,调节质量不会低

3.5 PID工作应注意问题

Td,Ti, Kp三个参数的设定是PID控制算法非常关键的问题。一般来说编程时只能设定他们的大概的数值,并在系统运行时通过反复的调试来确定最佳值。因此调试阶段的程序必须得能随时的修改和记忆这三个参数。 3.6PID控制的意义及其应用

目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。一个控制系统包括控制器、传感器、变送器、执行机构、输入输出接口。控制器的输出经过输出接口、执行机构,加到被控系统上;控制系统的被控量,经过传感器,变送器,通过输入接口送到控制器。不同的控制系统,其传感器、变送器、执行机构是不一样的。比如压力控制系统要采用压力传感器。电加热控制系统的传感器是温度传感器。目前,PID控制及其控制器或智能PID控制器(仪表)已经很多,产品已在工程实际中得到了广泛的应用,有各种各样的PID控制器产品,各大公司均开发了具有PID参数自整定功能的智能调节器 (intelligent regulator),其中PID控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现。有利用PID控制实现的压力、温度、流量、液位控制器,能实现PID控制功能的可编程控制器(PLC),还有可实现PID控制的PC系统等等。 可编程控制器(PLC) 是利用其闭环控制模块来实现PID控制,而可编程控制器(PLC)可以直接与ControlNet相

- 26 -

南林林业大学毕业设计(论文)

连,如Rockwell的PLC-5等。还有可以实现 PID控制功能的控制器,如Rockwell 的Logix产品系列,它可以直接与ControlNet相连,利用网络来实现其远程控制功能。 它由于用途广泛、使用灵活,已有系列化产品,使用中只需设定三个参数(Kp, Ti和Td)即可。在很多情况下,并不一定需要全部三个单元,可以取其中的一到两个单元,但比例控制单元是必不可少的。首先,PID应用范围广。虽然很多工业过程是非线性或时变的,但通过对其简化可以变成基本线性和动态特性不随时间变化的系统,这样PID就可控制了。其次,PID参数较易整定。也就是,PID参数Kp,Ti和Td可以根据过程的动态特性及时整定。如果过程的动态特性变化,例如可能由负载的变化引起系统动态特性变化,PID参数就可以重新整定。第三,PID控制器在实践中也不断的得到改进,下面两个改进的例子:

在工厂,总是能看到许多回路都处于手动状态,原因是很难让过程在“自动”模式下平稳工作。由于这些不足,采用PID的工业控制系统总是受产品质量、安全、产量和能源浪费等问题的困扰。PID参数自整定就是为了处理PID参数整定这个问题而产生的。现在,自动整定或自身整定的PID控制器已是商业单回路控制器和分散控制系统的一个标准。 在一些情况下针对特定的系统设计的PID控制器控制得很好,但它们仍存在一些问题需要解决:如果自整定要以模型为基础,为了PID参数的重新整定在线寻找和保持好过程模型是较难的。闭环工作时,要求在过程中插入一个测试信号。这个方法会引起扰动,所以基于模型的PID参数自整定在工业应用不是太好。如果自整定是基于控制律的,经常难以把由负载干扰引起的影响和过程动态特性变化引起的影响区分开来,因此受到干扰的影响控制器会产生超调,产生一个不必要的自适应转换。另外,由于基于控制律的系统没有成熟的稳定性分析方法,参数整定可靠与否存在很多问题。因此,许多自身整定参数的PID控制器经常工作在自动整定模式而不是连续的自身整定模式。自动整定通常是指根据开环状态确定的简单过程模型自动计算PID参数。PID在控制非线性、时变、耦合及参数和结构不确定的复杂过程时,工作地不是太好。最重要的是,如果PID控制器不能控制复杂过程,无论怎么调参数都没用。虽然有这些缺点,PID控制器是最简单的有时却是最好的控制器。

3.7小结

本章主要学习了传统控制理论的局限性,具体了解了PID控制的概述、原理、特点。认真分析PID控制的工作原理和弱点,以及应注意的几个问题,明白PID控制的重要性和

- 27 -

南林林业大学毕业设计(论文)

其广泛的应用。

- 28 -

南林林业大学毕业设计(论文)

第四章 基于BP神经网络整定的控制及MATLAB仿真

4.1 MATLAB语言简介

4.1.1 MATLAB概述

MATLAB诞生于20世纪70年代,它的编写者是Cleve Moler博士和他的同事。当时,他们利用Fortran开发了两个子程序库——EISPACK和LINPACK。这两个子程序库是求解线性方程的程序库。但是,Cleve Moler发现学生使用这两个程序库有困难,主要问题是因为接口程序不好写,很费时间。于是,Cleve Moler自己动手,在业余时间里编写了EISPACK和LINPACK的接口程序。Cleve Moler给这个接口程序取名为MATLAB,意为矩阵和实验室的组合。以后几年,MATLAB作为免费软件在大学里被广泛使用,深受大学生的喜爱。

1984年,Cleve Moler和John Little成立了Mathworks公司,正式把MATLAB推向市场,并继续进行MATLAB的开发。

MATLAB长于数值计算,能处理大量的数据,而且效率比较高。其产品可用于以下领域: ● 数据分析 ● 数值和符号计算 ● 工程与科学绘图 ● 控制系统设计 ● 数字图像信号处理 ● 财务工作

● 建模、仿真、原型开发 ● 图形用户界面设计 MATLAB的功能 ● 数据可视化功能 ● 矩阵运算功能 ● 大量的工具箱 ● 绘图功能 ● GUI设计 ● Simulink仿真

- 29 -

南林林业大学毕业设计(论文)

4.1.2 MATLAB语言特点

MATLAB语言有不同于其他高级语言的特点,它被称为第四代计算机语言。如同第三代计算机语言使人们摆脱了对计算机硬件的依赖一样,第四代语言MATLAB使人们从繁琐的程序代码中解放了出来。它丰富的函数库使开发者省去了大量的重复编程。MATLAB语言最大的特点就是简单和快捷。主要的有点有:①编程效率高②用户使用方便③扩充能力强,交互性好④移植性很好,开放性很好⑤语句简单,内涵丰富⑥高效方便的矩阵和数组运算⑦方便的绘图功能

4.2神经网络工具箱函数

神经网络工具箱是在MATLAB环境下开发出来的许多工具箱之一。它以人工神经网络理论为基础,利用MATLAB编程语言构造出许多典型神经网络的激活函数,如S型、线性、竞争层、饱和线性等激活函数,使设计者对所选定网络输出的计算,转变为对激活函数的调用。另外,可以根据各种典型的修正网络权值的规则,加上网络的训练过程,利用MATLAB语言编写各种网络权值训练的子程序。这样一来,网络的设计者可以根据自己的需要调用工具箱中有关神经网络的设计与训练的程序,使自己能够从繁琐的编程中解脱出来,集中精力思考和解决问题,从而提高效率和质量。

最新版的MATLAB 神经网络工具箱为Version4.0.3,它几乎涵盖了所有的神经网络的基本常用类型,对各种网络模型又提供了各种学习算法,我们可以根据自己的需要调用工具箱中的有关设计与训练函数,很方便地进行神经网络的设计和仿真。目前神经网络工具箱提供的神经网络模型主要用于:

①函数逼近和模型拟合;②信息处理和预测;③神经网络控制;④故障诊断。 神经网络工具箱提供了丰富的工具函数,其中有针对某一种网络的,也有通用的,下面列表中给出了一些比较重要的工具箱函数

表4-1 神经网络工具箱通用函数

- 30 -

南林林业大学毕业设计(论文)

4.3基于simulink的神经网络控制

神经网络工具箱提供了一组可以在simlink中使用的模块,它们可以用来建立网络和基于网络的控制器。工具箱中还提供了3类控制的有关simulinked实例,分别为模型预测控制、模型参考控制和反馈线性化控制。

Mpc是20世纪70年代后期发展起来的一类新型的计算机控制算法,称为预测模型。这种算法的本质特征包括三个要素:预测模型、滚动优化和反馈校正。

1.预测模型

在模型预测控制中需要一个描述系统动态行为的基础模型,称为预测模型。这个预测模型应该具有根据系统的历史信息和未来输入,预测其未来输出值的功能。

2.滚动优化

预测控制实质上是一种优化控制算法,它采用滚动式的有限时域的输出优化。这种优化方式有两个特点。其一,优化目标是随时间推移的。滚动优化指标的局部性,虽然使其在理想情况下只能得到全局的次优解,但是当模型失配或者存在时变、非线性或干扰因素时能够顾及这种不确定性,及时进行弥补,减小偏差,保持实际上的最优化控制。其二,由于采用了有限时域的输出优化,结合模型的输入、输出功能,易于得到简便的在线控制率,适合在线反复进行优化的需要。

3.反馈校正

预测控制在控制的每一步,都需要检测实际输出并与基于预测模型的预测值相比较, 以此修正模型预测的不确定性,然后进行新的优化。因为作为基准的预测模型只是系统动

- 31 -

南林林业大学毕业设计(论文)

态特性的粗略描述,加上实际系统中可能存在的非线性、时变和干扰等因素,基于模型的预测不可能和实际完全相符,这就需要基于偏差的误差预测对模型预测进行补充,使得优化建立在较准确的预测基础上。

神经网络预测控制系统仿真结构图如图4-1所示

图4-1 :神经网络预测控制系统

4.4 BP神经网络

4.4.1 BP算法原理

BP学习算法的基本原理是梯度最速下降法,它的中心思想是调整权值使网络总误差最小。也就是采用梯度搜索技术,以期使网络的实际输出值与期望输出值的误差均方值为最小。网络学校过程是一种误差边向后传播边修正权系数的过程。

多层网络运用BP学习算法时,实际上包含了正向和反向传播两个阶段。在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望输出,则转入反向传播,将误差信号沿原来的连接通道返回,通过修改各层神经元的权值,使误差信号最小。

将一层节点的输出传送到另一层时,通过调整连接权系数wij来达到增强或削弱这些输出的作用。除了输入层的节点外,隐含层和输出层节点的静输入是前一层节点输出的加权和。每个节点的激活程度由它的输入信号、激活函数和节点的偏值来决定。但对于输入层,输入模式送到输入层节点上,这一层节点的输出即等于其输入。注意,这种网络没有反馈存在,实际运行仍是单向的,所以不能将其看成是一非线性动力学系统,而只是一种非线性映射关系。具有隐含层BP网络的结构如图4-2所示,

- 32 -

南林林业大学毕业设计(论文)

图4-2:BP 神经网络结构图

4.4.2 BP网络的前馈计算

在训练网络的学习阶段,设有N个训练样本,先假定用其中的某一个样本p的输入、输出模式对?xp?和?tp?对网络进行训练,隐含层的第i个神经元在样本p作用下的输入为

net??wijo??i??wijxjp??i(i?1,2,???,q)

pipjj?1j?1MM式中,xij和op对输入节点而言两者相当;j分别为输入节点j在样本p作用时的输入和输出,

wij为输入层神经元j与隐含层神经元i之间的连接权值;?i为隐含层神经元i的阈值;M为输入层的节点数,即输入的个数。

隐含层底i个神经元的输出为

oip?g(netip)(i?1,2,???,q) 式中,g(?)为隐含层的激活函数。

对于sinmoid型激活函数, g(x)?1

1?exp??(x??i)/?0?式中,参数?1表示偏值,正的值使激活函数水平向左移动。?0的作用是调节sigmoid函数形状的,较小的值使函数逼近一个阶跃限幅函数,而较大的值将是函数变得较为平坦。

- 33 -

南林林业大学毕业设计(论文)

隐含层激活函数g(netip)的微分函数为

ppp g'(netip)?g(netip)??1?g(neti)???oi(1?oi)(i?1,2,???,q)

隐含层第i个神经元的输出oip将通过权系数向前传播到输出层第k个神经元作为它的输入之一,而输出层第k个神经元的实际输出为 net??wkioip??k(k?1,2,???,L)

pki?1q式中,wki为隐含层神经元i与输出层神经元k之间的连接权值;?k为输出层神经元k的阈值;q为隐含层的节点数。

输出层的第k个神经元的实际输出为

okp?g(netkp)(k?1,2,???,L)

输出层激活函数g(netkp)的微分函数为

ppp?g'(netkp)?g(netkp)?1?g(net)?o(1?o)(k?1,2,???,L) kkk?? 若其输出与给定模式对的期望输出tk不一致,则将其误差信号从输出端反向传播回来,并在传播过程中对加权系数不断修正,直到在输出层神经元上得到所需要的期望输出值为止。对样本p完成网络权系数的调整后,再送人另一样本模式对进行类似学习,知道完成N个样本的训练学习为止。

p4.4.3 BP神经网络学习算法的改进

BP网络总括起来,具有以下主要优点:

(1)只要有足够多的隐含层和隐节点,BP网络可以逼近任意的非线性映射关系; (2)BP网络的学习算法属于全局逼近的方法,因而它具有较好的泛化能力。 它的主要缺点是: (1)收敛速度慢; (2)局部极值

(3)难以确定隐含层和隐节点的个数。

从原理上,只要有足够多的隐含层和隐节点,即可实现复杂的映射关系,但是如何根据特定的问题来具体确定网络的结构尚无很好的方法,任需要凭借经验和试凑。 BP网络能够实现输入、输出的非线性映射关系,但它并不依赖于模型。其输入与输出

- 34 -

南林林业大学毕业设计(论文)

之间的关联信息分布地存储于连接权中。由于连接权的个数很多,个别神经元的损坏只对输入、输出关系有较小的影响,因此BP网络显示了较好的容错性。

BP网络由于其很好的逼近非线性映射的能力,因而它可应用于信息处理、图像识别、模型辨别、系统控制等多方面。对于控制方面的应用,其很好的逼近特性和泛化能力是一个优点。 而收敛速度慢却是一个很大的缺点,这一点难以满足具有适应功能的实时控制的要求,它影响了该网络在许多方面的实际应用。为此,许多人对BP网络的学习算法进行了广泛的研究,提出了许多改进的算法,下面介绍典型的几种。 1)引入惯性项

有时为了使收敛速度快些,可在加权系数修正公式中增加一个惯性项,使加权系数变化更平稳些。

输出层的任意神经元k在样本p作用时的加权系数增量公式为

wki(k?1)?wki(k)???kpoip????wki(k)?wki(k?1)??

隐含层的任意神经元i在样本p作用时的加权系数增量公式为

pp wij(k?1)?wij(k)???ioj????wij(k)?wij(k?1)??

式中,?为惯性系数,大于0,小于1. 2)引入动量项

上述标准BP算法实质上是一种简单的最速下降静态寻优算法,在修正w(k)时,只是按k时刻的负梯度方式进行修正,而没有考虑以前积累的经验,即以前时刻的梯度方向,从而常常使学习过程发生振荡,收敛缓慢。为此,有人提出了如下的改进算法,即

w(k?1)?w(k)???(1??)D(k)??D(k?1)?

式中,w(k)既可表示单个的连接权系数,也可表示连接权向量;D(k)???j/?w(k)为k时刻的负梯度;D(k-1)是k-1时刻的负梯度;?为学习速率,?大于0;?为动量项因子。

该方法所加入的动量项实质上相当于阻尼项,它减小了学习过程的振荡趋势,改善了收敛性,这是目前应用比较广泛的一种改进算法

3)变尺度法

标准的BP学习算法所采用的是一阶梯度法,因而收敛较慢。若采用二阶梯度法,则可以大大改善收敛性。二阶梯度法的算法为

2w(k?1)?w(k)?????j(k)???j(k)

?1?j?2j2,?j(k)?2,0???1 其中,?j(k)??w(k)?w(k)虽然二阶梯度法具有比较好的收敛性,但是它需要计算J对w的二阶导数,这个计算量是很大的。所以一般不直接采用二阶梯度法,而常常采用变尺度法或共轭梯度法,它们

- 35 -

南林林业大学毕业设计(论文)

具有二阶梯度法收敛较快的优点,而又无须直接计算二阶梯度。下面具体给出变尺度法的算法,即

w(k?1)?w(k)??H(k)D(k)?w(k)?wT(k)H(k?1)?D(k)?DT(k)H(k?1)

H(k)?H(k?1)?T??w(k)?D(k)?DT(k)H(k?1)?D(k)4.5 基于BP神经网络的PID整定原理

PID控制要取得较好的控制效果,就必须通过调整好比例、积分和微分三种控制作用,形成控制量中既相互配合又相互制约的关系,这种关系不一定是简单的“线性组合”,从变化无穷的非线性组合中可以找出最佳的。神经网络所具有的任意非线性表达能力,可以通过对系统性能的学习来实现具有最佳组合的PID控制。采用BP网络,可以建立参数

kp,ki,kd自学习的PID控制器。

基于BP网络的PID控制系统结构如图4-3所示,控制器由两部分构成:

隐含

输输出层 X1 Y1 X2 Y2 ┇ ┇ XNYM1 WJI2 WJI

图4-3:BP网络结构

(1)经典的PID控制器,直接对控制对象进行闭环控制,并且三个参数kp,ki,kd为在线调整方式。

(2)神经网络,根据系统的运行状态,调节PID控制器的参数,以期达到某种性能

- 36 -

南林林业大学毕业设计(论文)

指标的最优化,使输出层神经元的输出状态对应于PID控制器的三个可调参数kp,ki,kd通过神经网络的自学习、加权系数调整,使神经网络输出对应于某种最优控制律下的PID控制器参数。

经典增量式数字PID的控制算法为:

u(k)?u(k?1)??u(k)?u(k)?kp(error(k)?error(k?1)?kierror(k)?kd(error(k)?2error(k?1)?error(k?2))

式中kp,ki,kd分别为比例、积分、微分系数。 采用三层BP网络,其结构如图4-3所示。 网络输入层的输入为:

?x(j)(j?1,2,???,M) O(1)j式中,输入变量的个数M取决于被控系统的复杂程度。

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

(2)(1)net(k)??wijoj(2)ij?0M

oi(2)(k)?f(neti(2)(k))(i?1,2,???,Q)(2)式中,wij为隐含层加权系数;上角标(1)、(2)、(3)分别代表输入层、隐含层和输出层。

隐层神经元的活化函数取正负对称的sigmoid函数:

ex?e?xf(x)?tanh(x)?x?x

e?e网络输出层的输入输出为:

(3)(2)net(k)??wlioi(k)(3)li?0Qol(3)(k)?g(netl3(k))(l?1,2,3)o1(3)(k)?kp(3)o2(k)?ki(3)o3(k)?kd

输出层输出节点分别对应三个可调参数kp,ki,kd。由于kp,ki,kd不能为负值,所以输出层神经元的活化函数取非负的sigmoid函数:

- 37 -

南林林业大学毕业设计(论文)

1exg(x)?(1?tanh(x))?x?x

2e?e取性能指标函数为:

E(k)?1(rin(k)?yout(k))2 2按照梯度下降法修正网络的权系数,即按E(k)对加权系数的负梯度方向搜索调整,并附加一个使搜索快速收敛全局极小的惯性项:

(3)?wli(k)????E(k)(3)???wli(k?1) (3)?wli式中,?为学习速率;?为惯性系数。

?E(k)?E(k)?y(k)??u(k)?ol(3)(k)?netl(3)(k)???(3)??(3)(3)(3)?wil?y(k)??u(k)?ol(k)?netl(k)?wil(k)?net(k)?oi(2)(k)?w(k)由于

(3)l(3)li

?y(k)?y(k))取代,由此带来计算不精确的影未知,所以近似用符号函数sgn(??u(k)??u(k)响可以通过调整学习速率来补偿。

可求得网络输出层权的学习算法为:

?i(3)?error(k)sgn???y(k)???u(k)g(netl(3)(k))(l?1,2,3) ?(3)???u(k)??ol(k)同理可得隐含层加权系数的学习算法:

(2)(2)?wil(k)???wil(k?1)???i(2)o(1)j(k)?(2)i?f'(net(k))??w(k)(2)i(3)l(3)lii?13

式中,g'(?)?g(x)(1?g(x)),f'(?)?(1?f2(x))/2。

基于BP网络的PID控制器结构如图4-4所示,该控制器控制算法归纳如下:

- 38 -

南林林业大学毕业设计(论文)

图4-4 基于bp网络的PID控制器结构

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

(2)采样得到rin(k)和yout(k),计算该时刻误差;

(3)计算神经网络NN各层神经元的输入,输出,NN输出层的输出即为PID控制器的三个可调参数;

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

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

(6)置k=k+1,返回到(1)。

4.6设计与仿真

一、设被控制对象的近似数学模型为: yout(k)?a(k)yout(k?1)?u(k?1) 21?yout(k?1)式中,系数a(k)是慢时变的,a(k)?1.2(1?0.8e?0.1k). 信号输入(1)rin(k)=1.0;(2)rin(k)=sin(2?t)。 二、仿真结果:

- 39 -

南林林业大学毕业设计(论文)

图4-5 阶跃响应曲线(s=1)

图4-6 参数自适应整定曲线

- 40 -

南林林业大学毕业设计(论文)

图4-7

图4-8 正弦跟踪曲线(s=2)

- 41 -

南林林业大学毕业设计(论文)

图4-9 跟踪误差曲线

图4-10 参数自适应整定曲线

- 42 -

南林林业大学毕业设计(论文)

三,结果分析

由仿真的曲线可以看出,神经网络PID的稳态误差小,解决了常规的PID超调,抖动等问题,控制的精度高,实现了对控制的信号几乎相同的跟踪,具有较好的快速性和适应性。

- 43 -

南林林业大学毕业设计(论文)

结束语

经过了几个月的努力,我的毕业设计——神经网络PID控制器在炉温控制系统中的应用,终于圆满完成了。毕业设计从资料的收集、查阅开始,然后是总体的方案设计等,最后是论文的编写。虽然任务比较重,时间也比较紧,但是最终我还是顺利完成了全部工作。本文研究试图通过对普通的PID控制器进行分析,提出问题,结合神经网络,提高其优势与精度。

通过这次毕业设计,许多对于我来说是全新的东西也渐渐的学会了。更重要的一点是我学会了如何去查阅文献资料,并将别人的思想运用到自己的作品设计当中去。因为工作中没有老师会在身边去教你,自己通过查阅资料来分析问题、解决问题才是最有效的方法。

总的来说,毕业设计是为了让我们从大学阶段顺利的过度到今后的学习、生活、工作当中。高质量的完成毕业设计论文使我们得到了锻炼和提高。

- 44 -

南林林业大学毕业设计(论文)

致 谢

毕业设计是将大学期间所学的运用到了实际生产、生活中去的一个具有创造性的过程。所以不可避免的会遇到许多的困难。幸好身边有老师同学们的帮助和鼓励,使我的设计工作能够顺利的进行下去,以致今日能够圆满的完成整个毕业设计。所以在这里,我要向曾经给予过我帮助和鼓励的所有人表示感谢。

首先要感谢学校的领导能给我这次机会,使我在离开学校之前能有一次比较全面的锻炼。以后无论是在某个工作岗位上还是在学校继续深造,都会受益良多。

其次要感谢我的指导老师褚燕红老师。她虽然工作繁忙,依然从百忙中抽时间帮助我分析问题、解决问题。

最后要感谢我的同学们,在我的设计出现问题时,大家总会放下手中的工作来和我一同研究和讨论,使我从中学到不少有用的知识。

- 45 -

南林林业大学毕业设计(论文)

参考文献:

[1] 刘金琨.先进PID控制MATLAB仿真(第二版)[M].北京:电子工业出版社,2004.

[2] 李建国.智能预测控制及其MATLAB实现(第2版)[M].北京:电子工业出版社.2010.

[3] 飞思科技产品研发中心.神经网络理论与MATLAB7实现[M].北京:电子工业出版社.2005. [4]舒怀林.PID神经元网络及其控制系统[M].北京:国防工业出版社.2006.

[5] 彭燕. 基于BP神经网络的PID控制在温室控制系统中应用.农机化研究,2011,06-01163-05. [6] 李泉溪,孙朕,程凌雪. 基于BP神经网络的PID在压延机温度控制系统中的应用. 科学技术与工

程,2011,09.

[7] 李凯,左文香,刘喜荣. 神经网络PID控制器在温度控制中的应用.河北工业科技,2000(9). [8] 曾军,方厚辉. 神经网络PID控制及其MATLAB仿真.现代电子技术,2004年第2期.

- 46 -

南林林业大学毕业设计(论文)

附录:仿真程序

%BP based PID Control clear all; close all;

xite=0.25; alfa=0.05;

S=2; %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

if S==2 %Sine Signal

wi=[-0.2846 0.2193 -0.5097 -1.0668; -0.7484 -0.1210 -0.4708 0.0988;

- 47 -

南林林业大学毕业设计(论文)

-0.7176 0.8297 -1.6000 0.2049; -0.0858 0.1925 -0.6346 0.0347; 0.4358 0.2369 -0.4564 -0.1324]; %wi=0.50*rands(H,IN); wi_1=wi;wi_2=wi;wi_3=wi;

wo=[1.0438 0.5478 0.8682 0.1446 0.1537; 0.1716 0.5811 1.1214 0.5067 0.7370; 1.0063 0.7428 1.0534 0.7824 0.6494]; %wo=0.50*rands(Out,H); wo_1=wo;wo_2=wo;wo_3=wo; end

x=[0,0,0];

u_1=0;u_2=0;u_3=0;u_4=0;u_5=0; y_1=0;y_2=0;y_3=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.001; for k=1:1:6000 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

a(k)=1.2*(1-0.8*exp(-0.1*k)); yout(k)=a(k)*y_1/(1+y_1^2)+u_1;

- 48 -

南林林业大学毕业设计(论文)

error(k)=rin(k)-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

- 49 -

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

Top