《飞控数学与控制 · 新手入门连载》第 15 期|状态观测器:Luenberger 观测器与状态重构——看不见的状态也能估计

《飞控数学与控制 · 新手入门连载》第 15 期|状态观测器:Luenberger 观测器与状态重构------看不见的状态也能估计

摘要 / 导读

上一期我们用极点配置与 LQR 让系统"按意愿行动",但 LQR 的前提是全状态反馈 :控制器需要知道 x 的每一个分量。现实中很多状态根本测不到(无人机机体的角加速度、陀螺仪的常值漂移、电机内阻压降......)。本期解决这个问题:状态观测器------用一个"影子系统"(Luenberger 观测器)在线重构无法直接测量的状态,并证明它与真实状态的误差可以按我们指定的速度衰减到零。最后结合飞控场景说明"分离原理"如何让 LQR + 观测器协同工作。


一、为什么需要观测器

第 14 期的状态反馈 u = −Kx 中,K 由 Riccati 方程求出,但x 必须已知。现实矛盾:

  • 无人机角速度环:期望跟踪角速度,但角加速度 ẋ 无法用传感器直接测得;
  • IMU 陀螺仪有常值零漂 b:b 是状态却测不到,只能"估";
  • 某些量测噪声太大:直接微分 y 会放大噪声(第 12 期微分滤波的教训),不如用模型重构。

能观性(第 13 期)告诉我们:只要 (A, C) 能观,系统的全部状态就蕴含在输入输出序列 (u, y) 里。观测器就是把"蕴含"变成"显式估计"。


二、开环观测器:先复制一个"影子系统"

考虑线性系统:

\\dot{x} = Ax + Bu, \\qquad y = Cx \\tag{1}

一个朴素想法:用同样的 A、B 复制一套:

\\dot{\\hat{x}} = A\\hat{x} + Bu \\tag{2}

定义估计误差 e = x - \\hat{x}。两式相减:

\\dot{e} = \\dot{x} - \\dot{\\hat{x}} = (Ax + Bu) - (A\\hat{x} + Bu) = A e \\tag{3}

误差动力学 \\dot{e} = Ae 完全不受输入影响------这是关键发现:误差的演化只由 A 决定。若 A 稳定,e 最终衰减到零;若 A 不稳定(或衰减太慢),估计永远追不上。

开环观测器的问题 :① 衰减速度由系统自身极点决定,不可控;② 对初始误差、建模误差、扰动毫无抵抗。所以必须用测量 y 反馈校正。


三、Luenberger 观测器:注入量测修正

既然真实输出 y = Cx 可测,就把"预测输出 ŷ = Cx̂"和真实输出的差乘上增益 L,反馈进影子系统:

\\dot{\\hat{x}} = A\\hat{x} + Bu + L\\,(y - C\\hat{x}) \\tag{4}

这就是 Luenberger 观测器。再看误差动力学:

\\dot{e} = \\dot{x} - \\dot{\\hat{x}} = Ax + Bu - \\big\[A\\hat{x} + Bu + L(y - C\\hat{x})\\big\]

代入 y = Cx,逐项展开(技巧:把 Bu 抵消掉):

\\dot{e} = A x - A\\hat{x} - L(Cx - C\\hat{x}) = (A - LC)\\, e \\tag{5}

核心结论 :误差动力学变成 \\dot{e} = (A - LC)e。只要我们选择 L 使矩阵 (A − LC) 的特征值(观测器极点)落在期望位置,误差就以对应速度指数衰减。我们彻底掌控了估计的收敛速度。

直观理解:L 就是"相信测量 y 多少、相信模型 x̂ 多少"的权衡旋钮。L 越大,量测修正越强,收敛越快;但噪声也越容易被放大。

图 15-1 Luenberger 观测器结构框图(示意):真实系统与观测器共用输入 u,观测器以量测修正项 L(y − ŷ) 闭环,误差注入点使 ė = (A − LC)e。


四、如何设计 L:对偶原理(本期推导技巧)

第 14 期我们学过极点配置:找 K 使 (A − BK) 极点任意配置。现在要找 L 使 (A − LC) 极点任意配置。两者惊人地对称:

对 (5) 两边取转置(技巧:转置不改变特征值):

(A - LC)\^T = A\^T - C\^T L\^T \\tag{6}

记 \\bar{A} = A\^T,\\ \\bar{B} = C\^T,\\ \\bar{K} = L\^T,则 (6) 变成:

(A - LC)\^T = \\bar{A} - \\bar{B}\\bar{K} \\tag{7}

这正是第 14 期的状态反馈极点配置问题!(A − LC) 的特征值 = (Ā − B̄K̄) 的特征值。于是:

设计步骤(对偶法): 1. 对 (Aᵀ, Cᵀ) 执行 Ackermann/place 极点配置,得到 K̄; 2. 取 L = K̄ᵀ; 3. 验证 (A, C) 能观 ⟺ (Aᵀ, Cᵀ) 能控------这就是"能观性"与"能控性"的对偶(呼应第 13 期)。

能观性保证:只要 det C; CA; ...; CAⁿ⁻¹ ≠ 0,上述设计必定有解。工程上常把观测器极点取为闭环系统极点的 2~5 倍快(带宽分离),既保证收敛又不过度放大噪声。

图 15-2 观测器误差衰减对比(RK4 仿真,dt=0.001s):同一系统 A=0 1; −4 −5, C=1 0,观测器极点取 −2 与 −10 的误差收敛对比------极点越远收敛越快。


五、分离原理:LQR 与观测器各管各的

现在有两条设计线:反馈 K(控制)和观测器 L(估计)。分离原理(Separation Principle)说:当控制器用估计值 \\hat{x} 做状态反馈 u = −Kx̂ 时,闭环系统的特征值 = (A − BK) 的特征值 ∪ (A − LC) 的特征值。

推导概要:闭环系统写成增广形式:

\\begin{bmatrix} \\dot{x} \\ \\dot{e} \\end{bmatrix} = \\begin{bmatrix} A - BK \& BK \\ 0 \& A - LC \\end{bmatrix} \\begin{bmatrix} x \\ e \\end{bmatrix} \\tag{8}

上三角矩阵的特征值就是对角块特征值之和(技巧:上三角阵特征值 = 主对角块特征值)------所以 K 和 L 可以分开设计,互不干扰。这就是飞控工程中"先设计控制器,再设计观测器"的理论依据。


六、飞控实例:估计角加速度与陀螺仪零漂

PX4 / ArduPilot 的姿态环常把陀螺仪零漂 b 增广成状态:

\\begin{bmatrix} \\dot{\\phi} \\ \\dot{b} \\end{bmatrix} = \\begin{bmatrix} 0 \& -1 \\ 0 \& 0 \\end{bmatrix} \\begin{bmatrix} \\phi \\ b \\end{bmatrix} + \\begin{bmatrix} 1 \\ 0 \\end{bmatrix} \\omega_m, \\qquad y = \\phi \\tag{9}

  • 状态 x₁ = φ 为真实角位置,x₂ = b 为零漂;
  • 输入 ω_m 是陀螺仪测量(含漂移),输出 y 来自加速度计/磁力计融合的参考角;
  • 设计 L 使 (A − LC) 极点为期望收敛速度:L 的两个分量分别决定"角度修正强度"和"零漂跟踪速度"。

观测器在线输出 b̂,姿态解算时直接减去:\\omega_{true} = \\omega_m - \\hat{b}。这就是互补滤波(第 35 期每日知识)在状态空间下的严格形式------Mahony 滤波器本质是一个特殊设计的非线性 Luenberger 观测器。


七、小结

  1. 观测器 = 影子系统 + 量测反馈:\\dot{\\hat{x}} = A\\hat{x} + Bu + L(y - C\\hat{x});
  2. 误差动力学 \\dot{e} = (A-LC)e,极点由 L 任意配置;
  3. 设计靠对偶原理:转置成 (Aᵀ, Cᵀ) 的极点配置问题,复用第 14 期工具;
  4. 分离原理保证 K、L 可独立设计,飞控工程直接受益。

思考题

  1. 若 (A, C) 不可观,观测器还能收敛吗?为什么?(提示:回看第 13 期能观矩阵)
  2. L 取太大(观测器极点在很远处)会带来什么副作用?(提示:噪声通道)
  3. 用 (9) 的模型写出 (A − LC) 的具体形式,并设计 L 使其特征值为 λ₁ = λ₂ = −10。

下期预告

第 16 期「卡尔曼滤波:最优状态估计」------Luenberger 观测器是最优固定增益,卡尔曼滤波则让增益 L 随噪声统计自动变化,是观测器家族的最优解,也是 IMU+GPS 融合的标准答案。

参考资源

  1. K. Ogata, Modern Control Engineering, 5th ed., Prentice Hall(第 7 章:状态观测器与分离原理)
  2. 胡寿松,《自动控制原理》(第 6 版), 科学出版社(状态空间部分)
  3. PX4 Dev Guide: Attitude Estimation(互补滤波/观测器实现)
  4. R. Mahony et al., "Nonlinear Complementary Filters on the Special Orthogonal Group," IEEE TAC, 2008(飞控版 Luenberger 观测器)
相关推荐
oscar9991 小时前
Fan-Out 与 RDL——用“重构晶圆”绕开基板的面积与密度限制
重构·芯片·封装·fan-out
志尊宝1 天前
AI原生前端开发(010):AI时代的开发者工作流重构
人工智能·重构·ai-native
dfjdkfahkjd1 天前
用 Claude Code 重构遗留系统:从评估到落地的完整指南
重构
东方佑3 天前
用先验重构线性注意力:为什么它至少比普通线性注意力更接近标准注意力
人工智能·机器学习·重构
大翻哥哥3 天前
用 Claude Code 重构遗留系统:从评估到落地的完整指南
重构
workflower4 天前
Agentic AI 时代的企业ICT 基础设施运维
运维·人工智能·机器学习·重构·云计算·汽车
sxgzzn4 天前
电力设备故障定位与特种电缆局放监控技术分析
重构·无人机·gis局放在线监测·矿用高压电缆绝缘故障检测装置·光伏运维管理系统
吴建旭 智宅焕4 天前
智能家居全国交付的成本结构重构:从执行端计价到交付确定性基础设施
重构·智能家居