西京学院实验教学教案实验课程:现代控制理论基础课序: 4 教室:工程舫0B-14实验日期:2013-6-3、4、6 教师:万少松一、实验名称:系统的稳定性及极点配置二、实验目的1.巩固控制系统稳定性等基础知识;2.掌握利用系统特征根判断系统稳定性的方法;3.掌握利用李雅普诺夫第二法判断系统的稳定性的方法;4. 掌握利用状态反馈完成系统的极点配置;5.通过Matlab编程,上机调试,掌握和验证所学控制系统的基本理论。
三、实验所需设备及应用软件型号备注序号1计算机2Matlab软件四、实验内容1.利用特征根判断稳定性;2.利用李雅普诺夫第二法判断系统的稳定性;3.状态反馈的极点配置;五、实验方法及步骤1.打开计算机,运行MATLAB软件。
2.将实验内容写入程序编辑窗口并运行。
3.分析结果,写出实验报告。
一、利用特征根判断稳定性用matlab 求取一个系统的特征根,可以有许多方法,如,,,()eig ()pzmap 2ss zp ,等。
下面举例说明。
2tf zp roots 【例题1】已知一个系统传递函数为,试不同的方法分析闭环系统的稳定性。
()G s 2(3)()(5)(6)(22)s G s s s s s +=++++解:num=[1,3]den=conv([1,2,2],conv([1,6],[1,5]))sys=tf(num,den)(1)()eig p=eig(sys)显示如下:p = -6.0000 -5.0000 -1.0000 + 1.0000i -1.0000 - 1.0000i 所有的根都具有负的实部,所以系统稳定。
(2) ()pzmap pzmap(sys) 从绘出的零极点图可看见,系统的零极点都位于左半平面,系统稳定。
(3)2()tf zp [z,p,k]=tf2zp(num,den)(4)()roots roots(den)【例题2】已知线性定常连续系统的状态方程为122122xx x x x ==- 试用特征值判据判断系统的稳定性。
解:A=[0,1;2,-1]eig(A)显示ans = 1-2有一个正根,所以系统不稳定。
二、利用李雅普诺夫第二法判断系统的稳定性1、李雅普诺夫判据:线性定常连续系统xAx = 在平衡状态处,渐进稳定的充要条件是:对任意给定的一个正定对称矩阵,如下0e x =Q 形式的李雅普诺夫矩阵方程T A P PA Q +=-存在唯一正定对称矩阵解。
P 2、推论:如果矩阵取为半正定,且为完全能观测,则为渐进稳定的充Q 1/2(,)A Q 0e x =分必要条件是上述李雅普诺夫矩阵方程有唯一正定对称解。
P 3、标量函数是这个系统的一个二次型形式的李雅普诺夫函数。
()Tv x x Px =4、Matlab 实现matlab 提供了李雅普诺夫方程的求解函数,其调用格式为()lyap 。
(,)P lyap A Q =要判定系统是否稳定,需要做以下工作:① 求出P ,并验证P 是正定的;② 求出V(x),并判验证V(x) 是正定的;③ 结论:系统是稳定的。
【例题3】已知单位负反馈系统的前向通道分别是三个环节串联而成,这三个环节分别是两个惯性环节和一个积分环节:、、15()1G s s =+21()2G s s =+31()G s s =试分析系统的李雅普诺夫稳定性。
解:研究系统的稳定性时,可以令给定输入。
()0u t =(1)、求出闭环系统的传递函数G1=tf(5,[1,1])G2=tf(1,[1,2])G3=tf(1,[1,0])Gtf=feedback(G1*G2*G3,1)%运行结果如下:%Transfer function:% 5%---------------------%s^3 + 3 s^2 + 2 s – 5%下面建立ss 模型num=5den=[1,3,2,-5][A,B,C,D]=tf2ss(num,den) %也可以这样:[A,B,C,D]=tf2ss(Gtf.num{1},Gtf.den{1})%选择半正定矩阵,且为完全能观测000000001Q ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦1/2(,)A Q %能观测性验证:Q=[0,0,0;0,0,0;0,0,1]Q1=Q^(1/2)rank(ctrb(A,Q1))%运行结果:%ans = 3%所以为完全能观测1/2(,)A Q %计算李雅普诺夫函数的解,并判断是否正定 P=lyap(A,Q) det1=det(P(1,1)) det2=det(P(2,2)) detp=det(P)%程序运行结果:%P =% 12.5000 0.0000 -7.5000% 0.0000 7.5000 -0.5000% -7.5000 -0.5000 4.7000%det1 =% 12.5000%det2 =% 7.5000%detp =% 15.6250%说明P 阵是对称正定的;%又: 是半正定的;是负定的,所以也是正定的,000000001Q ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦23()T v x x Qx x =-=- ()v x %故得结论:该系统是在平衡点是稳定的。
【例题4】已知系统的状态方程为:2.255 1.250.502.25 4.25 1.250.251.0.250.5 1.25101.25 1.750.250.752x x u ---⎡⎤⎡⎤⎢⎥⎢⎥---⎢⎥⎢⎥=+⎢⎥⎢⎥----⎢⎥⎢⎥---⎣⎦⎣⎦ 试分析系统的稳定性。
解:A=[2.25,-5,-1.25,-0.5;2.25,-4.25,-1.25,-0.25;0.25,-0.5,-1.25,-1;1.25,-1.75,-0.25,-0.75]Q=diag([1,1,1,1])P=lyap(A,Q)det1=det(P(1,1))det1=det(P(2,2))det1=det(P(3,3))det1=det(P)可见Q ,P 阵都是正定的,系统李雅普诺夫稳定三、状态反馈的极点配置闭环系统性能与闭环极点位置密切相关。
经典控制理论经常利用串联、并联校正装置及调整开环增益使系统具有希望的闭环极点位置;现代控制理论利用状态变量揭示系统内部特性以后,建立了利用状态反馈这一新方式来配置极点,显出了更多的优越性。
给定一个连续时间系统的状态空间模型:(4.1)x Ax Bu =+ 其中:是系统的n 维状态向量,是m 维控制输入,A 和B 分别是适当维数的已知常x u 数矩阵。
在状态反馈(4.2)u Kx =-的作用下,闭环系统的状态方程是 (4.3)()x A BK x =- 由线性时不变系统的稳定性分析可知,闭环系统(4.3)的稳定性由闭环系统矩阵的特征值决定,即闭环系统(4.3)渐近稳定的充分必要条件是矩阵()A BK -的所有特征值都具有负实部。
而由经典控制理论知道,矩阵的特征值()A BK -()A BK -也将影响诸如衰减速度、振荡、超调等过渡过程特性。
因此,若能找到一个适当的矩阵,K 使得矩阵的特征值位于复平面上预先给定的特定位置,则以矩阵为增益矩阵()A BK -K 的状态反馈控制器(4.2)就能保证闭环系统(4.3)是渐近稳定的,且具有所期望的动态响应特性。
这种通过寻找适当的状态反馈增益矩阵,使得闭环系统极点(即矩阵K 的特征值)位于预先给定位置的状态反馈控制器设计问题称为是状态反馈极点()A BK -配置问题,简称为极点配置问题。
MATLAB 软件提供了两个函数acker 和place 来确定极点配置状态反馈控制器的增益矩阵。
函数acker 是基于求解极点配置问题的爱克曼公式,它只能应用到单输入系统,K 要配置的闭环极点中可以包括多重极点。
函数acker 和place 的一般形式是: K=acker(A,B,P) %A,B 为系统矩阵,P 为需要配置的极点,为反馈增益矩阵。
K K=place(A,B,P) 得到了所要求的反馈增益矩阵后,可以用命令eig(A-B*K)来检验闭环极点。
【例题5】考虑以下系统 x Ax Bu =+ 其中:0100001,01561A B ⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥---⎣⎦⎣⎦试设计一个状态反馈控制器:u Kx=-使得闭环系统的极点是,进而对给定的初始状态12324,24,10j j λλλ=-+=--=-,画出闭环系统的状态响应曲线。
[](0)100T x =解:提问,状态方程是什么标准型?A=[0 1 0;0 0 1;-1 -5 -6]B=[0;0;1]%首先判断系统是否能控r=rank(ctrb(A,B))P=[-2+j*4 –2-j*4 -10] %此命令运行会提示错误,为什么?仔细检查K=acker(A,B,P) %试一下另一个命令K=place(A,B,P)%下面对给定的初始状态,画出闭环系统的状态响应曲线。
[](0)100T x =%新系统的状态方程为sys_new=ss(A-B*K,eye(3),eye(3),eye(3))x0=[1;0;0]t=0:0.01:4;x=initial(sys_new,x0,t);x1=[1,0,0]*x';%取出状态分量x1x2=[0,1,0]*x';x2=[0,0,1]*x';%下面绘制曲线x1=[1 0 0]*x';x2=[0 1 0]*x';x3=[0 0 1]*x';subplot(3,1,1);plot(t,x1),gridtitle('Response to Initial Condition')ylabel('x1')subplot(3,1,2);plot(t,x2),grid ylabel('x2')subplot(3,1,3);plot(t,x3),grid xlabel('t (sec)')ylabel('x3')四、【课堂作业】已知系统的传递函数为:3210()6116G s s s s =+++(1)用matlab ,求其传递函数模型,并转化为状态空间模型;(2)绘制出系统的单位阶跃响应;(3)求状态反馈矩阵增益,使系统的极点配置在的位置上。
K 12310,11,12s s s =-=-=-答案:(1)a = -6.0000 -11.0000 -6.0000 1.0000 0 0 0 1.0000 0b = 1 0 0c = -0.0000 -0.0000 10.0000d = 0(3)K =1.0e+003 *0.0270 0.3510 1.3140。