matlab的控制系统仿真与应用-第五章_第1页
matlab的控制系统仿真与应用-第五章_第2页
matlab的控制系统仿真与应用-第五章_第3页
matlab的控制系统仿真与应用-第五章_第4页
matlab的控制系统仿真与应用-第五章_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

第五章基于状态窨模型的控制系统设计,5.1概述5.2极点配置5.5状态观测器设计5.6包含状态观测器的状态反馈控制系统,5.1概述,考虑线性、定常、连续控制系统,其状态空间描述为:,系统设计问题就是寻找一个控制作用u(t),使得在其作用下系统运动的行为满足预先所给出的期望性能指标。设计问题中的性能指标可分为非优化型性能指标和优化型性能指标两种类型。,非优化型指标是一类不等式型的指标,即只要性能指标值达到或好于期望性能指标就算实现了设计目标。,以一组期望的闭环极点作为性能指标,相应的设计问题称为极点配置问题;以使一个多输入多输出系统实现“一个输入只控制一个输出”作为性能指标,相应的设计问题称为解耦控制问题;,优化型指标则是一类极值型的指标,设计目标是要使性能指标在所有可能值中取得极小(或极大)值;,性能指标常取为一个相对于状态x(t)和控制u(t)的二次型积分性能指标,其形式为:,设计的任务是确定一个控制u*(t),使得相应的性能指标Ju*(t)取得极小值。,从线性系统理论可知,许多设计问题所得到的控制规律常具有状态反馈的形式。但是由于状态变量为系统的内部变量,通常并不是每一个状态变量都是可以直接量测的。这一矛盾的解决途径是:利用可量测变量构造出不能量测的状态,相应的理论问题称为状态重构问题,即状态观测器问题。,以使系统的输出y(t)无静差地跟踪一个外部信号yr(t)作为性能指标,相应的设计问题称为跟踪(或伺服)问题;以使系统的状态x(t)或输出y(t))在外部扰动或其他因素影响下保持其设定值作为性能指标,相应的设计问题称为调节问题。,5.2极点配置,在状态反馈律作用下的闭环系统为:,状态反馈极点配置:通过状态反馈矩阵K的选取,使闭环系统的极点,即的特征值恰好处于所希望的一组给定闭环极点的位置上。,线性定常系统可以用状态反馈任意配置极点的充分必要条件是:该系统必须是完全能控的。所以,在实现极点的任意配置之前,必须判别受控系统的能控性。,5.2.1单输入系统的极点配置,Bass-Gura算法:设受控系统的闭环特征多项式分别为:,则状态反馈阵K为:,函数bass_pp()调用格式为:K=bass_pp(A,b,p),其中:(A,b)为状态方程模型,p为包含期望闭环极点位置的列向量返回变量K为状态反馈行向量,Ackermann算法:状态反馈阵为,控制系统工具箱中acker()函数的调用格式为:K=acker(A,b,p),acker()函数可以求解多重极点配置的问题,但不能求解多输入系统的问题。,5.2.2多输入系统的极点配置,疋田算法:,设,表示闭环系统的极点及其相对应的特征向量。,假定与A阵的特征值相异,且有即则,令,于是,对于给定,可以求出,一般说来可逆,否则重新选择。,疋田算法的具体步骤:首先,适当选择,从而计算特征向量再确定状态反馈阵,pitian()函数的调用格式:,K=pitian(A,B,p),的选取方法是:选取中每前r列构成r阶单位阵,直至到第n列,place()函数调用格式为:K=place(A,B,p)K,prec,message=place(A,B,p),控制系统工具箱中place()函数是基于鲁棒极点配置的算法,用来求取状态反馈阵K,使得多输入系统具有指定的闭环极点P,即。,prec为闭环系统的实际极点与期望极点P的接近程度,prec中的每个量的值为匹配的位数。如果闭环系统的实际极点偏离期望极点10%以上,那么message将给出警告信息。函数place()不适用于含有多重期望极点的配置问题。,例5-1:,1变换法,定义变换矩阵T=cam*W其中cam为可控性矩阵cam=bb.n-1bw阵定义为,(i=1,2,,n-1)为特征多项式系数,即,定义新的状态,x=T,由于系统可控,因此T可逆,系统变换成,其中,这就是能控标准型。,1变换法,特征方程为,由期望极点得,1变换法,比较两式得,1变换法,第1步检查系统的可控性,极点配置的步骤为:,第2步确定系统矩阵,的特征多项式系数,第3步确定变换矩阵T=cam*w,第4步确定期望特征多项式系数,po1y函数实现,po1y函数实现,rank(ctrb(a,b),第5步求增益矩阵k,1变换法,2Ackermann公式,根据CayleyHamilton理论,由,特征方程为,由此定义,则对系统矩阵a有,成立,即,将,代入,可得,2Ackermann公式,系数,,由于,极点配置步骤为:,第1步检查系统的可控性,当rank(cam)=n时,系统可控;,第2步确定,由poly函数实现;,第3步求,为矩阵,因此在MATLAB中,这应由polyvalm函数实现;,第4步求增益阵k,place()函数调用格式为:K=place(A,B,p),控制系统工具箱中acker()函数的调用格式为:K=acker(A,b,p),acker()函数可以求解多重极点配置的问题,但不能求解多输入系统的问题。,控制系统工具箱中place()函数是基于鲁棒极点配置的算法,用来求取状态反馈阵K,使得多输入系统具有指定的闭环极点P,即。,3利用MATLAB控制系统工具箱提供的place和acker函数进行极点配置设计,例题,要求利用状态反馈,把系统的闭环极点配置在2,-1+j,-1-j处。,给定系统的传递函数为:,解:能控标准型状态方程如下:,a=010;001;0-2-3;b=0;0;1;c=100;d=0;%变换法%1.1cam=ctrb(a,b);disp(Therankofcontrollabilitymatrix)rc=rank(ctrb(a,b)%1.2beta=poly(a)%1.3a1=beta(2);a2=beta(3);a3=beta(4);w=a2a11;a110;100;t=cam*w%1.4j=-1+i000-1-i000-2;alph=poly(j)%p=poly(AR)-求方阵AR的特征多项式p;或求向量AR指定根所对应的多项式aa1=alph(2);aa2=alph(3);aa3=alph(4);%1.5k=aa3-a3aa2-a2aa1-a1*(inv(t),%Ackermann公式%2.1cam=ctrb(a,b);disp(Therankofcontrollabilitymatrix)rc=rank(ctrb(a,b)%2.2j=-1+i000-1-i000-2;alph=poly(j)%2.3phi=polyvalm(alph,a)%2.4k=001*(inv(cam)*phi,%3函数place()cam=ctrb(a,b);disp(Therankofcontrollabilitymatrix)rc=rank(ctrb(a,b)p=-1+i-1-i-2;k=place(a,b,p),a1=a-b*kb1=b*k(1)c1=cd1=dfigure(1);subplot(211);step(a,b,c,d);title(StepResponseofSystem);subplot(212);step(a1,b1,c1,d1);title(StepResponseofDesignedServoSystem);%系统状态变量阶跃响应图(1)figure(2);y,x,t=step(a1,b1,c1,d1);plot(t,x);%系统状态变量阶跃响应图(2)figure(3);plot(t,x(:,1),g,t,x(:,2),r*,t,x(:,3),b+);text(0.2,0.7,x3);text(1.2,0.6,x2);text(3,1.05,x1)title(StepResponseCurvesforx1,x2,x3);grid,%绘制原系统及经极点配置后系统的阶跃响应图、极点配置后系统状态变量的阶%跃响应图,5.5状态观测器设计,5.5.1全维状态观测器设计,例5-10:同例5-2的状态空间模型,并将两个极点配置到s=-1,s=-2。,5.5.2降维状态观测器设计,jiaweiguanceqi()函数实现上述降维状态观测器的设计,其调用格式为:L,Az,By,Bu,Cz,Dy=jiangweiguanceqi(A,B,C,R,p),5.6包含状态观测器的状态反馈控制系统,包含状态观测器的状态反馈控制系统的设计分两步走。第一步:按照系统性能指标要求(如:极点配置、线性二次型最优控制、解耦控制等要求),有选择地采用前面几节所讨论的各种方法加以设计,从而满足其系统要求;第二步:在不考虑第一步设计的存在的情况下,独立地设计状态观测器,使之满足其所期望的极点位置要求。在第二步中,可以采用5-5节所介绍的方法加以设计与实现状态观测器。,5.6.1基于全维状态观测器的控制器,5.6.2基于全维状态观测器的调节器,控制系统工具箱中的函数reg(),用来设计基于全维状态观测器的调节器,其调用格式为:Gc=reg(G,k,l)其中G为受控系统的状态空间表示,k,l分别表示状态反馈的行向量k和全维状态观测器的列向量l。Gc为基于全维状态观测器的调节器的状态空间表示。,例题,某电磁振荡系统如图2所示。,图2电磁振荡系统示意图,电磁振荡系统状态方程为:,控制要求为:,1设计状态反馈矩阵K及参考输入,满足过渡过程时间t0.5s,超调量15。,2假设系统的某些状态变量无法直接测量,试选择合适的参数设计状态观测器,给出相应的观测误差。,原控制系统分析及期望性能指标与闭环极点间的转化,系统状态方程描述a=010;9800-2.8;00-100;b=0;0;100;c=100;d=0;%系统的极点分布情况poles=eig(a)%闭环阶跃响应曲线绘制t=0:0.01:2;u=0.25*ones(size(t);x0=0.00500;y,x=lsim(a,b,c,d,u,t,x0);h=x(:,1);plot(t,h);title(MagneticSystemStepResponse);xlabel(Time-sec);ylabel(Response);grid,求得系统的闭环极点为:poles=31.3050-31.3050-100.0000,图3原系统闭环阶跃响应曲线,可以看到,系统有一个右半平面的极点31.3050,因此未加校正前系统的阶跃响应是不稳定的。从图3的曲线来看也是如此,曲线以极快的速度最终趋于无穷。考虑到状态方程已知,可用状态反馈的方法将闭环极点配置在任意的位置。根据性能指标的要求,过渡过程时间t0.5s,超调量15,求得期望的闭环主导极点为-10j10。因为系统是三阶的,选取另一个非主导极点为-50。,2求解相应的状态反馈矩阵,%期望闭环极点p1=-10+10i;p2=-10-10i;p3=-50;p=p1,p2,p3;%判断可控性n=length(a);m=rank(ctrb(a,b);ifm=nk=place(a,b,p)u=ones(size(t);%求校正后系统的阶跃响应曲线figure(2);lsim(a-b*k,b*k(1),c,d,u,t);grid;figure(3);a1=a-b*kb1=b*k(1)c1=c;d1=d;step(a1,b1,c1,d1);elsedisp(SystemStateVariablescannotbetotallycontrolled);disp(TherankofSystemControllableMatrixis:);mend,图5校正后系统的阶跃响应曲线step(),相应的状态反馈矩阵为:k=-280.7143-7.7857-0.3000,系统的快速性和稳定性都满足最初要求的过渡过程时间t0.5s,超调量15,并且,系统在达到稳态值之前只振荡了一次。,3.求解状态观测器,在求解观测器时,首先要判断系统的可观性,然后配置观测器的极点。如果系统完全可观的话,我们希望观测器的响应要快于原系统的响应。因此,将观测器的三个极点均配置在-100左右。具体的数字可以自己选择,其原则是在实际系统允许的情况下尽可能的靠近复平面的左边。,%系统观测器极点op1=-100;op2=-101;op3=-102;op=op1,op2,op3;,%判断系统可观性disp(Therankofobservabilitymatrix);ro=rank(obsv(a,c);,%各状态变量观测误差曲线figure(5);e,x=lsim(at,bt,ct,d,zeros(size(t),t,x0 x0);plot(t,x);title(AllState-variablesandestimates);xlabel(Time-sec);ylabel(Response);grid;elsedisp(SystemStateVariablescannotbetotallyObserved);disp(TherankofSystemObservableMatrixis:)

温馨提示

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

评论

0/150

提交评论