这一篇我们来讲输出反馈与Luenberger状态观测器。后者是用于deterministic system的状态估计系统。对于stochastic system,会用到Kalman Filter,这个还是惯例,以后一步步再讲。在观测器设计中,我们并不限定系统是单输出的(single-output),所以没有特殊指明SISO, [公式] 矩阵一般都是多维的。

在本文中observer和estimator是一样的含义,表示的是观测器或者状态估计器。

本篇目录:

1. 输出反馈与output injection

2. Leuberger状态观测器 - 全维观测器 Full Order Estimators

3. Leuberger状态观测器 - 降维观测器 Reduced-Order Estimators


1. 输出反馈与output injection

我们上次已经讲过输出反馈只能算是部分状态反馈,在工程上用的比较多,因为大部分输出比全状态还是更容易测量。虽然输出反馈也能够改变系统的极点,但是却不能实现任意极点的配置[2,p197]。对于SISO系统来说,考虑一个线性输出反馈:

[公式]

为了讨论形式上的简单一些,不考虑feedthrough input,即feedthrough matrix [公式] ,就得到闭环系统:

[公式]

最后闭环系统的传递函数为: [公式] ,其中 [公式] 。其根轨迹满足方程: [公式] 。以 [公式] 为参数,很明显,只有根轨迹上的极点是可以配置的,而其余的非根轨迹上的极点是不能被配置的,所以输出反馈在这里只能完成部分位置的pole placement。

除了输出反馈之外,还有一种把系统的输出直接反馈到系统动态过程的方式,称为:output injection。即将 [公式] 通过一个增益矩阵 [公式] 反馈到动态中:

[公式]

通过选取 [公式] 也可以对闭环系统的极点进行配置,但充要条件是任意配置极点需要pair(C,A)是能观的。根据duality原理, [公式]

dual system(输入输出端互换等变换)是:

[公式]

其中 [公式] 是原系统的输出与输入,可以表示为dual system的输入与输出。那么pair [公式] is observable 意味着pair [公式] 是能控的,那么存在一个矩阵 [公式] 使得 [公式] (或者 [公式] ,取决于符号定义)的特征值是可以自由配置的。因为 [公式] ,所以这意味着 [公式] 的特征值也是可以自由配置的。所以在(3)中我们令 [公式] 即可得知 [公式] 的特征值也是可以自由配置的。所以我们不难得到能观性是(3)闭环极点自由配置的充要条件。

对于(4),我们设计全状态反馈 [公式] (这里不使用符号为了统一),得到了闭环系统的系统矩阵为 [公式] 。对于(5) 而言,我们同样可以设计反馈控制 [公式] ,使得 [公式] 为系统矩阵,由于之前说了 [公式] 与其特征值一样,所以设计(5)的状态反馈控制,实际上就是在设计其dual system (4)的output injection设计。反过来(4)的状态反馈控制 [公式] 在(5)中正是output injection。我们之后就会认识到,状态观测器设计,或者状态估计问题与其dual system的状态反馈设计问题是一个duality。

state feedback [公式] output injection ( * )

state feedback [公式] output injection ( ** )

对于一个输出反馈,由于我们不能实现极点的任意配置,在经典控制理论中所以有校正网络的设计,我们常见的lead-lag compensator就是一种可以与plant串联的子系统。现代控制理论中我们也可以设计这样的补偿器,或者是一个子系统,基于状态空间方程给出其描述,称之为动态补偿器(dynamic compensator)。动态补偿器可以串联或者并联于原系统,我们当然也可以采用传递函数来描述其输入与输出,就像经典控制中那样。采用动态补偿器与原系统一起连接,无论是串联还是并联,有如下定理(参考[4]):

如果原系统能控且能观,那么一个动态补偿器,order为 [公式] ,其中n为原系统维数,m为输出维数,r维输入维数,可以实现极点任意配置(poles are distinct, imaginary poles are in conjugate)。在SISO中,这个条件退化为了:动态补偿器的order为 [公式] 时,则可以实现极点任意配置。

注意这个条件在这里是一个充分条件,阶数为 [公式] 时可以满足任意配置,但小于它也是有可能的,实现任意配置极点的阶数不大于 [公式] 。如同我们之前得到的state feedback不改变闭环系统的能控性,output injection是其dual operation,将不改变闭环系统的能观性。而输出反馈将不会改变能控性和能观性。这些都是重要的结论[2,p193]。

2. Leuberger状态观测器 -全维观测器 Full Order Estimators

2.1 观测器方程

为了估计出一些不便于测量的状态,我们系统设计一种办法来估计系统的一些状态,结合已经测量得到的状态,获取全状态以便于实施全状态反馈。我们这里考虑一种估计所有状态的办法,即便有些状态已经可以测量了。

最简单的办法,既然我们知道了状态空间方程中的矩阵 [公式] ,以及输入 [公式] 我们就可以重新构造一个新的系统: [公式] 。如果我们知道系统的初始值,矩阵信息没有误差,那么这个新构造系统的状态 [公式] 能够完美的复现原系统状态 [公式] 。然而实际上系统初始值很多时候是难以知道的,所以这种方法最后只会使得状态估计误差越来越大。

Fig.1 from [1] We now invoke the golden rule: When in trouble, use feedback.

为了能渐进地估计系统状态,我们如上图Fig. 1所示,将原系统的输出 [公式] ,与构造系统的输出 [公式] 进行比较,再通过增益矩阵 [公式] 反馈给我们构造系统的动态,即有:

[公式]

注意这里我们定义输出误差为 [公式] ,这会影响该构造系统的闭环矩阵是 [公式] 。如果调换顺序,可能得到加号,这并不影响(上一节中我采用了加号)。

在证明它的输出 [公式] 和状态 [公式] 的误差渐进稳定前,我们可以来理解为什么会想到(6),试着从一个研究者的思路去思考这个问题:why does (6) seem to work ?

如前所述,开环系统 [公式] (即Fig.1 中的Model)不能跟踪状态的主要原因是因为初值的不确定性,或者说不可知。我们之前就讲过引入反馈的主要目的就是为了抑制不确定性(disturbance rejection)。如果把初值当做是一种不确定性,我们就可以自然地对Model引入反馈,去抑制这种不确定性,能够证明最终Model的输出状态与原状态的误差是渐进稳定的。如同[1,p490]中所说的“We now invoke the golden rule: When in trouble, use feedback.”考虑误差 [公式] 

[公式]

我们之前已经说过了, [公式] 能观性等价于 [公式] 能够自由配置极点,所以我们能找到一个合适的增益矩阵 [公式] 使得(7)-2是稳定的,所以状态误差渐进稳定。所以我们说 [公式] 是一个原系统的状态观测器(observer)

原系统状态观测器的设计,[公式] 的特征值配置问题就等同于 [公式] 的问题,即问题等价于设计对偶系统 [公式] 的状态反馈。由(7)-3我们也看到,原系统 [公式]状态观测器的设计,是原系统 [公式]的output injection反馈。所以我们验证了(*)的结论。

原系统的状态观测器设计 [公式] 对偶系统的状态反馈设计 [公式] 原系统的output injection

2.2 线性观测器的存在性

由于一个系统的状态观测器设计问题可以等效归结于对偶系统的状态反馈设计问题,我们说只要对偶系统是能控的,那么自然就可以设计状态反馈来自由配置对偶系统的极点。那么By duality,我们自然知道系统只要是能观的,状态观测器的极点也可以自由支配,从而(7)的稳定性是一定可以得到保证的。当系统并不是完全能观的时候,我们有如下定理[2,p211]:

定理:线性定常系统的状态观测器存在的充要条件是其不能观子系统渐进稳定

这条定理和之前不能控子系统稳定则系统是stabilizable是对偶的,所以我们类比一下就很容易理解。不能观子系统的渐进稳定,保证了观测器闭环矩阵 [公式] 不可配置的特征值实部都是严格为负的。我们把不能观子系统渐进稳定的性质称为detectability,不能观子系统渐进稳定的系统成为detectable。对于状态观测器的实现我们有如下定理,我们在能观性讨论那里其实早就已经说过了[2,p212]。

定理:若LTI系统完全能观,则状态向量 [公式] 可以由输入 [公式] 与输出 [公式] 进行重构。

观测器的物理形态和plant可以非常不一样,我们只需要一个计算单元就可以实现状态观测,所以几块芯片就可以完成这些状态计算。[1,p490]

3. Leuberger状态观测器 - 降维观测器 Reduced-Order Estimators

之前的全维观测器实际上是把系统的所有状态都估计了出来。但是根据我们输入 [公式] 可以产生部分状态变量,从而不必要构造一个 [公式] 阶状态观测器来估计所有状态。可以证明,当输出矩阵 [公式] 的秩为 [公式] 时,那么这 [公式] 个状态就可以由 [公式] 直接得到。剩下的 [公式] 个状态就可以由降维观测器(Reduced order observer)得到。

想法其实很简单,如果 [公式] 矩阵正好把每个系统状态解耦输出,即输入分别是 [公式] ,那我们就可以直接拿这部分输出作为状态进行反馈设计了。然而一般的矩阵 [公式] 并不是一个主对角线为1的矩阵。所以我们需要想一个办法把它转化为这样的矩阵。

这就有点想我们之前的能控或者能观分解了。让我们考虑一个可逆线性变换 [公式] ,设计 [公式] 矩阵的秩为 [公式] [公式] 是一个 [公式] 矩阵令 [公式] 为一个可逆矩阵:

[公式]

这样我们对系统采用坐标变换 [公式] 

[公式]

变换后的新系统的输出方程有:[公式]

我们很容易验证(10),因为:

[公式]

对于新的系统而言,我们就可以令

[公式]

其中 [公式] 是一个 [公式] 维向量,包含了状态向量 [公式] 中的 [公式] 个状态。即:

[公式]

 [公式]  [公式] 个状态是我们必须要用reduced-order estimator去估计的。那么原系统的状态其实就可以根据 [公式] 得到。现在考虑变换后的新系统:

[公式]

根据(13)我们可以将 [公式] 进行分块,最终得到:

[公式]

(15) 把新系统分为了两个子系统,分别是 [公式] 维与 [公式] 维。类比一下原来Full-order estimator的设计,对于 [公式] 维子系统:

[公式]

 [公式] 。我们看 [公式] 维子系统:

[公式]

 [公式] 。我们把 [公式] 看作是(16)的输入,(17) 被看作是(16)的输出方程:

[公式]

至此对(18)的状态观测器设计已经是一件比较简单的事情了。仿照(6),我们就得到了所谓降维观测器

[公式]

注意我们是完全仿照(6)的结构得到的(19)。现在让我们把 [公式]  [公式] 都替换了:

[公式]

现在根据 [公式] 以及其导数可以得到 [公式] ,即剩余的状态估计值。在(20)中,由于 [公式] 要求信号导数,求导一般容易放大噪音,我们可以将这一项移到左边,令 [公式] ,得到:

[公式]

根据初值 [公式] 来积分计算 [公式] ,那么就可以得到 [公式] 了。

4. 能观标准型和极点选择

关于能观标准型的话题就不再赘述了,查看第一篇文章或者直接把上篇文章的能控标准型转置就可以得到了。同样的,我们需要对观测器 [公式] 配置极点,这时候能观标准型的第一列或者最后一列(取决于你如何定义状态的顺序)是观测器特征方程的系数。类比能控标准型的极点配置就能容易类推。

4.1 Control/trade-off.

上一篇中的所有极点配置方法都可以运用到观测器极点的配置中来(因为观测器设计本质上是对偶系统的状态反馈设计)。我们只需要在MATLAB中使用 [公式]或者 [公式] ,然后根据增益的转置关系,最后得到 [公式] 

观测器的极点位置可以选得比预期的plant闭环极点离虚轴更远。这样做是为了保证观测器的状态估计能够快速收敛到真实值。不过极点离虚轴越远,系统的响应速度越快,带宽相应也增大了,所以传感器噪音也会被带进来。所以从这个角度考虑,我们又希望带宽能适当降低,噪音能够更加平滑[1,p499]。如果观测器与状态反馈系统构成了一个闭环系统,那么整体系统的带宽是由观测器极点和反馈控制配置的极点共同决定的,这个时候短板效应就出现了,如果观测器的极点里虚轴近,那可能会显著影响整个系统的带宽大小,控制性能要求可能就达不到了。高响应速度与低信号噪音需要balance。

在反馈控制器设计中我们会考虑到控制器产生的增益 [公式] 的大小,这是因为增益的大小决定了最后控制信号的大小,高带宽高增益要求我们采用更大尺寸或者功率的驱动器。而在观测器设计中,我们虽然也有观测器增益 [公式] ,但是由于观测器一般可以由芯片或者电脑替代,增益信号只是一个电子信号,并不会产生什么额外的花费。所以高增益的代价就是放大信号噪音。尤其是能观性比较弱的时候,增益就会非常大。总结一下观测器极点设计就是要考虑高品质的瞬态响应与低带宽之间的trade-off。Control is all about making trade-off.

4.2 SRL Estimator

关于SRL方法配置极点,由于观测器极点配置不需要考虑control effort,我们把动态过程的噪音(process noise, 代表model uncertainty) [公式] 与传感器噪音 [公式] (sensor noise, 代表measurement uncertainty)考虑进来,作为衡量优劣的标准。这是因为我们希望传感器噪音对状态估计的影响能尽量小。我们来看这两个部分噪音在高增益与低增益时的影响。假设系统动态过程中存在噪音,并且以线性形式影响动态过程,忽略 [公式] 项(不影响分析)。

[公式]

现在考虑一个状态观测器: [公式] 以及误差 [公式] 

[公式]

误差方程最后的稳态显然不再是0。此时 [公式] 的值如果很小,那么 [公式] 项,即传感器噪音就可以被忽略,但是低增益会导致抗扰( [公式] )效果变差(高增益反馈可以抑制扰动,可以从扰动的传递函数中得知)。如果 [公式] 值很大,那么观测器收敛变快,扰动就会抑制,然而观测器噪音影响就会被放大。所以显然易见,我们需要平衡 [公式]  [公式] 对观测器的影响。我们把之前LQR/SRL中SRL方程的 [公式] 替换为 [公式] ,得到SRL方程: [公式]

其中 [公式] ,是process noise [公式] 到传感器输出 [公式] 的传递函数。

 [公式] ,这个时候所有通过SRL得到的极点是(22)的开环极点或者右半平面极点在左半平面的镜像。(因为根轨迹增益为0,所以起始于开环极点)。这意味着process noise可以忽略,观测器的增益 [公式] 变小,观测器趋近于一个开环状态(如Fig. 1中的白色框图,失去了反馈)。这种情况下,sensor noise会被抑制。sensor noise比较大时,应当使得 [公式] 减小。此时由于增益减小,观测器的bandwidth减小,是low bandwidth estimator。

 [公式] ,这个时候所有poles都去了 [公式] LHP的zeros(或者RHP zeros的虚轴镜像),还有剩余的poles就去了无穷远处。这个时候,process noise相对sensor noise大得多,我们需要用高增益 [公式] 去抑制model uncertainty,适用于sensor noise相对较小时。观测器的闭环极点拥有很高的bandwidth,充分利用了输出 [公式] 的反馈信息。[1,p500][3]

4.3 Reduced-order Estimator

由于降维观测器中用到了feedthrough input或者说direct transmission,即根据 [公式] 的定义, [公式] 将通过 [公式] 直接传递到 [公式] 。如果我们计算从 [公式]  [公式] 的传递函数,我们会发现其闭环带宽比全维状态观测器要高。所以当sensor noise比较严重时,最好还是采用Full-order estimator来估计所有状态,做到一个滤波的效果。这将比直接传递 [公式] 要好。

Reference 参考文献

[1] G.F. Franklin, J.D. Powell, A.Emami-Naeini, Feedback Control of Dynamic Systems, 7th Edition, 2014, Pearson

[2] 刘豹 唐万生,现代控制理论(第三版),2006, 机械工业出版社

[3] Feedback Control - Fall 2006 MIT Lecture Note, Prof. Steven R. Hall

[4] Kimura, Hidenori. "Pole assignment by gain output feedback."IEEE Transactions on automatic Control20.4 (1975): 509-516.