全维状态观测器的设计
- 格式:doc
- 大小:73.00 KB
- 文档页数:8
实验 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.已知系统(1)判断系统稳定性,说明原因。
(2)若不稳定,进行极点配置,期望极点:-1,-2,-3,求出状态反馈矩阵k。
(3)讨论状态反馈与输出反馈的关系,说明状态反馈为何能进行极点配置?(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(3)讨论状态反馈与输出反馈的关系, 说明状态反馈为何能进行极点配置?在经典控制理论中,一般只考虑由系统的输出变量来构成反馈律,即输出反馈。
在现代控制理论的状态空间分析方法中,多考虑采用状态变量来构成反馈律,即状态反馈。
从状态空间模型输出方程可以看出,输出反馈可视为状态反馈的一个特例。
状态反馈可以提供更多的补偿信息,只要状态进行简单的计算再反馈,就可以获得优良的控制性能。
(4)使用状态反馈配置极点的前提是系统的状态是完全可控的。
2.已知系统设计全维状态观测器,使观测器的极点配置在12+j,12-j 。
(1)给出原系统的状态曲线。
(2)给出观测器的状态曲线并加以对比。
(观测器的初始状态可以任意选取)观察实验结果,思考以下问题:(1)说明反馈控制闭环期望极点和观测器极点的选取原则。
现代控制实验--状态反馈器和状态观测器的设计-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)检验引入状态反馈后的特征值与希望极点是否一致。
全维状态观测器的设计全维状态观测器(Full State Observer)是一种常用于控制系统中的重要部件,用于获取系统的全部状态信息。
它通常是通过对系统的输入输出进行观测,并通过数学模型来估算系统的状态。
全维状态观测器的设计可以通过以下步骤来完成。
第一步是系统建模。
将所要观测的系统建立数学模型,可以采用物理方程或者数学模型的方式。
常见的数学模型包括状态方程和输出方程。
状态方程描述了系统状态的时间演变规律,输出方程则描述了系统输出与状态之间的关系。
这些方程可以通过系统的运动方程,控制方程和物理特性等来建立。
第二步是选择观测器类型。
全维状态观测器有多种类型,包括基本观测器、极点配置观测器和最优观测器等。
基本观测器是使用系统的状态方程和输出方程来估算系统状态的观测器,而极点配置观测器和最优观测器则是通过最小化误差来估算系统状态,从而提高观测器的精度。
合适的观测器类型应该根据控制系统的需求来选择。
第三步是计算观测器矩阵。
观测器矩阵是观测器中用来计算系统状态的矩阵。
它可以使用系统的状态方程和输出方程来计算。
观测器矩阵需要满足一些性质,例如它需要是可观测的,并且需要保证系统状态与观测器状态的误差最小。
第五步是实现观测器。
实现观测器需要将观测器矩阵和观测器增益输入到观测器中,并对观测器的输入输出进行校验。
一旦观测器被设计并实现,它就可以用于控制系统中,并用来估算系统的全部状态信息。
总之,全维状态观测器的设计是控制系统中的重要部件,可以极大地提高控制系统的精度和稳定性。
设计一个好的全维状态观测器需要仔细分析系统模型和观测器类型,计算观测器矩阵和观测器增益,并进行实现和调试。
卖验报告镌程 銭性*统理论基础 令敲可朗2016年g 刀互目 *业去飲 _______ 学号 _耐俎人 _________ 丈 检名 怂 全* 状 态 观 删 星 的 设计 评分 ______馳闻敎艸签丰 ___________一、卖軽可的1. 学习用状态观测森灰取糸统状态估计值的方出,了鮮全维状态观测森的 极点对状态的估计谖臭的彩响;2. 拿握全维状态观测森的设计方法;3. 拿提带有状态观测森的状态反馈糸统设计方出。
x = Ax + bu开环糸统彳,其中y = exa)用状态反馈配.更糸疣的诃环极点:一2土丿PJM —5 ;b) 设计全维状态观测爰.叽测乐的圾点为:一5±)2丿亍,一10; c) 研兗观测乐圾点住逍对仕计状态遍近彼仕计值的彩响;・01 0_OA =0 1 ,b =-6-11 61c = p 0 0]绘制糸统的输出阶跃响应曲线。
三.实脍环境MATLAB6.5宾唸々理图丿及歩螺利用状态及馈可以使诃环糸疣的圾盍配逍疫所希玺的住置上,其条件是必须对全部状态变量都能进行测量,仅A卖际糸统中.并不是所冇状态变量却能测量的,这就给状态反馈的卖现岌成了困难。
因此要设法利用己知的传息(綸出量y和綸入量x)>通过一个栈空重新构逡糸统状态以对状态变量进行仕计。
该楼型就称为状态观测森。
若状态观测森的阶次与务统的阶次是相同的,这擇的状态观测容就称为全维状态观测森戎全阶观测怎。
设糸疣兜全可观.則可构凌如图4・1所承的状态观測余国4-1 全维状态观測容为求出状态观測爰的反馈ke增益,与极点紀.1.类很.也可有而种方法:为比一:构逡雯换矩阵Q,使糸统支成标准能观淫.然后根据持征方程求岀匕;•资料. ^方出二:是可采用Ackermann 公 < : k c = [O 0…0 if,其中0。
为可观性矩阵。
利用对偶虑理,可使沒计问題大为简化。
管丸构凌对偶糸统'^=A T^+ C T Vhg然后可由变换法或Ackermann小式求出极点紀.1.的反馈k增益,这也可由MATLAB的place和acker函散得刊;呆后求出状态观测乐的反馈增益。
本科实验报告课程名称:现代控制理论实验项目:状态反馈和状态观测器的设计实验地点:中区机房专业班级:自动化学号:学生:指导教师:年月日现代控制理论基础一、实验目的(1)熟悉和掌握极点配置的原理。
(2)熟悉和掌握观测器设计的原理。
(3)通过实验验证理论的正确性。
(4)分析仿真结果和理论计算的结果。
二、实验要求(1)根据所给被控系统和性能指标要求设计状态反馈阵K。
(2)根据所给被控系统和性能指标要求设计状态观测器阵L。
(3)在计算机上进行分布仿真。
(4)如果结果不能满足要求,分析原因并重复上述步骤。
三、实验容(一)、状态反馈状态反馈是将系统的状态变量乘以相应的反馈系数,然后反馈到输入端与参考输入叠加形成控制作为受控系统的控制输入,采用状态反馈不但可以实现闭环系统的极点任意配置,而且也是实现解耦和构成线性最优调节器的主要手段。
1.全部极点配置给定控制系统的状态空间模型,则经常希望引入某种控制器,使得该系统的闭环极点移动到某个指定位置,因为在很多情况下系统的极点位置会决定系统的动态性能。
假设系统的状态空间表达式为(1)其中 n m C r n B n n A ⨯⨯⨯::;:;: 引入状态反馈,使进入该系统的信号为Kx r u -=(2)式中r 为系统的外部参考输入,K 为n n ⨯矩阵. 可得状态反馈闭环系统的状态空间表达式为(3)可以证明,若给定系统是完全能控的,则可以通过状态反馈实现系统的闭环极点进行任意配置。
假定单变量系统的n 个希望极点为λ1,λ2, …λn, 则可以求出期望的闭环特征方程为=)(*s f (s-λ1)(s-λ2)…(s-λn)=n n n a s a s +++- 11这是状态反馈阵K 可根据下式求得K=[])(100*1A f U c -(4)式中[]b A Ab b U n c 1-= ,)(*A f 是将系统期望的闭环特征方程式中的s 换成系统矩阵A 后的矩阵多项式。
例1已知系统的状态方程为u x x ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=•111101101112 采用状态反馈,将系统的极点配置到-1,-2,-3,求状态反馈阵K..其实,在MATLAB的控制系统工具箱中就提供了单变量系统极点配置函数acker(),该函数的调用格式为K=acker(A,b,p)式中,p为给定的极点,K为状态反馈阵。
实 验 报 告
课程 线性系统理论基础 实验日期 2016年 6月 6 日 专业班级 姓名 学号 同组人 实
验
名
称
全
维
状
态
观
测
器
的
设
计
评分
批阅教师签字 一、实验目的
1、 学习用状态观测器获取系统状态估计值的方法,了解全维状态观测器的极点对状态的估计误差的影响;
2、 掌握全维状态观测器的设计方法;
3、 掌握带有状态观测器的状态反馈系统设计方法。
二、实验内容
开环系统⎩
⎨⎧=+=cx y bu Ax x
&,其中
[]0100001,0,10061161A b c ⎡⎤⎡⎤⎢⎥⎢⎥===⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦
a) 用状态反馈配置系统的闭环极点:5,322-±-j ; b) 设计全维状态观测器,观测器的极点为:10,325-±-j ; c) 研究观测器极点位置对估计状态逼近被估计值的影响; d) 求系统的传递函数(带观测器及不带观测器时);
绘制系统的输出阶跃响应曲线。
三、实验环境 MATLAB6、5
四、实验原理(或程序框图)及步骤
利用状态反馈可以使闭环系统的极点配置在所希望的位置上,其条件就是必须对全部状态变量都能进行测量,但在实际系统中,并不就是所有状态变量都能测量的,这就给状态反馈的实现造成了困难。
因此要设法利用已知的信息(输出量y 与输入量x),通过一个模型重新构造系统状态以对状态变量进行估计。
该模型就称为状态观测器。
若状态观测器的阶次与系统的阶次就是相同的,这样的状态观测器就称为全维状态观测器或全阶观测器。
设系统完全可观,则可构造如图4-1所示的状态观测器
图4-1 全维状态观测器
为求出状态观测器的反馈ke 增益,与极点配置类似,也可有两种方法: 方法一:构造变换矩阵Q,使系统变成标准能观型,然后根据特征方程求出k e ;
方
法
二
:
就
是
可
采用Ackermann 公式
:
[]T
o e Q A k 1000)(1
Λ-Φ=,其中O Q 为可观性矩阵。
利用对偶原理,可使设计问题大为简化。
首先构造对偶系统
⎩⎨⎧=+=ξ
ηξξ
T
T T b v c A & 然后可由变换法或Ackermann 公式求出极点配置的反馈k 增益,这也可
由MATLAB的place与acker函数得到;最后求出状态观测器的反馈增益。
五、程序源代码、实验数据、结果分析
(a)源程序:
A=[0 1 0;0 0 1;-6 -11 6];
B=[0;0;1];
C=[1 0 0];D=0;
P1=[-2+2*sqrt(3)*i;-2-2*sqrt(3)*i;-5];
K1=place(A,B,P1)
sysnew=ss(A-B*K1,B,C,D)
运行结果:
K1 =
74、0000 25、0000 15、0000
a =
x1 x2 x3
x1 0 1 0
x2 0 0 1
x3 -80 -36 -9
b = u1
x1 0
x2 0
x3 1
c = x1 x2 x3
y1 1 0
d = u1
y1 0
(b)源程序:
A=[0 1 0;0 0 1;-6 -11 6];
B=[0;0;1];
C=[1 0 0];D=0;
P2=[-5+2*sqrt(3)*i;-5-2*sqrt(3)*i;-10];
K2=acker(A',C',P2);L=K2'
Anew=A-L*C
运行结果:
L =
26
282
1770
Anew =
-26 1 0
-282 0 1
-1776 -11 6
(c)研究观测器极点位置对估计状态逼近被估计值的影响:
观测器极点距离虚轴越近,估计状态逼近被估计值得速度越快。
(d)不带观测器:
源程序:
A=[0 1 0;0 0 1;-6 -11 6];
B=[0;0;1];
C=[1 0 0];D=0;
P1=[-2+2*sqrt(3)*i;-2-2*sqrt(3)*i;-5];
K1=place(A,B,P1)
sysnew=ss(A-B*K1,B,C,D);
[num,den]=ss2tf(A-B*K1,B,C,D);
Gb=tf(num,den)
step(Gb)
grid on;
title('不带观测器的系统的阶跃响应曲线');
运行结果:
K1 =
74、0000 25、0000 15、0000
Transfer function:
7、105e-015 s^2 + 1、208e-013 s + 1
--------------------------------------------
s^3 + 9 s^2 + 36 s + 80
带观测器:
源程序:
A=[0 1 0;0 0 1;-6 -11 6];
B=[0;0;1];
C=[1 0 0];D=0;
P1=[-2+2*sqrt(3)*i;-2-2*sqrt(3)*i;-5];
K1=place(A,B,P1);
sysnew=ss(A-B*K1,B,C,D);
P2=[-5+2*sqrt(3)*i;-5-2*sqrt(3)*i;-10];
K2=acker(A',C',P2);L=K2';
An=[A -B*K1;L*C A-B*K1-L*C]
Bn=[B;B]
Cn=[C 0 0 0]
Dn=0;
[num,den]=ss2tf(An,Bn,Cn,Dn);
Go=tf(num,den)
step(Go)
grid on;
title('带观测器的系统的阶跃响应曲线');
运行结果:
An =
1、0e+003 *
0 0、0010 0 0 0 0
0 0 0、0010 0 0 0
-0、0060 -0、0110 0、0060 -0、0740 -0、0250 -0、0150
0、0260 0 0 -0、0260 0、0010 0
0、2820 0 0 -0、2820 0 0、0010
1、7700 0 0 -1、8500 -0、0360 -0、0090 Bn =
1
1
Cn =
1 0 0 0 0 0
Transfer function:
-1、137e-013 s^4 + s^3 + 20 s^2 + 137 s + 370
-------------------------------------------------------------------------------
s^6 + 29 s^5 + 353 s^4 + 2403 s^3 + 9862 s^2 + 2、428e004 s + 2、96e004
Time (sec)
A m p l i t u d e
结果分析:
σ%=10、8% tp=1、15s ts=1、63s 原系统方框图
Gain2
10
3
2.5
2
1.5
1
0.5
-0.5
原系统阶跃响应加观测器的方框图:
Scope1:
Scope2:
Scope3:。