跳到正文
格致开物MATHWIKI

龙伯格观测器

龙伯格观测器(Luenberger observer)是一种利用已知输入和测量输出来动态估计线性系统状态的方法。它一面按模型预测状态,一面用“实际输出减去预测输出”的误差修正预测。正确模型下,适当选择修正增益可以让初始估计误差随时间衰减。

模型预测与输出修正

设真实系统为 x˙=Ax+Bu,y=Cx,状态 x∈ℝn、输出 y∈ℝp。全阶观测器另维护一个 n 维变量 x̂: x̂˙=Ax̂+Bu+L(y−Cx̂),L∈ℝn×p. 括号内是输出残差,维数为 p;增益 L 把它转换成每个状态分量的修正。取估计误差 e=x−x̂,两式相减得 e˙=A(x−x̂)−LC(x−x̂)=(A−LC)e. 已知输入完全消去,所以在无噪声正确模型中,误差动态不依赖所施加的具体输入。若 A−LC 的特征值实部均负,则 e(t)=e(A−LC)te(0) 趋于零。[1]

只测位置时估计速度

对 q˙=v,v˙=u,y=q,取 L=(l1,l2)𝖳,则 A−LC=(−l11−l20),det⁡(sI−A+LC)=s2+l1s+l2. 要求误差极点为 −2,−3,逐项比较 s2+5s+6,得到 L=(5,6)𝖳。因此观测器为 q̂˙=v̂+5(q−q̂),v̂˙=u+6(q−q̂). 位置残差不仅修正位置,还修正速度。设初始误差 eq(0)=1,ev(0)=0。由 e˙v=−6eq、e˙q=−5eq+ev 得 eq(t)=−2e−2t+3e−3t,ev(t)=−6e−2t+6e−3t. 检查 eq′(0)=−5、ev′(0)=−6 与误差方程一致。速度误差会暂时增大后消失;极点稳定不意味着每个误差分量都逐点单调下降。

观测器位置误差-2exp(-2t)+3exp(-3t)与速度误差-6exp(-2t)+6exp(-3t)
初始速度估计恰好正确,也可能在修正位置误差时暂时偏离。两条误差最终都衰减到零。

可检测性与估计反馈

任意配置观测器极点的条件是可观测性。若只要求存在某个稳定误差矩阵,较弱的可检测性已经足够:所有不可观测模态必须本来就稳定。一个既不可观测又增长的状态方向不会留下输出线索,观测器没有信息可用来纠正它。

将估计用于 u=−Kx̂ 时,真实状态满足 x˙=(A−BK)x+BKe。把状态与误差堆叠,闭环矩阵为 (A−BKBK0A−LC). 块上三角行列式表明,闭环特征值是控制器极点和观测器极点的并。因此在上述线性、无饱和、正确模型条件下,两部分可分别设计;这就是确定性分离原理的核心。

若测量含噪声 y=Cx+n,误差方程多出 −Ln。把观测器极点推得很快通常需要更大增益,也可能更强地放大噪声;模型误差和采样延迟同样需要另行分析。

变式。 若目标误差极点改为 −1,−4,则 L=(5,4)𝖳。两种设计的 l1 相同,但 l2 不同,说明只盯住某个增益数值无法判断整组误差模态。

参考资料

  1. ↑ Sanjay Lall,EE363: Observability and State Estimation,PDF第33—37页,可观测性的背景;观测器误差方程由本文模型相减推导,增益采用极点配置。