1、第三章 PID神经网络结构及控制器的设计在控制系统中,PID控制是历史最悠久,生命力最强的控制方式,具有直观、实现简单和鲁棒性能好等一系列优点。但近年来随着计算机的广泛应用,智能控制被越来越广泛的应用到各种控制系统中。智能控制方法以神经元网络为代表,由于神经网络可实现以任意精度逼近任意函数,并具有自学习功能,因此适用于时变、非线性等特性未知的对象,容易弥补常规PID控制的不足。将常规PID控制同神经网络相结合是现代控制理论的一个发展趋势。3.1 常规PID控制算法和理论基础3.1.1 模拟PID控制系统PID(Proportional、Integral and Differential)控制是
2、最早发展起来的控制策略之一,它以算法简单、鲁捧性好、可靠性高等优点而梭广泛应用于工业过程控制中。PID控制系统结构如图31所示:积分比例微分被控对象e ( t )u ( t )c ( t )r ( t )图3.1 模拟PID控制系统结构图它主要由PID控制器和被控对象所组成。而PID控制器则由比例、积分、微分三个环节组成。它的数学描述为:01()()()()tpDi detutKetT(3.1)式中, 为比例系数;p为积分时间常数:iK为微分时间常数。d简单说来,PID控制器各校正环节的主要控制作用如下:1比例环节即时成比例地反映控制系统的偏差信号 ,偏差一旦产生,控制()et器立即产生控制作
3、用,以减少偏差。2积分环节主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数 , 越大,积分作用越弱,反之则越强。iTi3微分环节能反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。具体说来,PID控制器有如下特点:(1)原理简单,实现方便,是一种能够满足大多数实际需要的基本控制器;(2)控制器能适用于多种截然不同的对象,算法在结构上具有较强的鲁棒性,在很多情况下,其控制品质对被控对象的结构和参数摄动不敏感。3.1.2 数字PID控制算法在计算机控制系统中,使用的是数字PID控制器,数字
4、PID控制算法通常又分为位置式PID控制算法和增量式PID控制算法。1位置式PID控制算法由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,故对式(31)中的积分和微分项不能直接使用,需要进行离散化处理。按模拟PID控制算法的算式(31),现以一系列的采样时刻点 代表连续时间t,kT以和式代替积分,以增量代替微分,则可以作如下的近似变换:(tkT0,123.)000()(kktjjedeTe(3.2)1)1)t式中,T表示采样周期。显然,上述离散化过程中,采样周期 必须足够短,才能保证有足够的精T度。为了书写方便,将 简化表示 成等,即省去 。将式(3.2)代入()ekT()
5、ekT到(3.1)中可以得到离散的PID表达式为:0()()()()1)kDpjIukK(3.3)或 0()()()()kpIDjkeeKke(3.4)式中, 采样序号, ;k,12.k第k次采样时刻的计算机输出值;()u第k次采样时刻输入的偏差值;e第k次采样时刻输入的偏差值;(1)积分系数,IK;IpITK微分系数,D ;Dp对于位置式PID控制算法来说,由于全量输出,所以每次输出均与过去的状态有关,计算时要对误差进行累加,所以运算工作量大。而且如果执行器计算机出现故障,则会引起执行机构位置的大幅度变化,而这种情况是生产场合不允许的,因而产生了增量式PID控制算法。2增量式 控制算法PID
6、所谓增量式PID是指数字控制器的输出只是控制量的增量。当执行机构需要的是控制量的增量时,可以由式(34)导出提供增量的PID控制算式。根据递推原理可得:0(1)()()(1)(2)kpIDjukKeeKke(3.5)用式(34)减去式(35),可得()uk()1)pek()iek()21)(2)dekKIDK(3.6)式中, =()ek(1)ek式(36)称为增量式PID控制算法。增量式控制算法的优点是误动作小,便于实现无扰动切换。当计算机出现故障时,可以保持原值,比较容易通过加权处理获得比较好的控制效果。但是由于其积分截断效应大,有静态误差;溢出影响大。所以在选择时不可一概而论。为此,可以将
7、PID控制器与其他的算法相结合,对PID控制器进行改进,得到改进型PID控制器。3.2 神经网络 控制器PID神经网络应用于控制统设计的主要原因是针对系统的非线性、不确定性和复杂性。出于神经网络的适应能力、并行处理能力和鲁棒性,使得采用神经网络的控制系统具有更强的适应性和鲁棒性。这点在神经网络PID控制器中显露无遗。传统的PID调节器则具有结构简单、调整方便和参数整定与工程指标联系密切的优点。但是对于传统PID控制器来说,它也具有一定的局限性:当控制对象不同时,控制器的参数难咀自动调整以适应外界环境的变化,且难于对一些复杂的过程和参数馒时变系统进行有效控制。而将神经网络技术与传统PID控制相结
8、合,则可以在一定程度上解决传统PID控制器不易进行在线实时参数整定等方面的缺陷,充分发挥PID控制的优点。3.2.1 神经元PID控制器神经网络PID控制是神经网络应用于PID控制并与传统PID控制器相结合而产生的一种改进型控制方法,是对传统的PID控制的一种改进和优化。传统的PID控制器算式如下:01()()()()tpDi detutKetT(3.1)相应的离散算式为:0()()()()1)kpIDjukeeKke(3.4)其中 分别为比例、积分、微分系数, 为第k次采样的输入偏差值,,pIDK()为第k次采样时刻的输出值。()u而它的增量式PID控制算法为:()uk()pKe()()1)
9、IDkKek(3.6)根据(3.1)(3.2)式,用一个单神经元构造PID控制器,如图3.2所示:X 1 ( k )X 2 ( k )X 3 ( k )W 1W 2W 3u ( k )图3.2 神经网络PID控制器其网络的输入为: =1()e20kjX3()()1)Xkeke(3.7)网络的输出为: ()uk123()()()Wk式中, 为控制器的加权系数,相当于PID控制器中的比例、积分、微分系i数 ,但与传统的PID控制器不同的是参数 可以进行在线修正。,pIDK iW通过不断调整 从而使之达到最优值 ,从而可以达到改善控制系统的i 控制性能的目的。3.2.2 单神经元自适应 控制器PID
10、神经元作为构成神经网络的基本单元,具有自学习和自适应的能力,而且结构简单易于计算。传统的PID调节器也具有结构简单、调整方便和参数整定与工程指标联系密切等特点。将两者结合,便可以在一定程度上解决传统PID调节器不易在线实时整定参数和难于对一些复杂过程和参数慢时变系统进行有效控的不足。用神经元实现的自适应PID控制器结构框图如图3.3所示 转换器K过程f 1Zu()kzry()k1x23w图32 单神经元laid控制器结构框图图中状态转换器的输入反映被控对象及控制设定的状态。转换器的输出为神经面学习控制所需的状态量,控制信号 由神经元通过关联搜索和自学习()uk产生。设定输入 为给定值, 为输出
11、值,经状态变换器转换后成为神经元学ryy习控制所需的状态量 。这里:123,x反映了系统误差变化的积累(相当于积分项)1()xke反映了误差的变化(相当于比例项)2反映了误差变化的一阶差分(相当于微分项)23()xke为性能指标或递进信号,为一个教师信号;()()rZkyk为对应于 的加权系数;iwix为神经元的比例系数, 为大于0的数。KK那么有:()1)uk31()iiwkx(3.8) 即有:= ()uk123()()()Kekekek(3.9) 试比较(3.4)与(3.9)可以看出PID参数分别为 (积分系数),1()PITKwk(比例系数), (微分系数)。故该神经元控制器具有2pKw
12、k2()DPTKwkPID控制器的特性,它通过对加权系数的调整来实现自适应,自组织功能。所以该神经元PID控制器是一类在线自适应PID控制器。这种自适应能力是通过一定的学习规则进行的,而学习规则可以通过计算算法实现,因此神经元PID控制器的性能取决于学习算法的收敛性和自学习能力。如何获得更完善的自学习能力、联想能力的算法是关键。解决好学习算法的快速性和收敛性,便可以大大推进神经网络控制在工业生产过程中的实用化进程。本文中采用Delta学习规则。 即(1)()iiiwkrk(3.10)()iirex(3.11)式中, 学习(或强化)信号,它随着过程的进行缓慢地衰减。i学习速率, 。0该学习规则表
13、示对一个动态特性未知的环境,自适应神经元在教师信号作用下进行强制学习,从而对外界作用作出反映和作用。神经元权系数的()ek学习确保系统的跟踪误差收敛于零。只要跟踪误差存在,学习过程就会使权值变化,从而使误差以最快的速度趋于零。这样就通过关联搜索保证了系统的无静差。只要保证学习算法的收敛性,调节系统就可以实现无静差和快速响应的控制效果。通常学习速率对保证学习的收敛性有很大的关系,要由仿真分析来选择适当的学习速率。为了加快神经元PID控制器的学习速率,通常希望学习速率 的取值大一些。在, 值选择较大时,为保证上述单神经元P1D控制学习算法的收敛性与鲁棒性,对学习算法进行规范化处理:31()()ii
14、ukkwxk=()iw31|()|iii1 1()Ikekx222()P333)(Dwkekx式中, 为积分、比例、微分的学习速率;,IpD=1()xke=2= =3()xk2e()21)(2)kek这里对积分(I)、比例(P)、微分(D)分别采用不同的学习速率 ,以便对,IpD它们各自的权系数能根据需要分别进行调整。采用不同的学习速率进行学习,可以防止某些项因为相差太大而被淹没,其取值可先由现场实验或仿真来确定。这里选取的一般规则如下:对于阶跃响应,若输出有大的超调,且多次出现正弦衰减现象,应减少维持 不变;若上升时间长,无超调,应增大 ,保持 不变。,K,IpD K,IpD对于阶跃输入,若
15、被控对象产生多次正弦衰减现象,应减少 ,其他参p数不变。若被控对象响应特件出现上升时间短、超调过大现象,应减少 ,其I他参数不变。若被控对象上升时间长,增大 又导致超调过大,可适当增加 ,其IP他参数不变。在开始调整时, 选择较小值,当调整 , 和 ,使被控对象具有DIPK良好特性时,再逐渐增大 ,而其他参数不变,使系统输出基本无波纹。DK是系统最敏感的参数。 值的变化,相当于 三项同时变化,应在K,PID第一步先调整 ,然后根据“”项调整规则调整 。K,Ip33基于BP神经网络参数自学习的PID控制器PID控制要取得好的控制效果,就必须对比例、积分和微分三种控制作用进行调整以形成相互配合又相
16、互制约的关系,这种关系是从变化无穷的非线性组合中找出最佳的关系。神经网络具有任意的非线性表示能力,可以通过对系统性能的学习实现具有最佳组合的PID控制器。 P I D 控制器N N学习方法被控对象r euy图33 基于BP神经网络的PID控制系统结构 BP神经网络由于其具有逼近任意非线性函数的能力,而且结构和学习算法简单明确,因此在神经网络 控制中常采用BP网络结构来建立 控制器。PIDPID通过BP神经网络自身的学习,从而可以找到某一最优控制律下的 参数。,基于BP神经网络的PID控制系统结构如图33所示,控制器由两部分缀成:经典的 控制器:直接对被控对象进行闭环控制,并且 三I ,PIDK
17、个参数为在线整定;神经网络NN:根据系统的运行状态对应于 控制器的三个可调参数 ,PIDP, 。通过神经网络的自学习、调整权系数,从而使其稳定状态对应于某种IKD最优控制律下的PID控制器参数。PID的控制算式为:2()1)()()()PIDukKekKek(3.12)式中, 分别为比例、积分、微分系数。将 看为依赖于系统,PIDK,PID运行状态的可调系数时,可将(3.12)式描述为:2()(1),(),()pIDukfKekek(3.13)式中 是与 等有关的非线性函数,可以用 BP神经网f,(1),pIDKuky络NN通过训练和学习来找出一个最佳控制规律。假设BP神经网络NN是一个三层B
18、P网络,其结构如图3.4所示,有M个输入节点、Q个隐层节点、三个输出节点。输出节点分别对应控制器的三个可调参数。其激发函数为非负的Sigmoid函数。而隐含层的激发函数可取正负,pID对称的Sigmoid函数。jilMQ输入层隐含层输出层kx1k1kx PKID图3.4 BP神经网络结构图神经网络的前向算法如下:设PID神经网络有M个输入,3个输出( ),,pidk上标(1)(2)(3)分别代表输入层、隐含层和输出层,该PID神经网络在任意采样时刻k的前向计算公式如下所述:网络输入层的输入: = ,( , ;(1)jkjox()ej0,12.)M(1)o网络隐含层的输入、输出算法如式(322)
19、所示:(2)(2)10Miijjntwok,(2)(2)i iokfet(,.)iQ()1Q式(322)中 表示隐含层第 个神经元到第 个神经元的加权系数,隐含层ijwji神经元活化函数取正负对称的Sigmoid函数:()tanh()xefx(3.2.3)网络输出层的输入、输出算法如式(334)所示:(3)(3)20Qiliinetkwok(3.2.4)(3)(3)iioft1,.iQ式中 为隐含层到输出层加权系数,输出层神经元活化函数取非负(3)liwSigmoid函数: ()1tanh()2xegx( = )(3)3l loketkl1,23()0PK(3)1I()2Do性能指标函数: 2
20、1)()Jrkyek根据最速下降法修正网络的加权系数,并附加一使搜索快速收敛全局极小的惯性项,则有:(3) (3)(3)1li liliJwkwk式中 为学习速率; 为惯性系数。= (8)(3)liJ(3)(1)lyukok(3)(3)llinett由于式(8)中的 未知,所以可以近似用符号函数 取代。()u (1)sgyku由数字PID控制律式(2)可以求得:(3)0()1)keko(3)1()u(3)2()2)(2)kekeo再令:= ,(3)l(3)lJnetk(3) (3)(1)sgnl lykugnetkok0,12)l可得BP神经网络输出层的加权系数计算公式为 (3)(3)(3)2
21、1li liliw同理可得隐含层加权系数的计算公式为 (2)(2)(2)1ij ijijkkok其中 = ,(2)i(2)(3)0ilifnetw(0,.1)iQ基于BP神经网络PID控制算法可以归纳为:选定BPNN的结构,即选定输入层节点数M和隐含层节点数Q,并给出各层加权系数的初值 , 选定(2)0ijw(3)li学习速率 和惯性系数 ;采样得到 和 ,计算 ;()rkyekryk对 进行归一化处理,作为BPNN的输入;计算(),()riyei.1,)kpBPNN的各层神经元的输入和输出,输出层的输出即为PID控制器的3个参数;计算PID控制器的输出 ,参与控制和计算;计算修正输出,pIDK()uk层的加权系数;计算修正隐含层的加权系数:置 返回。1k