当前位置:文档之家› 线性系统极点配置和状态观测器基于设计(matlab) - 最新版本

线性系统极点配置和状态观测器基于设计(matlab) - 最新版本

线性系统极点配置和状态观测器基于设计(matlab) - 最新版本
线性系统极点配置和状态观测器基于设计(matlab) - 最新版本

一. 极点配置原理

假设原系统的状态空间模型为:

???=+=Cx

y Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且:

这时,闭环系统的状态空间模型为:

()x A BK x Bv y Cx =-+??

=?

二. 状态观测器设计原理

假设原系统的状态空间模型为:

???=+=Cx

y Bu Ax x 若系统是完全可观的,则可引入全维状态观测器,且:

??(y y)??x Ax Bu G y Cx ?=++-??=??

设?x x x

=-,闭环系统的状态空间模型为: ()x A GC x =-

解得:

(A GC)t

(0),t 0x e

x -=≥

由上式可以看出,在t 0≥所有时间内,如果(0)x =0,即状态估计值x 与x 相等。如果(0)0x ≠,两者初值不相等,但是()A GC -的所有特征值具有负实部,这样

x 就能渐进衰减至零,观测器的状态向量?x

就能够渐进地逼近实际状态向量x 。状态逼近的速度取决于G 的选择和A GC -的特征配置。

三. 状态观测的实现

为什么要输出y 和输入u 对系统状态x 进行重构。

u Kx v =-+

证明 输出方程对t 逐次求导,并将状态方程x Ax Bu =+代入整理,得

2(n 1)(n 2)(n 3)21n n y Cx

y CBu CAx y CBu CABu CA x y CBu CABu CA Bu CA x

-----=??-=??--=????----=?

将等号左边分别用z 的各分量12,,

,n z z z 表示,有

121(n 1)(n 2)(n 3)

2

n n n y C z y CBu CA z z y CBu CABu x Qx z CA y CBu CABu CA Bu -----??

????????

-??

?????

?

?

?????==--==??

????????????????????----??

?

如果系统完全能观,则

rankQ n =

1?(Q Q)T T

x Q z -= (类似于最小二乘参数估计) 综上所述,构造一个新系统z ,它是以原系统的输出y 和输入u ,其输出经过变

换1(Q Q)T T Q -后得到状态向量?x

。也就是说系统完全能观,状态就能被系统的输入输出以及各阶倒数估计出来。

四. 实例

给定受控系统为

再指定期望的闭环极点为12,341,1,2i λλλ***

=-=-±=-,观测器的特征值为

12,33,32i λλ=-=-±,试设计一个观测器和一个状态反馈控制系统,并画出系统

的组成结构图。

[]0100000101000100

05

021000x x u y x

????

????-????=+????????-????

=

1. 状态反馈设计:

第一步、判断系统的能控性。

23001

02102040201020100Q rank B

AB

A B

A B ????????===????--??--??

可知系统完全能控,可任意配置极点x 。

第二步、写出原系统和极点配置后系统的特征多项式。

42det(sI )5A s s -=-;

432det(sI (A ))510104BK s s s s --=++++。

则:01230,0,5,0αααα===-=,01234,10,10,5αααα****

====。

第三步、求出矩阵p 。

33

223123

10003010100030110002010002P A B

A B

AB

B α

ααααα-????

????-??????==??????-?

???-??

?? 11/3

01/6001/301/6001/200001/2P ---????--??=??-??

-?? 第四步、求出k 。

[]1

00

1122334/310/349/325/6K P αααααααα*

***-??=----=----??。

2. 观测器设计:

第一步、判断系统的能观性。

12310000

100400100001C CA Q rank CA CA ???????????

?===????

-????

-????

可知系统完全能观,能对系统状态x 重构。

第二步、判断C 的秩和状态方程是否是降维观测器的形式,写出各矩阵以及观测器特征多项式。

1rankC =;

[]1112212212001010,100,0,001,B 0,B 000502A A A A -????????????======????????????-??????

。 ()3293139s s s s α=+++。

第三步、设出[]123L l l l =并求出L 。

()()()3222121213det 55sI A LA s l s l s l l -+=+-+-+;

93684L ??

??=-????-??

。 第四步、写出z 。

9104513601240084505761z z y u ---??????

??????=++??????

??????-??????

。 第五步、写出?x

。 12310009100?3601084001y z x

z z ??

??????????=??

??-??

??-????

3.matlab 计算:

B=[0 1 0 -2]';

C=[1 0 0 0]; %输入状态方程的矩阵 D=0;

A12=[1 0 0];

A22=[0 -1 0;0 0 1;0 5 0];

m=rank(ctrb(A,B)) %判断系统是否完全能控

n=rank(obsv(A,C)) %判断系统是否完全能观

if m==4

disp('系统是完全能控,能任意配置极点')

else

disp('系统不是完全能控')

end

if n==4

disp('系统是完全能观,能对系统状态x重构')

else

disp('系统不是完全能观')

end

p1=[-1;-1+1*i;-1-1*i;-2];%配置状态反馈的极点

K=acker(A,B,p1) %求出状态反馈矩阵k p2=[-3;-3+2*i;-3-2*i]; %配置观测器的极点

L1=acker(A22',A12',p2);

L=L1' %求出反馈增益矩阵g

结果:

m =

4

n =

4

系统是完全能控,能任意配置极点

系统是完全能观,能对系统状态x重构

K =

-4/3 -10/3 -49/6 -25/6

L =

9

-36

-84 4、结构图:

五.总结

状态反馈构成反馈控制律,实现对系统的闭环控制,达到期望的性能指标的要求,所谓状态反馈控制,就是能把所有状态变量作为反馈量的控制。所谓状态观测器,指的是一个动力学系统的等价系统。动力学系统一般以端口表现的,其等价系统能按照需要展示原系统的所有状态变量或结构关系。

实验 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.已知系统 (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)说明反馈控制闭环期望极点和观测器极点的选取原则。 (2)说明观测器的引入对系统性能的影响。 (1)A=[0 1;-3 -4]; B=[0;1]; C=[2 0]; D=[]; G=ss(A,B,C,D); x=0:0.001:5; U=0*(x<0)+1*(x>0)+1*(x==0); X0=[0 1]'; T=0:0.001:5; lsim(G,U,T,X0);

用MATLAB解决线性代数问题实验报告

实验三使用MATLAB解决线性代数问题学院:数计学院班级:1003班姓名:黄晓丹学号:1051020144 实验目的: 学习MATLAB有关线性代数运算的指令,主要学习运用MATLAB解决矩阵除法,线性方程组的通解,矩阵相似 对角化问题,以及解决投入产出分析等应用问题。 实验内容: 矩阵转置:A=[1 2;3 4];B=[4 3;2 1]; >> A',B' ans = 1 3 2 4 ans = 4 3 3 1 矩阵加减:A-B ans= -3 -1 1 3 矩阵乘法:A*B,A.*B(数组乘法)||比较矩阵乘法与数组乘法的区别ans= 8 5 20 13 ans= 4 6 6 4 矩阵除法:A\B,B./A ans=

-6 -5 5 4 ans= 4 1.5 0.6667 0.25 特殊矩阵生成:zeros(m,n)||生成m行n列的矩阵 ones(m,n)||生成m行n列的元素全为一的矩阵 eye(n)||生成n阶单位矩阵 rand(m,n)||生成m行n列[0 ,1]上均匀分布随 机数矩阵 zeros(2,3) ans = 0 0 0 0 0 0 >> ones(3,3) ans = 1 1 1 1 1 1 1 1 1 >> eye(3)

ans = 1 0 0 0 1 0 0 0 1 >> rand(2,4) ans = Columns 1 through 3 0.9501 0.6068 0.8913 0.2311 0.4860 0.7621 Column 4 0.4565 0.0185 矩阵处理:trace(A)||返回矩阵的迹 diag(A)||返回矩阵对角线元素构成的向量 tril(A)||提取矩阵的下三角部分 triu(A)||提取矩阵的上三角部分 flipud(A)||矩阵上下翻转 fliplr(A)||矩阵左右翻转 reshape(A,m,n)||将矩阵的元素重排成m行n列矩阵A=[1 2 3;4 5 6;7 8 9]; >> t=trace(A),d=diag(A),u=triu(A)

倒立摆状态空间极点配置控制实验实验报告

《现代控制理论》实验报告 状态空间极点配置控制实验 一、实验原理 经典控制理论的研究对象主要是单输入单输出的系统,控制器设计时一般需要有关被控对象的较精确模型,现代控制理论主要是依据现代数学工具,将经典控制理论的概念扩展到多输入多输出系统。极点配置法通过设计状态反馈控制器将多变量系统的闭环系统极点配置在期望的位置上,从而使系统满足瞬态和稳态性能指标。 1.状态空间分析 对于控制系统X = AX + Bu 选择控制信号为:u = ?KX 式中:X 为状态向量( n 维)u 控制向量(纯量) A n × n维常数矩阵 B n ×1维常数矩阵 求解上式,得到 x(t) = (A ? BK)x(t) 方程的解为: x(t) = e( A?BK )t x(0) 状态反馈闭环控制原理图如下所示: 从图中可以看出,如果系统状态完全可控,K 选择适当,对于任意的初始状态,当t趋于无穷时,都可以使x(t)趋于0。 2.极点配置的设计步骤 1) 检验系统的可控性条件。 2) 从矩阵 A 的特征多项式 来确定 a1, a2,……,an的值。 3) 确定使状态方程变为可控标准型的变换矩阵 T:T = MW 其中 M 为可控性矩阵, 4) 利用所期望的特征值,写出期望的多项式 5) 需要的状态反馈增益矩阵 K 由以下方程确定: 二、实验内容 针对直线型一级倒立摆系统应用极点配置法设计控制器,进行极点配置并用Matlab进行仿真实验。 三、实验步骤及结果 1.根据直线一级倒立摆的状态空间模型,以小车加速度作为输 入的系统状态方程为: 可以取1 l 。则得到系统的状态方程为: 于是有:

直线一级倒立摆的极点配置转化为: 对于如上所述的系统,设计控制器,要求系统具有较短的调整时间(约 3 秒)和合适的阻尼(阻尼比? = 0.5)。 2.采用四种不同的方法计算反馈矩阵 K。 方法一:按极点配置步骤进行计算。 1) 检验系统可控性,由系统可控性分析可以得到,系统的状态完全可控性矩阵的秩等于系统的状态维数(4),系统的输出完全可控性矩阵的秩等于系统输出向量y 的维数(2),所以系统可控。 倒立摆极点配置原理图 2) 计算特征值 根据要求,并留有一定的裕量(设调整时间为 2 秒),我们选取期望的闭环极点s =μi (i = 1,2,3,4) ,其中: 其中,μ 3,μ 4 使一对具有的主导闭环极点,μ 1 ,μ 2 位于 主导闭环极点的左边,因此其影响较小,因此期望的特征方程为: 因此可以得到: 由系统的特征方程: 因此有 系统的反馈增益矩阵为: 3) 确定使状态方程变为可控标准型的变换矩阵 T:T = MW 式中: M = 0 1.0000 0 0 1.0000 0 0 0 0 0.7500 0 5.5125 0.7500 0 5.5125 0 W = 0 -7.3500 -0.0000 1.0000 -7.3500 -0.0000 1.0000 0 -0.0000 1.0000 0 0 1.0000 0 0 0 于是可以得到: T = -7.3500 -0.0000 1.0000 0 0 -7.3500 -0.0000 1.0000 0 -0.0000 0.7500 0 -0.0000 0 -0.0000 0.7500 T’= -7.3500 0 0 -0.0000 -0.0000 -7.3500 -0.0000 0 1.0000 -0.0000 0.7500 -0.0000 0 1.0000 0 0.7500

7状态空间设计法极点配置观测器解析

第7章线性定常离散时间状态空间设计法 7.1引言 7.2状态反馈配置极点 7.3状态估值和状态观测器 7.4利用状态估值构成状态反馈以配置极点 7.5扰动调节 7.6无差调节

7.1 引言 一个被控对象: (1)()()()() ():1,():1,:,:,:x k Fx k Gu k y k Cx k x k n u k m F n n G n m C r n +=+?? =?????? 7.1 当设计控制器对其控制时,需要考虑如下各因素: ● 扰动,比如负载扰动 ● 测量噪声 ● 给定输入的指令信号 ● 输出 如图7.1所示。 给d L (k )扰动 图7.1 控制系统示意图 根据工程背景的不同,控制问题可分为调节问题和跟踪问题,跟踪问题也称为伺服问题。 调节问题的设计目标是使输出迅速而平稳地运行于某一平衡状态。包括指令变化时的动态过程,和负载扰动下的动态过程。但是这二者往往是矛盾的,需要折衷考虑。 伺服问题的设计目标是对指令信号的快速动态跟踪。 本章研究基于离散时间状态空间模型的设计方法。 7.2研究通过状态变量的反馈对闭环系统的全部特征值任意配置——稳定性与快速线。 7.3考虑当被控对象模型的状态无法直接测量时,如何使用状态观测器对状态进行重构。 7.4讨论使用重构状态进行状态反馈时闭环系统的特征值。 7.5简单地讨论扰动调节问题。 7.6状态空间设计时的无差调节问题。

7.2 状态反馈配置极点 工程被控对象如式7.1,考虑状态反馈 ()()()u k v k Lx k =+ 7.2 如图7.2所示。式7.2带入式7.1,得 (1)()()()() ()()()x k Fx k Gu k y k Cx k u k v k Lx k +=+?? =??=+? 7.3 整理得 ()(1)()() ()()x k F GL x k Gv k y k Cx k +=++?? =? 7.4 (k ) v (k ) 图7.2 状态反馈任意配置闭环系统的极点 闭环系统的特征方程为 []det ()0zI F GL -+= 7.5 问题是在什么情况下式7.5的特征根是可以任意配置的?即任给工程上期望的n 个特征根λ1, λ2, ..., λn ,有 []1det ()()0n i i zI F GL z λ=-+=-=∏ 7.6 定理:状态反馈配置极点

单级倒立摆系统的极点配置与状态观测器设计

单级倒立摆系统的极点配置与状态观测器设计 14122156 杨郁佳 (1)倒立摆的运动方程并将其线性化 选取小车的位移z ,及其速度z g 、摆的角位置θ及其角速度θg 作为状态变量,即T x z z θθ??=??? ?g g 则系统的状态空间模型为 01000100000010()1000mg M M x u M m g Ml Ml x ????????????-????=+????????+-????????????g []1000y x = 设M=2kg ,m=0.2kg ,g=9.81m/2 s ,则单级倒立摆系统的状态方程为 (1010) 01010 01020.500013030 011040.54x x x x u x x x x ??????????????????-????????=+????????????????-???????????? []12100034x x y x x ???? ??=?????? (2)状态反馈系统的极点配置。 首先,使用MATLAB ,判断系统的能控性矩阵是否为满秩。 MATLAB 程序如下:

A=[0 1 0 0; 0 0 -1 0; 0 0 0 1; 0 0 11 0]; B=[0; 0.5; 0; -0.5]; C=[1 0 0 0]; D=0; rct=rank(ctrb(A,B)) [z,p,k]=ss2zp(A,B,C,D) MATLAB程序执行结果如下: 系统能控,系统的极点为 1=0 λ 2=0 λ 3=3.3166 λ 4=-3.3166 λ 可以通过状态反馈来任意配置极点,将极点配置在 1=-3 λ* 2=-4 λ* 3=-5 λ* 4=-6 λ*

matlab实验二

实验2 MATLAB数值计算、符号运算功能 一、实验目的 1、掌握建立矩阵、矩阵分析与处理的方法。 2、掌握线性方程组的求解方法。 3、掌握数据统计和分析方法、多项式的常用运算。 4、掌握求数值导数和数值积分、常微分方程数值求解、非线性代数方程数值求解的方法。 5、掌握定义符号对象的方法、符号表达式的运算法则及符号矩阵运算、符号函数极限及导数、符号函数定积分和不定积分的方法。 二、预习要求 (1)复习4、5、6章所讲内容; (2)熟悉MATLAB中的数值计算和符号运算的实现方法和主要函数。 三、实验内容 1、已知 29618 20512 885 A -?? ?? =?? ?? - ?? ,求A的特征值及特征向量,并分析其数学意义。 >> A=[-29,6,18;20,5,12;-8,8,5]; >> [V,D]=eig(A) V = 0.7130 0.2803 0.2733 -0.6084 -0.7867 0.8725 0.3487 0.5501 0.4050 D = -25.3169 0 0 0 -10.5182 0 0 0 16.8351 V为A的特征向量,D为A的特征值,3个特征值是-25.3169、10.5182和16.8351。 >> A*V ans = -18.0503 -2.9487 4.6007 15.4017 8.2743 14.6886 -8.8273 -5.7857 6.8190 >> V*D

ans = -18.0503 -2.9487 4.6007 15.4017 8.2743 14.6886 -8.8273 -5.7857 6.8190 经过计算,A*V=V*D 。 2、 不用rot90函数,实现方阵左旋90°或右旋90°的功能。例如,原矩阵为A ,A 左旋后得到B ,右旋后得到C 。 147102581136912A ????=??????,101112789456123B ??????=??????,321654987121110B ??????=?????? 提示:先将A 转置,再作上下翻转,则完成左旋90°;如将A 转置后作左右翻转,则完成右旋转90°,可用flipud 、fliplr 函数。 >> a=[1 4 7 10;2 5 8 11;3 6 9 12] a= 1 4 7 10 2 5 8 11 3 6 9 12 >> B=rot90(a) B = 10 11 12 7 8 9 4 5 6 1 2 3 >>C= rot90(s,3) C= 3 2 1 6 5 4 9 8 7 12 11 10

状态反馈与状态观测器

实验七 状态反馈与状态观测器 一、实验目的 1. 掌握用状态反馈进行极点配置的方法。 2. 了解带有状态观测器的状态反馈系统。 二、实验原理 1. 闭环系统的动态性能与系统的特征根密切相关,在状态空间的分析中可利用状态反馈来配置系统的闭环极点。这种校正手段能提供更多的校正信息,在形成最优控制率、抑制或消除扰动影响、实现系统解耦等方面获得广泛应用。在改善与提高系统性能时不增加系统零、极点,所以不改变系统阶数,实现方便。 2. 已知线形定常系统的状态方程为 x Ax Bu y cx =+=为了实现状态反馈,需要状态变 量的测量值,而在工程中,并不是状态变量都能测量到,而一般只有输出可测,因此希望利用系统的输入输出量构成对系统状态变量的估计。解决的方法是用计算机构成一个与实际系统具有同样动态方程的模拟系统,用模拟系统的状态向量 ?()x t 作为系统状态向量()x t 的估值。状态观测器的状态和原系统的状态之间存在着误差,而引起误差的原因之一是无法使状态观测器的初态等于原系统的初态。 引进输出误差?()()y t y t -的反馈是为了使状态估计误差尽可能快地衰减到零。状态估计的误差方程为 误差衰减速度,取决于矩阵(A-HC )的特征值。 3. 若系统是可控可观的,则可按极点配置的需要选择反馈增益阵k ,然后按观测器的动态要求选择H ,H 的选择并不影响配置好的闭环传递函数的极点。因此系统的极点配置和观测器的设计可分开进行,这个原理称为分离定理。 三、实验内容 1. 设控制系统如6.1图所示,要求设计状态反馈阵K ,使动态性能指标满足超调量%5%σ≤,峰值时间0.5p t s ≤。

Matlab线性代数实验指导书

Matlab线性代数实验指导书 理学院线性代数课程组 二零零七年十月

目录 一、基础知识 (1) 1.1、常见数学函数 (1) 1.2、系统在线帮助 (1) 1.3、常量与变量 (2) 1.4、数组(矩阵)的点运算 (3) 1.5、矩阵的运算 (3) 二、编程 (4) 2.1、无条件循环 (4) 2.2、条件循环 (5) 2.3、分支结构 (5) 2.4、建立M文件 (6) 2.5、建立函数文件 (6) 三、矩阵及其运算 (7) 3.1、矩阵的创建 (7) 3.2、符号矩阵的运算 (11) 四、秩与线性相关性 (14) 4.1、矩阵和向量组的秩以及向量组的线性相关性 (14) 4.2、向量组的最大无关组 (14) 五、线性方程的组的求解 (16) 5.1、求线性方程组的唯一解或特解(第一类问题) (16) 5.2、求线性齐次方程组的通解 (18) 5.3、求非齐次线性方程组的通解 (19) 六、特征值与二次型 (22) 6.1、方阵的特征值特征向量 (22) 6.2、正交矩阵及二次型 (23)

一、基础知识 1.1常见数学函数 函数数学计算功能函数数学计算功能 abs(x) 实数的绝对值或复数的幅值floor(x) 对x朝-∞方向取整acos(x) 反余弦arcsinx gcd(m,n) 求正整数m和n的最大公约数acosh(x) 反双曲余弦arccoshx imag(x) 求复数x的虚部angle(x) 在四象限内求复数x的相角lcm(m,n)求正整数m和n的最小公倍 自然对数(以e为底数) asin(x) 反正弦arcsinx log(x) 常用对数(以 10 为底数) asinh(x) 反双曲正弦arcsinhx log10(x) atan(x) 反正切arctanx real(x) 求复数 x 的实部atan2(x,y) 在四象限内求反正切rem(m,n) 求正整数m和n的m/n之余数atanh(x) 反双曲正切arctanhx round(x) 对x四舍五入到最接近的整数 符号函数:求出 x 的符号ceil(x) 对x朝+∞方向取整 sign(x) conj(x) 求复数x的共轭复数 sin(x) 正弦sinx 反双曲正弦sinhx cos(x) 余弦cosx sinh(x) cosh(x) 双曲余弦coshx sqrt(x) 求实数x的平方根exp(x) 指数函数e x tan(x) 正切tanx fix(x) 对 x 朝原点方向取整 tanh(x) 双曲正切tanhx 如:输入 x=[-4.85 -2.3 -0.2 1.3 4.56 6.75],则: ceil(x)= -4 -2 0 2 5 7 fix(x) = -4 -2 0 1 4 6 floor(x) =-5 -3 -1 1 4 6 round(x) = -5 -2 0 1 5 7 1.2 系统的在线帮助 1.2.1 help 命令: 1.当不知系统有何帮助内容时,可直接输入 help以寻求帮助: >> help(回车) 2.当想了解某一主题的内容时,如输入: >> help syntax (了解Matlab的语法规定) 3.当想了解某一具体的函数或命令的帮助信息时,如输入: >> help sqrt (了解函数sqrt的相关信息) 1.2.2 lookfor 命令 现需要完成某一具体操作,不知有何命令或函数可以完成,如输入: >> lookfor line (查找与直线、线性问题有关的函数) 1.3 常量与变量

线性系统极点配置和状态观测器基于设计(matlab) - 最新版本

一. 极点配置原理 假设原系统的状态空间模型为: ???=+=Cx y Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且: 这时,闭环系统的状态空间模型为: ()x A BK x Bv y Cx =-+?? =? 二. 状态观测器设计原理 假设原系统的状态空间模型为: ???=+=Cx y Bu Ax x 若系统是完全可观的,则可引入全维状态观测器,且: ??(y y)??x Ax Bu G y Cx ?=++-??=?? 设?x x x =-,闭环系统的状态空间模型为: ()x A GC x =- 解得: (A GC)t (0),t 0x e x -=≥ 由上式可以看出,在t 0≥所有时间内,如果(0)x =0,即状态估计值x 与x 相等。如果(0)0x ≠,两者初值不相等,但是()A GC -的所有特征值具有负实部,这样 x 就能渐进衰减至零,观测器的状态向量?x 就能够渐进地逼近实际状态向量x 。状态逼近的速度取决于G 的选择和A GC -的特征配置。 三. 状态观测的实现 为什么要输出y 和输入u 对系统状态x 进行重构。 u Kx v =-+

证明 输出方程对t 逐次求导,并将状态方程x Ax Bu =+代入整理,得 2(n 1)(n 2)(n 3)21n n y Cx y CBu CAx y CBu CABu CA x y CBu CABu CA Bu CA x -----=??-=??--=????----=? 将等号左边分别用z 的各分量12,, ,n z z z 表示,有 121(n 1)(n 2)(n 3) 2 n n n y C z y CBu CA z z y CBu CABu x Qx z CA y CBu CABu CA Bu -----?? ???????? -?? ????? ? ? ?????==--==?? ????????????????????----?? ? 如果系统完全能观,则 rankQ n = 即 1?(Q Q)T T x Q z -= (类似于最小二乘参数估计) 综上所述,构造一个新系统z ,它是以原系统的输出y 和输入u ,其输出经过变 换1(Q Q)T T Q -后得到状态向量?x 。也就是说系统完全能观,状态就能被系统的输入输出以及各阶倒数估计出来。 四. 实例 给定受控系统为 再指定期望的闭环极点为12,341,1,2i λλλ*** =-=-±=-,观测器的特征值为 12,33,32i λλ=-=-±,试设计一个观测器和一个状态反馈控制系统,并画出系统 的组成结构图。 []0100000101000100 05 021000x x u y x ???? ????-????=+????????-???? =

倒立摆系统的状态空间极点配置控制设计

摘要:为实现多输入、多输出、高度非线不稳定的倒立摆系统平衡稳定控制,将倒立摆系统的非线性模型进行近似线性化处理,获得系统在平衡点附近的线性化模型。利用牛顿—欧拉方法建立直线型一级倒立摆系统的数学模型。在分析的基础上,基于状态反馈控制中极点配置法对直线型倒立摆系统设计控制器。由MATLAB仿真表明采用的控制策略是有效的,设计的控制器对直线型一级倒立摆系统的平衡稳定性效果好,提高了系统的干扰能力。 关键词:倒立摆、极点配置、MATLAB仿真 引言:倒立摆是进行控制理论研究的典型试验平台,由于倒立摆本身所具有的高阶次、不稳定、非线性和强耦合性,许多现代控制理论的研究人员一直将他视为典型的研究对象,不断从中发掘出新的控制策略和控制方法。控制器的设计是倒立摆系统的核心内容,因为倒立摆是一个绝对不稳定的系统,为使其保持稳定并且可以承受一定的干扰,基于极点配置法给直线型一级倒立摆系统设计控制器 1.数学模型的建立 倒立摆系统其本身是自不稳定的系统,实验建模存在着一定的困难。在忽略掉一些次要的因素之后,倒立摆系统就是一典型的运动的刚体系统,可以在惯性坐标系中应用经典力学理论建立系统动力学方程。下面采用牛顿-欧拉方法建立直线型一级倒立摆系统的数学模型。 1.1微分方程的数学模型 在忽略了空气阻力和各种摩擦力之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如图1所示:

图1:直线一级倒立摆模型 设系统的相关参数定义如下: M:小车质量 m:摆杆质量 b:小车摩擦系数 l:摆杆转动轴心到杆质心的长度 I:摆杆质量 F:加在小车上的力 x:小车位置 Φ:摆杆与垂直方向上方向的夹角 θ:摆杆与垂直方向下方向的夹角(摆杆的初始位置为竖直向下) 如下图2所示为小车和摆杆的受力分析图。其中,N和P为小车与摆杆相互作用力的水平和垂直方向的分量。

基于MATLAB的状态观测器设计

基于MATLAB 的状态观测器设计 预备知识: 极点配置 基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。 1. 极点配置原理 假设原系统的状态空间模型为: ???=+=Cx y Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且: Kx u input -= 这时,闭环系统的状态空间模型为: ???=+-=Cx y 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是观测器增益矩阵,对偏差的加权。 真实状态和估计状态的误差向量 误差的动态行为:

南邮MATLAB数学实验答案(全)

第一次练习 教学要求:熟练掌握Matlab 软件的基本命令和操作,会作二维、三维几何图形,能够用Matlab 软件解决微积分、线性代数与解析几何中的计算问题。 补充命令 vpa(x,n) 显示x 的n 位有效数字,教材102页 fplot(‘f(x)’,[a,b]) 函数作图命令,画出f(x)在区间[a,b]上的图形 在下面的题目中m 为你的学号的后3位(1-9班)或4位(10班以上) 1.1 计算30sin lim x mx mx x →-与3 sin lim x mx mx x →∞- syms x limit((902*x-sin(902*x))/x^3) ans = 366935404/3 limit((902*x-sin(902*x))/x^3,inf) ans = 0 1.2 cos 1000 x mx y e =,求''y syms x diff(exp(x)*cos(902*x/1000),2) ans = (46599*cos((451*x)/500)*exp(x))/250000 - (451*sin((451*x)/500)*exp(x))/250 1.3 计算 22 11 00 x y e dxdy +?? dblquad(@(x,y) exp(x.^2+y.^2),0,1,0,1) ans = 2.1394 1.4 计算4 2 2 4x dx m x +? syms x int(x^4/(902^2+4*x^2)) ans = (91733851*atan(x/451))/4 - (203401*x)/4 + x^3/12 1.5 (10)cos ,x y e mx y =求 syms x diff(exp(x)*cos(902*x),10) ans = -356485076957717053044344387763*cos(902*x)*exp(x)-3952323024277642494822005884*sin(902*x)*exp(x) 1.6 0x =的泰勒展式(最高次幂为4).

基于极点配置的控制器设计与仿真

计算机控制理论与设计作业 题目:基于极点配置方法的直流调速系统的控制器设计

摘要 本文目的是用极点配置方法对连续的被控对象设计控制器。基本思路是对连续系统进行数学建模,将连续模型进行离散化,针对离散的被控对象,用极点配置的方法分别在用状态方程和传递函数两种描述方法下设计前馈和反馈控制器,并用MATLAB仿真。文中具体以直流调速系统作为研究对象,对直流调速系统的组成和结构进行了分析,把各个部分进行数学建模,求出其传递函数,组成系统结构框图,利用自控原理的知识对结构图化简,求出被控对象的传递函数和状态方程,进一步得将其离散化。第一种是通过极点配置设计方法的原理,用状态方程设计被控对象的控制律,因为直流调速系统存在噪声,实际状态不可测,故选择了全阶的观测器,又因为采样时间小于计算延时,所以选择了预报观测器。利用所学知识对此闭环系统设计前馈和反馈控制器[1]。第二种利用传统的离散传递函数,从代数多项式的角度进行复合控制器的设计,在保证系统稳定的情况下,分析系统的可实现性,稳定性,静态指标,动态指标,抗干扰等方面性能研究前馈反馈相结合控制器设计。重点是保证被控对象的不稳定的零极点不能被抵消。最后利用MATLAB的Simulink进行仿真,观察系统的输出的y和u和收敛性,并加入扰动看其抗干扰性能,得出结论。 经研究分析,对于直流调速系统,基于极点配置设计的前馈反馈相结合的控制器,具有良好的稳定性能和抗干扰性能。运行结果符合实际情况。 关键词:极点配置;状态方程;直流调速系统;代数多项式;Matlab;

1绪论 1.1论文的背景及意义 在工业生产和日常生活中,自动控制系统分为确定性系统和不确定性系统两类,确定性系统是指系统的结构和参数是确定的,确定的输入下,输出也确定的一类系统。确定性系统相对于不确定性系统而言的。在确定的系统中所用的变量都可用确切的函数关系来描述,系统的运动特性可以完全确定。以确定性系统为研究对象的控制理论称为确定性控制理论。本文以直流调速系统为研究对象,利用极点配置的设计方法,包括利用状态空间模型和传递函数模型分别描述线性系统,采用闭环极点为指标的控制器设计的理论和方法,设计出前馈和反馈控制器,组建闭环控制系统,用Matlab进行仿真可以逼真地还原出实际系统。 1.2 论文的主要内容 本文直流电机的调速系统的模型作为研究对象,利用线性系统极点配置的设计方法,设计前馈反馈控制器。论文研究的主要内容: (1)阅读学习国内外期刊文献,研究了极点配置的基本原理和Matlab的实现方法。 (2)系统的说明直流电机的系统结构和工作原理并分析,建立直流调速系统的数学模型,将其进行离散化,并讨论其传递函数与状态方程之间的关系。 (3)分析极点配置控制器的设计原理,利用状态方程设计控制器。 (4)将被控对象的传递函数离散化,利用传递函数模型设计控制器。 (4)在MATLAB中建立闭环直流调速系统的模型,根据闭环极点配置的设计步骤编写程序,用Simulink搭建仿真系统,对闭环直流调速系统的输出进行仿真分析。 (5)对仿真结果分析。将仿真结果与实际直流调速系统的阶跃响应的各项参数相比较,得出结论。

状态反馈与极点配置报告

自 动 控 制 原 理 (课程设计)

一、题目 用MATLAB创建用户界面,并完成以下功能: (1)由用户输入被控系统的状态空间模型、闭环系统希望的一组极点; (2)显示未综合系统的单位阶跃响应曲线; (3)显示采用一般设计方法得到的状态反馈矩阵参数; (4)显示闭环反馈系统的单位阶跃响应曲线; (5)将该子系统嵌入到寒假作业中程序中。 分别对固定阶次和任意阶次的被控系统进行设计。分别给出设计实例。 二、运行结果 界面:如图 由用户输入被控系统的状态空间模型、闭环系统希望的一组极点 例如,输入 010 001 034 A ?? ?? =?? ?? -- ?? , 1 B ?? ?? =?? ?? ?? ,[] 2000 C=,0 D=,闭环系统 希望的一组极点:22j -+、22j --、5 -如图所示:

被控系统的单位阶跃响应曲线 闭环系统的单位阶跃响应曲线

状态反馈矩阵显示 三、讨论 该闭环控制系统的状态反馈与极点配置设计系统可用于任意阶次的控制系统。在此之前,我还做了一个固定阶次的控制系统状态反馈与极点配置的Matlab 控制台程序(见附录二)。 该系统的利用状态反馈进行极点任意配置所采用的方法为一般方法,其步骤如下: ①判断受控系统是否完全能控; ②由给定的闭环极点要求确定希望的闭环特征多项式的n个系数 ~ i a; ③确定原受控系统的特征多项式系数i a; ④确定系统状态反馈矩阵 ~ ~~ ~ [,,,] 12n f f f F=的诸元素~~1 1i i i f a a - =- -; ⑤确定原受控系统化为能控标准形的变换阵的逆1 P-, ⑥确定受控系统完成闭环极点配置任务的状态反馈阵 ~ 1 F F P-=。 四、参考文献 [1]黄家英.《自动控制原理》.高等教育出版社,2010.5 [2]唐向红,郑雪峰.《MATLAB及在电子信息类》.电子工业出版社,2009.6 [3]吴大正,高西全.《MATLAB新编教程》.机械工业出版社,2008.4 五、附录 function varargout = tufeiqiang(varargin) %TUFEIQIANG M-file for tufeiqiang.fig % TUFEIQIANG, by itself, creates a new TUFEIQIANG or raises the existing % singleton*. % % H = TUFEIQIANG returns the handle to a new TUFEIQIANG or the handle to % the existing singleton*. % % TUFEIQIANG('Property','Value',...) creates a new TUFEIQIANG using

系统稳定性分析 、利用MATLAB 实现极点配置、设计状态观测器

实验报告 实验名称系统稳定性分析、利用MATLAB实现极点配置、设计状态观测器系专业班 姓名学号授课老师 预定时间实验时间实验台号 一、目的要求 掌握系统稳定性的概念。学会使用MATLAB确定线性定常系统和非线性定常系统的稳定性。 掌握状态反馈和输出反馈的概念及性质。 掌握利用状态反馈进行极点配置的方法。学会用MATLAB求解状态反馈矩阵。 掌握状态观测器的设计方法。学会用MATLAB设计状态观测器。 熟悉分离定理,学会设计带有状态观测器的状态反馈系统。 二、原理简述 函数eig()的调用格式为V=eig(A)返回方阵A的特征值。 函数roots()的调用格式为roots(den),其中den为多项式的系数行向量。计算多项式方程的解。 函数pole()的调用格式为pole(G),其中G为系统的LTI对象。计算系统传递函数的极点。 函数zpkdata()的调用格式为[z,p,k]=zpkdata(G,’v’),其中G为系统LTI对象。返回系统的零点、极点和增益。 函数pzmap()的调用格式为pzmap(G),其中G为LTI对象。绘制系统的零点和极点。 对于线性定常连续系统x Ax,若A是非奇异矩阵,则原点是其唯一的平衡状态。统在原点处大范围渐近稳定的充分条件是:存在李氏函数v(x)x T px,且v(x)正定,v(x)负定。 如果SISO线性定常系统完全能控,则可通过适当的状态反馈,将闭环系统极点配置到 任意期望的位置。 MATLAB提供的函数acker()是用Ackermann公式求解状态反馈阵K。 MATLAB提供的函数place()也可求出状态反馈阵K。 如果线性定常系统完全能观测,则可构造全维(基本)观测器。全维(基本) 状态观测器的状态方程为观测器的反馈矩阵L为 其中为系统的能观测矩阵。 其中为期望的状态观测器的极点。观测器设计是极点配置的对偶问题,故可利用函数acker()和place()进行求解。

线性代数MATLAB仿真实验报告

合肥学院 2018—2019学年第2学期 线性代数及应用 (模块) 实验报告 实验名称:线性代数MATLAB实验 实验类别:综合性 设计性□验证性 专业班级: 17通信工程(2)班 实验时间: 9-12周 组别:第组人数 3人 指导教师:牛欣成绩: 完成时间: 2019年 5 月9日

一. 小组成员 姓名学号具体分工 汪蔚蔚(组长) 1705022025 A报告最后的整合,编写,案例四的计算与应用 以及案例一的计算与证明 陶乐 1 1705022009 C案例二,化学方程式配平问题 程赢妹1505022036 A案例三,应用题灰度值的计算问题 二. 实验目的 1、案例一利用MATLAB进行线性代数计算,求出矩阵B 2、案例二利用MATLAB计算出每一个网格数据的值,然后每一个网格数据的值乘以256以后进行归一化处理,根据每个网格中的灰度值,绘制出灰度图像。 3、案例三利用MATLAB完成对化学方程式进行配平的应用 4、案例四利用MATLAB求极大线性无关组,并表示出其余向量 三. 实验内容 1、案例一: 0,1,0 ,=1,0,0, 0,0,0 A B AB BA A B ?? ?? =?? ?? ?? 已知矩阵和矩阵满足乘法交换律,即且求矩阵。 2、案例二 配平下列化学方程式: 3、案例三: 3*32 0.81.21.70.20.3 0.6021.61.20.6. 1MATLAB 2256MATLAB 给定一个图像的个方向上的灰度叠加值:沿左上方到右 下方的灰度叠加值依次为,,,,;沿右上方到左下 方的灰度叠加值依次为,。,,, )建立可以确定网络数据的线性方程组,并用求解 )将网络数据乘以,再取整,用绘制该灰度图像

控制系统的极点配置设计法

控制系统的极点配置设计法 一、极点配置原理 1.性能指标要求 2.极点选择区域 主导极点: 2 11 1 cos tan ξ βξ ξ -- - == 图3.22 系统在S平面上满足 时域性能指标的范围 n s t ζω 4 = ;当Δ=0.02时,。 n s t ζω 3 = 当Δ=0.05时,

3.其它极点配置原则 系统传递函数极点在s 平面上的分布如图(a )所示。极点s 3距虚轴距离不小于共轭复数极点s 1、s 2距虚轴距离的5倍,即n s s ξω5Re 5Re 13=≥(此处ξ,n ω对应于极点s 1、s 2) ;同时,极点s 1、s 2的附近不存在系统的零点。由以上条件可算出与极点s 3所对应的过渡过程分量的调整时间为 135 1 451s n s t t =?≤ ξω 式中1s t 是极点s 1、s 2所对应过渡过程的调整时间。 图(b )表示图(a )所示的单位阶跃响应函数的分量。由图可知,由共轭复数极点s 1、s 2确定的分量在该系统的单位阶跃响应函数中起主导作用,即主导极点。因为它衰减得最慢。其它远离虚轴的极点s 3、s 4、s 5 所对应的单位阶跃响应衰减较快,它们仅在极短时间内产生一定的影响。因此,对系统过渡过程进行近似分析时。可以忽略这些分量对系统过渡过程的影响。 n x o (t) (a ) (b ) 系统极点的位置与阶跃响应的关系

二、极点配置实例 磁悬浮轴承控制系统设计 1.1磁悬浮轴承系统工作原理 图1是一个主动控制的磁悬浮轴承系统原理图。主要由被悬浮转子、传感器、控制器和执行器(包括电磁铁和功率放大器)四大部分组成。设电磁铁绕组上的电流为I0,它对转子产生的吸力F和转子的重力mg相平衡,转子处于悬浮的平衡位置,这个位置称为参考位置。 (a)(b) 图1 磁悬浮轴承系统的工作原理 Fig.1 The magnetic suspension bearing system principle drawing 假设在参考位置上,转子受到一个向下的扰动,转子就会偏离其参考位置向下运动,此时传感器检测出转子偏离其参考位置的位移,控制器将这一位移信号变换成控制信号,功率放大器又将该控制信号变换成控制电流I0+i,控制电流由I0增加到I0+i,因此,电磁铁的吸力变大了,从而驱动转子返回到原来的平衡位置。反之,当转子受到一个向上的扰动并向上运动,此时控制器使得功率放大器的输出电流由I0,减小到I0-i,电磁铁的吸力变小了,转子也能返回到原来的平衡位置。因此,不论转子受到向上或向下的扰动,都能回到平衡状态。这就是主动磁轴承系统的工作原理。即传感器检测出转子偏移参考点的位移,作为控制器的微处理器将检测到的位移信号变换成控制信号,然后功率放大器将这一控制信号转换成控制电流,控制电流在执行磁铁中产生磁力从而使转子维持其悬浮位置不变。悬浮系统的刚

matlab线性代数实验

线性代数MATLAB 实验指导书 MATLAB 是Matrix Laboratory 的缩写,是一个集数值计算、图形处理、符号运算、文字处理、数学建模、实时控制、动态仿真和信号处理等功能为一体的数学应用软件,而且该系统的基本数据结构是矩阵,又具有数量巨大的内部函数和多个工具箱,使得该系统迅速普及到各个领域,尤其在大学校园里,许多学生借助它来学习大学数学和计算方法等课程,并用它做数值计算和图形处理等工作。我们在这里介绍它的基本功能,并用它做与线性代数相关的数学实验。 在正确完成安装MATLAB 软件之后,直接双击系统桌面上的MATLAB 图标,启动MATLAB ,进入MATLAB 默认的用户主界面,界面有三个主要的窗口:命令窗口(Commend Window ), 当前目录窗口(Current Directory ),工作间管理窗口(Workspace )。 命令窗口是和Matlab 编译器连接的主要窗口,“>>”为运算提示符,表示Matlab 处于准备状态,当在提示符后输入一段正确的运算式时,只需按Enter 键,命令窗口中就会直接显示运算结果。 实验1 矩阵的运算,行列式 实验名称:矩阵的运算,行列式 实验目的:学习在matlab 中矩阵的输入方法以及矩阵的相关运算,行列式。 实验原理:介绍相关的实验命令和原理 (1)一般矩阵的输入 (2)特殊矩阵的生成 (3)矩阵的代数运算 (4)矩阵的特征参数运算 (5)数字行列式和符号行列式的计算 实验命令 1 矩阵的输入 Matlab 是以矩阵为基本变量单元的,因此矩阵的输入非常方便。输入时,矩阵的元素用方括号括起来,行内元素用逗号分隔或空格分隔,各行之间用分号分隔或直接回车。 例1 输入矩阵 ???? ? ??--=654301211A ,可以在命令窗口中输入 >>A=[1 1 2;-1 0 3;4 -5 6] A = 1 1 2 -1 0 3 4 - 5 6 2 特殊矩阵的生成 某些特殊矩阵可以直接调用相应的函数得到,例如: zeros(m,n) 生成一个m 行n 列的零矩阵

相关主题
文本预览
相关文档 最新文档