求取系统可控阵的秩,从而判定系统的可控性。
2) 指定配置极点p:分别为λ1=-1+2j和λ2=-1-2j。 3) 应用极点配置函数place确定状态反馈阵K。 下面给出了采用MATLAB求取系统可控阵秩以及实现满足所希望的极点配置的状态反馈阵的程序和结果。
MATLAB程序:
A=[-2 -3;4 -9]; B=[3 1]; C=[0 0]; D=0;
sys=ss(A,B,C,D); Col=ctrb(sys) Co=rank(Col) p=[-1+2*i -1-2*i]; K=place(A,B,p)
由运行结果:
Col =
3 -9 1 3 Co =
2 K =
-5.6111 7.8333
可以得知系统是完全可控的,因此K即为用以实现闭环极点配置所需要的状态反馈增益矩阵。
2. 具有观测器的状态反馈控制系统设计与MATLAB实现 (1) 状态观测器
1) 全维状态观测器的问题提出 对于LTI系统:
??Ax?Bux
y=Cx
?满足: 全维状态观测器就是以输出y和输入u为输入,输出x?(t)?limx(t)limxt??t?? (2-22)
通常全维观测器采用下述模型,如图2-14所示。此时,全维观测器的动态方程为:
???(Ax??Bu?L(y?Cx?)?(A?LC)x??Bu?Lyx (2-23)
可以证明,对于上述LTI系统,若系统完全能观,则必然可由上式表述的全维观测器来
重构其状态,并可以通过选择增益矩阵L而任意配置观测器的全部特征值。
36
uyΣ?A,B,C?LBf?xC?y?xA 图2-14 典型基本状态观测器的结构图
设系统完全能观,全维观测器的期望极点为??1*?2*??n*?,则计算步骤为: 第1步 导出对偶系统?AT,CT,BT?。
第2步 利用极点配置算法,对对偶系统确定反馈增益矩阵K,使系统的极点为:
??第3步 取L=KT。
*1?2??n**?
第4步 计算A-LC,得到全维观测器:
???(A?LC)x??Bu?Lyx
例5-3已知系统的状态空间表达式为
??1???x?01??0?x????u ?2??1?y??20?x
设计一个状态观测器使其极点为-10,-10。
在命令窗中运行下列命令
>> A=[-1 1;0 -2];B=[0 1]';C=[2 0];p=[-10 -10];L=(acker(A',C',p))'
返回 L =
8.5000
32.0000
利用函数simobsv( )可以仿真状态观测器所观测到的状态。该函数的调用格式为
[Xo,X,t]?simobsv(G,L)
其中G为系统的状态空间模型,L为观测器的反馈矩阵。Xo为重构状态的阶跃响应,x为原系统状态的阶跃响应,t为函数自动选择的时间向量。该函数的程序如下 function [xo,x,t]=simobsv(G,L) %仿真观测器的状态 [y,t,x]=step(G);
G=ss(G);A=G.a;B=G.b;C=G.c;D=G.d; [y1,xo1]=step((A-L*C),B,C,D,1,t); [y2,xo2]=lsim((A-L*C),L,C,D,y,t);
37
xo=xo1+xo2;
现在仿真上面的求得的状态观测器的状态。运行下列命令 >> figure('pos',[50 50 200 150],'color','w');
[xo,x,t]=simobsv(ss(A,B,C,0),L);plot(t,x,'-k',t,xo,':r')
返回原系统和状态观测器的单位阶跃响应曲线,如图1。
图1 单位阶跃响应曲线 图2 反馈矩阵响应曲线 再选观测器的反馈矩阵为L??面的效果好。
2) 降维观测器设计
??2??,运行上述命令得到图2。可见此时的估计不如上20??考虑到系统的输出中已经包含系统状态的部分信息,因此在直接利用这部分信息的基础
上,可以构造出低于被估系统的状态观测器,这就是降维观测器。
可以证明,对于LTI系统,设系统为完全能观,且矩阵C的秩rank(C)=q,则可以构造(n-q)维的状态观测器。以下例子说明降维观测器设计的方法。
【例2-14】 已知系统∑(A,B,C)的系统为:
?4?A??11???134?12144??1?????12,B??1,C??111? ????13???0??试设计系统∑(A,B,C)的降维观测器。
解:① 首先对系统进行可观性判定。运行程序如下:
A=[4 4 4;-11 -12 -12;13 14 13]; B=[1;-1;0];C=[1 1 1];D=0; sys=ss(A,B,C,D); Obv=obsv(sys); ro=rank(Obv); n=length(A);
38
if ro==n
disp('The system is observable') Obv else
disp('The system is unobservable') end
得到:
The system is observable Obv =
1 1 1 6 6 5 23 22 17
由于系统是三维的,输出是一维的,故可构造二维降维观测器。
② 确定变换阵T。因其逆阵T的第一行是C阵,其余两行保证T非奇异即可,故得到:
?1?C??????0??G???01101??0?1??-1
-1
T?1
对其求逆得到:
?1?T?0???0x得到: 根据变换关系,x?T~?1101??0 ?1??x1?~x1?~x2?~x3x?~x22x3?~x3~~
B又由于存在变换:T?T?1AT,B?T?1,C?CT
~故可得到变换后的系数阵为:
?6~?A??11???130?11?1???1?0???0?~??B??1????0??~C?[100]
③ 确定子系统,得到对应降维观测器的子系统:
~?x?2???1?~????3???x??1~?1??x2???1???11??u???~?????y0??x3??0?13??~?x2??1??~??x3?
???0该子系统的特征多项式的根为:eig([-1 -1;1 0])
39
roots = -0.5000+0.8660i-0.5000-0.8660i
④ 确定降维观测器模型。为了满足逼近速度与抗干扰能力的要求,在此将观测器的极点配置在-3和-4处,据此确定参数H的值。应用place函数容易求出实现将观测器极点配置在期望位置上的参数H值。由:
A22=[-1 -1;1 0]; A12=[0 -1]; A11=6;A21=[-11 13]'; B1=0;B2=[-1 0]'; p=[-3 -4];
H=place(A22',A12',p)
得到参数H为:
H = -5 -6
从而得到所设计的降维观测器模型:
?2??z??6?(A?HA)z?(B?HB)u?(A?HA)y?2212212111????3???5?z?6??z2???1??19??u????????y?6??z3??0??49?
2.6 LQ和LQG最优控制
设对象是以状态空间的形式给出的线性系统,其目标函数是对象状态和控制输入的二次型函
数。二次型问题就是在线性系统的约束条件下,选择控制输入使得二次型目标函数达到最小。线性二次型最优控制一般涉及两类问题:一类是具有状态反馈的线性二次型最优控制,即LQ问题。包括拓展目标函数二次型最优控制;另一类是线性二次型高斯最优控制,即LQG问题。
2.6.1 LQ最优控制
1. 线性二次型最优控制的一般概念 设线性定常系统的状态方程为:
??Ax?Bux
如果引入线性二次最优控制指标:
J??0?[x(t)Qx(t)?u(t)Ru(t)]dtTT (2-24)
其中Q和R分别为状态和输入控制变量的加权阵,Q是半正定对称常数阵,R为正定
对称常数阵。最优控制的目标就是求取u(t),使性能指标J达到最小值。u(t)即是输入控制律,可以导出最优控制律形式
u(t)=-R-1BTP(t)x(t) (2-25)
令
K=RBP(t) (2-26)
则得到
40
-1
T