-基于PID的多变量解耦控制研究.doc_第1页
-基于PID的多变量解耦控制研究.doc_第2页
-基于PID的多变量解耦控制研究.doc_第3页
-基于PID的多变量解耦控制研究.doc_第4页
-基于PID的多变量解耦控制研究.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

装订线第1章 绪论1.1 多变量系统介绍控制理论的发展经历了经典控制理论、现代控制理论和非线性智能控制理论三个发展阶段。经典控制理论和现代控制理论研究的是线性时不变系统的控制问题。非线性控制理论和智能控制理论则能解决传统控制理论不能很好解决的问题。本文主要研究多变量解耦控制,在工业过程控制中多为内部结构比较复杂,有多个输入和多个输出,存在一定耦合作用的系统。如图1.1所示,输入量为, ,输 出量为, .在这样的系统中,为了使各个被控量满足生产要求,往往需要设置若干个控制回路,而这些控制回路之间就可能相互影响、相互关连、相互耦合,其中任何一个回路的控制作用发生变化,将同时会影响其它控制回路中被控制量也发生变化。,它的各个被控制量之间也互有影响,在对某一输出量进行控制时,必然使所有输出量都产生波动,其结果是使控制过程延长,震荡加剧,影响系统的稳定性。所以在设计系统时,必须注意工艺过程中各参数间相关的情况。不然若按各参数相互独立而分别设置相应的控制回路的话,轻则系统不能很好工作,影响产品质量,重则甚至发生严重生产事故。在工业过程控制中要求系统能够安全稳定地运行,有较好的调节性能,能以较小的误差跟踪设定值的变化,或使误差为零。因此需要对耦合系统进行解耦。7 1.2 多变量解耦控制概况多变量系统的解耦控制大体分为三类:传统解耦控制、自适应解耦控制以及智能解耦控制。传统的多变量系统的解耦控制是采用微分几何的方法利用反馈,将多变量系统化为从外部看完全解耦的线性系统。这种方法要求被控对象必须用精确的数学模型来描述,因此难于实现自适应控制。以PID控制理论为基础的控制方法可以对多变量系统进行解耦控制。这种控制有多种类型:数字PID控制方法通过计算机控制系统,可根据采样时刻的偏差计算控制量。自适应PID控制方法能够认识环境条件的变化,并自动校正控制动作使系统能够达到最优或次优的控制效果。模糊控制不要求掌握受控对象的精确数学模型,而根据人工控制规则组织控制决策表,然后由该表决定控制量的大小。单神经元PID控制具有自学习和自适应能力,而且结构简单易于计算。8 1.3 MATLAB语言简介MATLAB具有强大的编程功能和易操作交互式计算环境。MATLAB语言可以被认为是一种解释性语言,在其工作空间,用户可以在MATLAB的命令窗口中键入一个命令就可以直接进行数学运算,也可以应用MATLAB语言编写应用程序,运行程序及跟踪调试程序。MATLAB中含有极为丰富的专门用于控制系统分析与设计的函数,还可以实现对线性系统的时域或频域分析,设计与建模。SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户的交互接口是基于WINDOWS的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而不是语言的编程上。所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的系统模块,用户只需知道这些模块的输入输出及模块实现的功能,而不必考查模块的内部是如何实现的,通过对这些基本模块的调用,在将它们连接起来就可以构成所需要的系统模型。5 1.4本课题的任务本课题的任务是在PID控制的基础上进行多变量系统的解耦控制算法研究,并利用MATLAB/SIMULINK对所研究的算法进行数字仿真。2 PID多变量解耦控制自从计算机进入控制领域以来,用数字计算机代替模拟计算机调节器组成计算机控制系统,不仅可以用软件实现PID控制算法,而且可以利用计算机的逻辑功能,使PID控制更加灵活。数字PID控制在生产过程中是一种最普遍采用的控制方法。2.1 PID控制原理在模拟控制系统中,控制器最常用的控制规律是PID控制。模拟PID控制系统原理框图如图2.1所示。系统由模拟PID控制器和被控对象组成。积分微分比例被控对象r(t) +e(t)u(t)c(t)+ 图2.1 模拟PID控制系统原理框图PID控制器是一种线性控制器,它根据给定值rin(t)与实验输出值yout(t)构成控制偏差: (2.1)PID的控制规律为: (2.2)或写成传递函数的形式: (2.3)式中,比例系数;积分时间常数;微分时间常数。 简单来说,PID控制器各校正环节的作用如下: 比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减少偏差。 积分环节:只要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,越大,积分作用越弱,反之则越强。微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。1 22.2 PID控制算法2.2.1 位置式PID控制算法 计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此,在计算机控制系统中,连续PID控制算法不能直接使用,需要采用离散化方法,采用数字PID控制器。由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,因此式(2.2)中的积分和微分项不能直接使用,需要进行离散化处理。按模拟PID控制算法的算式(2.2),现以一系列的采样时刻点kT代表连续时间t,以和式代替积分,以增量代替微分,则可作如下近似变换: (2.4)式中 T采样周期。显然,上述离散化过程中,采样周期T必须足够短,才能保证有足够的精度。将式(2.4)代入式(2.2),可得离散的PID表达式为: (2.5) 式中 采样序号, 第K次采样时刻的计算机输出值; 第K次采样时刻输入的偏差值; 第K-1次采样时刻输入的偏差值; 积分系数,; 微分次数,。由z变换的性质式(2.5)的z变换式为 (2.6)由(2.6)便可得到数字PID控制器的Z传递函数为 (2.7)由于计算机输出的u(k)直接去控制执行机构(如阀门),u(k)的值和执行机构的位置(如阀门开度)是一一对应的,所以通常称式(2.5)或式(2.6)为位置式PID控制算法。图2.2给出了位置式PID控制系统示意图。 PID位置算法D/A执行机构被控对象r(k) +c(k)c(t)u(t) 图2.2 位置式PID控制系统这种算法的缺点是,由于全量输出,所以每次输出均与过去的状态有关,计算时要对进行累加,计算机运算工作量大。而且,因为计算机输出的对应的是执行机构的实际位置,如计算机出现故障,的大幅度变化,会引起执行机构位置的大幅度变化,这种情况往往是生产实践中不允许的,在某些场合,还可能造成重大的生产事故,因而产生了增量式PID控制的控制算法。2.2.2 增量式PID控制算法所谓增量式PID是指数字控制器的输出只是控制量的增量。当执行机构需要的是控制量的增量(例如驱动步进电动机)时,可由式(2.5)导出提供增量的PID控制算式。根据递推原理可得: (2.8)用式(2.5)减式(2.8),可得: (2.9)式中 式(2.9)称为增量式PID控制算法。可以将式(2.9)进一步改写为: (2.10)式中:它们都是与采样周期、比例系数、积分时间常数、微分时间常数有关的系数。PID增量算法电动机执行机构被控对象r(k) +c(k)c(t) 图2.3 增量式PID控制系统框图可以看出,由于一般计算机控制系统采用恒定的采样周期T,一旦确定了,只要使用前后3次测量值的偏差,即可由式(2.9)或式(2.10)求出控制增量。采用增量式算法时,计算机输出的控制增量对应的是本次执行机构位置(例如阀门开度)的增量。对应阀门实际位置的控制量,即控制量增量的积累需要采用一定的方法来解决,例如用有积累作用的元件(步进电动机)来实现;而目前较多的是利用算式通过执行软件来完成。从整个系统而言,位置式与增量式控制算法并无本质区别,或者仍然全部由计算机承担其计算,或者一部分由其它部件去完成。增量式控制虽然只是算法上作了一点改进,可是却带来了许多优点:、由于计算机输出增量,所以误差动作时影响小,必要时可用逻辑判断的方法去掉。、手动/自动切换时冲击小,便于实现无扰动切换。此外,当计算机发生故障时,由于输出通道或执行装置具有信号的锁存作用,故能仍然保持原值。、算式中不需要累加。控制增量的确定仅与最近K次的采样有关,所以较容易通过加权处理而获得比较好的控制效果。但增量式控制也有不足之处:积分截断效应大,有静态误差;溢出的影响大。因此,在选择时不可一概而论,一般认为在以晶闸管作为执行器或在控制精度要求高的系统中,可采用位置控制算法,而在以步进电动机或电动阀门作为执行器的系统中,则采用增量式控制算法。122.3 多变量PID解耦控制通过PID控制,可实现多变量控制,图2-4给出一个二变量PID控制系统框图,该系统由两个PID控制器构成,控制算法为: (2.11)式中,T为采样时间,。 PID1PID2 多变量被控对象 图2.4 二变量PID控制系统框2.4 仿真程序及分析2.4.1 多变量PID控制的MATLAB语言仿真仿真实例设有耦合二变量耦合被控对象:设采样时间T=1s。给定输入为单位阶跃输入,即:当输入指令为R1时的响应曲线如图2.5所示,当输入指令为R2时的响应曲线如图2.6所示 图2.5 响应曲线(R=1;0) 图2.6 响应曲线(R=0;1)仿真程序:%PID Controller for coupling plantclear all;close all;u1_1=0.0;u1_2=0.0;u1_3=0.0;u1_4=0.0;u2_1=0.0;u2_2=0.0;u2_3=0.0;u2_4=0.0;y1_1=0;y2_1=0;x1=0;0;x2=0;0;x3=0;0;kp=0.020;ki=0.050;kd=0.0001;error_1=0;0;ts=1;for k=1:1:1500time(k)=k*ts;%Step Signal%R=1;0;R=0;1;%PID Decouple Controlleru1(k)=kp*x1(1)+kd*x2(1)+ki*x3(1); u2(k)=kp*x1(2)+kd*x2(2)+ki*x3(2); u=u1(k),u2(k);if u1(k)=10 u1(k)=10;endif u2(k)=10 u2(k)=10;endif u1(k)=-10 u1(k)=-10;endif u2(k)0。神经元通过关联搜索来产生控制信号,即: (3.12)式中,为对应于的加权系数。单神经元自适应PID控制器正是通过对加权系数的调整来实现自适应、自学习功能的。加权系数的调整可以采用不同的学习规则,从而构成不同的控制算法。 采用有监督Hebb学习算法的单神经元PID控制器考虑到加权系数应和神经元的输入、输出和输出偏差三者的相关函数有关,因此在采用有监督Hebb学习算法是有: (3.13) (3.14)式中 递进信号,随过程进行逐渐衰减; 输出误差信号, 类似于式(3-9)中的; 学习速率,; c常数,0c1。将式(3.14)代入式(3.13)中有 (3.15)如果存在函数,对求偏微分有则式(3.15)可写为: (3.16)上式说明,加权系数的修正是按函数对应于的负梯度方向进行搜索的。应用随机逼近理论可以证明,当常数c充分小时,可以收敛到某一稳定值,而且与其期望值的偏差在允许范围内。为保证这种单神经元自适应PID控制学习算法式(3.12)和式(3.15)的收敛性和鲁棒性,将上述学习算法进行规范化处理后可得: (3.17)式中 比例、积分、微分的学习速率。这里对比例(P)、积分(I)、微分(D)分别采用了不同的学习速率,以便于根据需要对各自对应的加权系数分别进行调整,其取值可先由现场实验或仿真来确定,且取c=0。、 采用以输出误差平方为性能指标的单神经元PID控制器首先,引入性能指标函数 (3.18)使加权系数的修正沿着的减小方向,即对的负梯度方向搜索调整,可以有更加明确的物理意义。 关于的梯度为 (3.19)所以的调整量为: (3.20)式中 (i=I,P,D)学习速率。 利用式(3.11)的定义,并将式(3.12)代入式(3.20)后,可得: (3.21) 由于在PID控制算法中,通常未知,可以近似用符号函数取代,由此带来的计算不精确的影响可通过调整学习速率来补偿。 对上述算法进行规范整理后,可得学习算法如下: (3.22)式中,同式(3,11)。这种控制器的特点是,学习算法物理意义明确,计算量小。但是,由于在性能指标函数中仅有输出误差平方项,因而容易出现为满足性能指标函数而引起控制增量过大的现象,这在实际控制中一般是不允许的。若采用强制性控制律限幅,则会对整个学习算法带来不利影响。、采用以为性能指标的单神经元PID控制器针对上面算法的不足,设性能指标函数为 (3.23)式中 时刻过程的输出; 时刻过程的参考输入;d 过程总滞后;P,Q输出误差和控制增量的加权系数。 设被控过程方程为 (3.24)使加权系数的修正是沿着的减小方向,即对的负梯度方向搜索调整,则的调整量为: (3.25)式中 学习速率; 零初态时过程输入端加单位阶跃时输出响应的第一个值,可通过实验获得。 在上式的推导中,使用了未规范化的式(3.12)。对单神经元的输出进行规范化,并进行归纳,可得学习算法如下: (3.26)式中,同式(3.11)在实际计算中,不可能测到,一般可用代替,或采用系统辨识技术获得过程的预测模型后计算得出。上述三种单神经元自适应PID控制器学习算法的运行效果与可调参数等的选取有很大关系。通过大量实例仿真和实控结果,总结出以下参数调整规律。、初始加权系数可以任意选择。、K值的选择:一般K值偏大将引起系统响应超调过大,而K值偏小则使过渡过程加长。因此,可先确定一个增益K,再根据仿真和实控结果调整。、学习速率的选择:由于采用了规范化学习算法,学习速率可取得较大。选取K使过程的超调不太大,若此时过程从超调趋向平稳的时间太长,可增加;若超调迅速下降而低于给定值,此后又缓慢上升到稳态的时间太长,则可减少,增强积分项的作用。对于大时延系统,为了减少超调,应选得大一点。、加权系数P,Q的选择:加权系数P的大小决定了输出误差项在优化性能指标中所占的比重,对系统的稳定也有直接影响,可由仿真和实控结果来决定其大小。加权系数Q是用来限制控制增量出现过量现象的,但其取值也不宜过大,以免使过程时间拖长,一般Q常选得比较小。123.2 单神经元PID解耦控制通过单神经元PID控制,可较好地实现对多变量解耦控制。图3.1给出了二变量单神经元PID控制系统框图,该系统由两个单神经元PID控制器构成。单神经元PID1单神经元PID2 多变量被控对象 图3.1 二变量单神经元PID控制系统框图单神经元自适应控制器是通过加权系统的调整实现自适应、自组织功能,权系数的调整是按有监督Hebb学习规则实现的。以第一个单神经元PID控制器为例,控制算法及学习算法为: (3.27)式中 ; ; 分别为比例、积分、微分的学习速率,为神经元的比例系数,。对比例、积分、微分分别采用了不同的学习速率,以便对不同的权系数分别进行调整。值的选择非常重要。越大,则快速性越好,但超调量大,甚至可能使系统不稳定。当被控对象时延增大时,值必须减小,以保证系统稳定。值选择过小,会使系统的快速性变差。3.3 仿真程序及分析3.3.1多变量单神经元PID控制的MATLAB仿真仿真实例设有耦合二变量耦合被控对象:设采样时间T=1s。给定输入为单位阶跃输入,即:采样单神经元PID控制,取。为第二个神经元的比例系数。当输入指令为时的曲线如图3.2所示,当输入指令为时的响应曲线如图3.3所示。 图3.2 响应曲线(R=1;0) 图3.3 响应曲线(R=0;1)仿真程序:chap6_3.m%Single Neural Net PID Decouple Controller based on Hebb Learning %Algorithm to adjust kp,ki,kdclear all;close all;xc1=0,0,0;xc2=0,0,0;xiteP=0.40;xiteI=0.40;xiteD=0.40;%Initilizing kp,ki and kd%Radom Value%wkp1_1=rand;wki1_1=rand;wkd1_1=rand;%wkp2_1=rand;wki2_1=rand;wkd2_1=rand;wkp1_1=0.3150;wki1_1=1.1615;wkd1_1=1.4948;wkp2_1=0.2067;wki2_1=0.6365;wkd2_1=0.4996;error1_1=0;error1_2=0;error2_1=0;error2_2=0;u1_1=0.0;u1_2=0.0;u1_3=0.0;u1_4=0.0;u2_1=0.0;u2_2=0.0;u2_3=0.0;u2_4=0.0;y1_1=0;y2_1=0;ts=1;for k=1:1:1500time(k)=k*ts;%Step Signal%R=1;0;R=0;1;%- Calculating practical output -%Coupling Plantyout1(k)=1.0/(1+y1_1)2*(0.8*y1_1+u1_2+0.2*u2_3);yout2(k)=1.0/(1+y2_1)2*(0.9*y2_1+0.3*u1_3+u2_2);error1(k)=R(1)-yout1(k);error2(k)=R(2)-yout2(k);%For Variable1%Adjusting NNC Weight Value by adopting hebb learning algorithm wkp1(k)=wkp1_1+xiteP*error1(k)*u1_1*xc1(1); %P wki1(k)=wki1_1+xiteI*error1(k)*u1_1*xc1(2); %I wkd1(k)=wkd1_1+xiteD*error1(k)*u1_1*xc1(3); %D xc1(1)=error1(k)-error1_1; %P xc1(2)=error1(k); %I xc1(3)=(error1(k)-2*error1_1+error1_2); %D wadd1(k)=abs(wkp1(k)+abs(wki1(k)+abs(wkd1(k); w111(k)=wkp1(k)/wadd1(k); w122(k)=wki1(k)/wadd1(k); w133(k)=wkd1(k)/wadd1(k); w1=w111(k),w122(k),w133(k); k1=0.16; u1(k)=u1_1+k1*w1*xc1; %For Variable2%Adjusting NNC Weight Value by adopting hebb learning algorithm wkp2(k)=wkp2_1+xiteP*error2(k)*u2_1*xc2(1); %P wki2(k)=wki2_1+xiteI*error2(k)*u2_1*xc2(2); %I wkd2(k)=wkd2_1+xiteD*error2(k)*u2_1*xc2(3); %D xc2(1)=error2(k)-error2_1; %P xc2(2)=error2(k); %I xc2(3)=(error2(k)-2*error2_1+error2_2); %D wadd2(k)=abs(wkp2(k)+abs(wki2(k)+abs(wkd2(k); w211(k)=wkp2(k)/wadd2(k); w222(k)=wki2(k)/wadd2(k); w233(k)=wkd2(k)/wadd2(k); w2=w211(k),w222(k),w233(k); k2=0.16; u2(k)=u2_1+k2*w1*xc2;%-Return of PID parameters-%For Variable1error1_2=error1_1;error1_1=error1(k);wkp1_1=wkp1(k);wkd1_1=wkd1(k);wki1_1=wki1(k);u1_4=u1_3;u1_3=u1_2;u1_2=u1_1;u1_1=u1(k);y1_1=yout1(k);%For Variable2error2_2=error2_1;error2_1=error2(k);wkp2_1=wkp2(k);wkd2_1=wkd2(k);wki2_1=wki2(k);u2_4=u2_3;u2_3=u2_2;u2_2=u2_1;u2_1=u2(k);y2_1=yout2(k);endfigure(1);plot(time,R(1),k,time,yout1,k);hold on;plot(time,R(2),k,time,yout2,k);xlabel(time(s);ylabel(rin,yout);3.3.2 多变量单神经元PID控制的Simulink仿真设有耦合二变量耦合被控对象:设采样时间T=1s。给定输入为单位阶跃输入,即: 响应曲线如图3.4和图3.5所示。 图3.4 响应曲线 图3.5 响应曲线单神经元PID解耦控制算法能有效的对耦合系统进行解耦控制,与PID控制相比,单神经元PID控制具有响应速度快,自适应能力强,抗干扰能力强等优点。仿真程序的Simulink主程序:chap6_4.mdl,如图3.6所示。 图3.6 单神经元PID控制的Simulink仿真程序第一个S函数控制子程序:chap6_4s1.m%Single Neural Net PID Decouple Controller based on Hebb Learning %Algorithm to adjust kp,ki,kdfunction sys,x0,str,ts=exp_pidf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论