1、 控制系统状态空间设计设计对象系统的对象模型为: 设计目的A:试确定一个状态负反馈阵K,使相对于单位阵阶跃参考输入的输出过渡过程,满足如下的期望指标:超调量=20%,峰值时间=0.4s。B:如果系统的状态变量在实际上无法测量,试确定一个状态观测器(全维状态观测器),使得通过基于状态观测器的状态反馈,满足上述期望的性能指标。设计要求1. 要求学生掌握当Gc(s)设计好后如何将其变换为离散算法Gc(Z) 以及如何将Gc(Z)转换在计算机上可完成计算的迭代方程。2. 要求学生能掌握工业中常用的基本PID算法。3. 掌握一阶向前,向后差分及双线性变换离散化的具体做法及应用场合。4. 熟悉PID两种基本
2、算法的计算公式:位置算法和增量算法。5. 熟练使用MATLAB软件,掌握其仿真的方法、步骤及参数设置。6. 了解计算机控制系统的组成及相应设备的选用等问题。设计方法及步骤1.利用Simulink 进行仿真,判断是否满足期望的性能指标。系统仿真方框图如下:系统仿真结果如下:有图可知,系统不满足期望的性能指标,需要进行配置。2.由期望的性能指标求出闭环系统的期望极点。首先有典型二阶系统性能指标与系统参数之间的关系,确定统参数,然后再确定系统的主导极点和非主导极点。由系统的性能指标:超调量=20%,峰值时间=0.4s。可以求出 =0.456 Wn=8.84。因此选取 =0.60 Wn=13.00为系
3、统参数由系统的特征方程可以求出系统的特征根为:S1=-7.8+10.4j ,S2=-7.8-10.4j令系统的非主导极点为:S3=-130则需要配置的极点是是:P=-7.8+10.4j,-7.8-10.4j,-130;3.求出系统空间表达式。利用MATLAB 有关模型转换函数可求得A =B =C =D =04.判断系统的能控能关性,确定系统是否能够通过状态反馈实现极点的任意配置。能控性判别矩阵Q=系统的可控矩阵阶数为3,为满秩,则系统是能控的。5.求出用于极点配置的状态矩阵K:利用函数K=acker(A,B,P),其中参数A、B 为系统的状态方程参数矩阵,P 为期望的极点向量,K 为状态反馈矩
4、阵。K =(134 2165 21969)6.求出输入增益Nbar:Nbar =219707.求出反馈后系统的闭环状态空间表达式:At =Bt =Ct =(0 0 1)Dt =0系统的阶跃响应如下:满足所给定的性能指标。8.配置状态观测器:由于期望极点为:P=-7.8+10.4j,-7.8-10.4j,-130;又由于希望观测器的响应要快于原系统的响应,配置状态观测器的极点应尽量离原极点距离远一些,故可设为为:P=-23.4+31.2j,-23.4-31.2j,-260;9.a:求系统的能关矩阵:Qo =可知系统能观测,可以进行配置。b:求状态观测器增益矩阵:L =10.求基于状态观测器的状态
5、反馈闭环系统的状态空间表达式:At= Bt =Ct =(0 0 1 0 0 0)Dt=0 系统运行如下:由图可知,系统的阶跃响应比原系统有较快的响应,且满足所设定的条件。设计所用程序如下:反馈程序num=1;den=1 12 32 1;tf(num,den)A,B,C,D=tf2ss(num,den)n=length(A);Q=ctrb(A,B)m=rank(Q);if m=n disp(system state variable can be totally controlled(系统可控) P=-7.8+10.4j,-7.8-10.4j,-130; K=acker(A,B,P) else
6、ends=size(A,1);Z=zeros(1,s) 1;N=inv(A,B;C,D)*Z;Nx=N(1:s);Nu=N(1+s);Nbar=Nu+K*NxAt=A-B*KBt=B*NbarCt=CDt=Dstep(At,Bt,Ct,Dt);hold on;grid; 观测器程序num=1;den=1 12 32 0;tf(num,den);A,B,C,D=tf2ss(num,den);n=length(A);Qo=obsv(A,C);m=rank(Qo);if m=n disp(system state variable can be totally controlled(系统可观) P=
7、-7.8+10.4j,-7.8-10.4j,-130;P0=-23.4+31.2j,-23.4-31.2j,-260; K=acker(A,B,P) L=place(A,C,P0) else ends=size(A,1);Z=zeros(1,s) 1;N=inv(A,B;C,D)*Z;Nx=N(1:s);Nu=N(1+s);Nbar=Nu+K*Nx;At=A-B*K B*K zeros(size(A) A-L*CBt=B*Nbar zeros(size(B)Ct=C zeros(size(C)Dt=Dfigure(3) step(At,Bt,Ct,Dt)hold ongrid课程设计总结: 这
8、次实验让我学会如何运用MATLAB仿真实现系统的校正以达到预期效果,培养了我的逻辑思维能力,增强了实际编程能力。在让我体会到了分析与设计系统的艰辛的同时,更让我体会到成功的喜悦和快乐。我学会了耐心在设计过程中要从整体上把握;在设计过程中同学们之间的合作交流很重要,可以解决很多问题,并从中认识到自己学习和运用中的很多不足。 在这里,我非常感谢老师的指导,您丰富了我们的学习过程,教给我们良好的学习方式和学习态度。同时,我要感谢我的同学们,感谢他们给我的支持,在我停步不前的时候鼓励我并帮助我。最后要感谢学校提供良好的学习环境和实验设备,没有这些我无法完成课程设计。 总之,这次实验让我收获颇丰,实践是获得知识、得到反馈的最好的方法。 参考文献:1.吴晓燕、张双选.MATLAB在自动控制中的应用.西安电子科技大学出版社2006.9 2.胡寿松.自动控制原理.北京:科学出版社.2007.6 3.刘豹、唐万生.现代控制理论.机械工业出版社.2012.3