《MATLAB配置倒立摆系统极点》由会员分享,可在线阅读,更多相关《MATLAB配置倒立摆系统极点(14页珍藏版)》请在金锄头文库上搜索。
1、. . . . .现代控制理论MATLAB计算学 院: 电气工程学院 专业班级:电气工程及其自动化1403班学生姓名: 王宁 学 号: 140301308 摘要:讨论了采用MATLAB语言编程实现控制系统的空间状态方程模型建立,及离散化,判断能控性,能观性,阶跃响应,实现控制系统极点任意配置。并以倒立摆系统为实例计算。关键词:空间状态方程;控制系统;极点配置目录一绪论3(1)MATLAB及其控制系统工具箱简介3(2)状态反馈极点配置3(3)能控性和能观性3(4)MATLAB编程3二MATLAB计算5(1)状态空间方程5(2)求解离散化x(t)6(3)阶跃响应6(4)判断能控性能观性7(5)极点
2、配置7(6)结论9三总结9一 绪论(1)MATLAB及其控制系统工具箱简介MATLAB是一套高性能的数值计算和可视化软件,具有工程计算,算法研究,符号运算,建模和仿真,原形开发,数据分析及可视化,科学和工程绘图,应用程序设计等功能,MATLAB包含了涉及多种学科的众多工具。其中,控制系统工具箱主要处理以传递函数为主要特征的经典控制和以状态方程为特征的现代控制中的问题,为用户提供了用于处理和分析线性时不变(LTI)模型,它支持连续系统和离散系统,单输入单输出(SISO)系统和多输入多输出(MIMO)系统。利用该工具箱中的函数不但可以实现系统模型的建立,转换,分析和处理,还可以进行控制系统的设计。
3、(2)状态反馈极点配置状态空间中的极点配置设计方法是基本的设计方法之一。如果系统是完全状态可控的,那么,要求的Z平面上闭环极点可以选择,并且,以这些极点为闭环极点的系统可以设计。这种在Z平面设置期望的闭环极点的设计方法,称为极点配置设计法。在极点配置设计方法中,将反馈全部状态变量,使得全部闭环极点均设置在各期望的位置上。然而,实际的控制系统中,量测到全部4状态变量是不可能的,不是全部状态变量都可以用于反馈。为了实现状态反馈,估计这些未知的状态变量是很必要的,这种估计可以用状态观测器进行。假设系统的全部状态变量都可以量测,并且都能用于反馈。如果系统是完全状态可控的,那么,用状态反馈的方法,适当地
4、选择状态反馈增益矩阵,可以将闭环系统的极点配置在Z平面的任何期望的位置。首先必须指出,状态空间中,任意极点配置的充分且必要的条件是,系统必须是完全状态可控的(3)能控性和能观性能控性和能观性是相对的概念。动态系统的能控性和能观性是揭示动态系统不变的本质特征的两个重要的基本结构特性。卡尔曼在60年代初首先提出状态能控性和能观性。其后的发展表明,这两个概念对回答被控系统能否进行控制与综合等基本性问题,对于控制和状态估计问题的研究,有着极其重要的意义。系统能控性指的是控制作用对被控系统的状态和输出进行控制的可能性。能观性反映由能直接测量的输入输出的量测值来确定反映系统内部动态特性的状态的可能性。(4
5、)MATLAB编程空间状态方程A=0 1 0 0;0 0 0 0;0 0 0 1;0 0 7.35 0;B=0;1;0;0.75;C=1 0 0 0;0 0 1 0;D=0;sys=ss(A,B,C,D)离散化T=1;sys_d=c2d(sys,T)eAt=expm(A)能控能观测n=size(A,1);Qc=ctrb(A,B);if rank(Qc)=rank(Qc An) disp(The system is controlled)else disp(The system is not controlled)endn=size(A,1);Qo=obsv(A,C);if rank(Qo)=n
6、(1) disp(The system is observability)else disp(The system is not observability)end约当J=Jordan(A)约当规范P,J= Jordan(A);sys_in=ss(A,B,C,D);sys_out=ss2ss(sys_IN,inv(P)标准型sys_ctr=ctr_canon(sys,1st)sys_ctr=ctr_canon(sys,2nd)sys_ctr=ctr_canon(sys,Wonham)sys_ctr=ctr_canon(sys,Luenb)sys_obsv= obsv _canon(sys,1s
7、t)sys_obsv= obsv _canon(sys,2nd)阶跃响应step(sys,300);y=step(sys,300);极点P=-5,-5,-1+sqrt(3)*i,-1- sqrt(3)*i极点配置A=0 1 0 0;0 0 0 0;0 0 0 1;0 0 7.35 0;B=0;1;0;0.75;C=1 0 0 0;0 0 1 0;D=0;E,F=eig(A)ctrb(A,B)obsv(A,C)rc=rank(ctrb(A,B)ro=rank(obsv(A,C)P=-5,-5,-1+sqrt(3)*i,-1- sqrt(3)*iK=acker(A,B,P)A1=A-B*K;B=B
8、;C=C;D=D;sys=ss(A1,B,C,D);step(sys,10);y=step(sys,10);二Matlab计算设系统线性系数为A=0 1 0 0;0 0 0 0;0 0 0 1;0 0 7.35 0;B=0;1;0;0.75;C=1 0 0 0;0 0 1 0;D=0;(1)状态空间方程 (2)求解离散化x(t) (3)阶跃响应可以看出系统不稳定(4)判断能控性,能观性 由上述可知系统是可控的,可观测的。但是matlab是2010的,没有ctr_canon函数,无法转化成能控和能观标准型。(5)极点配置设理想极点为P=-5,-5,-1+3i,-1-3i 则 极点配置法通过设计状
9、态反馈控制器将多变量系统的闭环系统极点配置在期望的位置上,从而使系统满足瞬态和稳态性能指标。首先要判断系统是否能够通过状态反馈任意配置极点,通过能控,能观性判断。然后选取期望的闭环极点进行状态反馈控制器的设计。依据经验,我们这里选取四个极点P=-5,-5,-1+3i,-1-3i,极点配置过程由上面的Matlab程序实现。得到状态反馈增益矩阵K为-13.6054 -12.244 93.2739 32.3265.经过极点配置后的系统y(t)的阶跃响应图像如下图所示.(6)结论对比极点配置前后的阶跃响应图像可知,第3步中采用系统原来的极点,得到的阶跃响应图像是趋近于无穷大,系统是不稳定的;第5步中通
10、过极点配置得到新的极点,用新的极点得到的阶跃响应图像经过一段过渡时间的震荡最终趋近于某个值,达到稳定状态,系统是稳定的。控制系统的性能主要取决于系统极点在根平面上的分布,而极点配置的目的就是寻找合适的期望极点,通过选择反馈增益矩阵,将闭环系统的极点敲好配置在根平面上所期望的位置,以获得所希望的动态性能。所以极点配置可以很好的改善或者决定系统的稳态性能。三总结通过本次作业,我掌握了状态空间模型的建立方法,掌握了运用matlab软件进行系统能控性,能观性分析,掌握了利用状态反馈进行极点配置的方法,学会了设计简单的带有状态观测器的状态反馈系统。原本通过平常上课,对于一些概念没有完全掌握,没有参加考试,但通过此次作业,翻阅书籍与网络资源,使我对于书本上的概念产生了更深的理解,学会了分析验证书本上的定理而不是盲目学习,受益匪浅。最后感谢型男李老师的辛勤教导。参考文献1 利用MATLAB求解极点配置问题 百度文库2 倒立摆系统的状态空间极点配置 百度文库3 李道根 现代控制理论 哈尔滨工业大学出版社 . 专业 专注 .