利用MATLAB实现极点配置设计状态观测器现代控制

合集下载

现代控制理论-MATLAB

现代控制理论-MATLAB
现代控制理论
建模
0 x1 x 0 2 x3 0 x4 0 1 0 mg 0 M 0 0 ( M m) g 0 Ml 0 0 x1 1 0 x2 M u 1 x3 0 x4 1 0 Ml
if rank(ob)==n
disp('系统可观') elseif rank(ob)<n disp('系统不可观') end
%判断可观性%

现代控制理论
状态反馈控制器设计
HPole = [-10,-10,-2-2*sqrt(3)*j,-2+2*sqrt(3)*j];%期望极点 K = acker(A,B,HPole) A0=A-B*K; %极点配置后的系统矩阵 eig(A0) %显示极点配置后的特征根

现代控制理论
状态观测器的设计
%设计一个状态观测器使其极点为-50 -50 -50 -50 op=[-50 -50 -50 -50]; L=(acker(A',C',op))' A2=[A -B*K; L*C A-L*C-B*K]

现代控制理论
y 1
0
0
x1 x 0 2 x3 x4
M=1;m=0.1;l=1

现代控制理论
建模
A = [0 0 0 1 0 0 0 -m*g/M 0 0; 0; 1;
0
B=[ 0; 1/M; 0;
0
g*(M+m)/(M*l)
二次型最优控制器的设计
Klqr = lqr(A,B,Q,R);

现代控制理论实验报告

现代控制理论实验报告

现代控制理论实验报告现代控制理论实验报告组员:院系:信息工程学院专业:指导老师:年月日实验1 系统的传递函数阵和状态空间表达式的转换[实验要求]应用MATLAB 对系统仿照[例]编程,求系统的A 、B 、C 、阵;然后再仿照[例]进行验证。

并写出实验报告。

[实验目的]1、学习多变量系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;2、通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换方法。

[实验内容]1 设系统的模型如式示。

p m n R y R u R x DCx y Bu Ax x ∈∈∈??+=+=&其中A 为n ×n 维系数矩阵、B 为n ×m 维输入矩阵 C 为p ×n 维输出矩阵,D 为传递阵,一般情况下为0,只有n 和m 维数相同时,D=1。

系统的传递函数阵和状态空间表达式之间的关系如式示。

D B A SI C s den s num s G +-==-1)()()(()(式中,)(s num 表示传递函数阵的分子阵,其维数是p ×m ;)(s den 表示传递函数阵的按s 降幂排列的分母。

2 实验步骤① 根据所给系统的传递函数或(A 、B 、C 阵),依据系统的传递函数阵和状态空间表达式之间的关系如式,采用MATLA 的编程。

注意:ss2tf 和tf2ss 是互为逆转换的指令;② 在MATLA 界面下调试程序,并检查是否运行正确。

③ [] 已知SISO 系统的状态空间表达式为,求系统的传递函数。

,2010050010000100001043214321u x x x x xx x x ?-+-=????????????&&&&[]???=43210001x x x x y程序:A=[0 1 0 0;0 0 -1 0;0 0 0 1;0 0 5 0]; B=[0;1;0;-2]; C=[1 0 0 0]; D=0;[num,den]=ss2tf(A,B,C,D,1)程序运行结果:num =0 den =0 0 0从程序运行结果得到:系统的传递函数为:24253)(ss s S G --= ④ [] 从系统的传递函数式求状态空间表达式。

利用matlab实现极点配置、设计状态观测器(现代控制)

利用matlab实现极点配置、设计状态观测器(现代控制)

实 验 报 告实验名称 利用MATLAB 实现极点配置、设计状态观测器系 专业 自动化 班 姓名 学号 授课老师 预定时间实验时间实验台号一、目的要求1、掌握状态反馈和输出反馈的概念及性质。

2、掌握利用状态反馈进行极点配置的方法。

学会用MATLAB 求解状态反馈矩阵。

3、掌握状态观测器的设计方法。

学会用MATLAB 设计状态观测器。

4、熟悉分离定理,学会设计带有状态观测器的状态反馈系统。

二、原理简述1、状态反馈和输出反馈设线性定常系统的状态空间表达式为Cxy Bu Ax x =+=如果采用状态反馈控制规律u= r-Kx ,其中 r 是参考输入,则状态反馈闭环系统的传递函数为:B BK A sIC G k 1)]([---=2、极点配置如果 SISO 线性定常系统完全能控,则可通过适当的状态反馈, 将闭环系统极点配置到任意期望的位置。

MATLAB 提供的函数acker( )是用Ackermann 公式求解状态反馈阵K 。

该函数的调用格 式为K=acker(A,B,P)其中A 和B 分别为系统矩阵和输入矩阵。

P 是期望极点构成的向量。

MATLAB 提供的函数place( )也可求出状态反馈阵K 。

该函数的调用格式为 K=place(A,B,P)函数place( )还适用于多变量系统极点配置,但不适用含有多重期望极点的问题。

函数acker( )不适用于多变量系统极点配置问题,但适用于含有多重期望极点问题。

三、仪器设备PC 计算机,MATLAB 软件⎣[y1=lsim(G,u,t); plot(t,y1,':',t,y2,'-')蓝色为配置前,绿色为配置后题5-3 某系统状态空间描述如下[]010100134326100x x u y x⎡⎤⎡⎤⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥----⎣⎦⎣⎦= 设计全维状态观测器,要求状态观测器的极点为[]123---。

程序>> A=[0 1 0;0 0 1;-4 -3 -2];B=[1;3;-6]'; C=[1 0 0]; D=0;p=[-1 -2 -3]; L=(acker(A',C',p))' 结果:L = 40 -10。

基于matlab的状态观测器设计

基于matlab的状态观测器设计

基于MATLAB 的状态观测器设计预备知识: 极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。

1. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且:Kx u input -=这时,闭环系统的状态空间模型为:⎩⎨⎧=+-=Cxy Bu x )BK A (x 2. 极点配置的MATLAB 函数 在MATLAB 控制工具箱中,直接用于系统极点配置的函数有acker()和place()。

调用格式为:K=acker(A,C,P) 用于单输入单输出系统其中:A ,B 为系统矩阵,P 为期望极点向量,K 为反馈增益向量。

K=place(A,B,P)(K,prec,message)=place(A,B,P)place()用于单输入或多输入系统。

Prec 为实际极点偏离期望极点位置的误差;message 是当系统某一非零极点偏离期望位置大于10%时给出的警告信息。

3. 极点配置步骤:(1)获得系统闭环的状态空间方程;(2)根据系统性能要求,确定系统期望极点分布P ;(3)利用MATLAB 极点配置设计函数求取系统反馈增益K ; (4)检验系统性能。

已知系统模型如何从系统的输入输出数据得到系统状态?初始状态:由能观性,从输入输出数据确定。

不足:初始状态不精确,模型不确定。

思路:构造一个系统,输出逼近系统状态称为是的重构状态或状态估计值。

实现系统状态重构的系统称为状态观测器。

观测器设计状态估计的开环处理:但是存在模型不确定性和扰动!初始状态未知!应用反馈校正思想来实现状态重构。

通过误差来校正系统:状态误差,输出误差。

基于观测器的控制器设计系统模型若系统状态不能直接测量,可以用观测器来估计系统的状态。

L是观测器增益矩阵,对偏差的加权。

真实状态和估计状态的误差向量误差的动态行为:的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来保证。

利用MATLAB实现极点配置、设计状态观测器现代控制

利用MATLAB实现极点配置、设计状态观测器现代控制
---------------------------------
11


(s+6.319) (s^2 + 2.681s + 2.057)
线
则闭环系统的零点为:-1
>> pole(G)
ans =
-6.3186 -1.3407 + 0.5099i -1.3407 - 0.5099i >> Uc=ctrb(A,B);rank(Uc)
蓝色为配置前,绿色为配置后
题 5-3 某系统状态空间描述如下
0 1 0 1
x


0
0
1

x


3

u
4 3 2 6
y 1 0 0 x
设计全维状态观测器,要求状态观测器的极点为 1 2 3。
程序>> A=[0 1 0;0 0 1;-4 -3 -2];
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);
6


t=0:0.5:20;
线
u=ones(size(t));
y2=lsim(G1,u,t);
y1=lsim(G,u,t);
plot(t,y1,':',t,y2,'-')
(2)分别选取 K=[0 3 0].K=[1 3 2],K=[0 3 1]为状态反馈矩阵,求解闭环系统的零点, 极点和传递函数,并判断系统的能控性和能观测性。它们是否发生改变?为什么?
(1)
程序
>> A=[0 1 0;0 0 1;-12 -16 -7];

实验2 利用MATLAB判断系统的稳定性

实验2   利用MATLAB判断系统的稳定性

G=Gt' (3)极点配置状态反馈系统的实现 根据(2)中的运行结果,用 SIMULINK 搭建仿真模型,实现极点配置状态反馈系统,绘制 系统的单位阶跃响应曲线
Step 1
x2 1 s Integrator 4
3
Gain 9
1 Gain 11
3 Gain 12
x1 1 s
Integrator 5
2 Gain 10

x

0 2
1 3
x

0 1u
y 1 0
K=
31
G=
9
7







四: a:
b

五:
(2)实验体会。
1:带有状态观测器的状态反馈系统在不同初始条件下更加稳定,反馈平稳,图像更加平缓, 稳定性更强。 2:初始状态值越大,系统稳定性 越低,、反馈时间越长,系统平稳所需时间越长。
[z,p,k]=ss2zp(A,B,C,D,1)
z= -4.3028 -0.6972
p= -1.6506 -0.1747 + 1.5469i -0.1747 - 1.5469i
k= 1
二:已知系统的状态方程和输出方程如下,用状态反馈使闭环系统的极点为-2+j、-2-j,
由于状态变量不能量测,设计状态观测器使观测器的极点为-6,-6
2 Gain 4
4 Out 4
Scope
4.实验报告: (1)写出将实验内容的程序和运行结果。
0 1 0 1

x 一:)判定系统的稳定性


0
0
1

x

现代控制理论实验内容

现代控制理论实验内容

现代控制理论实验一一、实验目的:1.熟悉MATLAB,掌握Simulink 工具的使用方法;2.根据传递函数设计出对应的能控、串联结构图;3.掌握极点配置状态反馈方法设计控制器技术;4.学会设计全维观测器。

二、实验内容: 已知系统传递函数)3)(2()1(6)(+++=s s s s s W 1. 用Simulink 对该系统进行实现(1)能控性实现(2)串联实现2. 以上述系统的串联实现为基础,实验研究:(1)系统在初始条件作用下的状态响应和输出响应(2)系统在阶跃输入信号作用下的状态响应和输出响应(3)分析系统在状态空间坐标原点的稳定性3. 以上述系统的能控实现为基础,设计状态反馈控制器要求:系统输出的最大超调量8.16%=δ,调节时间1=s t 秒仿真分析系统的实际工作效果,由系统输出的实际阶跃响应曲线计算最 大超调量、调节时间、稳态误差等系统的性能参数分析该系统在输出比例控制下是否会存在稳态误差?状态反馈控制下是否会存在稳态误差?分析出现这种差异的原因,讨论消除状态反馈稳态误差的方 法。

4. 以上述系统的串联实现为基础,设计系统的全维状态观测器,观测器极点全为-4。

仿真分析在原系统和观测器系统初始条件相同和不同时,观测状态与原状态变量的差值随时间变化的情况,例如改变观测器极点配置到-9,结果有何不同?5. 结合以上 3、4 的结果,应用观测状态实现状态反馈控制对比分析实际状态反馈与观测状态反馈系统控制效果的异同三、实验装置:1.微型计算机2.实验平台采用MATLAB 及Simulink 工具四、实验数据及分析1.(1)能控性实现根据状态空间表达式直接写出系统的能控标准I 型:[]066,100560100010=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=y u x x输出响应:(2)串联实现输出响应:2.(1)初始条件下的状态响应和输出响应:状态响应:输出响应:(2)阶跃信号作用下的状态响应和输出响应:状态响应:输出响应:分析系统在坐标原点的稳定性:在(1)中设置的初始值为1,1,1,由状态响应曲线可以看出X1并不能最终稳定在零点,其他两条输出曲线虽可稳定,但系统仍可认为在原点处是不稳定的。

利用MATLAB设计状态观测器—现代控制理论实验报告

利用MATLAB设计状态观测器—现代控制理论实验报告

实验六利用MATLAB设计状态观测器*******学号1121*****实验目的:1、学习观测器设计算法;2、通过编程、上机调试,掌握基于观测器的输出反馈控制系统设计方法。

实验原理:1、全阶观测器模型:()()x Ax Bu L y Cx A LC x Bu Ly =++-=-++由极点配置和观测器设计问题的对偶关系,也可以应用MATLAB 中极点配置的函数来确定所需要的观测器增益矩阵。

例如,对于单输入单输出系统,观测器的增益矩阵可以由函数L=(acker(A ’,C ’,V))’得到。

其中的V 是由期望的观测器极点所构成的向量。

类似的,也可以用L=(place(A ’,C ’,V))’来确定一般系统的观测器矩阵,但这里要求V 不包含相同的极点。

2、降阶观测器模型:ˆˆˆw AwBy Fu =++ b x w Ly =+基于降阶观测器的输出反馈控制器是:ˆˆˆˆ()[()]()b a bb a b w A FK w B F K K L y u K w K K L y=-+-+=--+对于降阶观测器的设计,使用MATLAB 软件中的函数L=(acker(Abb ’,Aab ’,V))’或L=(place(Abb ’,Aab ’,V))’可以得到观测器的增益矩阵L 。

其中的V 是由降阶观测器的期望极点所组成的向量。

实验要求1.在运行以上例程序的基础上,考虑图6.3所示的调节器系统,试针对被控对象设计基于全阶观测器和降阶观测器的输出反馈控制器。

设极点配置部分希望的闭环极点是1,2223j λ=-±,希望的观测器极点是(a ) 对于全阶观测器,18μ=-和 28μ=-; (b ) 对于降阶观测器,8μ=-。

比较系统对下列指定初始条件的响应:(a ) 对于全阶观测器: 1212(0)1,(0)0,(0)1,(0)0x x e e ====(b ) 对于降阶观测器:121(0)1,(0)0,(0)1x x e ===进一步比较两个系统的带宽。

现代控制系统分析与设计——基于matlab的仿真与实现

现代控制系统分析与设计——基于matlab的仿真与实现

现代控制系统分析与设计——基于matlab的仿真与实现随着社会经济的发展,现代控制理论对于促进技术进步有着巨大的贡献。

随着现代控制技术的发展,设计现代控制系统的重要性也随之增加。

本文的主要目的是分析和设计基于matlab的现代控制系统,并进行仿真和实现。

现代控制系统涉及多种理论,比如微分方程,线性系统理论,数字滤波,信号处理等等。

而matlab是一款非常便捷的工具,可以帮助我们更有效率的分析和设计现代控制系统。

首先,matlab可以用来帮助我们研究现代控制系统的特性和性能,可以实现过程模拟,帮助我们定义控制系统的模型,进而确定系统的参数,以此设计更有效的控制系统。

此外,matlab还可以进行提示性程序和实际应用程序的构建,可以用来实现现代控制系统的仿真。

仿真可以帮助我们更好地理解现代控制系统的工作原理和特性,因此,matlab可以用作控制系统的重要设计工具。

另外,matlab的可视化界面可以帮助我们实现更直观的仿真,它可以提供更多的可视化效果,以便实现对控制系统特性和性能的详细分析和研究。

最后,matlab也可以用来实现现代控制系统的实际实施,利用matlab来实现控制系统,不仅可以增加开发效率,更重要的是可以增加系统稳定性和可靠性。

综上所述,matlab可以用来分析和设计现代控制系统,实现仿
真和实施,这一切都有助于提高我们的现代控制系统设计的效率和水平,从而大大提高了我们的社会生活和工作效率。

现代控制实验状态反馈器和状态观测器的设计

现代控制实验状态反馈器和状态观测器的设计

现代控制实验状态反馈器和状态观测器的设计现代控制实验中,状态反馈器和状态观测器是设计系统的重要组成部分。

状态反馈器通过测量系统的状态变量,并利用反馈回路将状态变量与控制输入进行耦合,以优化系统的性能指标。

状态观测器则根据系统的输出信息,估计系统的状态变量,以便实时监测系统状态。

本文将分别介绍状态反馈器和状态观测器的设计原理和方法。

一、状态反馈器的设计:状态反馈器的设计目标是通过调整反馈增益矩阵,使得系统的状态变量在给定的性能要求下,达到所需的一组期望值。

其设计步骤如下:1.系统建模:通过对被控对象进行数学建模,得到描述系统动态行为的状态空间表达式。

通常表示为:ẋ=Ax+Buy=Cx+Du其中,x为系统状态向量,u为控制输入向量,y为系统输出向量,A、B、C、D为系统的状态矩阵。

2.控制器设计:根据系统的动态性能要求,选择一个适当的闭环极点位置,并计算出一个合适的增益矩阵。

常用的设计方法有极点配置法、最优控制法等。

3.状态反馈器设计:根据控制器设计得到的增益矩阵,利用反馈回路将状态变量与控制输入进行耦合。

状态反馈器的输出为:u=-Kx其中,K为状态反馈增益矩阵。

4.性能评估与调整:通过仿真或实验,评估系统的性能表现,并根据需要对状态反馈器的增益矩阵进行调整。

二、状态观测器的设计:状态观测器的设计目标是根据系统的输出信息,通过一个状态估计器,实时估计系统的状态变量。

其设计步骤如下:1.系统建模:同样地,对被控对象进行数学建模,得到描述系统动态行为的状态空间表达式。

2.观测器设计:根据系统的动态性能要求,选择一个合适的观测器极点位置,以及一个合适的观测器增益矩阵。

常用的设计方法有极点配置法、最优观测器法等。

3.状态估计:根据观测器设计得到的增益矩阵,通过观测器估计系统的状态变量。

状态观测器的输出为:x^=L(y-Cx^)其中,L为观测器增益矩阵,x^为状态估计向量。

4.性能评估与调整:通过仿真或实验,评估系统的状态估计精度,并根据需要对观测器的增益矩阵进行调整。

现代理论控制实验3

现代理论控制实验3
由Uc=ctrb(a,b);rank(Uc)得
ans =3,所以系统是能控的
由Vo=obsv(a,c);rank(Vo)得
ans =3,所以系统是能观的
(2)
a.
选取K=[0 3 0] 为状态反馈矩阵,解得闭环ห้องสมุดไป่ตู้统的零点、极点和传递函数如下
由a=[-3 0 0;0 2 0;0 0 -1];b=[1 1 1]';k=[0 3 0];a1=a+b*k得
三、实验过程及结果
1. 已知系统
(1)求解系统的零点、极点和传递函数,并判断系统的能控性和能观测性。
(2)分别选取K=[0 3 0],K=[1 3 2],K=[0 16 /3–1/3]为状态反馈矩阵,求解闭环系统的零点、极点和传递函数,判断闭环系统的能控性和能观测性。它们是否发生改变?为什么?
(3)任选三个输出反馈矩阵,求解闭环系统的零点、极点和传递函数,并判断系统的能控性和能观测性。它们是否发生改变? 为什么?
[xo,x,t]=simobsv(g1,l);plot(t,x,'-k',t,xo,':r')
观测器观测到的状态如下
其中l=
(4)
三、实验结果
1(1)
系统的零点、极点和传递函数如下
由a=[-3 0 0;0 2 0;0 0 -1];b=[1 1 1]';c=[0.4 0.2667 0.3333];g1=ss(a,b,c,0);g1=tf(g1)得
g1=
由g1=zpk(g1)得
系统的零点为1,-2;系统的极点为-3,-1,2
系统的能控性和能观性判断如下
ans =3,所以系统是能控的
由Vo=obsv(a,c);rank(Vo)得

利用MATLAB设计状态观测器

利用MATLAB设计状态观测器

x%
+
⎢ ⎢
0
⎥ ⎥
u
+
⎢⎢147.3875⎥⎥
y
⎜⎝ ⎢⎣1.244 0.3965 −3.145⎥⎦ ⎢⎣544.3932⎥⎦
⎟⎠ ⎢⎣1.244⎥⎦ ⎢⎣544.3932⎥⎦
⎡ −16.855 = ⎢⎢−147.3875
⎣⎢−543.1492
1 0 0.3965
0 ⎤ ⎡ 0 ⎤ ⎡ 16.855 ⎤
统(5.9)具有任意给定的极点,这样的矩阵 L 可以应用全阶观测器的设计方法来设计。矩
阵 L 也称为是系统的降阶观测器增益矩阵。
对于降阶观测器的设计,使用 MATLAB 软件中的函数
L=(acker(Abb’,Aab’,V))’ 或
L=(place(Abb’,Aab’,V))’
可以得到观测器的增益矩阵 L 。其中的 V 是由降阶观测器的期望极点所组成的向量。
确定所需要的观测器增益矩阵。例如,对于单输入单输出系统,观测器的增益矩阵可以由函

L=(acker(A’,C’,V))’ 得到。其中的 V 是由期望的观测器极点所构成的向量。类似的,也可以用
L=(place(A’,C’,V))’ 来确定一般系统的观测器矩阵,但这里要求 V 不包含相同的极点。
5.3.2 降阶观测器设计
实验 5 利用 MATLAB 设计状态观测器
5.1 实验设备
同实验 1。
5.2 实验目的
1、学习观测器设计算法;
2、通过编程、上机调试,掌握基于观测器的输出反馈控制系统设计方法。
5.3 实验原理说明
5.3.1 全阶观测器设计
考虑如下的线性时不变系统
⎧x& = Ax + Bu

现代控制实验--状态反馈器和状态观测器的设计

现代控制实验--状态反馈器和状态观测器的设计

现代控制实验--状态反馈器和状态观测器的设计-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN状态反馈器和状态观测器的设计一、实验设备PC 计算机,MATLAB 软件,控制理论实验台,示波器二、实验目的(1)学习闭环系统极点配置定理及算法,学习全维状态观测器设计法;(2)掌握用极点配置的方法(3)掌握状态观测器设计方法(4)学会使用MATLAB工具进行初步的控制系统设计三、实验原理及相关知识(1)设系统的模型如式所示若系统可控,则必可用状态反馈的方法进行极点配置来改变系统性能。

引入状态反馈后系统模型如下式所示:(2)所给系统可观,则系统存在状态观测器四、实验内容(1)某系统状态方程如下10100134326x x u •⎡⎤⎡⎤⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥----⎣⎦⎣⎦[]100y x =理想闭环系统的极点为[]123---.(1)采用 Ackermann 公式计算法进行闭环系统极点配置;代码:A=[0 1 0;0 0 1;-4 -3 -2];B=[1; 3; -6];P=[-1 -2 -3];K=acker(A,B,P)Ac=A-B*Keig(Ac)(2)采用调用 place 函数法进行闭环系统极点配置;代码:A=[0 1 0;0 0 1;-4 -3 -2];B=[1;3;-6];eig(A)'P=[-1 -2 -3];K=place(A,B,P)eig(A-B*K)'(3)设计全维状态观测器,要求状态观测器的极点为[]---123代码:a=[0 1 0;0 0 1;-4 -3 -2];b=[1;3;-6];c=[1 0 0];p=[-1 -2 -3];a1=a';b1=c';c1=b';K=acker(a1,b1,p);h=(K)'ahc=a-h*c(2)已知系统状态方程为:10100134326x x u •⎡⎤⎡⎤⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥----⎣⎦⎣⎦[]100y x =(1)求状态反馈增益阵K ,使反馈后闭环特征值为[-1 -2 -3];代码:A=[0 1 0;0 0 1;4 -3 -2];b=[1;3;-6];p=[-1 -2 -3];k=acker(A,b,p)A-b*keig(A-b*k)(2)检验引入状态反馈后的特征值与希望极点是否一致。

Matlab控制系统设计工具箱的状态反馈控制指南

Matlab控制系统设计工具箱的状态反馈控制指南

Matlab控制系统设计工具箱的状态反馈控制指南引言:状态反馈控制是控制系统设计中常用的一种方法。

它通过测量系统状态,并将其反馈回控制器中,以调节系统的输出。

Matlab控制系统设计工具箱提供了一些强大的功能和工具,使得状态反馈控制的设计变得更加简单和方便。

本文将探讨Matlab控制系统设计工具箱中的状态反馈控制设计,并提供一些实例进行演示和说明。

一、Matlab控制系统设计工具箱简介Matlab控制系统设计工具箱是Matlab提供的一个用于控制系统设计与分析的工具。

它集成了多种控制系统设计和分析方法,包括状态反馈控制、PID控制、根轨迹设计等。

其中,状态反馈控制是一个重要且常用的设计方法,可以用来改善系统的稳定性、响应速度和鲁棒性。

二、Matlab控制系统设计工具箱中的状态反馈控制设计1. 系统模型的建立在进行状态反馈控制设计之前,我们首先需要建立被控对象的数学模型。

这个模型可以通过系统的物理特性、传递函数或差分方程等方式得到。

在Matlab中,我们可以使用tf或zpk函数来建立连续或离散的传递函数模型,并使用ss函数建立状态空间模型。

2. 系统的可控性和可观性分析在进行状态反馈控制设计之前,我们需要对系统进行可控性和可观性分析。

可控性是指系统是否可以通过状态反馈方式对其进行控制;可观性是指系统是否可以通过测量其输出对系统的状态进行估计。

在Matlab中,我们可以使用ctrb和obsv函数来进行可控性和可观性分析。

3. 构造状态反馈控制器构造状态反馈控制器的目标是通过选择适当的反馈矩阵来使系统在闭环下具有所需的性能指标。

在Matlab中,我们可以使用place函数来通过极点配置的方式构造状态反馈控制器,也可以使用lqr函数来进行基于线性二次调节器的控制器设计。

4. 系统的闭环分析在构造状态反馈控制器之后,我们需要对闭环系统进行性能分析。

通常,我们可以通过计算系统的特征根来评估系统的稳定性和响应速度。

实验6极点配置与全维状态观测器的设计

实验6极点配置与全维状态观测器的设计

实验 6 极点配置与全维状态观测器的设计一、实验目的1. 加深对状态反馈作用的理解。

2. 学习和掌握状态观测器的设计方法。

二、实验原理在MATLAB 中,可以使用acker 和place 函数来进行极点配置,函数的使用方法如下:K = acker(A,B,P) A,B为系统系数矩阵,P为配置极点,K为反馈增益矩阵。

K = place(A,B,P) A,B为系统系数矩阵,P为配置极点,K为反馈增益矩阵。

[K,PREC,MESSAGE] = place(A,B,P) A,B为系统系数矩阵,P为配置极点,K为反馈增益矩阵,PREC 为特征值,MESSAGE 为配置中的出错信息。

三、实验内容已知系统判断系统稳定性,说明原因。

若不稳定,进行极点配置,期望极点:-1,-2,-3,求出状态反馈矩阵k。

讨论状态反馈与输出反馈的关系,说明状态反馈为何能进行极点配置(4)使用状态反馈进行零极点配置的前提条件是什么1.(1)(2)代码:a=[-2 -1 1;1 0 1;-1 0 1];b=[1,1,1]';p=[-1,-2,-3]';K=acker(a,b,p)K =-1 2 4讨论状态反馈与输出反馈的关系, 说明状态反馈为何能进行极点配置在经典控制理论中,一般只考虑由系统的输出变量来构成反馈律,即输出反馈。

在现代控制理论的状态空间分析方法中,多考虑采用状态变量来构成反馈律,即状态反馈。

从状态空间模型输出方程可以看出,输出反馈可视为状态反馈的一个特例。

状态反馈可以提供更多的补偿信息,只要状态进行简单的计算再反馈,就可以获得优良的控制性能。

使用状态反馈配置极点的前提是系统的状态是完全可控的。

已知系统设计全维状态观测器,使观测器的极点配置在12+j,12-j 。

(1)给出原系统的状态曲线。

(2)给出观测器的状态曲线并加以对比。

(观测器的初始状态可以任意选取)观察实验结果,思考以下问题:(1)说明反馈控制闭环期望极点和观测器极点的选取原则。

现代控制理论状态反馈和状态观测器的设计实验报告

现代控制理论状态反馈和状态观测器的设计实验报告

现代控制理论状态反馈和状态观测器的设计实验报告本次实验是关于现代控制理论中状态反馈与状态观测器的设计与实现。

本次实验采用MATLAB进行模拟与仿真,并通过实验数据进行验证。

一、实验目的1、学习状态反馈控制的概念、设计方法及其在实际工程中的应用。

3、掌握MATLAB软件的使用方法。

二、实验原理1、状态反馈控制状态反馈控制是指将系统状态作为反馈控制的输出,通过对状态反馈控制器参数的设计,使系统的状态响应满足一定的性能指标。

状态反馈控制的设计步骤如下:(1) 确定系统的状态方程,即确定系统的状态矢量、状态方程矩阵和输出矩阵;(2) 设计状态反馈控制器的反馈矩阵,即确定反馈增益矩阵K;(3) 检验状态反馈控制器性能是否满足要求。

2、状态观测器(1) 确定系统的状态方程;(2) 设计观测器的状态估计矩阵和输出矩阵;(3) 检验观测器的状态估计精度是否符合标准。

三、实验内容将简谐信号加入单个质点振动系统,并对状态反馈控制器和状态观测器进行设计与实现。

具体实验步骤如下:1、建立系统状态方程:(1)根据系统的物理特性可得单自由度振动系统的运动方程为:m¨+kx=0(2)考虑到系统存在误差、干扰等因素,引入干扰项,得到系统状态方程:(3)得到系统状态方程为:(1)观察系统状态方程,可以发现系统状态量只存在于 m 行 m 到 m 行 n 之间,而控制量只存在于 m 行 1 到 m 行 n 之间,满足可控性条件。

(2)本次实验并未给出状态变量的全部信息,只给出了系统的一维输出,因此需要设计状态反馈器。

(3)我们采用极点配置法进行状态反馈器设计。

采用 MATLAB 工具箱函数,计算出极点:(4) 根据极点求解反馈矩阵,得到状态反馈增益矩阵K:(1)通过矩阵计算得到系统的可观性矩阵:(2)由若干个实测输出建立观测器,可将观测器矩阵与可观测性矩阵组合成 Hankel 矩阵,求解出状态观测器系数矩阵:(3)根据系统的状态方程和输出方程,设计观测方程和状态估计方程,如下:4、调试控制器和观测器(1)经过上述设计步骤,将反馈矩阵和观测矩阵带入 MATLAB 工具箱函数进行仿真。

现代控制工程大作业

现代控制工程大作业

目 录题目一: (1)一、系统设计及仿真分析 ............................................... 错误!未定义书签。

1.确定被控系统状态空间体现式 (1)2.系统能控、能观性鉴别 (1)3.系统极点配置 (1)4.确定状态反馈增益矩阵 (2)5.确定输入变换线性放大器K (2)6.验证跟踪单位斜坡输入信号旳稳态误差 (2)7、运用SIMULINK 建立控制系统旳动态仿真模型 ....................错误!未定义书签。

(1)跟踪单位阶跃信号旳动态仿真分析 ..................................错误!未定义书签。

(2)跟踪单位斜坡信号旳动态仿真分析 ..................................错误!未定义书签。

二、采用全维状态观测器旳状态反馈系统....................... 错误!未定义书签。

1.配置闭环系统状态观测器极点 (4)2.确定观测器偏差反馈增益矩阵G (4)3.运用SIMULINK 建立系统动态仿真模型 (5)(1)对单位阶跃输入信号仿真分析 ..........................................错误!未定义书签。

(2)对单位斜坡输入信号仿真分析 ..........................................错误!未定义书签。

4.与采用直接状态反馈旳控制系统仿真成果比较 (7)(1)0)0(=x 且0)0(ˆ=x时旳仿真成果比较 ...............................错误!未定义书签。

(2)0)0(=x 且[]222)0(ˆ=x时旳仿真成果比较 ...................错误!未定义书签。

5.单位阶跃输入作用下状态估值误差收敛性分析 (8)(1)收敛过程分析......................................................................错误!未定义书签。

现代控制实验--状态反馈器和状态观测器的设计

现代控制实验--状态反馈器和状态观测器的设计

状态反馈器与状态观测器得设计一、实验设备PC 计算机,MATLAB 软件,控制理论实验台,示波器二、实验目得(1)学习闭环系统极点配置定理及算法,学习全维状态观测器设计法;(2)掌握用极点配置得方法(3)掌握状态观测器设计方法(4)学会使用MATLAB工具进行初步得控制系统设计三、实验原理及相关知识(1)设系统得模型如式所示若系统可控,则必可用状态反馈得方法进行极点配置来改变系统性能。

引入状态反馈后系统模型如下式所示:(2)所给系统可观,则系统存在状态观测器四、实验内容(1)某系统状态方程如下理想闭环系统得极点为、(1)采用 Ackermann 公式计算法进行闭环系统极点配置; 代码:A=[0 1 0;0 0 1;4 3 2];B=[1; 3; 6];P=[1 2 3];K=acker(A,B,P)Ac=AB*Keig(Ac)(2)采用调用 place 函数法进行闭环系统极点配置; 代码:A=[0 1 0;0 0 1;4 3 2];B=[1;3;6];eig(A)'P=[1 2 3];K=place(A,B,P)eig(AB*K)'(3)设计全维状态观测器,要求状态观测器得极点为代码:a=[0 1 0;0 0 1;4 3 2];b=[1;3;6];c=[1 0 0];p=[1 2 3];a1=a';b1=c';c1=b';K=acker(a1,b1,p);h=(K)'ahc=ah*c(2)已知系统状态方程为:(1)求状态反馈增益阵K,使反馈后闭环特征值为[1 2 3]; 代码:A=[0 1 0;0 0 1;4 3 2];b=[1;3;6];p=[1 2 3];k=acker(A,b,p)Ab*keig(Ab*k)(2)检验引入状态反馈后得特征值与希望极点就是否一致。

(3)比较状态反馈前后得系统阶跃响应。

代码:A1=[0 1 0;0 0 1;4 3 2];B1=[1;3;6];C1=[1 0 0];D1=[0];G1=ss(A1,B1,C1,D1);[y1,t1,x1]=step(G1);P=[1 2 3];K=acker(A1,B1,P);abk=A1B1*K;A2=abk;B2=B1;C2=C1;D2=D1;G2=ss(A2,B2,C2,D2);[y2,t2,x2]=step(G2);hold onplot(t1,x1)plot(t2,x2)(4)设计全阶状态观测器,要求状态观测器得极点为[5 6 7]。

现代控制理论的MATLAB实现

现代控制理论的MATLAB实现

x Ax Bu y Cx Du
其中,x是n维的状态向量,u是m维的输入向量,y是r维的 输出向量。矩阵A(n×n)称为状态矩阵,B(n×m)称为输入 矩阵,C(r×n)称为输出矩阵,D(r×m)称为直接转移矩阵, D通常为零矩阵。
1、状态空间模型与传统传递函数
1.2 传递函数与状态空间之间的转换
4、 MATLAB中的状态反馈与极点配置
4.1.1状态反馈
状态反馈是将系统每一个状态变量乘以相应 的反馈系数,然后反馈到输入端与参考输入 叠加形成控制输入,其结构框图如下所示:
v + + u + + A K x'
B

x C
y
4、 MATLAB中的状态反馈与极点配置
4.1.1状态反馈
上述系统的状态空间表达式为:
v + u + x'
B C 同样可得输出反馈系统的状态空间表达式: + x + ( A BHC ) x BR A y Cx H

x
y
4、 MATLAB中的状态反馈与极点配置
4.2状态反馈系统的极点配置
反馈极点配置问题,是指对于给定的受控系统, 如何寻找反馈控制,使得所构成的闭环系统的极 点配置在所希望的位置上,从而达到规定性能指 标的要求。极点配置可以通过输出反馈来实现, 也可以通过状态反馈来实现。经典控制理论中的 根轨迹法,就是通过改变某个参数,使闭环极点 达到希望的位置,它就是一种基于输出反馈的极 点配置。然而,对于输出反馈来说,这种重新配 置闭环极点的能力非常有限。现代控制理论中, 当采用状态反馈时,可改变的参数多,使这种重 新配置闭环极点的能力大大增加。
2、利用MATLAB分析系统的能控性和能观性
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
t=0::20;
u=ones(size(t));
y2=lsim(G1,u,t);
y1=lsim(G,u,t);
plot(t,y1,':',t,y2,'-')
蓝色为配置前,绿色为配置后
题5-3某系统状态空间描述如下
设计全维状态观测器,要求状态观测器的极点为 。
程序>> A=[0 1 0;0 0 1;-4 -3 -2];
实 验 报 告
实验名称利用MATLAB实现极点配置、设计状态观测器

专业
自动化

姓名
学号
授课老师
预定时间
实验时间
实验台号
一、目的要求
1、掌握状态反馈和输出反馈的概念及性质。
2、掌握利用状态反馈进行极点配置的方法。学会用MATLAB求解状态反馈矩阵。
3、掌握状态观测器的设计方法。学会用MATLAB设计状态观测器。
sys=ss(A1,B,C,D);
G1=zpk(sys)
结果:
Zero/pole/gain:
(s+(s+
--------------------
(s+3) (s+2) (s+1)
则其极点为-1,-2,-3
题5-2 某控制系统的状态方程描述如下:
y=[1 7 24 24]x
通过状态反馈使系统的闭环极点配置在[-30 ]位置上,求出状态反馈矩阵K,验证闭环极点,并绘制闭环系统的阶跃响应曲线进行对比。
C=[1 0 0];
D=0;
k=[];
A1=A-B*k;
sys=ss(A1,B,C,D);
G1=zpk(sys)
结果:Zero/pole/gain:
(s^2 + 5s + 15)
-------------------------
(s+1) (s+(s+
则其极点为-1 ,-2 ,-3
(2)
程序:
>> A=[0 1 0;0 0 1;-4 -3 -2];
程序>> A=[-10 -35 -50 -24;1 0 0 0;0 1 0 0;0 0 1 0];
B=[1;0;0;0];
C=[1 7 24 24];
D=0;
p=[-30+4i];
k=place(A,B,p)
结果:k =
验证:
程序:>> A=[-10 -35 -50 -24;1 0 0 0;0 1 0 0;0 0 1 0];
0+0
0 0-
则矩阵A的特征根为:,+,-
程序:
>> A=[0 1 0;0 0 1;-4 -3 -2];
B=[1;3;-6];
C=[1 0 0];
D=0;
p=[-1 -2 -3];
k=acker(A,B,p)
结果:k =
验证:
>> A=[0 1 0;0 0 1;-4 -3 -2];
B=[1;3;6];
(s+30) (s+(s^2 ++
>> A=[-10 -35 -50 -24;1 0 0 0;0 1 0 0;0 0 1 0];
B=[1;0;0;0];
C=[1 7 24 24];
D=0;
G=ss(A,B,C,D);
p=[-30+4i];
k=place(A,B,p);
A1=A-B*k;
G1=ss(A1,B,C,D);
D=0;
k=[0 1 3];
A1=A-B*k;
sys=ss(A1,B,C,D);
G=zpk(sys)
Zero/pole/gain:
6 (s+1)
-------------------------------
(s+(s^2 ++
>> Uc=ctrb(A,B);rank(Uc)
ans =
3
则系统具有能控性
rank(Vo)
结果:ans =3
则系统能观
(2)
①当k=[0 3 0]时:
程序>> A=[0 1 0;0 0 1;-12 -16 -7];
B=[0;0;1];
C=[6 6 0];
D=0;
k=[0 3 0];
A1=A-B*k;
sys=ss(A1,B,C,D);
G=zpk(sys)
结果:Zero/pole/gain:
>> Vo=obsv(A,C);
rank(Vo)
ans =
3
则系统具有能观测性
分析:
系统完全能控则可以任意配置极点,配置极点不改变系统的能控性,但可能改变系统的能观测性。不存在零极相消的情况下,则不改变系统的能观测性。
五、分析讨论
通过本次试验,掌握了状态反馈和输出反馈的概念及性质。掌握了利用状态反馈进行极点配置的方法。学会了用MATLAB求解状态反馈矩阵。掌握了状态观测器的设计方法。学会了用MATLAB设计状态观测器。熟悉了分离定理,学会了设计简单的带有状态观测器的状态反馈系统。原本通过平常的上课,对于一些概念我还是没有完全掌握,比如极点配置,状态反馈,输出反馈。通过实验的验证,翻阅书籍,使我对于书本上的概念产生了更深的理解,学会了分析验证书本上的定理而不是盲目学习。
6 (s+1)
---------------------------------
(s+(s^2 ++
则零点为-1
>> pole(G)
ans =
+
-
>> Uc=ctrb(A,B);rank(Uc)
ans =
3
>> Vo=obsv(A,C);
rank(Vo)
ans =
3
②当k=[1 3 2]时:
程序>> A=[0 1 0;0 0 1;-12 -16 -7];
程序
>> A=[0 1 0;0 0 1;-12 -16 -7];
B=[0;0;1];
C=[6 6 0];
D=0;
Uc=ctrb(A,B);rank(Uc)
结果:ans = 3
则系统能控
程序:
>> A=[0 1 0;0 0 1;-12 -16 -7];
B=[0;0;1];
C=[6 6 0];
D=0;
Vo=obsv(A,C);
B=[1;3;-6]';
C=[1 0 0];
D=0;
p=[-1 -2 -3];
L=(acker(A',C',p))'
结果:L = 4
0
-10
题5-4已知系统
y=[6 6 0]x
(1)求系统的零点,极点和传递函数,并判断系统的能控性和能观测性。
(2)分别选取K=[0 3 0].K=[1 3 2],K=[0 3 1]为状态反馈矩阵,求解闭环系统的零点,极点和传递函数,并判断系统的能控性和能观测性。它们是否发生改变为什么
MATLAB 提供的函数acker( )是用Ackermann 公式求解状态反馈阵K。该函数的调用格
式为
K=acker(A,B,P)
其中A 和B 分别为系统矩阵和输入矩阵。P 是期望极点构成的向量。
MATLAB提供的函数place( )也可求出状态反馈阵K。该函数的调用格式为
K=place(A,B,P)
B=[1;0;0;0];
C=[1 7 24 24];
D=0;
p=[-30+4i];
k=place(A,B,p);
A1=A-B*k;
sys=ss(A1,B,C,D);
G1=zpk(sys)
结果:Zero/pole/gain:
(s+(s^2 ++
------------------------------------
>> pole(G)
ans =
+
-
>> Uc=ctrb(A,B);rank(Uc)
ans =
3
则系统具有能控性
>> Vo=obsv(A,C);
rank(Vo)
ans =
3
则系统具有能观测性
③当k=[0 1 3]时:
>> A=[0 1 0;0 0 1;-12 -16 -7];
B=[0;0;1];
C=[6 6 0];
4、熟悉分离定理,学会设计带有状态观测器的状态反馈系统。
2、原理简述
1、状态反馈和输出反馈
设线性定常系统的状态空间表达式为
如果采用状态反馈控制规律u=r-Kx,其中r是参考输入,则状态反馈闭环系统的传递函数为:
2、极点配置
如果SISO线性定常系统完全能控,则可通过适当的状态反馈,将闭环系统极点配置到任意期望的位置。
B=[1;3; -6];
C=[1 0 0];
D=0;
p=[-1 -2 -3];
k=place(A,B,p)
结果:k =验证:程:>> A=[0 1 0;0 0 1;-4 -3 -2];
B=[1;3; -6];
C=[1 0 0];
D=0;
p=[-1 -2 -3];
k=place(A,B,p);
A1=A-B*k;
(2)采用Ackermann公式计算法进行闭环系统极点配置;
(3)采用调用place函数法进行闭环系统极点配置。
>> A=[0 1 0;0 0 1;-4 -3 -2];
相关文档
最新文档