《利用MATLAB 实现极点配置、设计状态观测器(现代控制)讲解学习.doc》由会员分享,可在线阅读,更多相关《利用MATLAB 实现极点配置、设计状态观测器(现代控制)讲解学习.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。利用MATLAB 实现极点配置、设计状态观测器(现代控制)-实验报告实验名称利用MATLAB实现极点配置、设计状态观测器系专业自动化班姓名学号授课老师预定时间实验时间实验台号一、目的要求1、掌握状态反馈和输出反馈的概念及性质。2、掌握利用状态反馈进行极点配置的方法。学会用MATLAB求解状态反馈矩阵。3、掌握状态观测器的设计方法。学会用MATLAB设计状态观测器。4、熟悉分离定理,学会设计带有状态观测器的状态反馈系统。二、 原理简述1、 状态反馈和输出反馈设线性定常系统的状态空间表达式为如果采用状态反馈
2、控制规律u=r-Kx,其中r是参考输入,则状态反馈闭环系统的传递函数为:2、极点配置如果SISO线性定常系统完全能控,则可通过适当的状态反馈,将闭环系统极点配置到任意期望的位置。MATLAB提供的函数acker()是用Ackermann公式求解状态反馈阵K。该函数的调用格式为K=acker(A,B,P)其中A和B分别为系统矩阵和输入矩阵。P是期望极点构成的向量。MATLAB提供的函数place()也可求出状态反馈阵K。该函数的调用格式为K=place(A,B,P)函数place()还适用于多变量系统极点配置,但不适用含有多重期望极点的问题。函数acker()不适用于多变量系统极点配置问题,但适
3、用于含有多重期望极点问题。三、仪器设备PC计算机,MATLAB软件四、 内容步骤、数据处理题5-1某系统状态方程如下理想闭环系统的极点为,试(1)采用直接计算法进行闭环系统极点配置;(2)采用Ackermann公式计算法进行闭环系统极点配置;(3)采用调用place函数法进行闭环系统极点配置。A=010;001;-4-3-2;B=1;3;6;C=100;D=0;G=ss(A,B,C,D);Q,D=eig(A)结果:Q=0.29950.3197-0.0731i0.3197+0.0731i-0.49440.0573+0.5074i0.0573-0.5074i0.8160-0.7948-0.7948
4、D=-1.6506000-0.1747+1.5469i000-0.1747-1.5469i则矩阵A的特征根为:-1.6506,-0.1747+1.5469i,-0.1747-1.5469i程序:A=010;001;-4-3-2;B=1;3;-6;C=100;D=0;p=-1-2-3;k=acker(A,B,p)结果:k=1.48090.7481-0.0458验证:A=010;001;-4-3-2;B=1;3;6;C=100;D=0;k=0.50530.70520.2299;A1=A-B*k;sys=ss(A1,B,C,D);G1=zpk(sys)结果:Zero/pole/gain:(s2+5s
5、+15)-(s+1)(s+1.999)(s+3.001)则其极点为-1,-2,-3(2)程序:A=010;001;-4-3-2;B=1;3;-6;C=100;D=0;p=-1-2-3;k=place(A,B,p)结果:k=1.48090.7481-0.0458验证:程序:A=010;001;-4-3-2;B=1;3;-6;C=100;D=0;p=-1-2-3;k=place(A,B,p);A1=A-B*k;sys=ss(A1,B,C,D);G1=zpk(sys)结果:Zero/pole/gain:(s+4.303)(s+0.6972)-(s+3)(s+2)(s+1)则其极点为-1,-2,-3题
6、5-2某控制系统的状态方程描述如下:y=172424x通过状态反馈使系统的闭环极点配置在-30-1.2位置上,求出状态反馈矩阵K,验证闭环极点,并绘制闭环系统的阶跃响应曲线进行对比。程序A=-10-35-50-24;1000;0100;0010;B=1;0;0;0;C=172424;D=0;p=-30-1.2-2.4+4i-2.4-4i;k=place(A,B,p)结果:k=26.0000172.5200801.7120759.3600验证:程序:A=-10-35-50-24;1000;0100;0010;B=1;0;0;0;C=172424;D=0;p=-30-1.2-2.4+4i-2.4-
7、4i;k=place(A,B,p);A1=A-B*k;sys=ss(A1,B,C,D);G1=zpk(sys)结果:Zero/pole/gain:(s+1.539)(s2+5.461s+15.6)-(s+30)(s+1.2)(s2+4.8s+21.76)A=-10-35-50-24;1000;0100;0010;B=1;0;0;0;C=172424;D=0;G=ss(A,B,C,D);p=-30-1.2-2.4+4i-2.4-4i;k=place(A,B,p);A1=A-B*k;G1=ss(A1,B,C,D);t=0:0.5:20;u=ones(size(t);y2=lsim(G1,u,t);
8、y1=lsim(G,u,t);plot(t,y1,:,t,y2,-)蓝色为配置前,绿色为配置后题5-3某系统状态空间描述如下设计全维状态观测器,要求状态观测器的极点为。程序A=010;001;-4-3-2;B=1;3;-6;C=100;D=0;p=-1-2-3;L=(acker(A,C,p)结果:L=40-10题5-4已知系统y=660x(1) 求系统的零点,极点和传递函数,并判断系统的能控性和能观测性。(2) 分别选取K=030.K=132,K=031为状态反馈矩阵,求解闭环系统的零点,极点和传递函数,并判断系统的能控性和能观测性。它们是否发生改变?为什么?(1)程序A=010;001;-1
9、2-16-7;B=0;0;1;C=660;D=0;sys=ss(A,B,C,D);G=zpk(sys)结果:Zero/pole/gain:6(s+1)-(s+2)2(s+3)则系统的零点为:-1则系统的极点为:-2,-2,-3程序A=010;001;-12-16-7;B=0;0;1;C=660;D=0;Uc=ctrb(A,B);rank(Uc)结果:ans=3则系统能控程序:A=010;001;-12-16-7;B=0;0;1;C=660;D=0;Vo=obsv(A,C);rank(Vo)结果:ans=3则系统能观(2)当k=030时:程序A=010;001;-12-16-7;B=0;0;1;
10、C=660;D=0;k=030;A1=A-B*k;sys=ss(A1,B,C,D);G=zpk(sys)结果:Zero/pole/gain:6(s+1)-(s+0.8821)(s2+6.118s+13.6)则零点为-1pole(G)ans=-0.8821-3.0589+2.0606i-3.0589-2.0606iUc=ctrb(A,B);rank(Uc)ans=3Vo=obsv(A,C);rank(Vo)ans=3当k=132时:程序A=010;001;-12-16-7;B=0;0;1;C=660;D=0;k=132;A1=A-B*k;sys=ss(A1,B,C,D);G=zpk(sys)结果
11、:Zero/pole/gain:6(s+1)-(s+6.319)(s2+2.681s+2.057)则闭环系统的零点为:-1pole(G)ans=-6.3186-1.3407+0.5099i-1.3407-0.5099iUc=ctrb(A,B);rank(Uc)ans=3则系统具有能控性Vo=obsv(A,C);rank(Vo)ans=3则系统具有能观测性当k=013时:A=010;001;-12-16-7;B=0;0;1;C=660;D=0;k=013;A1=A-B*k;sys=ss(A1,B,C,D);G=zpk(sys)Zero/pole/gain:6(s+1)-(s+8.08)(s2+1
12、.92s+1.485)Uc=ctrb(A,B);rank(Uc)ans=3则系统具有能控性Vo=obsv(A,C);rank(Vo)ans=3则系统具有能观测性分析:系统完全能控则可以任意配置极点,配置极点不改变系统的能控性,但可能改变系统的能观测性。不存在零极相消的情况下,则不改变系统的能观测性。五、分析讨论通过本次试验,掌握了状态反馈和输出反馈的概念及性质。掌握了利用状态反馈进行极点配置的方法。学会了用MATLAB求解状态反馈矩阵。掌握了状态观测器的设计方法。学会了用MATLAB设计状态观测器。熟悉了分离定理,学会了设计简单的带有状态观测器的状态反馈系统。原本通过平常的上课,对于一些概念我还是没有完全掌握,比如极点配置,状态反馈,输出反馈。通过实验的验证,翻阅书籍,使我对于书本上的概念产生了更深的理解,学会了分析验证书本上的定理而不是盲目学习。-