10.3 状态观测器

在前面介绍控制系统设计中的极点配置方法时,曾假设所有的状态变量均可有效地用于反馈,而在实际工作中,并不是所有的状态变量都可用于反馈的,这时就需要估计不可观测的状态变量。不可观测状态变量的估计通常称为观测,估计状态变量的装置或算法称为状态观测器,或简称为观测器。

10.3.1 状态观测器的基本概念

10.3.1.1 状态观测器定义

对于完全能控的线性定常系统,通过状态反馈配置期望的极点,使闭环系统具有期望要求的动态特性。但在实际系统中,并不是所有的状态变量都能测量到的。但为了实现状态反馈控制律,必须对状态变量进行测量,因此要设法利用已知的信息(输入量与输出量),通过一个模型(或系统、软件)来对状态变量进行估计。为了解决这一问题,提出了状态重构问题。

龙博格(Luenberger)提出了状态观测器理论,它是现代控制理论中具有工程实用价值的基本内容之一,这个理论解决了在确定性控制条件下受控系统状态的重构问题,从而使状态反馈成为一种现实的控制规律。

重构状态就是在系统的实际状态不可得的情况下构造系统,利用原系统可直接测量的输入变量u和输出变量y重新构造一个状态H_294-0-1,使之在一定的指标下和系统的真实状态x(t)等价,即H_294-1

如果系统可观测,从可测量u和y中把x(t)间接重构出来是可能的,这种必要性与可能性正是观测器理论的出发点。状态观测器又称为状态渐近估计器。

设线性定常系统∑0=(A,B,C)的状态X是不能直接测量的,如果动态系统H_294-2的输入u和输出y作为它的输入量,H_294-3满足如下等价性指标:

P_295-1

则称动态系统H_295-1的状态观测器。

10.3.1.2 状态观测器的构成

一般系统的输入量u和输出量y均为已知,因此希望利用y=cx与H_295-2的偏差信号来修正H_295-3的值,这样就形成了如图10.6所示的闭环估计方案。

P_295-2

图10.6 状态观测器结构图

在图10.6中,虚线框出的部分称为状态观测器或状态估计器,它是一个动态系统,以原系统的输入量和输出量作为它的输入量,而估计器的输出量是原系统状态变量的估计值H_295-3-1,它应当满足

P_295-3

根据如图10.6所示的关系,可写出观测器部分的状态方程为

P_295-4

式(10-14)也可写成

P_295-5

在一类工程实际问题中,产生状态估计值的目的是用以构成反馈控制规律,在这种情况下,完全可以直接讨论如何产生状态线性组合的估计值,而没有必要去产生状态的估计值。

根据观测的状态变量个数,状态观测器可分为全维状态观测器和降维状态观测器。全维状态观测器用来观测全部状态变量,而降维状态观测器只需估计不可测量或没有测量的状态变量。

10.3.1.3 状态观测器的设计原则和设计步骤

由上述定义,不难得出构成系统观测器的原则是:

(1)观测器H_295-4以原系统∑0的输入和输出作为其输入;

(2)为了满足等价性指标,原系统H_295-5应当是完全能观测的,或者X中不能观测的部分是渐进稳定的;

(3)H_295-6的输出H_295-7应有足够快的速度逼近,这就要求H_295-8有足够宽的频带;

(4)H_296-01应有较高的抗干扰性,这就要求H_296-02有较窄的频带,显然,观测器的快速性和抗干扰性是矛盾的,只能折中地加以选择;

(5)H_296-03在结构上应尽可能简单,即具有尽可能低的维数。

状态观测器的设计步骤如下:

(1)判断系统的可控性,只有系统是可控的,设计状态观测器才有意义;

(2)判断系统的可观性,只有系统是可观的,才能从系统的测量信号估计状态;

(3)确定系统的极点,若根据控制要求给定了极点,则分别确定状态反馈增益矩阵F和观测器增益矩阵K;

(4)设计数字补偿器,系统中的估计状态和输出序列两部分均由计算机实现,将两部分的功能组合成一个数字补偿器算式,以便于在计算机上实现。

10.3.2 全维状态观测器

全维状态观测器是利用输出测量值和输入控制值观测系统的全部状态。将原系统输出量y(k)和观测器输出量H_296-04之间的误差反馈至状态观测器,构成闭环状态观测器,其观测状态包含了受控系统的全部状态变量。

10.3.2.1 全维状态观测器

考虑如下线性定常系统:H_296-1,假设状态向量x由如下动态方程中的状态H_296-05来近似,该式表示状态观测器:

P_296-1

注意到状态观测器的输入为y和u,输出为H_296-06

式(10-16)的右端最后一项包含被观测输出H_296-07之间差的修正项,矩阵Ke起到加权矩阵的作用,H_296-08为修正项监控状态变量。当此模型使用的矩阵A和B与实际系统使用的矩阵A和B之间存在差异时,由于动态模型和实际系统之间的差异,该附加的修正项将减小这些影响。图10.7为系统和全维状态观测器结构示意图。

P_297-2

图10.7 全维状态观测器结构图

H_296-13可得观测器的误差方程为

P_296-2

定义H_296-09之差为误差向量,即H_296-10,则式(10-17)可改写为

P_296-3

由式(10-18)可看出,误差向量的动态特性由矩阵A-KeC的特征值决定。如果矩阵A-KeC是稳定矩阵,则对任意初始误差向量e(0),误差向量都将趋近于零。也就是说,不管H_296-11值如何,H_296-12都将收敛到x(t)。如果所选的矩阵A-KeC的特征值使得误差向量的动态特性渐近稳定且足够快,则任意误差向量都将以足够快的速度趋近于零(原点)。

如果系统是完全能观测的,则证明可以选择Ke使得A-KeC具有任意所期望的特征值。也就是说,可以确定观测器的增益矩阵Ke,以产生所期望的矩阵A-KeC。

确定观测器增益矩阵Ke的问题,也就是全维状态观测器的设计问题,以使由式(10-18) 定义的误差动态方程以足够快的响应速度渐近稳定(渐近稳定性和误差动态方程的响应速度由矩阵A-KeC的特征值决定)。因此,全维观测器的设计就变成为了确定一个合适的Ke,使得A-KeC具有所期望的特征值,这样,全维状态观测器的设计问题也就变成为了前面所讨论的极点配置问题。

考虑如下的线性定常系统:H_297-1,在设计全维状态观测器时,可以求解其对偶问题。也就是说,求解如下对偶系统的极点配置问题:

P_297-1

假设控制输入为υ=-Kz,如果对偶系统是状态完全能控制的,则可确定状态反馈增益矩阵K,使得矩阵AT-CTK得到一组期望的特征值。

如果μ1,μ2,…,μn是期望的状态观测器矩阵特征值,则通过取相同的μi作为对偶系统状态反馈增益矩阵的期望特征值,可得H_297-2

注意到AT-CTK和A-KTC的特征值相同,得H_297-3

比较特征多项式H_297-4和观测器系统的特征多项式H_297-5,可找出Ke和KT的关系为:

P_297-4

因此,通过在对偶系统中由极点配置方法确定矩阵K,则由关系式Ke=KT就可确定原系统的观测器增益矩阵。

如前所述,确定A-KeC所对应的观测器增益矩阵Ke的充分必要条件是:原系统的对偶系统H_297-6是状态完全能控制的。该对偶系统状态完全能控制的条件是:

P_297-5

的秩为n。这是线性定常系统完全能观测的条件,即线性定常系统的系统状态能观测的充分必要条件是系统完全能观测。

10.3.2.2 全维状态观测器的设计

考虑由下式定义的线性定常系统:

P_297-6

式中,H_297-7。假设系统是完全能观测的,又设系统结构如图10.7所示。

在设计全维状态观测器时,如果将式(10-19)给出的系统变换为能观测标准型就很方便了。如前所述,可按下列步骤进行。

定义一个变换矩阵P,使得P=(WR)-1,其中,R是能观测性矩阵。

P_297-7

且对称矩阵W为

P_298-1

式中,ai是由式(10-19)给出的如下特征方程的系数:

P_298-2

显然,由于假设系统是完全能观测的,因此矩阵WR的逆存在。

现定义一个新的n维状态向量ξ:

P_298-3

则式(10-19)为

P_298-4

式中,

P_298-5

式(10-21)是能观测标准型,因而给定一个状态方程和输出方程,如果系统是完全能观测的,并且通过采用式(10-20)所给出的变换,将原系统的状态向量x变换为新的状态向量ξ,则可将给定的状态方程和输出方程变换为能观测标准型。注意,如果矩阵A已经是能观测标准型,则Q=I。

如前所述,选择由

P_298-6

给出的状态观测器的动态方程。

P_298-7

要求误差动态方程是渐近稳定的,且ε(t)以足够快的速度趋于零。

确定矩阵Ke的步骤是:选择所期望的观测器极点(A-KeC的特征值),然后确定Ke,使其给出所期望的观测器极点。注意P-1=WR,可得:

P_298-8

P_299-1

注意

期望的特征值μi确定了被观测状态以多快的速度收敛于系统的真实状态。

比较式(10-24)和式(10-25)的s同幂项的系数,可得:

P_299-4

因此

P_300-1

式(10-26)规定了所需的状态观测器增益矩阵Ke。

如前所述,式(10-26)也可通过其对偶式得到。也就是说,考虑对偶系统的极点配置问题,并求出对偶系统的状态反馈增益矩阵K,那么状态观测器的增益矩阵K就可由KT来确定。

一旦选择了所期望的特征值(或所期望的特征方程),只要系统完全能观测,就能设计出全维状态观测器。所选择的特征方程的期望特征值应能使状态观测器的响应速度至少比所考虑的闭环系统快2~5倍。

如前所述,全维状态观测器的方程为:H_300-1

注意

至此,假设观测器中的矩阵A和B与实际系统中的完全相同。实际上这是做不到的,因此误差动态方程不可能由式(10-23)给出,这就意味着误差不可能趋于零。因此,应尽可能建立观测器的准确数学模型,以使误差小到令人满意的程度。

10.3.3 降维状态观测器

当状态观测器估计状态向量的维数小于被控对象状态向量的维数时,称为降维状态观测器。对于q维输出系统,有q个输出变量可直接测量得到,通过线性变换,有q个状态变量可由输出得到,观测器只需估计(n-q)个状态变量,称为(n-q)维状态观测器。它是一个(n-q)维子系统。

(n-q)维子系统动态方程的建立步骤如下所述。

设n维受控系统的动态方程为

P_300-2

系统有q个输出,且系统是可控和可观测的。系统可控保证了可以任意配置系统的极点,系统可观测确定了降维状态观测器的维数为(n-q)。把x分解为H_300-2(q个可直接由输出测得的状态变量)两部分。

引入非奇异线性变换:H_300-3,变换后的系统动态方程为

P_300-3

式中,

P_300-4

P_301-1

则变换后的状态方程展开为

P_301-2

H_301-1,并把它看做(n-q)维子系统的输入向量;H_301-2,并把它看做(n-q)维子系统的输出向量,则(n-q)维子系统的动态方程为

P_301-3

由于原n维系统可观测,因此该(n-q)维子系统也是可观测的。

与全维状态观测器的构成方法相同,设计(n-q)维子系统的全维状态观测器,其原理结构图如图10.8所示。

P_301-4

图10.8 (n-q)维子系统及其观测器原理结构图

降维状态观测器的动态方程为

P_301-5

式(10-27)即为降维状态观测器的状态方程,式中H_301-5为降维状态观测器的状态矩阵,降维状态观测器的极点由下列特征方程决定

P_301-6

用做状态反馈的估计状态向量由两部分组成:由(n-q)维状态观测器给出的状态估值H_301-7;由输出传感器测得的状态H_301-6

因为H_302-1,所以

P_302-1

带降维状态观测器的全状态反馈系统的设计步骤可归纳如下:

(1)检查受控系统的可观测性,确定降维状态观测器的维数(n-q);

(2)运用非奇异线性变换H_302-3,将可由传感器测得的q个状态变量与待观测器估计的(n-q)个状态变量分离;

(3)构造(n-q)维状态观测器,观测器反馈系数矩阵H由观测器期望特征值求得;

(4)将H_302-0-1变换回到原系统状态空间,将估值H_302-0-2作为原系统状态反馈的状态信息。

按上述方法构成的(n-q)维状态观测器称为龙博格观测器。在变换的状态空间内的龙博格观测器结构如图10.9所示。

10.3.4 MATLAB/Simulink在状态观测器设计中的应用

利用MATLAB控制系统工具箱中的函数,可以计算状态反馈增益矩阵K和H,得到了这两个矩阵就可以获得状态观测器。下面通过实例讲述采用MATLAB/Simulink进行状态观测器设计。

【例10-4】 考虑一个调节器系统的设计。给定线性定常系统为H_302-4,其中H_302-5。闭环极点为s=μi(i=1,2),其中μ1=-1.8+j2.4,μ2=-1.8-j2.4。期望用观测状态反馈控制,而不是用真实的状态反馈控制。观测器的期望特征值为μ1=μ2=-8。试采用MATLAB确定相应的状态反馈增益矩阵K和观测器增益矩阵Ke。

解:MATLAB的程序代码如下。

P_302-2

图10.9 龙博格观测器结构图

  1. A=[0 1; 20.6 0]; B=[0; 1]; C=[1 0]; D=[0];
  2. Q=[B, A*B]; %构建能控矩阵
  3. Rank(Q) %计算能控矩阵的秩

运行结果如下:

  1. ans=2 %能控矩阵的秩

由输出结果可知,系统完全可控,因此可以实现任意的极点配置。

接着输入以下MATLAB程序代码,计算状态反馈增益矩阵K。

  1. J=[-1.8+2.4*i 0; 0 -1.8-2.4*i]; %期望的闭环极点
  2. Poly(J) %计算期望闭环极点的多项式
  3. Phi=polyvalm(poly(J),A); %计算爱克曼公式中的φ*(A)
  4. K=[0 1]*inv(Q)*Phi %根据爱克曼公式计算状态反馈增益矩阵K
  5. RT=[C', A'*C']; %构建能观测矩阵
  6. rank(RT) %计算能观测矩阵的秩

计算输出结果如下:

  1. ans=1.0000 3.6000 9.0000 %Poly(J)
  2. K=29.6000 3.6000 %状态反馈增益矩阵K
  3. ans=2 %能观测矩阵的秩

由输出结果可知,系统完全可观,因此可以对系统设计观测器。

接着输入如下MATLAB程序代码:

  1. JO=[-8 0; 0 -8]; %观测器期望的特征值
  2. poly(JO) %计算期望观测器极点的多项式
  3. Ph=polyvalm(poly(JO),A); %计算爱克曼公式中的φ*(A)
  4. Ke=Ph*(inv(RT'))*[0; 1] %根据爱克曼公式计算观测器增益矩阵Ke

计算输出结果如下:

  1. ans=1 16 64 %poly(JO)
  2. Ke=16.0000
  3. 84.6000

由输出结果可知,所求状态反馈增益矩阵K=[29.6 3.6],观测器增益矩阵H_303-1,该观测状态反馈控制系统是4阶的,其特征方程为

P_303-1

将期望的闭环极点和期望的观测器极点代入上式,接着输入如下代码:

  1. X=[eig(A-B*K); eig(A-Ke*C)] %期望的闭环极点和期望的观测器极点
  2. poly(X) %计算特征多项式|sI-A+BK||sI-A+KeC|

计算输出结果如下:

  1. X=-1.8000 + 2.4000i
  2. -1.8000 - 2.4000i
  3. -8.0000
  4. -8.0000
  5. % poly(X)
  6. ans= 1.0000 19.6000 130.6000 374.4000 576.0000

由输出结果可知:

P_304-1

注意

前面计算爱克曼公式中的φ*(A)时,采用了函数polyvalm,它以矩阵方式进行多项式函数计算,它的语法为polyvalm(a,X),其中X为一矩阵,而a则是一多项式。