文档库 最新最全的文档下载
当前位置:文档库 › 状态观测器设计

状态观测器设计

状态观测器设计
状态观测器设计

状态观测器 (state observer )

背景:

60年代初期,为了对控制系统实现状态反馈或其他需要,D.G.吕恩伯格、R.W.巴斯和J.E.贝特朗等人提出状态观测器的概念和构造方法,通过重构的途径解决了状态的不能直接量测的问题。由龙伯格(Luenberger )提出的状态观测器理论,解决了在确定性条件下受控系统的状态重构问题,从而使状态反馈成为一种可实现的控制律。在噪声环境下下的状态观测涉及随机最优估计理论,即卡尔曼滤波技术。状态观测器的出现,不但为状态反馈的技术实现提供了实际可能性,而且在控制工程的许多方面也得到了实际应用,例如复制扰动以实现对扰动的完全补偿等。

定义:

根据系统的外部变量(输入变量和输出变量)的实测值得出状态变量估计值的一类动态系统,也称为状态重构器。如果动态系统Σ^以Σ0的输入,输出y 作为其输入量,能产生一组输出X ^

渐近于x ,即lim t→∞(x- x ^)=0,则称Σ^为Σ0的一个状态观测器。 构造状态观测器的的基本原则是:(1)观测器Σ^

应以Σ0 的输入变量和输出变量为其输入变量。(2)Σ0必须完全可观,或其不可观子系统是渐近稳定的。(3)Σ^的输出变量x ^是原系统Σ0的状态变量x 的实时估计值,x ^与x 之间的偏差随时间的衰减应满足一定的快速性。(4)Σ^在结构上应尽量简单,即具备尽可能低的维数,以便于物理实现。

结构:

构成状态观测器的方法依需要的不同而有差别。最简单的是开环状态观测器(图1)。

这种观测器实质上就是按被观测系统复制的一个模型,但其状态变量可以直接输出。只要初始条件相同x ^ (0)=x(0), x ^

(t)就可作为被观测系统的状态x(t)的一个精确的估计。但这个条件往往很难满足。此外,这种开环观测器对外界干扰的抗干扰性和对参数变动的灵敏度都很差,它的输出x ^ (t)不能成为x(t)的一个良好估计。因此开环状态观测器几乎没有实用价值。 采用闭环方式构成的状态观测器能克服开环状态观测器的缺点。渐近状态观测器就是一种闭环状态观测器(图2)。

在这种观测器中,被观测系统的输出变量y提供对观测器系统的校正作用。图中M是一个常系数矩阵,当被观测系统为能观测时,可用极点配置方法适当选取M中各元素的数值,把矩阵A-MC 的全部特征值移到适当的位置上,使状态观测器满足指定的快速性要求。渐近状态观测器在抗干扰性和灵敏度方面要比开环状态观测器好得多。

开环状态观测器和渐近状态观测器的维数都与被观测系统的维数相同。另一类状态观测器称为降维观测器,它也是按闭环方式构成的。如果被观测系统的维数为n,其输出矩阵C 的秩为m,则降维观测器的维数为n-m。降维观测器是依靠从被观测系统的输出y中直接获取状态x的部分信息的途径来实现降维的。这类观测器维数较低,构造较简单,更有实用性。渐近状态观测器:

降维状态观测器:

实验-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), AB为系统系数矩阵, 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) -1 2 4 3)讨论状态反馈与输出反馈的关系 , 说明状态反馈为何能进行极点配置在经典控制理论 中 ,一般只考虑由系统的输出变量来构成反馈律,即输出反馈。在现代控制理论的状态空间分析方法中 ,多考虑采用状态变量来构成反馈律,即状态反馈。从状态空间模型输出方程可以看出,输出反馈可视为状态反馈的一个特例。状态反馈可以提供更多的补偿信息,只要状态进行简单的计算再反馈,就可以获得优良的控制性能。

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 定理:状态反馈配置极点

实验四 全维状态观测器的设计

信控学院上机实验 实 验 报 告 课程 线代控制理论基础 实验日期 2020 年 5 月 10 日 专业班级 自动化1702班 姓名 WGX 学号 同组人 实验名称 实验四 全维状态观测器的设计 评分 批阅教师签字 一、 实验目的 1. 学习用状态观测器获取系统状态估计值的方法,了解全维状态观测器的 极点对状态的估计误差的影响; 2. 掌握全维状态观测器的设计方法; 3. 掌握带有状态观测器的状态反馈系统设计方法。 二、实验环境 1、计算机 120 台; 2、MATLAB6.X 软件 1 套。 三、实验内容 开环系统? ??=+=cx y bu Ax x &,其中 []0100001,0,10061161A b c ???? ????===???? ????--???? a) 用状态反馈配置系统的闭环极点:5,322-±-j ; b) 设计全维状态观测器,观测器的极点为:10,325-±-j ; c) 研究观测器极点位置对估计状态逼近被估计值的影响; d) 求系统的传递函数(带观测器及不带观测器时); e) 绘制系统的输出阶跃响应曲线。 四、程序源代码 具体程序见电子文档(实验四源代码) 五、实验步骤及结果分析 设系统完全可观测,可得到如图1.1所示的状态观测器:

图1.1 (a): 运行结果如下: K1 = 74 25 15 sysnew = 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 0 D = u1 y1 0 Continuous-time state-space model. >>

全维状态观测器的设计

实 验 报 告 课程 线性系统理论基础 实验日期 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 增益,这也可

降维观测器示例

降维观测器示例 【例】给定系统 1122210011x x u x x -????????=+????????-????????&&,[]1210x y x ??=???? 设计此系统的降维观测器,使其极点配置在-5。 解 (1) 判定系统的可观测性 因为 1021C V CA ????==????-????,0V ≠,因此系统可观测。 (2) 取非奇异线性变换矩阵为 101011010Q -????==???????? 利用x Qx =将给定系统化为 1122101120x x u x x -????????=+????????-? ???????&&,[]1201x y x ??=???? 待观测子系统的动态方程为 1112222x x u z x x x y y =-+==+=+&&& (3) 已知降维观测器的期望极点为-5,则其期望特征方程为50λ+=。 (4) 设观测器输出反馈系数为H ,降维观测器的特征方程为 (1)10H H λλ---=++= (5) 对比(3)、(4)中的方程对应项系数,可得4H =。 (6) 实现 先写出降维观测器的动态方程 111?????(), x x u H z z z x =-+--=& 应用本例(2)中的结果,上式可化为 11??548x x u y y =-+++&& ①变量变换法实现 设1?4x w y =+代入式,有 512w w u y =-+-& 其状态变量图如所示。

图变量变换法实现的降维状态观测器 ②结构变换法实现 也可对式直接应用结构变换法得降维观测器状态变量图如图所示。 图结构变换法实现的降维状态观测器

基于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 里面提供的库函数对全维状态观测器和降维状态观测器的设计也显得非常地方便。 现通过例子说明如何用 MATLAB 设计状态观测器。为了评价 MATLAB 所设计的状态观测器的性能,本文通过在 SIMULINK 环境下来仿真一个三阶状态观测器,来说明用 MATLAB 设计状态观测器的准确性。 1、全维观测器的设计 已知三阶系统的状态空间方程为: u x X ???? ? ?????+?????????? ---=102201210112 [] x y 012= 首先检验系统的是否完全能观 A=[2 -1 1;0 -1 2;1 0 -2]; C=[2 1 0]; N=[C;C*A;C*A*A] rank(N) ?? ?? ? ?????--=10112434012N rank(N) ans = 3 ,说明系统是完全能观的。 下面选择观测器需要配置的期望极点为:s 1 =-12 s 2,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]

可得全维观测器的方程为: y u x Gy Bu x GC A x ???? ??????-+??????????+??????????-----=++-=0619.13054.66527.11102~0000.20619.11238.10000.23054.56108.120000.16527.123054.21~)(~ 下面可依据上式构建simulink 图,据此观察观测器的跟踪能力 : 跟踪效果图如下: X1

状态观测器的设计——报告

东南大学自动化学院 实 验 报 告 课程名称: 自动控制基础 实验名称: 状态观测器的设计 院 (系): 自动化学院 专 业: 自动化 姓 名: 吴静 学 号: 08008419 实 验 室: 机械动力楼417室 实验组别: 同组人员: 实验时间:2011年05月13日 评定成绩: 审阅教师: 一、实验目的 1. 理解观测器在自动控制设计中的作用 2. 理解观测器的极点设置 3. 会设计实用的状态观测器 二、实验原理 如果控制系统采用极点配置的方法来设计,就必须要得到系统的各个状态,然后才能用状态反馈进行极点配置。然而,大多数被控系统的实际状态是不能直接得到的,尽管系统是可以控制的。怎么办?如果能搭试一种装置将原系统的各个状态较准确地取出来,就可以实现系统极点任意配置。于是提出了利用被控系统的输入量和输出量重构原系统的状态,并用反馈来消除原系统和重构系统状态的误差,这样原系统的状态就能被等价取出,从而进行状态反馈,达到极点配置改善系统的目的,这个重构的系统就叫状态观测器。 另外,状态观测器可以用来监测被控系统的各个参量。 观测器的设计线路不是唯一的,本实验采用较实用的设计。 给一个被控二阶系统,其开环传递函数是G (s )=12 (1)(1)K T s T s ++ ,12 K K K =观测器如图示。

设被控系统状态方程 构造开环观测器,X ∧ Y ∧ 为状态向量和输出向量估值 由于初态不同,估值X ∧ 状态不能替代被控系统状态X ,为了使两者初态跟随,采用输出误差反馈调节,加入反馈量H(Y-Y)∧ ,即构造闭环观测器,闭环观测器对重构造的参数误差也有收敛作用。 也可写成 X =(A-HC)X +Bu+HY Y CX ? ∧ ∧ ∧∧ = 只要(A-HC )的特征根具有负实部,状态向量误差就按指数规律衰减,且极点可任意配置,一般地,(A-HC )的收敛速度要比被控系统的响应速度要快。工程上,取小于被控系统最小时间的3至5倍,若响应太快,H 就要很大,容易产生噪声干扰。 实验采用X =A X +Bu+H(Y-Y)? ∧ ∧∧ 结构,即输出误差反馈,而不是输出反馈形式。 取:1212min 35 20,5,2,0.5,0.2K K T T t λ-= =====,求解12g g ?????? 三、实验设备: THBDC-1实验平台 THBDC-1虚拟示波器 Matlab/Simulink 软件 四、实验步骤 按要求设计状态观测器 (一) 在Matlab 环境下实现对象的实时控制 1. 将ZhuangTai_model.mdl 复制到E:\MATLAB6p5\work 子目录下,运行matlab ,打开ZhuangTai_model.mdl 注:‘实际对象’模块对应外部的实际被控对象,在simulink 下它代表计算机与外部接口: ● DA1对应实验面板上的DA1,代表对象输出,输出通过数据卡传送给计算机; ● AD1对应实验面板上的AD1,代表控制信号,计算机通过数据卡将控制信号送给实际对象;

实验六利用MATLAB设计状态观测器

现代控制理论第五次上机实验报告 实验六 利用MATLAB 设计状态观测器 实验目的: 1、学习观测器设计算法; 2、通过编程、上机调试,掌握基于观测器的输出反馈控制系统设计方法。 实验步骤 1、基于观测器的输出反馈控制系统的设计,采用MA TLAB 的m-文件编程; 2、在MA TLAB 界面下调试程序,并检查是否运行正确。 实验要求 1.在运行以上例程序的基础上,考虑图6.3所示的调节器系统,试针对被控对象设计基于全阶观测器和降 阶观测器的输出反馈控制器。设极点配置部分希望的闭环极点是1,2 2j λ=-± (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 === 进一步比较两个系统的带宽。 图6.3 调节器系统 设计闭环极点: >> a=[0 1;0 -2]; b=[0;1]; c=[4 0]; v1=[-2+j*2*sqrt(3) -2-j*2*sqrt(3)]; K=acker(a,b,v1) K = 16.0000 2.0000 全阶状态观测器:

>> v2=[-8 -8]; G=(acker((a-b*K)',c',v2))' G = 3 降阶状态观测器: >> T1 =[0 1;4 0] ; >> T =[0 0.25;1 0]; >> a1 =T1*a*T b1 =T1*b; c1 =c*T; Aaa=-2; Aab=0; Aba=4; Abb=0; Ba=1; Bb=0; v3=-8; l=(acker(Aaa,Aba,v3)) Ahat=Abb-l*Aab Bhat=Ahat*l+Aba-l*Aaa Fhat=Bb-l*Ba a1 = -2 0 4 0 l = 1.5000 Ahat = Bhat = 7

状态观测器的设计

实验四 状态观测器的设计 一、实验目的 1. 了解和掌握状态观测器的基本特点。 2. 设计状态完全可观测器。 二、实验要求 设计一个状态观测器。 三、实验设备 1. 计算机1台 2. MATLAB6.X 软件1套 四、实验原理说明 设系统的模型如式(3-1)示。 p m n R y R u R x D Cx y Bu Ax x ∈∈∈???+=+= (3-1) 系统状态观测器包括全维观测器和降维观测器。设计全维状态观测器的条件是系统状态完全能观。全维状态观测器的方程为: Bu y K z C K A z z z ++-=)( (3-2) 五、实验步骤 已知系数阵A 、B 、和C 阵分别如式(3-4)示,设计全维状态观测器,要求状态观测器的极点为[-1 -2 -3]上 ??????????---=234100010A ???? ??????-=631B []001=C (3-4) 设计全维状态观测器,要求状态观测器的极点为[-1 -2 -3]。 对系统式(3.4)所示系统,用MATLAB 编程求状态观测器的增益阵K z =[k1 k2 k3]T

程序: %实验4 A=[0 1 0;0 0 1;-4 -3 -2]; B=[1;3;-6]; C=[1 0 0]; D=[0]; [num,den]=ss2tf(A,B,C,D,1); %求出原系统特征多相式denf=[-1 -2 -3]; %希望的极点的特征多相式 k1=den(:,1)-denf(:,1) k2=den(:,2)-denf(:,2) %计算k2=d2-a2 k3=den(:,3)-denf(:,3) %计算k3=d3-a3 Kz=[k1 k2 k3]' 运行结果: k1 = 2 k2 = 4.0000 k3 = 6.0000 Kz = 2.0000 4.0000 6.0000

全维、降维观测器

全维、降维观测器

本文通过具体的例子阐明如何在 MATLAB 系统中进行全维状态观测器和降维状态观测器的设计。MATLAB 为状态空间设计提供了很多有用的函数,方便了矩阵方程的求解,其中的MATLAB 里面提供的库函数对全维状态观测器和降维状态观测器的设计也显得非常地方便。 现通过例子说明如何用 MATLAB 设计状态观测器。为了评价 MATLAB 所设计的状态观测器的性能,本文通过在 SIMULINK 环境下来仿真一个三阶状态观测器,来说明用 MATLAB 设计状态观测器的准确性。 1、全维观测器的设计 已知三阶系统的状态空间方程为: u x X ?? ?? ? ?????+??????????---=102201210112& []x y 01 2= 首先检验系统的是否完全能观 A=[2 -1 1;0 -1 2;1 0 -2]; C=[2 1 0]; N=[C;C*A;C*A*A] rank(N) ??? ? ? ?????--=10112434012N rank(N) ans = 3 ,说明系统是完全能观的。 下面选择观测器需要配置的期望极点为:s 1 =-12 s 2,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]

可得全维观测器的方程为: y u x Gy Bu x GC A x ???? ??????-+??????????+??????????-----=++-=0619.13054.66527.11102~0000.20619.11238.10000.23054.56108.120000.16527.123054.21~)(~& 下面可依据上式构建simulink 图,据此观察观测器的跟踪能力 : 跟踪效果图如下: X1

状态观测器的设计

实验五、状态观测器的设计 一、实验目的 1、 掌握全维观测器的构成及设计方法。 2、 研究状态反馈极点配置在状态观测器中的应用。 3、 掌握利用MATLAB 程序代码实现给定系统状态观测器的设计。 二、实验设备 计算机一台 三、实验原理 利用状态反馈配置系统极点时,需要用传感器测量状态变量来实现反馈,但通常系统状态不可或不易测得,于是提出利用测量系统的输入量和输出量重构状态,建立状态观测器,使之在一定指标下和系统的真实状态()x t 等价,即lim[()()]0t x t x t ∧ →∝-=。 1、 全维状态观测器 利用输出测量值和输入控制值观测系统的全部状态。 实验范例: 给定线性定常系统为 x Ax Bu ? =+ y Cx = []010,,102001A B C ????===???????? 利用状态观测器构成全维状态反馈系统,期望系统的闭环极点为qj Φ1=-2.5+j*4 qj Φ2=0 -2.5-j*4,全维状态观测器的期望特征值Gcqj1=-10,Gcqj2=-10。采用MATLAB 确定相应的状态反馈增益矩阵K 和观测器增益矩阵Ke 。 MATLAB 的程序代码 A=[0 1;20 0]; B=[0;1]; C=[1 0]; D=[0]; Q=[B,A*B]; Rank(Q)

运行结果如下: ans = %能控测矩阵的秩 2 结果说明,系统完全可控,因此可实现极点任意配置。 =[-2.5+j*4 0;0 -2.5-j*4]; qj Poly(J) %计算期望闭环极点的多项式 ans = 1.0000 5.0000 2 2.2500 ; Qbd=polyvalm(poly(J),A); K=[0 1]*inv(Q)*Qbd %计算状态反馈增益矩阵K K = 42.2500 5.0000 Obv=[C',A'*C']; Rank(Obv) %能观测矩阵的秩 ans = 2 Gcqj=[-10 0;0 -10]; Poly(-2.5+j*4 0;0 -2.5-j*4) %计算期望观测器极点的多项式ans = 1 20 100 Gqbd=polyvalm(poly(Gcqj),A); Ke=Gqbd*(inv(Obv'))*[0;1] %计算观测器增益矩阵Ke Ke =

利用状态观测器实现状态反馈的系统设计

实验二十八 利用状态观测器实现状态反馈的系统设计 【实验地点】 【实验目的】 1、掌握用状态反馈进行极点配置的方法。 2、了解带有状态观测器的状态反馈系统。 3、练习控制性能比较与评估的方法。 【实验设备与软件】 1、MA TLAB 软件。 2、labACT 实验箱。 【实验原理】 1、闭环系统的动态性能与系统的特征根密切相关,在状态空间的分析中可利用状态反馈来配置系统的闭环极点。这种校正手段能提供更多的校正信息,在形成最优控制率、抑制或消除扰动影响、实现系统解耦等方面获得广泛应用。 2、为了实现状态反馈,需要状态变量的测量值,而在工程中,并不是状态变量都能测量到,而一般只有输出可测,因此希望利用系统的输入输出量构成对系统状态变量的估计。解决的方法是用计算机构成一个与实际系统具有同样动态方程的模拟系统,用模拟系统的状态向量 作为系统状态向量 的估值。 状态观测器的状态和原系统的状态之间存在着误差,而引起误差的原因之一是无法使状态观测器的初态等于原系统的初态。引进输出误差 的反馈是为了使状态估计误差尽可能快地衰减到零。 3、若系统是可控可观的,则可按极点配置的需要选择反馈增益阵k ,然后按观测器的动态要求选择H ,H 的选择并不影响配置好的闭环传递函数的极点。因此系统的极点配置和观测器的设计可分开进行,这个原理称为分离定理。 【实验内容、方法、过程与分析】 1、实验内容 设控制系统如图1所示,要求设计状态反馈阵K ,使动态性能指标满足超调量%5%≤σ,峰值时间s t p 5.0≤。 图 1 由图可得系统传递函数关系为: 21()()0.051 X s X s s =+ (1) 12()()()U s X s X s s -= (2) 1()()X s Y s = (3) 对上(1),(2),(3)化简并反变换:

利用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 Aw By Fu =++ b x w Ly =+ 基于降阶观测器的输出反馈控制器是: ????()[()]()b a b b 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 ) 对于全阶观测器,1 8μ=-和 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 === 进一步比较两个系统的带宽。 图6.3 调节器系统 2.假设SISO 受控系统的开环传递函数为 2 1()G s s = (1)若根据系统的性能指标要求,希望配置的系统极点为 12,33,22j λλ=-=-± 求受控系统的状态反馈矩阵。 (2)设计观测器反馈系数矩阵L ,使全维状态观测器的希望极点均为-3. 实验结果 一、 设计基于全阶观测器和降阶观测器的输出反馈控制器 1、全阶观测器: 1) 计算全阶观测器的增益矩阵L 由图6.3所示的调节器系统1/s*(s+2)得, 执行以下的M-文件: a=[0 1;0 -2]; b=[0;1]; c=[4 0]; v=[-8 -8]; l=(acker(a',c',v))' result :

降维观测器示例

降维观测器示例 【例9.48】给定系统 1122210011x x u x x -????????=+????????-????????,[]1210x y x ?? =???? 设计此系统的降维观测器,使其极点配置在-5。 解 (1) 判定系统的可观测性 因为 102 1C V CA ???? ==??? ?-? ? ?? ,0V ≠,因此系统可观测。 (2) 取非奇异线性变换矩阵为 1 01011010Q -???? ==???? ???? 利用x Qx =将给定系统化为 1122101120x x u x x -????????=+????????-? ???????,[]1201x y x ?? =???? 待观测子系统的动态方程为 1112222x x u z x x x y y =-+==+=+ (3) 已知降维观测器的期望极点为-5,则其期望特征方程为50λ+=。 (4) 设观测器输出反馈系数为H ,降维观测器的特征方程为 (1)10H H λλ---=++= (5) 对比(3)、(4)中的方程对应项系数,可得4H =。 (6) 实现 先写出降维观测器的动态方程 111?????(), x x u H z z z x =-+--= 应用本例(2)中的结果,上式可化为 11??548x x u y y =-+++ (9.222) ①变量变换法实现 设1?4x w y =+代入式(9.222),有 512w w u y =-+- 其状态变量图如9.29所示。

图9.29变量变换法实现的降维状态观测器 ②结构变换法实现 也可对式(9.222)直接应用结构变换法得降维观测器状态变量图如图9.30所示。 图9.30结构变换法实现的降维状态观测器 1?x 1?x y u 1s 5 8 4 w 1?x w y u 1s 5 12 4

带状态观测器的控制系统综合设计与仿真要点

带状态观测器的控制系统综合设计与仿真 一、主要技术参数: 1.受控系统如图所示: 图1 受控系统方框图 2.性能指标要求: (1)动态性能指标: 超调量 5%p σ≤; 超调时间 0.5p t ≤秒; 系统频宽 10b ≤ω; (2)稳态性能指标: 静态位置误差0=p e (阶跃信号) 静态速度误差2.0≤v e (速度信号) 二、设计思路 1、按图中选定的状态变量建立系统的状态空间数学模型。 2、对原系统在Simulink 下进行仿真分析,对所得的性能指标与要求的性能指标进行比较。 3、根据要求的性能指标确定系统综合的一组期望极点。 4、假定系统状态均不可测,通过设计系统的全维状态观测器进行系统状态重构。 5、通过状态反馈法对系统进行极点配置,使系统满足要求的动态性

能指标。 6、合理增加比例增益,使系统满足要求的稳态性能指标。 7、在Simulink 下对综合后的系统进行仿真分析,验证是否达到要求的性能指标的要求。 三、实验设计步骤 I 、按照极点配置法确定系统综合的方案 1、按图1中选定的状态变量建立系统的状态空间数学模型 ① 列写每一个环节的传递函数 由图1有: 112235()()510()()10()()U s x s s x s x s s x s x s s ?=?+? ? = ?+? ? =?? ②叉乘拉式反变换得一阶微分方程组 由上方程可得 1213 2(5)()5()(10)()10() ()() s x s U s s x s x s sx s x s +=?? +=??=?

即 112123 2()5()5()()10()10() ()() sx s x s U s sx s x s x s sx s x s =-+?? =-??=? 拉式反变换为 1121232551010x x U x x x x x ?=-+?? =-???=? 输出由图1可知为 3y x = ③用向量矩阵形式表示 11223350051010000100x x x x u x x ?? ??-??????????????=-+???????? ????????? ????????? []001y x = 2、对原系统在Simulink 下进行仿真分析,对所得的性能指标与要求的性能指标进行比较

状态观测器设计

基于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)检验系统性能。 已知系统模型 如何从系统的输入输出数据得到系统状态? 初始状态:由能观性,从输入输出数据确定。 不足:初始状态不精确,模型不确定。 思路:构造一个系统,输出逼近系统状态 称为是的重构状态或状态估计值。实现系统状态重构的系统称为状态观 测器。 观测器设计 状态估计的开环处理:

降维观测器

降维观测器 给定线性系统: x y u x x ?? ? ???=??????? ?????+????????????------=31001000011000006021040061100232210 设计它的降维观测器。 描述的系统是完全能观测的,并且有2rankC =。 构造非奇异矩阵22 1T R ?∈, 1T 的结构是 }}122 T C ?? =?? ?? ,得出 ????? ???? ???-01 00 13000010000111=-T 作状态变换1x T x =,则变化为x Ax Bu y Cx ?=+?=? 其中[]0r C I =,22 1 2 12,,T T T x x x x R x R ??=∈∈??,则有 11111221221122222,,x A x A x B u x A x A x B u y x ?=++?=++??=? 因为2x 可以被直接测量到,所以需要估计的是2维向量1x 。

?? ? ???????? ???? ??????? ? ???? ???-------==10000100]0[13 0100 00 (4663062111390022431011 11 11=,====此处教材计算有误)作线性变换--r I CT C B T B AT T A ? ? ??? ???????=?? ? ???=+? ? ??????????1000 010002-10 07-01,02-07-,-21-6-32-10010221112111T L A L A L A A 则可取的特征值为使得构造矩阵=,=其中 构造举证20 n r r I L T I -?? =? ???,再作变换2x T x = ,使得x Ax Bu y Cx ?=+?=? ,其中 111121 A A LA =+

利用MATLAB设计状态观测器

利用MATLAB 设计状态观测器 本节将介绍用MATLAB 设计状态观测器的若干例子。我们将举例说明全维状态观测器和最小阶状态观测器设计的MATLAB 方法。 ------------------------------------------------ [例1] 考虑一个调节器系统的设计。给定线性定常系统为 Cx y 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。 矩阵 e MATLAB 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 *****

全维、降维观测器

页脚. 本文通过具体的例子阐明如何在 MATLAB 系统中进行全维状态观测器和降维状态观测器的设计。MATLAB 为状态空间设计提供了很多有用的函数,方便了矩阵方程的求解,其中的MATLAB 里面提供的库函数对全维状态观测器和降维状态观测器的设计也显得非常地方便。 现通过例子说明如何用 MATLAB 设计状态观测器。为了评价 MATLAB 所设计的状态观测器的性能,本文通过在 SIMULINK 环境下来仿真一个三阶状态观测器,来说明用 MATLAB 设计状态观测器的准确性。 1、全维观测器的设计 已知三阶系统的状态空间方程为: u x X ?? ?? ? ?????+?????????? ---=102201210112 []x y 012= 首先检验系统的是否完全能观 A=[2 -1 1;0 -1 2;1 0 -2]; C=[2 1 0]; N=[C;C*A;C*A*A] rank(N) ?? ?? ? ?????--=10112434012N rank(N) ans = 3 ,说明系统是完全能观的。 下面选择观测器需要配置的期望极点为:s 1 =-12 s 2,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]

可得全维观测器的方程为: y u x Gy Bu x GC A x ???? ??????-+??????????+??????????-----=++-=0619.13054.66527.11102~0000.20619.11238.10000.23054.56108.120000.16527.123054.21~)(~ 下面可依据上式构建simulink 图,据此观察观测器的跟踪能力 : 跟踪效果图如下: X1

状态观测器设计方案

基于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是观测器增益矩阵,对偏差的加权。 真实状态和估计状态的误差向量 误差的动态行为:

相关文档
相关文档 最新文档