全维状态观测器例
- 格式:doc
- 大小:77.00 KB
- 文档页数:2
利用MATLAB 设计状态观测器本节将介绍用MATLAB 设计状态观测器的若干例子。
我们将举例说明全维状态观测器和最小阶状态观测器设计的MATLAB 方法。
------------------------------------------------[例1] 考虑一个调节器系统的设计。
给定线性定常系统为Cxy Bu Ax x =+=& 式中]01[,10,06.2010=⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=C B A且闭环极点为)2,1(==i s i μ,其中4.28.1,4.28.121j j −−=+−=μμ期望用观测-状态反馈控制,而不是用真实的状态反馈控制。
观测器的期望特征值为821−==μμ试采用MATLAB 确定出相应的状态反馈增益矩阵K 和观测器增益矩阵e K 。
[解]对于题中给定的系统,可利用如下MATLAB Program 1来确定状态反馈增益矩阵K和观测器增益K。
矩阵eMATLAB Program 1% Pole placement and design of observer ------% ***** Design of a control system using pole-placement% technique and state observer. Solve pole-placement% problem *****% ***** Enter matrices A,B,C,and D *****A=[0 1;20.6 0];B=[0;1]C=[1 0];D=[0];% ***** Check the rank of the controllability matrix Q *****Q=[B A*B];Rank(Q)ans=2% ***** Since the rank of the controllability matrix Q is 2, % arbitrary pole placement is possible *****% ***** Enter the desired characteristic polynomial by% defining the following matrix J and computingpoly(J) *****J=[-1.8+2.4*i 0;0 -1.8-2.4*i];Poly(J)ans=1.000 3.6000 9.0000% ***** Enter characteristic polynomial Phi *****Phi=polyvalm(poly(J),A);% ***** State feedback gain matrix K can be given by ***** K=[0 1]*inv(Q)*PhiK=29.6000 3.6000% ***** The following program determines the observer matrix Ke *****% ***** Enter the observability matrix RT and check its rank *****RT=[C’ A’*C’];rank(RT)ans=2% ***** Since the rank of the observability matrix is 2, design of% the observer is possible *****% **** Enter the desired characteristic polynomial by defining % the following matrix J0 and entering statement poly(JO) *****JO=[-8 0;0 -8];Poly(JO)ans=1 16 64% ***** Enter characteristic polynomial Ph ***** Ph=polyvalm(ply(JO),A);% ***** The observer gain matrix Ke is obtained from ***** Ke=Ph*(inv(RT’))*[0;1]Ke=16.000084.60000求出的状态反馈增益矩阵K 为[]6.36.29=K观测器增益矩阵e K 为⎥⎦⎤⎢⎣⎡=6.8416e K 该观测-状态反馈控制系统是4阶的,其特征方程为0=+−+−C K A sI BKA sI e通过将期望的闭环极点和期望的观测器极点代入上式,可得5764.3746.1306.19)8)(4.28.1)(4.28.1(2342++++=+++−+=+−+−s s s s s j s j s C K A sI BK A sI e这个结果很容易通过MATLAB得到,如MATLAB Program 2所示(MATLAB Program 2是K已MATLAB Program1的继续。
5.5 状态重构问题与Luenberger状态观测器前已指出,对于状态完全能控的线性定常系统,可以通过线性状态反馈任意配置闭环系统的极点。
事实上,不仅是极点配置,而且系统镇定、解耦控制、线性二次型最优控制 (LQ)问题等,也都可由状态反馈实现。
然而,在5.2 节介绍极点配置方法时,曾假设所有的状态变量均可有效地用于反馈。
但在实际情况中,并非所有的状态度变量都可用于反馈。
这时需要估计不可量测的状态变量。
迄今已有多种无需使用微分来估计不能量测状态的方法。
对不能量测状态变量的估计通常称为观测。
估计或者观测状态变量的动态系统称为状态观测器,或简称观测器。
观测器分为全维状态观测器降维状态观测器最小阶状态观测器或最小阶观测器5.5.1 问题的提法在下面有关状态观测器的讨论中,我们用x ~表示被观测的状态向量。
在许多实际情况中,一般将被观测的状态向量用于状态反馈,以便产生期望的控制输入。
考虑如下线性定常系统Bu Ax x += (5.27)Cx y =(5.28)假设状态向量x 可由如下动态方程)~(~~x C y K Bu x A x e -++=(5.29)中的状态x ~来近似,则该式表示状态观测器,其中e K 称为观测器的增益矩阵。
注意到状态观测器的输入为y 和u ,输出为x ~。
式(5.29)中右端最后一项包括可量测输出y 与估计输出x ~C 之差的修正项。
矩阵e K 起到加权矩阵的作用。
修正项监控状态变量x ~。
当此模型使用的矩阵A 和B 与实际系统使用的矩阵A 和B 之间存在差异时,由于动态模型和实际系统之间的差别,该附加修正项将减小这些影响。
图5.5所示为带全维状态观测器的系统方块图。
图5.5 全维状态观测器方块图5.5.2 全维状态观测器的误差方程在此讨论的状态观测器的阶数和系统的阶数相等。
假设系统由式(5.27)和(5.28)定义。
观测器的方程由式(5.29)定义。
为了得到观测器的误差方程,将式(5.27)减去式(5.29),可得)~(~~x C Cx K x A Ax x x e ---=- )~)((x x C K A e --= (5.30)定义x 与x ~之差为误差向量,即 x x e ~-=则式(5.30)可改写为e C K A e e )(-= (5.31)由式(5.31)可看出,误差向量的动态特性由矩阵C K A e -的特征值决定。
实验 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)说明反馈控制闭环期望极点和观测器极点的选取原则。
5.4 状态观测器从前面几节看出,要实现闭环极点的任意配置,离不开状态反馈,然而系统的状态变量并不都是易于直接能检测得到的,有些状态变量甚至根本无法检测。
这样,就提出所谓状态观测或者状态重构问题。
由龙伯格(Luenberger )提出的状态观测器理论,解决了在确定性条件下受控系统的状态重构问题,从而使状态反馈成为一种可实现的控制律。
至于在噪声环境下的状态观测将涉及随机最优估计理论。
本节只介绍在无噪声干扰下,单输入—单输出系统状态观测器的设计原理和方法。
5.4.1 状态观测器定义与存在性(1)状态观测器定义 设线性定常系统()0,,A B C =∑的状态矢量x 不能直接检测。
如果动态系统^∑以∑的输入u 和输出y 作为其输入量,能产生一组输出量x 近似于x ,即lim 0t x x →∞⎡⎤-=⎣⎦,则称^∑为0∑的一个状态观测器。
根据上述定义,可得构成观测器的原则是: ① 观测器^∑应以∑的输入u 和输出y 为输入量。
② 为满足lim 0t x x →∞⎡⎤-=⎣⎦,∑必须完全能观,或其不能观子系统是渐近稳定的。
③ ^∑的输出x 应以足够快的速度渐进于x ,即^∑应有足够宽的频带。
但从抑制干扰角度看,又希望不要太宽。
因此,要根据具体情况予以兼顾。
④ ^∑在结构上应尽量简单。
即具有尽可能低的维数,以利于物理实现。
(2)状态观测器的存在性 定理八 对线性定常系统(),,A B C =∑,状态观测器存在的充要条件是∑的不能观子系统为渐近稳定。
证明 ① 设()0,,A B C =∑不完全能观,可进行能观性结构分解。
不妨设(),,A B C =∑已具有能观性分解形式。
即[]011112122200,,,0x A B x A B C C x A A B ⎡⎤⎡⎤⎡⎤====⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦(5.48) 式中0x ——能观子状态;0x ——不能观子状态; 1111(,,)A B C ——能观子系统; 222(,,0)A B ——不能观子系统。
全维观测器的原理
全维观测器(全局观测器)是一种系统控制理论中常用的观测器设计方法,它用于估计一个系统的未测量状态变量。
全维观测器的原理基于系统状态方程和输出方程,通过在系统中引入一个观测器来估计系统的状态变量。
观测器的结构与实际系统的结构相似,由一个状态方程、一个输出方程和一个观测误差方程组成。
全维观测器的状态方程是由实际系统的状态方程推导得到的,但是观测器的参数是通过一定的设计方法确定的。
观测器的输出方程与实际系统的输出方程相同,即观测器可以输出与实际系统完全相同的测量结果。
观测器的原理是基于对实际系统的估计误差进行反馈修正的原理。
通过观测器的输出与实际系统的输出之间的误差,可以得到对实际系统状态变量估计的误差。
利用这个误差,可以通过一定的修正算法来更新观测器的参数,使得观测器的估计结果逐渐接近实际系统的状态变量。
全维观测器的设计方法有很多,常见的方法包括最小二乘法、Kalmman滤波器等。
其中,最小二乘法是利用观测器的输出与实际系统的输出之间的误差最小化来确定观测器的参数。
Kalmman滤波器则是一种利用贝叶斯定理来估计系统状态的方法,它通过观测器的输出与实际系统的输出之间的协方差矩阵来确定观测器的参数。
总之,全维观测器通过利用系统的状态方程、输出方程和观测误差方程来估计系统的状态变量。
利用观测器的输出与实际系统的输出之间的误差,可以对观测器的参数进行修正,从而逐渐接近实际系统的状态变量。
全维状态观测器的设计全维状态观测器(Full State Observer)是一种常用于控制系统中的重要部件,用于获取系统的全部状态信息。
它通常是通过对系统的输入输出进行观测,并通过数学模型来估算系统的状态。
全维状态观测器的设计可以通过以下步骤来完成。
第一步是系统建模。
将所要观测的系统建立数学模型,可以采用物理方程或者数学模型的方式。
常见的数学模型包括状态方程和输出方程。
状态方程描述了系统状态的时间演变规律,输出方程则描述了系统输出与状态之间的关系。
这些方程可以通过系统的运动方程,控制方程和物理特性等来建立。
第二步是选择观测器类型。
全维状态观测器有多种类型,包括基本观测器、极点配置观测器和最优观测器等。
基本观测器是使用系统的状态方程和输出方程来估算系统状态的观测器,而极点配置观测器和最优观测器则是通过最小化误差来估算系统状态,从而提高观测器的精度。
合适的观测器类型应该根据控制系统的需求来选择。
第三步是计算观测器矩阵。
观测器矩阵是观测器中用来计算系统状态的矩阵。
它可以使用系统的状态方程和输出方程来计算。
观测器矩阵需要满足一些性质,例如它需要是可观测的,并且需要保证系统状态与观测器状态的误差最小。
第五步是实现观测器。
实现观测器需要将观测器矩阵和观测器增益输入到观测器中,并对观测器的输入输出进行校验。
一旦观测器被设计并实现,它就可以用于控制系统中,并用来估算系统的全部状态信息。
总之,全维状态观测器的设计是控制系统中的重要部件,可以极大地提高控制系统的精度和稳定性。
设计一个好的全维状态观测器需要仔细分析系统模型和观测器类型,计算观测器矩阵和观测器增益,并进行实现和调试。
本科实验报告课程名称:现代控制理论实验项目:状态反馈和状态观测器的设计实验地点:中区机房专业班级:自动化学号:学生:指导教师:年月日现代控制理论基础一、实验目的(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为状态反馈阵。
本文通过具体的例子阐明如何在 MATLAB系统中进行全维状态观测器和降维状态观测器的设计。
MATLAB 为状态空间设计提供了很多有用的函数,方便了矩阵方程的求解,其中的MATLAB里面提供的库函数对全维状态观测器和降维状态观测器的设计也显得非常地方便。
现通过例子说明如何用 MATLAB 设计状态观测器。
为了评价 MATLAB 所设计的状态观测器的性能,本文通过在 SIMULINK 环境下来仿真一个三阶状态观测器,来说明用 MATLAB 设计状态观测器的准确性。
1、全维观测器的设计已知三阶系统的状态空间方程为:首先检验系统的是否完全能观A=[2 -1 1;0 -1 2;1 0 -2];C=[2 1 0];N=[C;C*A;C*A*A]rank(N)rank(N)ans = 3 ,说明系统是完全能观的。
下面选择观测器需要配置的期望极点为:s1 =-12 s2,3 =-3±0.88i 由此求出观测器增益矩阵G:A=[2 -1 1;0 -1 2;1 0 -2];C=[2 1 0];P =[-12;-3+0.88*i;-3-0.88*i];G = acker(A',C',P);求得G = [11.6527 -6.3054 1.0619]可得全维观测器的方程为:下面可依据上式构建simulink图,据此观察观测器的跟踪能力:跟踪效果图如下:X1X2X3从图中可以看出状态观测器的状态X1,X2,X3 能够完全估计原三阶系统的状态。
如果原三阶系统和其状态观测器的初始状态不同,状态观测器的状态X1,X2,X3 不能同原三阶系统状态完全一致,但能很快跟踪原三阶系统状态(主要取决于状态观测器的响应速度,即状态观测器的极点配置。
)2、降维观测器设计从上面的全维观测器输出方程可以看出,此系统输出就等于第一个状态,因此该状态可以有输出求得,即变换矩阵P为单位阵,而降维观测器的阶次为2。
降维观测器的期望特征根选为-3±0.88i据此求观测器增益a22=[-1 1;0 -1];a12=[-2 -2];pe=[-3+1i*2*7^(1/2)/3;-3-1i*2*7^(1/2)/3];lt=acker(a22',a12',pe);l=lt'求得,得到引入中间变量得降维观测器的状态方程为下面可依据上式构建simulink图,据此观察观测器的跟踪能力X2X3从降维观测器仿真的输出图形中可以看出,系统状态变量X2、X3的跟踪能力比较理想。
状态观测器设计利用状态反馈实现闭环系统的极点配置,需要利用系统的全部状态变量。
然而系统的状态变量并不都是能够易于用物理方法量测出来的,有些根本就无法量测;甚至一些中间变量根本就没有常规的物理意义。
此种情况下要在工程上实现状态反馈,就需要对系统的状态进行估计,即构造状态观测器。
状态观测器,是一个在物理上可以实现的动态系统,它利用待观测系统的可以量测得到的输入和输出信息来估计待观测系统的状态变量,以便用该组状态变量的估计值来代替待观测系统的真实状态变量进行状态反馈设计,实现闭环系统极点的再配置。
1. 全维状态观测器当对象的所有状态均不可直接量测时,若要进行状态反馈设计,就需对全部状态变量进行观测。
这时构造的状态观测器,其阶次与对象的阶次相同,被称为全维状态观测器。
考虑如下n阶单输出线性定常离散系统(1)其中,A为n×n维系统矩阵,B为n×r输入矩阵,C为n×1维输出矩阵。
系统结构图如图1所示。
图1 全维状态观测器构造一个与受控系统具有相同参数的动态系统(2)当系统(1)与(2)的初始状态完全一致时,则两个系统未来任意时刻的状态也应完全相同。
但在实际实现时,不可能保证二者初始状态完全相同。
为此,应引入两个系统状态误差反馈信号构成状态误差闭环系统,通过极点配置使误差系统的状态渐趋于零。
由于原受控系统状态不可直接量测,故用二个系统的输出误差信号代替。
引入了输出误差的状态观测器状态方程为(3)其中,H为状态观测器的输出误差反馈系数矩阵,有如下形式定义状态估计误差为,用式(7.65)与(7.67)相减可得(4)即(5)通过式(5)可以看出,若选择合适的输出误差反馈矩阵H 使得状态估计误差系统(5)的所有极点均位于z平面单位圆内,则误差可在有限拍内趋于零,即状态估计值在有限拍内可以跟踪上真实状态,且极点越靠近原点状态估计误差趋于零的速度越快,反之越慢。
可见,能否逼近x(k)以及逼近速度是由H阵决定的。