基于MATLAB的状态观测器设计
利用MATLAB设计状态观测器
利用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的继续。
基于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来保证。
状态观测器设计
基于M A T L A B 的状态观测器设计预备知识: 极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy 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是观测器增益矩阵,对偏差的加权。
真实状态和估计状态的误差向量误差的动态行为:的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来保证。
线性系统极点配置和状态观测器基于设计(matlab) - 最新版本
一. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且:这时,闭环系统的状态空间模型为:()x A BK x Bv y Cx =-+⎧⎨=⎩二. 状态观测器设计原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy Bu Ax x 若系统是完全可观的,则可引入全维状态观测器,且:ˆˆ(y y)ˆˆx Ax Bu G y Cx ⎧=++-⎪⎨=⎪⎩设ˆx x x=-,闭环系统的状态空间模型为: ()x A GC x =-解得:(A GC)t(0),t 0x ex -=≥由上式可以看出,在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 Cxy 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)2n 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 Tx Q z -= (类似于最小二乘参数估计) 综上所述,构造一个新系统z ,它是以原系统的输出y 和输入u ,其输出经过变换1(Q Q)T T Q -后得到状态向量ˆx。
实用文档之状态观测器设计
实用文档之"基于MATLAB 的状态观测器设计"预备知识: 极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy 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是观测器增益矩阵,对偏差的加权。
真实状态和估计状态的误差向量误差的动态行为:的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来保证。
基于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的状态观测器设计预备知识:极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:若系统是完全可控的,则可引入状态反馈调节器,且:这时,闭环系统的状态空间模型为: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来保证。
也即极点配置问的极点决定了误差是否衰减、如何衰减?通过确定矩阵题。
LALC是稳定的。
若能使得,使得要使得误差衰减到零,需要选取一个适当的矩阵-ALC有适当的特征值,则可以使得误差具有一定的衰减率。
状态观测器设计
基于M A T L A B的状态观测器设计预备知识:极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:若系统是完全可控的,则可引入状态反馈调节器,且:这时,闭环系统的状态空间模型为: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来保证。
也即极点配置问题。
要使得误差衰减到零,需要选取一个适当的矩阵L,使得A-LC是稳定的。
状态观测器设计
基于M A T L A B 的状态观测器设计预备知识: 极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:⎩⎨⎧=+=Cxy 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是观测器增益矩阵,对偏差的加权。
真实状态和估计状态的误差向量误差的动态行为:的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来保证。
状态观测器设计
基于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 的状态观测器设计预备知识: 极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
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来保证。
状态观测器设计
基于M A T L A B的状态观测器设计预备知识:极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:若系统是完全可控的,则可引入状态反馈调节器,且:这时,闭环系统的状态空间模型为: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来保证。
也即极点配置问题。
要使得误差衰减到零,需要选取一个适当的矩阵L,使得A-LC是稳定的。
状态观测器设计
基于M A T L A B的状态观测器设计预备知识:极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:若系统是完全可控的,则可引入状态反馈调节器,且:这时,闭环系统的状态空间模型为: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来保证。
也即极点配置问题。
要使得误差衰减到零,需要选取一个适当的矩阵L,使得A-LC是稳定的。
状态观测器设计
基于M A T L A B的状态观测器设计预备知识:极点配置基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求。
1. 极点配置原理假设原系统的状态空间模型为:若系统是完全可控的,则可引入状态反馈调节器,且:这时,闭环系统的状态空间模型为: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来保证。
也即极点配置问题。
要使得误差衰减到零,需要选取一个适当的矩阵L,使得A-LC是稳定的。
利用MATLAB设计状态观测器
数
L=(acker(A’,C’,V))’ 得到。其中的 V 是由期望的观测器极点所构成的向量。类似的,也可以用
L=(place(A’,C’,V))’ 来确定一般系统的观测器矩阵,但这里要求 V 不包含相同的极点。
5.3.2 降阶观测器设计
∫ٛ x
y C
-K ~x
A
Fˆ
Cˆ
w~ ∫ٛ
Bˆ
Aˆ
降阶观测器 Dˆ
图 5.2 基于降阶观测器的反馈控制系统
容易证明,误差向量 e = xb − ~xb = w − w~ 满足方程
e& = (A bb − LA b ) 完全能观,则一定可以通过选取一个适当的矩阵 L ,使得误差动态系
试应用 MATLAB 软件,设计一个全维观测器,使得观测器极点是 μ1 = −5 + j5 3 , μ1 = −5 − j5 3 , μ3 = −10 。
配置全阶观测器极点的M-文件为:
a=[0 1 0;0 0 1;1.244 0.3965 -3.145];
19
b=[0;0;1.244]; c=[1 0 0]; v=[-5+j*5*sqrt(3) -5-j*5*sqrt(3) -10]; l=(acker(a',c',v))'
其中: x, u 和 y 分别是系统的 n 维状态向量、 m 维控制输入向量和 p 维测量输出向量,
A, B 和 C 是已知的适当维数常数矩阵。根据系统模型(5.1)和输入输出信息来人为地构
造一个系统,使得其输出 ~x(t) 随着时间的推移逼近系统的真实状态 x(t) ,即
lim[~x(t) − x(t)] = 0
状态观测器设计
基于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来保证。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于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是观测器增益矩阵,对偏差的加权。
真实状态和估计状态的误差向量
误差的动态行为:
的极点决定了误差是否衰减、如何衰减?通过确定矩阵L来保证。
也即极点配置问题。
要使得误差衰减到零,需要选取一个适当的矩阵L,使得A-LC是稳定的。
若能使得矩阵A-LC有适当的特征值,则可以使得误差具有一定的衰减率。
由于
因此,问题转化为的极点配置问题。
该极点配置问题可解的条件:
能控;等价于能观
定理:系统可以任意配置观测器极点的充分必要条件是(C, A)能观。
观测器的增益矩阵可以按照极点配置方法来设计,
求解的极点配置问题,得到增益矩阵k;
观测器增益矩阵
例考虑由以下系数矩阵给定的系统
设计一个观测器,使观测器两个极点都是-2。
检验系统的能观性:
系统是能观的,因此问题可解。
要求确定观测器增益矩阵
使得矩阵A-LC具有两个相同的特征值-2。
由于
期望的特征值多项式是
比较两个多项式,可以得到,
所求的观测器是
也可利用MATLAB 命令来计算观测器增益矩阵:
L=(acker(A ’,C ’,V))’ L=(place(A ’,C ’,V))’
观测器设计时注意的问题:
(1)观测器极点比系统极点快2~5倍; (2)并非越快越好。
例2:某系统
u x X ⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=102101110221
[]x y 001=
首先对系统的能控性进行判断,以编程方式实现 a=[-1 -2 -2;0 -1 1;1 0 -1];
b=[2;0;1]; %输入a ,b 矩阵 q=[b a*b a^2*b] rank(q)
计算结果为
⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡--=511010042q
q 的秩为3,因此该系统为完全能控型系统,在满足系统要求的前提下,理论上能任意配置期望极点。
观测器的设计
首先检验系统的是否完全能观
a=[-1 -2 -2;0 -1 1;1 0 -1]; c=[1 0 0];
q=[c;c*a;c*a*a] rank(q)
⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡----=241221001q
rank(q)=3
说明系统是完全能观的
下面就是观测器期望极点选择,一般为了考虑观测器的响应速度要比闭环系统快,又要考虑干扰抑制,一般极点为闭环极点的2---5倍。
根据主导二阶极点方法所配置的极点为s1=-4 s2,3=-1±0.88i 选择观测器极点为s1=-12 s2,3=-3±0.88i
由此可进一步求出观测器增益矩阵l a=[-1 -2 -2;0 -1 1;1 0 -1]; c=[1 0 0];
pe=[-12;-3+0.88*i;-3-0.88*i]; lt=acker(a',c',pe); l=lt'
求得l=[15;1.872;-25.2592];
下面可构建Simulink 图,据此观察观测器的跟踪能力
跟踪效果图如下
可见,单路跟踪效果较好。
利用状态空间,可以方便地设计全维观测器,
各路跟踪效果如下:
12345678910
0123456789
10
据此发现观测器跟踪效果较好。
利用状态估计值的反馈控制器是
基于观测器的输出反馈控制系统结构图:
例3:系统状态空间模型的系数矩阵:
状态反馈控制器:
闭环矩阵:
特征多项式:
选取
则闭环极点
状态不可测,设计状态观测器。
选取观测器极点:
应用极点配置方法,可得观测器增益矩阵
观测器模型:
根据分离性原理,由以上分别得到的状态反馈和观测器增益矩阵可构造基于观测器的输出反馈控制器:
系统的动态特性:
对象和误差的初始条件:
系统曲线:
总结
从以上的设计可总结出状态空间的控制器的设计思路。
1.首先对观测器的能观性与能控性进行判断;
2.如果完全能观或能控,则进行以下分析;如果不是,可以进行能控与能观分
解出来;
3.如果使用原系统状态反馈,可以根据系统要求进行极点配置,进而设计出控
制器;如果还需要设计观测器,可合理配置观测器极点,进而设计整个系统。
4.如果使用观测器状态反馈,由于分离定理,观测器与反馈可分别设计,所以
设计过程基本和上面一样;
5.对于以上系统都存在较大的余差,故需设计参考输入,或者采取积分控制器
都可以很好的消除稳态余差。