现代控制试验报告
现代控制理论实验报告现代控制理论实验报告 系统的状态空间分析与全维状态观测器的设计系统的状态空间分析与全维状态观测器的设计 一、实验目的一、实验目的 1.掌握状态反馈系统的极点配置; 2.研究不同配置对系统动态特性的影响。 二、实验仪器二、实验仪器 1.计算机 2.MATLAB软件 三、实验原理三、实验原理 一个受控系统只要其状态是完全能控的,则闭环系统的极点可以任意配置。极点 配置有两种方法:①采用变换矩阵T,将状态方程转换成可控标准型,然后将期 望的特征方程和加入状态反馈增益矩阵 K 后的特征方程比较,令对应项的系数 相等,从而决定状态反馈增益矩阵 K;②基于 Carlay-Hamilton 理论,它指出 矩阵满足自身的特征方程,改变矩阵特征多项式的值,可以推出增益 矩阵 K。这种方法推出增益矩阵 K 的方程式叫 Ackermann 公式。 四、实验内容四、实验内容 1 1.试判别下列系统的可控性和可观性:.试判别下列系统的可控性和可观性: (1)(1) A=[1,2,3;1,4,6;2,1,7] B=[1,9;0,0;2,0]; C=[1,0,0;2,1,0] 实验程序: a=[1,2,3;1,4,6;2,1,7] b=[1,9;0,0;2,0] c=[1,0,0;2,1,0] n=size(a) uc=ctrb(a,b) uo=obsv(a,c) if rank(uc)==n disp( 系统可控 ) else disp( 系统不可控 ) end if rank(uo)==n disp( 系统可观 ) else disp( 系统不可观 ) End 实验结果: a = 123 146 217 b = 1 0 2 c = 1 2 n = 3 uc = 9 0 0 00 10 19798181 00139155153 201618139153 uo = 100 210 123 3812 91336 3550141 系统可控 系统可观 (2) A=[-2,2,-1;0,-2,0;1,-4,0] B=[[0;0;1] C=[1,-1,1] 程序: A=[-2,2,-1;0,-2,0;1,-4,0]; B=[0;0;1]; C=[1,-1,1]; Qc=ctrb(A,B); n=rank(Qc); if(n==3),disp( 系统可控 ); else,disp( 系统不可控 ); end 系统不可控 Qo=obsv(A,C); m=rank(Qo); if(m==3),disp( 系统可观 ); else,disp( 系统不可观 ); end 系统不可观 2.2.全状态反馈极点配置设计:全状态反馈极点配置设计: 设系统的状态方程为: x=Ax+Bu 其中,A=[0,1,0;0,0,1;-1,-5,-6] B=[0;0;1] 要求:利用状态反馈控制 u=-Kx,将此系统的闭环极点配置成 p1=-2+j4、 p2=-2-j4、p3=-10。求状态反馈增益矩阵 K。 实验程序: A=[0,1,0;0,0,1;-1,-5,-6] B=[0;0;1] J=[-2+j*4 -2-j*4 -10] K=acker(A,B,J) disp(K) 实验结果: A = 010 001 -1-5-6 B = 0 0 1 J = -2.0000 + 4.0000i-2.0000 - 4.0000i -10.0000 K = 199558 状态反馈前后系统的阶跃响应曲线: A=[0,1,0;0,0,1;-1,-5,-6] B=[0;0;1] C=[1,0,1] step(A,B,C,0) hold on J=[-2+j*4 -2-j*4 -10] K=acker(A,B,J) sys=ss(A-K*B,B,C,0) step(sys) 3.3.连续系统状态观测器设计连续系统状态观测器设计: 设系统的状态方程为: x=Ax+Bu y=Cx 其中,A=[0,1,0;0,0,1;-6,-11,-6] B=[0;0;1]C=[1,0,0] 要求:设计全维状态观测器,使系统的闭环极点配置成 p1=-2+j2*sqrt3、 p2=-2-j2*sqrt3、p3=-5。求状态观测阵 L。 A=[0,1,0;0,0,1;-6,-11,-6]; B=[0;0;1]; C=[1,0,0]; r=rank(obsv(A,C)); A1=A ; B1=C ; C1=B ; p=[-2+j*2*sqrt(3);-2-j*2*sqrt(3);-5]; L=acker(A1,B1,p); ke=L ke = 3.0000 7.0000 -1.0000 实验二利用 MATLAB 设计线性二次型最优控制器 一、实验目的一、实验目的 1、学习线性二次型最优控制理论; 2、通过编程、上机调试,掌握线性二次型最优控制器设计方法。 二、实验仪器二、实验仪器 1. 计算机 2.MATLAB软件 三、实验内容三、实验内容 设计最优反馈控制器设计最优反馈控制器 a=[0,1;-1,0]; b=[0;1]; q=[1,0;0,0]; r=[1]; [k,p,e]=lqr(a,b,q,r) k = 0.41420.9102 p = 1.28720.4142 0.41420.9102 e = -0.4551 + 1.0987i -0.4551 - 1.0987i 最优闭环系统对初始状态最优闭环系统对初始状态 X X((0 0))=[1 0]T=[1 0]T 的响应的响应 a=[0 1;-1 0]; b=[0;1]; k=[0.4142 0.9102]; sys=ss(a-b*k,eye(2),eye(2),eye(2)); t=[0:0.01:8]; x=initial(sys,[1;0],t); x1=[1 0]*x ; x2=[0 1]*x ; subplot(2,1,1);plot(t,x1); grid on xlabel( t (sec) );ylabel( x1 ); subplot(2,1,2);plot(t,x2);grid on xlabel( t (sec) );ylabel( x2 )