


单击此处编辑母版标题样式,,*,*,*,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,2011,2011,,,*,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,8.1 频率法的串联校正方法,应用频率法对系统进行校正,其目的是改变系统的频率特性形状,使校正后的系统频率特性具有合适的低频、中频和高频特性以及足够的稳定裕量,从而满足所要求的性能指标控制系统中常用的串联校正装置是带有单零点与单极点的滤波器,若其零点比极点更靠近原点,则称之为超前校正,否则称之为滞后校正4,,8.1.1 基于频率响应法的串联超前校正方法,1.超前校正装置的特性,,设超前校正装置的传递函数为,,,,其频率特性为,5,,(1) 极坐标图,超前校正装置的极坐标图如图8-2所示当,ω,=0→∞变化时,,G,c,(j,ω,)的相位角,φ,> 0,,G,c,(j,ω,)的轨迹为一半圆,由图可得超前校正的最大超前相位角,φ,m,为,,,(8-3),,,令,,,,可得对应于最大相位角,φ,m,时的频率,ω,m,为,6,,(2),,对数坐标图,,超前校正装置的对数坐标图如图8-3所示。
当,,,,,,,,由此可见,超前校正装置是一个高通滤波器(高频通过,低频被衰减),它主要能使系统的瞬态响应得到显著改善,而稳态精度的提高则较小α,越大,微分作用越强,从而超调量和过渡过程时间等也越小7,,2.串联超前校正方法,超前校正装置的主要作用是通过其相位超前效应来改变频率响应曲线的形状,产生足够大的相位超前角,以补偿原来系统中元件造成的过大的相位滞后因此校正时应使校正装置的最大超前相位角出现在校正后系统的开环剪切频率(幅频特性的交接频率),ω,c,处8,,利用频率法设计超前校正装置的步骤:,(1)根据性能指标对稳态误差系数的要求,确定开环增益,k,;,,(2)利用确定的开环增益,k,,画出未校正系统的Bode图,并求出其相位裕量,r,0,和幅值裕量,k,g,;,,(3)确定为使相位裕量达到要求值,所需增加的超前相位角,φ,c,,即,φ,c,=,r,,-,r,0,+ε.式中,r,为要求的相位裕量,ε是考虑到系统增加串联超前校正装置后系统的剪切频率要向右移而附加的相位角,一般取ε=5,,~15,,;,,(4)令超前校正装置的最大超前相位角,φ,m,=,φ,c,,则由下式可求出校正装置的参数,α,;,9,,,(5)若将校正装置的最大超前相位角处的频率,ω,m,作为校正后系统的剪切频率,ω,c,,则有,,,即,,,,或,,,由此可见,未校正系统的幅频特性幅值等于-20lg√,α,时的频率即为,ω,c,;,10,,,(6) 根据,ω,m,=,ω,c,,利用下式求参数,T,,,,(7) 画出校正后系统的Bode图,检验性能指标是否已全部达到要求,若不满足要求,可增大ε值,从第三步起重新计算。
例8-1,设有一单位反馈系统,其开环传递函数为,,,,要求系统的稳态速度误差系数,k,v,=20(1/s),相位裕量,r,>50,0,,幅值裕量,k,g,≥10dB,试确定串联校正装置,11,,,解,根据,,,,可求出,k,=40,即,,,根据串联超前校正的设计步骤,可编写以下m文件Example8_1.m,,numo=40;deno=conv([1,0],[1,2]);,,[Gm1,Pm1,Wcg1,Wcp1]=margin(numo,deno);,,r=50; r0=Pm1;w=logspace(-1,3);,,[mag1,phase1]=bode(numo,deno,w);,12,,,for epsilon=5:15,,phic=( r-r0+epsilon)*pi/180;,,alpha=(1+sin(phic))/(1-sin(phic));,,[i1,ii]=min(abs(mag1-1/sqrt(alpha)));,,wc=w(ii);,,T=1/(wc*sqrt(alpha));,,numc=[alpha*T,1];denc=[T,1];,,[num,den]=series(numo,deno,numc,denc);,,[Gm,Pm,Wcg,Wcp]=margin(num,den);,,if(Pm>= r);break;end,,end,,13,,,printsys(numc,denc),printsys(num,den),,[mag2,phase2]=bode(numc,denc,w);,,[mag,phase]=bode(num,den,w);,,subplot(2,1,1);semilogx(w,20*log10(mag),w,20*log10(mag1),'--',w,20*log10(mag2),'-.');,,grid;ylabel('幅值 (dB)');,,title('-- Go, -. Gc, __ GoGc');,,subplot(2,1,2);semilogx(w,phase,w,phase1,'--',w,phase2,'-.',w,(w-180-w),':');,,grid;ylabel('相位 (度)');xlabel('频率 (rad/sec)'),,title(['校正后:幅值裕量=',num2str(20*log10(Gm)),' dB,','相位裕量=',num2str(Pm),'°']);,,disp(['校正前:幅值裕量=',num2str(20*log10(Gm1)),' dB,','相位裕量=',num2str(Pm1),'°']);,,disp(['校正后:幅值裕量=',num2str(20*log10(Gm)),' dB,','相位裕量=',num2str(Pm),'°']);,14,,,执行后可得如下结果及图8-4所示曲线,,num/den =,,0.22541 s + 1,,------------------,,0.053537 s + 1,,num/den =,,9.0165 s + 40,,---------------------------------------,,0.053537 s^3 + 1.1071 s^2 + 2 s,,校正前:幅值裕量=Inf dB,相位裕量=17.9642,,,,校正后:幅值裕量=Inf dB,相位裕量=50.7196,,15,,,,,,,,,,,图8-4 超前校正装置及校正前后系统的伯德图,16,,8.1.2 基于频率响应法的串联滞后校正方法,,1.滞后校正装置的特性,,设滞后校正装置的传递函数为,,,,其频率特性为,,17,,(1)极坐标图,滞后校正装置的极坐标图如图8-6所示。
由图可知,当,ω,=0→∝变化时,,G,c,(j,ω,)的相位角,φ,<0,,G,c,(j,ω,)的根轨迹为一半圆同理可求得最大滞后相位角,φ,m,和对应的频率,ω,m,分别为,18,,(2)对数坐标图,滞后校正装置的对数坐标图如图8-7所示,,,,,由此可见,滞后校正装置是一个低通滤波器(低频通过,高频被衰减),且,α,越大,高频衰减越厉害,抗高频干扰性能越好,但使响应速度变慢,故滞后校正能使稳态得到显著提高,但瞬态响应时间却随之而增加,,α,越大,积分作用越强,稳态误差越小19,,2.串联滞后校正方法,滞后校正装置的主要作用是在高频段造成幅值衰减,降低系统的剪切频率,以便能使系统获得充分的相位裕量,但应同时保证系统在新的剪切频率附近的相频特性曲线变化不大利用频率法设计滞后校正装置的步骤::,,(1)根据性能指标对稳态误差系数的要求,确定开环增益,k,;,,(2)利用已确定的开环增益,k,,画出未校正系统的Bode图,并求出其相位裕量,r,0,和幅值裕量,k,g,;,20,,(3)如未校正系统的相位和幅值裕量不满足要求,寻找一新的剪切频率,ω,c,,在,ω,c,处开环传递函数的相位角应满足下式,,∠,G,o,(,jω,c,)= -180°+,r,+,ε,,式中,r,为要求的相角裕量,,ε,是为补偿滞后校正装置的相位滞后而附加的相位角,一般取,ε,=5,,~12,,;,,(4) 为使滞后校正装置对系统的相位滞后影响较小(一般限制在5,,~12,,),,ω,m,应远离,ω,c,,一般取滞后校正装置的第一个交接频率:,ω,1,=1/,T,=(1/5~1/10),ω,c,(即,ω,m,<<,ω,c,),,ω,1,取得愈小,对系统的相位裕量影响愈小,但太小则校正装置的时间常数,T,将很大,这也是不允许的;,21,,,,(5)确定使校正后系统的幅值曲线在新的剪切频率,ω,c,处下降到0dB所需的衰减量20,lg,|,G,o,(,jω,c,)|,并根据,,20lg |,G,o,(j,ω,c,),G,c,(j,ω,c,)|≈20lg |,G,o,(j,ω,c,)|-20lg,α,=0,,即,α,=|,G,o,(j,ω,c,)|,,求出校正装置的参数,α,;,,(6) 画出校正后系统的Bode图,检验性能指标是否已全部达到要求,若不满足要求,可增大,ε,值,从第三步起重新计算。
22,,,例8-2,设有一单位负反馈系统的开环传递函数为,,,,要求系统的稳态速度误差系数,k,v,=5(1/s),相位裕量,r,≥40,0,,幅值裕量,k,g,≥10dB,试确定串联校正装置解,根据,,,,可求出,k,=5,即,23,,根据串联滞后校正的设计步骤,可编写以下m文件Example8_2.m,,numo=5;deno=conv([1,0],conv([1,1],[0.25,1]));,,[Gm1,Pm1,Wcg1,Wcp1]=margin(numo,deno);,,r=40;w=logspace(-3,1);,,[mag1,phase1]=bode(numo,deno,w);,,for epsilon=5:15,,r0=(-180+ r+epsilon);,,[i1,ii]=min(abs(phase1-r0));,,wc=w(ii);alpha=mag1(ii);T=5/wc;,,numc=[T,1];denc=[alpha*T,1];,,[num,den]=series(numo,deno,numc,denc);,,[Gm,Pm,Wcg,Wcp]=margin(num,den);,,if (Pm>=r);break;end;,,end,24,,,printsys(numc,denc);printsys(num,den);,,[mag2,phase2]=bode(numc,denc,w);[mag,phase]=bode(num,den,w);,,subplot(2,1,1);,,semilogx(w,20*log10(mag),w,20*log10(mag1),'--',w,20*log10(mag2),'-.');,,grid;ylabel('幅值 (dB)');title('-- Go, -. Gc, __ GoGc');,,subplot(2,1,2);,,semilogx(w,phase,w,phase1,'--',w,phase2,'-.',w,(w-180-w),':');,,grid;ylabel('相位 (度)');xlabel('频率 (rad/sec)'),,title(['校正后:幅值裕量=',num2str(20*log10(Gm)),' dB,','相位裕量=',num2str(Pm),'°']);,,disp(['校正前:幅值裕量=',num2str(20*log10(Gm1)),' dB,','相位裕量=',num2str(Pm1),'°']);,,disp(['校正后:幅值裕量=',num2str(20*log10(Gm)),' dB,','相位裕量=',num2str(Pm),'°']);,25,,,执行后可得如下结果及图8-8所示曲线。
num/den =,,8.3842s + 1,,---------------,,59.7135s + 1,,num/den =,,41.9208s+5,,------------------------------------------------,,14.9284s^4+74.8918s^3+60.9635s^2+s,,校正前:幅值裕量= -3.8573e-015 dB,相位裕量=7.3342e-006,,,校正后:幅值裕量=15.8574dB,相位裕量=40.6552,,26,,,,,,,,,,图8-8 滞后校正装置及校正前后系统的伯德图,27,,8.1.3 基于频率响应法的串联滞后-超前校正方法,1.滞后-超前校正装置的特性,,设滞后-超前校正装置的传递函数为,,,,,,上式等号右边的第一项产生超前网络的作用,而第二项产生滞后网络的作用28,,(1) 极坐标图,滞后-超前校正装置的极坐标图如图8-9所示由图可知,当角频率,ω,在0→,ω,0,之间变化时, 滞后-超前校正装置起着相位滞后校正的作用;当,ω,在,ω,0,→∝之间变化时,它起着超前校正的作用,对应相位角为零的频率,ω,0,为,29,,(2)对数坐标图,滞后-超前校正装置的对数坐标图如图8-10所示。
从图可清楚看出,当0<,ω,<,ω,0,时滞后-超前校正装置起着相位滞后校正的作用;当,ω,0,<,ω,<∝时它起着相位超前校正的作用30,,2.串联滞后-超前校正方法,滞后-超前校正装置的超前校正部分,因增加了相位超前角,并且在幅值穿越频率(剪切频率)上增大了相位裕量,提高了系统的相对稳定性;滞后部分在幅值穿越频率以上,将使幅值特性产生显著的衰减,因此在确保系统有满意的瞬态响应特性的前提下,容许在低频段上大大提高系统的开环放大系数,以改善系统的稳态特性利用频率法设计滞后-超前校正装置的步骤:,,(1),根据性能指标对稳态误差系数的要求,确定开环增益,k,;,31,,,(2)求出未校正系统相位和幅值裕量;,,(3)如果未校正系统相位和幅值裕量不满足要求,则选择未校正系统相频特性曲线上相位角等于-180,,的频率,即相位交接频率作为校正后系统的幅值交接频率,ω,c,;,,(4)利用,ω,c,确定滞后校正部分的参数,T,2,和,β,通常选取滞后校正部分的第二个交接频率,ω,2,=1/,T,2,=(1/10),ω,c,,并取,β,=10;,,(5)根据校正后系统在新的幅值交接频率ω,c,处的幅值必为0db确定超前校正部分的参数,T,1,;,,(6)画出校正后系统的波德图,并检验系统的性能指标是否已全部满足要求。
32,,,例8-3,设有单位负反馈系统,其开环传递函数为,,,,若要求,k,v,=10(1/s)相位裕量为50,,,幅值裕量为10dB,试设计一个串联滞后超前-校正装置,来满足要求的性能指标解,根据,,,可求出,k,=10,即,33,,根据其以上设计步骤,可编写以下m文件Example8_3.m,,numo=10;,,deno=conv([1,0],conv([1,1],[0.5,1]));,,[Gm1,Pm1,Wcg1,Wcp1]=margin(numo,deno);,,w=logspace(-2,2);,,[mag1,phase1]=bode(numo,deno,w);,,ii=find(abs(w-Wcg1)==min(abs(w-Wcg1)));,,wc=Wcg1;,,w2=wc/10;beta=10;,,numc2=[1/w2,1];denc2=[beta/w2,1];,,w1=w2;,,mag(ii)=2;,34,,,while(mag(ii)>1),,numc1=[1/w1,1];denc1=[1/(w1*beta),1];,,w1=w1+0.01;,,[numc,denc]=series(numc1,denc1,numc2,denc2);,,[num,den]=series(numo,deno,numc,denc);,,[mag,phase]=bode(num,den,w);,,end,,printsys(numc1,denc1);,,printsys(numc2,denc2);,,printsys(num,den);,,[Gm,Pm,Wcg,Wcp]=margin(num,den);,,[mag2,phase2]=bode(numc,denc,w);,,[mag,phase]=bode(num,den,w);,35,,,subplot(2,1,1);semilogx(w,20*log10(mag),w,20*log10(mag1),'--',w,20*log10(mag2),'-.');,,grid;ylabel('幅值 (dB)');,,title('-- Go, -. Gc, __ GoGc');,,subplot(2,1,2);semilogx(w,phase,w,phase1,'--', w,phase2,'-.', w,(w-180-w),':');,,grid;ylabel('相位 (度)');xlabel('频率 (rad/sec)'),,title(['校正后:幅值裕量=',num2str(20*log10(Gm)),' dB,','相位裕量=',num2str(Pm),'°']);,,disp(['校正前:幅值裕量=',num2str(20*log10(Gm1)),' dB,','相位裕量=',num2str(Pm1),'°']);,,disp(['校正后:幅值裕量=',num2str(20*log10(Gm)),' dB,','相位裕量=',num2str(Pm),'°']);,36,,,执行后可得如下结果及图8-11所示曲线。
num/den =,,1.8817 s + 1,,-----------------,,0.18817 s + 1,,num/den =,,7.0711 s + 1,,----------------,,70.7107 s + 1,,num/den =,,133.0595 s^2 + 89.5281 s + 10,,-------------------------------------------------------------------------,,6.653 s^5 + 55.4084 s^4 + 120.1542 s^3 + 72.3989 s^2 + s,,校正前:幅值裕量= -10.4567 dB,相位裕量= -28.0814,,,校正后:幅值裕量=13.7848 dB,相位裕量=52.4219,,,37,,,,,,,,,,图8-11 滞后超前校正装置及校正前后系统的伯德图,38,,8.2 状态反馈和状态观测器的设计,,39,8.2.1 状态反馈,状态反馈是将系统的状态变量乘以相应的反馈系数,然后反馈到输入端与参考输入叠加形成控制作为受控系统的控制输入,采用状态反馈不但可以实现闭环系统的极点任意配置,而且也是实现解耦和构成线性最优调节器的主要手段。
40,,1.全部极点配置,给定控制系统的状态空间模型,则经常希望引入某种控制器,使的该系统的闭环极点移动到某个指定位置,因为在很多情况下系统的极点位置会决定系统的动态性能假设系统的状态空间表达式为,,,,其中,A,:,n,×,n,;B:,n,×,r,;C:,m,×,n,,引入状态反馈,使进入该系统的信号为,,u,=,r,–,Kx,,式中,r,为系统的外部参考输入,,K,为,r,×,n,矩阵41,,可得状态反馈闭环系统的状态空间表达式为,,,(8-12),,可以证明,若给定系统是完全能控的,则可以通过状态反馈将该系统的闭环极点进行任意配置假定单变量系统的n个希望极点为λ,1,,λ,2,,…,λ,n,,则可求出期望的闭环特征方程为,,f,*,(,s,)= (,s,-λ,1,)(,s,-λ,2,) …(,s,-λ,n,)=,s,n,+,a,1,s,n-,1,+ … +,a,n,,这时状态反馈阵,K,可根据下式求得,,,K,=[0 … 0 1],U,c,-,1,f,*,(,A,) (8-13),,式中,U,c,=[,b Ab,…,A,n-1,b,],,f,*,(,A,)是将系统期望的闭环特征方程式中的,s,换成系统矩阵,A,后的矩阵多项式。
42,,例8-4,已知系统的状态方程为,,,,,,采用状态反馈,将系统的极点配置到-1,-2,-3,求状态反馈阵,K,解,MATLAB程序为,,%Example8_4.m,,A=[-2 –1 1;1 0 1;-1 0 1]; b=[1;1;1];,,Uc=ctrb(A,b);rc=rank(Uc);,,f=conv([1,1],conv([1,2],[1,3]));,,K=[zeros(1,length(A)-1) 1]*inv(Uc)*polyvalm(f,A),43,,,执行后得,,K=,,-1 2 4,,其实,在MATLAB的控制系统工具箱中就提供了单变量系统极点配置函数acker( ),该函数的调用格式为,,K,=acker(,A,,,b,,,P,),,式中,P,为给定的极点,,K,为状态反馈阵对例8-4,采用下面命令可得同样结果,,>>A=[-2 -1 1;1 0 1;-1 0 1];b=[1;1;1];rc=rank(ctrb(A,b));,,>>p=[-1,-2,-3];K=acker(A,b,p),,结果显示,,K=,,-1 2 4,44,,,对于多变量系统的极点配置,MATLAB控制系统工具箱中也给出了函数place( ),其调用格式为,,K,=place(,A,,,B,,,P,),,例8-5,已知系统的状态方程为,,,,,,求使状态反馈系统的闭环极点为-2-3,,,(-1±j√3)/2的状态反馈阵,K,。
45,,,解,MATLAB程序为,,%Example8_5.m,,A=[0 0 4 1;10 13 2 8;-3 -3 0 -2;-10 -14 -5 -9];,,B=[-2 0;4 -3;-1 1;-3 3];,,P=[-2;-3;(-1+sqrt(3)*j)/2;(-1-sqrt(3)*j)/2];,,K=place(A,B,P),,,执行后得,,K=,,32.5923 65.6844 58.8332 46.6557,,55.4594 111.8348 103.6800 81.0239,46,,2.部分极点配置,在一些特定的应用中,有时没有必要去对所有的极点进行重新配置,而只需对其中若干个极点进行配置,使得其他极点保持原来的值,例如若系统开环模型是不稳定的,则可以将那些不稳定的极点配置成稳定的值,而不去改变那些原本稳定的极点作这样配置的前提条件是原系统没有重极点,这就能保证由系统特征向量构成的矩阵是非奇异的47,,,假设,x,i,为对应于λ,i,的特征向量,即,A,,x,i,,=λ,i,x,i,,这样可以对各个特征值构造特征向量矩阵,X,=[,x,1,,,x,2,,…,,x,n,],由前面的假设可知,X,矩阵为非奇异的,故可以得出其逆阵,T,=,X,-,1,,且令,T,的第,i,个行向量为,T,i,,且想把λ,i,配置到,μ,i,的位置,则可以定义变量,r,i,=(μ,i,-λ,i,)/,b,i,,其中,b,i,为向量,Tb,的第,i,个分量,这时配置全部的极点,则可以得出状态反馈阵,,,特别地,若不想对哪个极点进行重新配置,则可以将对应的项从上面的求和式子中删除就可以得出相应的状态反馈阵,它能按指定的方式进行极点配置。
48,,,例8-6,对于例8-4所示系统,实际上只有一个不稳定的极点1,若仅将此极点配置到-5,试采用部分极点配置方法对其进行解,MATLAB程序为,,%Example8_6.m,,A=[-2 -1 1;1 0 1;-1 0 1];,,b=[1;1;1];,,[X,D]=eig(A);,,ii=find(diag(D)>0);T=inv(X);mu= -5;V=diag(D);,,bb=T*b;,,gamma=(mu-V(ii))/bb(ii);,,K=real(gamma*T(ii,:)),,执行后得,,K=,,1.5000 -1.5000 -6.0000,49,,8.2.2 状态观测器的设计,1.全维状态观测器的设计,,极点配置是基于状态反馈,因此状态,x,必须可量测,当状态不能量测时,则应设计状态观测器来估计状态对于系统,,,,,若系统完全能观测,则可构造如图8-12所示的状态观测器50,,,51,,,由上图可得观测器的状态方程为,,,即,,其特征多项式为,f,(,s,)=|sI-(,A,-,LC,)|,,由于工程上要求能比较快速的逼近,x,,只要调整反馈阵,L,,观测器的极点就可以任意配置达到要求的性能,所以,观测器的设计与状态反馈极点配置的设计类似。
52,,,假定单变量系统所要求的,n,个观测器的极点为λ,1,,λ,2,,…,λ,n,,则可求出期望的状态观测器的特征方程为,,f,*,(,s,)=(λ-λ,1,)(λ-λ,2,)…(λ-λ,n,)=,s,n,+,a,1,s,n-,1,,+ … +,a,n,,这时可求得反馈阵,L,为,,,,,,式中 , ,,f,*,(,A,)是将系统期望的观测器特征方程,,,中,s,换成系统矩阵,A,后的矩阵多项式53,,,利用对偶原理,可使设计问题大为简化,求解过程如下:,,首先构造系统式(8-14)的对偶系统,,,,(8-15),,然后,根据下式可求得状态观测器的反馈阵,L,L,T,=acker(,A,T,,,C,T,,,P,),,或,L,T,=place(,A,T,,,C,T,,,P,),,其中,P,为给定的极点,,L,为状态观测器的反馈阵54,,例8-7,已知开环系统,,,,其中,,,,,设计全维状态观测器,使观测器的闭环极点为,,-2±j2√3,-555,,,解,为求出状态观测器的反馈阵,L,,先为原系统构造一对偶系统然后采用极点配置方法对对偶系统进行闭环极点位置的配置,得到反馈阵,K,,从而可由对偶原理得到原系统的状态观测器的反馈阵,L,。
MATLAB程序为,,A=[0 1 0;0 0 1;-6 -11 -6];b=[0;0;1];C=[1 0 0];,,disp('The Rank of Obstrabilaty Matrix'),,r0=rank(obsv(A,C)),A1=A';b1=C';C1=b';,,P=[-2+2*sqrt(3)*j -2-2*sqrt(3)*j -5];,,K=acker(A1,b1,P);L=K',,56,,,执行后得,,The Rank of Obstrabilaty Matrix,,r0 =,,3,,L =,,3.0000,,7.0000,,-1.0000,,由于rank,r,0,=3,所以系统能观测,因此可设计全维状态观测器57,,2.降维观测器的设计,前面所讨论的状态观测器的维数和被控系统的维数相同,故称为全维观测器,实际上系统的输出,y,总是能够观测的因此,可以利用系统的输出量,y,来直接产生部分状态变量,从而降低观测器的维数假设系统是完全能观测器,若状态,x,为,n,维,输出,y,为,m,维,由于,y,是可量测的,因此只需对,n,-,m,个状态进行观测,也就是说用(,n,-,m,)维的状态观测器可以代替全维观测器,这样观测器的结构可以大大简化。
58,,8.2.3 带状态观测器的状态反馈系统,状态观测器解决了受控系统的状态重构问题,为那些状态变量不能直接量测得到的系统实现状态反馈创造了条件带状态观测器的状态反馈系统由三部分组成,即原系统、观测器和控制器,图8-13是一个带有全维观测器的状态反馈系统59,,60,,,设能控能观测的受控系统为,,,(8-21),,状态反馈控制律为,,(8-22),,状态观测器方程为,,(8-23),,由以上三式可得闭环系统的状态空间表达式为,61,,,可以证明,由观测器构成的状态反馈闭环系统,其特征多项式等于状态反馈部分的特征多项式|,s,I-(,A,-,BK,)|和观测器部分的特征多项式|,s,I,-,(,A,-,LC,)|的乘积,而且两者相互独立因此,只要系统∑,0,(,A,,,B,,,C,)能控能观测,则系统的状态反馈阵,K,和观测器反馈阵,L,可分别根据各自的要求,独立进行配置,这种性质被称为分离特性同理,用降维观测器构成的反馈系统也具有分离特性,62,,,例8-9,已知开环系统,,,,,设计状态反馈使闭环极点为 -1.8±j2.4,而且状态不可量测,因此设计状态观测器使其闭环极点为-8,-8。
解,状态反馈和状态观测器的设计分开进行,状态观测器的设计借助于对偶原理在设计之前,应先判别系统的能控性和能观测性,MATLAB的程序为,,%Example8_9.m,,A=[0 1; 20.6 0];b=[0;1];C=[1 0];,,63,,,% Check Contrillability and Observablity,,disp (‘The rank of Controllability Matrix’),,rc=rank (ctrb(A,b)),,disp (‘The rank of Observability Matrix’),,ro=rank(obsv(A,C)),,%Design Regulator,,P=[-1.8+2.4*j -1.8-2.4*j];,,K=acker(A,b,P),,%Design State Observer,,A1=A';b1=C';C1=b';,,P1=[-8 -8];K1=acker(A1,b1,P1);,,L=K1',64,,,执行后得,,The rank of Controllability Matrix,,rc =,,2,,The rank of Observability Matrix,,ro =,,2,,K =,,29.6000 3.6000,,L =,,16.0000,,84.6000,65,,8.2.4 离散系统的极点配置和状态观测器的设计,离散系统的极点配置和状态观测器的设计的求解过程与连续系统基本相同,在MATLAB中,可直接采用工具箱中的place( )和acker( )函数进行设计,这里不在赘述。
66,,8.2.5 控制系统的解耦,在多变量系统中,如果传递函数阵不是对角矩阵,则不同的输入与输出之间存在着耦合,即第,i,输入不但会对第,i,输出有影响,而且还会影响到其他的输出,就给控制系统的设计造成了很大的麻烦,故在多变量控制系统的设计中就出现了解耦控制方法67,,,假设控制系统的状态空间表达式为,,,(8-25),,其中,A,:,n,×,n,;,B,:,n,×,r,;,C,:,m,×,n,;,D,:,m,×,r,,引入状态反馈,,(8-26),,其中,R,为,r,×1参考输入向量,在解耦控制中实际还应要求,r,=,m,,亦即系统的输入个数等于输出个数,这时闭环系统的传递函数矩阵可以写成,68,,,若闭环系统的,m,×,r,矩阵,G,(s)为对角的非奇异矩阵,则称该系统是动态解耦的系统,若,G,(0)为对角非奇异矩阵,且系统为稳定的,则称该系统是静态解耦的在给定的控制结构下,若系统的,D,矩阵为0,则闭环传递函数阵,G,(s)可以简化成,,,(8-28),,由上式可见,若,H,矩阵为奇异矩阵,则,G,(,s,)矩阵必为奇异的,所以为使得系统可以解耦,首先应该要求,H,为非奇异矩阵。
其中,69,,,首先这里将给出能解耦的条件:可以证明,若按下面方法生成的矩阵,B,*,为非奇异的,若取,H,=(,B,*,),-1,,则由前面给出的控制格式得出的系统能解耦原系统8-29),,,式中,C,1,,,C,2,,…,,C,m,为,C,矩阵的行向量,参数,d,1,,,d,2,,…,,d,m,是在保证,B,*,为非奇异的前提下任选区间[0,,n,-1]上的整数若确定了,d,i,参数,则可以直接获得解耦矩阵,70,,,例8-11,对如下系统进行解耦,,,,,,,解,MATLAB程序为,,%Example8_11.m,,A=[-1 0 0;0 -2 0;0 0 -3];B=[1 0;2 3;-3 -3];C=[1 0 0;1 1 1];,,D=[0 0;0 0];,,[m,n]=size(C);,,BB=C(1,:)*B;,,d(1)=0;,71,,,for ii=2:m,,for jj=0:n-1,,BB=[BB;C(ii,:)*A^jj*B];,,if rank(BB)==ii,d(ii)=jj;break;else BB=BB(1:ii-1,:);end,,end,,end,,H=inv(BB),,CC=C(1,:)*A^(d(1)+1);,,for ii=2:m,,CC=[CC;C(ii,:)*A^(d(ii)+1)];,,end,,K=H*CC,,[n1,d1]=ss2tf(A-B*K,B*H,C,D,1),,[n2,d2]=ss2tf(A-B*K,B*H,C,D,2),72,,,执行后可得,,H =,,1.0000 0,,-1.3333 0.3333,,K =,,-1.0000 0 0,,1.6667 1.3333 3.0000,,n1 =,,0 1.0000 -0.0000 -0.0000,,0 0.0000 0.0000 0.0000,,d1 =,,1.0000 -0.0000 -0.0000 0,,n2 =,,,0 0 0 0,,0 0.0000 1.0000 0,,d2 =,,1.0000 -0.0000 -0.0000 0,73,,,亦即系统解偶后的传递函数阵为,,,,,,解耦控制系统的目的是将原模型变换成解耦的模型,而并不必去考虑变换之后的响应品质,因为响应品质这类问题可以在解耦之后按照单变量系统进行设计补偿,单回路的设计当然可以采用单变量系统的各种方法,例如可以采用超前滞后补偿,PI设计以及PID设计等,并能保证这样设计出来的控制器不会去影响其他回路。
74,,8.2.6 生成状态估计器或观测器,假设控制系统的状态空间表达式为,,,,,函数estim( )将生成下述状态和输出估计器,75,,,在MATLAB中,函数estim( )的调用格式如下,,est,=estim(,A,,,B,,,C,,,D,,,L,),,其中,A,,,B,,,C,,,D,为系统系数矩阵,,L,为状态估计增益矩阵状态估计增益矩阵,L,可由极点配置函数place( )形成,或者由Kalman滤波函数kalman生成利用以上命令可生成给定增益矩阵,L,下的状态空间模型,A,,,B,,,C,,,D,的输出估计器,est,76,,,例8-13,利用例8-7所得的状态观测器的反馈阵,L,,求其系统的状态估计器解,MATLAB程序为,,>>A=[0 1 0;0 0 1;-6 -11 -6];b=[0;0;1];C=[1 0 0];,,>>L=[3;7;-1],,>>est=estim(A,b,C,0,L),,执行后得,,est =,,-3.0000 1.0000 0,,-7.0000 0 1.0000,,-5.0000 -11.0000 -6.0000,77,,8.2.7 生成系统控制器,假设控制系统的状态空间表达式为,,,,,利用函数reg( )可生成下述控制器,78,,,在MATLAB中,函数reg( )的调用格式为,,est,=reg(,A,,,B,,,C,,,D,,,K,,,L,),,其中,A,,,B,,,C,,,D,为系统系数矩阵,,K,为状态反馈增益矩阵,,L,为状态估计增益矩阵。
利用以上命令可生成给定状态反馈增益矩阵,K,及状态估计增益矩阵,L,下的状态空间模型,A,,,B,,,C,,,D,的控制器,est,假定系统的所有输出可测79,,,例8-14,利用例8-7所得的状态观测器的反馈阵,L,,求其系统的控制器假设状态反馈阵,K,=[-1 2 4]解,MATLAB程序为,,>>A=[0 1 0;0 0 1;-6 -11 -6];b=[0;0;1];C=[1 0 0];,,>>K=[-1 2 4];,,>>L=[3;7;-1],,>>est=reg(A,b,C,0,K,L),,执行后得,,est =,,-3 1 0,,-7 0 1,,-4 -13 -10,80,,8.3 最优控制系统设计,MATLAB控制系统工具箱中也提供了很多函数用来进行系统的最优控制设计,相关函数如表8-3所示81,8.3.1 状态反馈的线性二次型最优控制器的设计,设线性定常系统的状态空间表达式为,,,(8-31),,式中,A,:,n,×,n,;,B,:,n,×,r,;,C,:,m,×,n,,并设目标函数为二次型性能指标,,,(8-32),,式中,Q,(,t,)为,n,×,n,半正定实对称矩阵,,R(t,)为,r,×,r,正定实对称矩阵。
一般情况下,假定这两个矩阵为定常矩阵,它们分别决定了系统暂态误差与控制能量消耗之间的相对重要性S,为对称半正定终端的加权阵,它为常数82,,,当,x,(,t,f,)值固定时,则为终端控制问题,特别是当,x,(,t,f,)=0 时,则为调节器问题;当,t,0,,,,t,f,均固定时,则为暂态过程最优控制最优控制问题是为给定的线性系统式(8-31)寻找一个最优控制律,u,*,(,t,),使系统从初始状态,x,(,t,0,)转移到终端状态,x,(,t,f,),且满足性能指标式(8-32)最小它可以用变分法、极大值原理和动态规划等三种方法中的任一种求解这里我们采用极大值原理求解,u,*,(,t,)83,,MATLAB的控制系统工具箱中也提供了完整的解决线性二次型最优控制的函数,其中命令lqr( )和lqry( )可以直接求解二次型调节器问题及相关的Riccati方程,它们的调用格式分别为,,[,K,P,r,]=lqr(,A,B,Q,R,) (8-43),,和 [,K,P,r,]=lqry(,A,B,C,D,Q,R,) (8-44),,其中 矩阵,A,,,B,,,C,,,D,,,Q,,,R,的意义是相当明显的,返回的,K,矩阵为状态反馈矩阵,,P,为Riccati方程解,,r,为,A,-,BK,的特征值。
lqry( )命令用于求解二次调节器问题的特例,即目标函数中用输出,y,来代替状态,x,,则目标函数为,84,,,例8-15,已知系统的状态空间表达式为,,,,,,试求使得性能指标,,,为最小的最优控制,u=-Ku,的反馈增益矩阵,K,其中,85,,,解,MATLAB程序为,,%Example8_15.m,,A=[0 1 0;0 0 1;0 -2 -3];B=[0;0;1];C=[1 0 0];D=0;,,Q=diag([100,1,1]);R=1;,,[K,P,r]=lqr(A,B,Q,R),,t=0:0.1:10;,,figure(1);step(A-B*K,B,C,D,1,t);,,figure(2);[,y,,,x,,t]=step(A-B*K,B,C,D,1,t);,,plot(t,,x,,',y,'),86,,,执行后得如下结果和如图8-15所示的阶跃响应曲线K =,,10.0000 8.4223 2.1812,,P =,,104.2225 51.8117 10.0000,,51.8117 37.9995 8.4223,,10.0000 8.4223 2.1812,,r =,,-2.6878,,-1.2467 + 1.4718i,,-1.2467 - 1.4718i,87,,,图8-15 闭环系统输出和状态的阶跃响应曲线,,由此构成的闭环系统的三个极点均位于s 的左半平面,因而系统是稳定的。
实际上,由最优控制构成的闭环系统都是稳定的,因为它们是基于Lyapunov稳定性理论进行设计的,88,,8.3.2 输出反馈的线性二次型的最优控制,在很多情况下想采用输出量而不是状态变量或其观测值来作二次型指标最优控制,这样就需要对前面的线性二次型(LQ)算法进行修正假设引入输出最优反馈控制,,u,(t)= -,K,0,y,(t)=-,K,0,Cx,(t),,则最优反馈阵,K,0,应该使得,A-B K,0,C,为渐进稳定矩阵,且,K,0,可以根据下式求得,,K,0,=,R,-,1,B,T,PZC,T,(,CZC,T,),-,1,,其中,P,Z,矩阵分别满足,,P,(,A-BK,o,C,)+(,A-BK,o,C,),T,P,+,C,T,K,T,o,RK,o,C+Q,=0,,Z,(,A-BK,o,C,),T,+(,A-BK,o,C,),Z+,I,n,=0,89,,,显然求解,K,o,需要涉及迭代过程,可根据上面算法由MATLAB编写出下面的函数来求取基于输出的二次型最优控制输出反馈矩阵,K,o,outlqr.m,,function ko=outlqr(A,B,C,Q,R,k,tol),,if (nargin==6), tol=1e-10;end,,k1= k;I=eye(size(A));,,while(1),,Ao=A-B* k1*C;,,P=lyap(Ao',C'* k1'*R* k1*C+Q);,,Z=lyap(Ao,I);,,ko=inv(R)*B'*P*Z*C'*inv(C*Z*C');,,if(norm(ko- k1,1)>tol), k1= ko;else,break;end,,end,90,,,在这里收敛条件为‖,K,0,-,K,1,‖<,tol,,并将其默认值置为,tol,=10,-10,, 调用此函数应该首先给出输出反馈矩阵的初值,K,1,,然后由此值出发进行迭代,最终求出系统的最优反馈矩阵,K,0,,注意由此迭代过程得出的输出反馈矩阵不能保证满足使得闭环系统稳定的前提条件,所以应该在得出矩阵后测试一下系统的闭环稳定性。
91,,,例8-17,已知系统的状态空间表达式为,,,,,,,,现要求采用输出反馈,即设计,u= -Ky,,使以下性能指标最小其中,Q,=diag{1,0,0,0,0},,R,=1,则可以由下面MATLAB语句求出最优输出反馈矩阵,K,o,及闭环极点92,,,解,MATLAB程序如下,,%Example8_17.m,,A=[-0.2 0.5 0 0 0;0 -0.5 1.6 0 0;0 0 -14.3 85.8 0;,,0 0 0 -33.3 100;0 0 0 0 -10];,,B=[0;0;0;0;30];C=[1 0 4 3 2];D=0;,,Q=diag([1 0 0 0 0]);R=1;,,Ko=outlqr(A,B,C,Q,R,1),,eig(A-B*Ko*C),,t=0:0.001:0.2;,,y=step(A-B*Ko*C,B,C,D,1,t);,,plot(t,y),93,,,执行后得如下结果及图8-22Ko=,,,1.5307,,ans =,,1.0e+002 *,,-0.1561 + 1.2314i,,-0.1561 - 1.2314i,,-1.1821,,-0.0035 + 0.0039i,,-0.0035 - 0.0039i,图8-22,94,,,而原系统的单位阶跃响应利用以下命令可得下图所示。
>>y=step(A,B,C,D,1,t); plot(t,y),,,,,,,,,,可见最优控制施加之后该系统的响应有了明显的改善,还可通过调节,Q,和,R,加权矩阵的方法进一步改善系统输出响应95,,合作愉快,,,,,,,。