自动控制原理实验报告

更新时间:2023-11-28 07:34:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

信 控 学 院 上 机 实 验

实 验 报 告

课程 自动控制原理 实验日期 年 月 日

专业班级 测控1201班 姓名 XXXX 学号 XXXXX同组人

实验名称系统的能控性与能观测性分析及状态反馈极点配置

批阅教师签字

一、实验目的

1、学习掌握MATLAB控制工具箱中的基本命令的操作方法; 2、加深理解能观测性、能控性等观念;

3、掌握状态反馈系统的极点配置方法,研究不同配置对系统

动态特性的影响。

二、实验内容

1、学习掌握MATLAB控制工具箱中的基本命令的操作方法,特别是数学模型的描述。(自选控制对象模型,应用以下命令,并写出结果) 1) step, damp, pzmap, rlocus, rlocfind, bode, margin,

nyquist;

2) tf2ss, ss2tf, tf2zp, zp2ss; 3) ss2ss, jordan, canon, eig。 2、能控性、能观测性分析

(a)了解以下命令的功能;自选对象模型,进行运算,并写出结果。

gram, ctrb, obsv, ctrbf, obsvf

第 页 共 页

信 控 学 院 上 机 实 验

(b)已知连续系统的传递函数模型,G(s)?s?a,

s3?10s2?27s?18当a 分别取-1,0,1时,判别系统的能控性与能观测性;

?0??6.666?10.6667?0.3333??,B??1?,101(c)已知系统矩阵为A?????????12?1???0?C??102?,判别系统的能控性与能观测性; 3、状态反馈极点配置

原系统如图3-2所示。图中,X1和X2是可以测量的状态变量。

图3-2 系统结构图

试设计状态反馈矩阵动态性能指标满足给定的要求:

,使系统加入状态反馈后其

(1) 已知:K=10,T=1秒,要求加入状态反馈后系统的动态性能指标为:

σ%≤20%,ts≤1秒。

(12) 已知:K=1,T=0.05秒,要求加入状态反馈后系统的动态性能指标为:

σ%≤5%,ts≤0.5秒。 状态反馈后的系统,如图3-3所示:

第 页 共 页

信 控 学 院 上 机 实 验

图3-3 状态反馈后系统结构图

分别观测状态反馈前后两个系统的阶跃响应曲线,并检验系统的动态性能指标是否满足设计要求 三、实验环境

MATLAB2014

四、实验原理(或程序框图)及步骤 1、系统能控性、能观性分析

设系统的状态空间表达式如下:

???x?Ax?Bu???y?Cx?Dux?Rnu?Rmy?Rp

能控性直接判据:系统能控的充分必要条件是

n?1RankQ?RankBABLAB?n c??间接判别法:通过线性非奇异变换之后,根据B中是否有全零行判断 状态能观测性判别式为:

RankQo?RankCCA?CAn?1??T?n

2、状态反馈极点配置

第 页 共 页

信 控 学 院 上 机 实 验

一个受控系统只要其状态是完全能控的,则闭环系统的极点可以任意配置。极点配置有两种方法:①采用变换矩阵T,将状态方程转换成可控标准型,然后将期望的特征方程和加入状态反馈增益矩阵K后的特征方程比较,令对应项的系数相等,从而决定状态反馈增益矩阵K;②基于Carlay-Hamilton理论,它指出矩阵状态矩阵A满足自身的特征方程,改变矩阵特征多项式?(A)的值,可以推出增益矩阵K,这种方法推出增益矩阵K的方程式叫Ackermann公式。 五、程序源代码 1、熟悉指令 文件:Step

num=[0,0,0,2000]; den=[1,205,1000,20000]; t=0:0.05:2.5; sys=tf(num,den); step(sys,t); grid;

第 页 共 页

信 控 学 院 上 机 实 验

Step Response0.160.140.120.1Amplitude0.080.060.040.02000.51Time (sec)1.522.5 文件:Damp

num=[1]; den=[1,10,10]; sys=tf(num,den); [w zeta]=damp(sys) %输出结果 w=

1.1270 8.8730 zeta = 1 1 文件:Pzmap

H = tf([2 5 1],[1 2 3]);

第 页 共 页

信 控 学 院 上 机 实 验

pzmap(H)

Pole-Zero Map1.510.5Imaginary Axis0-0.5-1-1.5-2.5-2-1.5Real Axis-1-0.50 文件:Rlocus

clear

num=[0 0 0 1];

den=conv([1 0],[1 3+sqrt(-1)]); den=conv(den,[1 3-sqrt(-1)]); rlocus(num,den); v=[-8 2 -4 4]; axis(v);

第 页 共 页

信 控 学 院 上 机 实 验

文件:Rlocfind

rlocfind(sys)

Select a point in the graphics window selected_point = -3.7239 + 0.0062i ans = 5.4641 文件:Bode

num=[1000,1000]; den=[10,10,50]; bode(num,den)

第 页 共 页

信 控 学 院 上 机 实 验

文件:Nyquist

clear

num=[0 20 20 10]; den=conv([1 1 0],[1 10]); nyquist(num,den)

第 页 共 页

信 控 学 院 上 机 实 验

tf2ss, ss2tf, tf2zp, zp2ss ; 文件:Zp2ss

clear Z=[-1;-3]; P=[0;-2;-4;-6]; K=4;

[A,B,C,D]=zp2ss(Z,P,K) A =

-10.0000 -4.8990 0 0 4.8990 0 0 0 -6.0000 -4.2866 -2.0000 0 0 0 1.0000 0

第 页 共 页

信 控 学 院 上 机 实 验

B =[1 0 1 0]T C =

0 0 0 4 D=0 文件:Ss2tf

clear

A=[0 1;1 -2];B=[0;1];C=[1 3];D=[1]; [num,den]=ss2tf(A,B,C,D) printsys(num,den,'s') [z,p,k]=ss2zp(A,B,C,D) num =

1 5 0 den =

1.0000 2.0000 -1.0000 num/den = s^2 + 5 s ------------- s^2 + 2 s - 1 z = 0 -5 p =

第 页 共 页

信 控 学 院 上 机 实 验

-2.4142 0.4142 k = 1 文件:Tf2ss

[A1,B1,C1,D1]=tf2ss(num,den) A1 =

-12.0000 -47.0000 -60.0000 0 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 0 B1 = 1 0 0 0 C1 =

0.0000 8.0000 24.0000 16.0000 D1 = 0 文件:Tf2zp

[z1,p1,k1]=tf2zp(num,den)

第 页 共 页

信 控 学 院 上 机 实 验

z1 = 1.0e+015 * -1.1259 -0.0000 -0.0000 p1 = 0 -5.0000 -4.0000 -3.0000 7 k1 = 7.1054e-015

ss2ss, jordan, canon, eig 文件:eig

A=[0 1 0;0 0 1;2 -5 4]; D=Eig(A) D =

1.0000 + 0.0000i 1.0000 - 0.0000i 2.0000 文件:Jordan

第 页 共页

信 控 学 院 上 机 实 验

J=jordan(A) J = 2 0 0 0 1 1 0 0 1

2、能控性、能观测性分析

(a)了解以下命令;自选对象模型,进行运算,并写出结果

gram, ctrb, obsv, ctrbf, obsvf

(b)gram:计算状态空间的可控性矩阵Gramian矩阵(SS)模型SYS。

(c)Wc = gram(sys,'c') (d)Wc = gram(sys,'o') 文件:ctrb_obsv

w=0.0011;

A=[0 1 0 0;3*w^2 0 0 2*w; 0 0 0 1;0 -2*w 0 0]; b1=[0;1;0;0]; Pc=ctrb(A,b1); Po=obsv(A,b1') 文件:Ctrbf

A=[1 1;4 -2]; B=[1 -1;1 -1]; C=[1 0;0 1];

[Abar,Bbar,Cbar,T,k] = ctrbf(A,B,C)

第 页 共 页

信 控 学 院 上 机 实 验

Abar =

-3.0000 0.0000 3.0000 2.0000 Bbar =

0 0 -1.4142 1.4142 Cbar =

-0.7071 -0.7071 0.7071 -0.7071 T =

-0.7071 0.7071 -0.7071 -0.7071 k =

1 0

文件:obsvf

A=[1 1;4 -2]; B=[1 -1;1 -1]; C=[1 0;0 1];

[Abar,Bbar,Cbar,T,k] = obsvf(A,B,C) Abar = 1 1

第 页 共 页

信 控 学 院 上 机 实 验

4 -2 Bbar = 1 -1 1 -1 Cbar = 1 0 0 1 T =

1 0 0 1 k =

2 0 (b)

[A B C D]=tf2ss(num,den) Qc=ctrb(A,B) rank(Qc)

%生成能控性判别矩阵 %求矩阵Qc的秩

%ans = 3 %满秩,故系统能控 Qo=obsv(A,C)

%生成能观测性判别矩阵

rank(Qo) %求矩阵Qo的秩 %结论:

%求得 A=[-10,-27,-18;1,0,0;0,1,0] % B=[1;0;0] C=[0 1 1] D=0

第 页 共 页

信 控 学 院 上 机 实 验

% a=-1 能控能观 % a=0 能控能观

% a=1 rank(Qc)=3,rank(Qo)=2 (c)

a=[6.666 -10.6667 -0.3333;1 0 1;0 1 2]; b=[0 1 1]'; c=[1 0 2] Qc=ctrb(a,b) rank(Qc)

%生成能控性判别矩阵 %求矩阵Qc的秩 %生成能观测性判别矩阵

Qo=obsv(a,c)

rank(Qo) %求矩阵Qo的秩

%求得Qc和Qo的秩均为满秩3,所以系统能控能观测 (c) 文件:3_1

clear

A=[0 1;-10 -1]; B=[0;10];C=[1 0];D=[0];

disp('原系统的极点为');p=eig(A)'

P=[-3.54+sqrt(-3.54^2);-3.54-sqrt(-3.54^2)]; K=place(A,B,P)

disp('配置后系统的极点为') p=eig(A-B*K)'

第 页 共 页

信 控 学 院 上 机 实 验

disp('极点配置后的闭环系统为') sysnew=ss(A-B*K,B,C,D) step(sysnew/dcgain(sysnew)) 原系统的极点为 p =

-0.5000 - 3.1225i -0.5000 + 3.1225i K =

1.5063 0.6080 配置后系统的极点为 p =

-3.5400 - 3.5400i -3.5400 + 3.5400i 极点配置后的闭环系统为 sysnew = a =

x1 x2 x1 0 1 x2 -25.06 -7.08 b = u1 x1 0 x2 10 c =

第 页 共 页

信 控 学 院 上 机 实 验

x1 x2 y1 1 0 d = u1 y1 0

Continuous-time state-space model.

极点配置后系统的阶跃响应

文件:3_2

clear

A=[0 1;-10 -1];

第 页 共 页

信 控 学 院 上 机 实 验

B=[0;10];C=[1 0];D=[0];

disp('原系统的极点为');p=eig(A)'

P=[-7.07+sqrt(-7.07^2);-7.07-sqrt(-7.07^2)]; K=place(A,B,P)

disp('配置后系统的极点为') p=eig(A-B*K)'

disp('极点配置后的闭环系统为') sysnew=ss(A-B*K,B,C,D) step(sysnew/dcgain(sysnew)) 原系统的极点为 p =

-0.5000 - 3.1225i -0.5000 + 3.1225i K =

8.9970 1.3140 配置后系统的极点为 p =

-7.0700 - 7.0700i -7.0700 + 7.0700i 极点配置后的闭环系统为 sysnew = a =

x1 x2 x1 0 1

第 页 共 页

信 控 学 院 上 机 实 验

x2 -99.97 -14.14 b = u1 x1 0 x2 10 c = x1 x2 y1 1 0 d = u1 y1 0

Continuous-time state-space model.

第 页 共 页

信 控 学 院 上 机 实 验

极点配置后系统的阶跃响应

第 页 共 页

本文来源:https://www.bwwdw.com/article/r64t.html

Top