4.2 观测器设计:状态测不到怎么办


4.2 观测器设计:状态测不到怎么办

本节摘要:观测器是一份跑在控制器里的实时模型,用"预测、比对测量、按增益修正"三步循环重构测不到的状态;可观性决定它能否成立,分离原理保证观测器与状态反馈可以独立设计。本节构建全维与降维观测器,讨论极点取快的利弊与噪声敏感性。

承接 4.1 节:极点配置要求全部状态可用,而传感器往往只给一两个量。本节补上缺口,并把 4.1 节的增益与观测器拼成完整的输出反馈控制器。

一、观测器的思想实验

想知道摆杆的角速度但没装速率陀螺,怎么办?在控制器里放一份摆的模型,喂给它同样的控制量,让它自顾自演化——这是预测。它报出来的摆角与真传感器读数隔一会儿对一次账,模型报高了几何就往回修几个单位——这是修正,修正的力度由观测器增益 L 决定。这套循环跑起来,模型里的状态就会紧紧咬住真实状态,即使真值从没被直接量测过。

数学结构一行写完:估计状态的导数等于 A 乘估计加 B 乘输入,再加 L 乘(真实输出减估计输出)。定义估计误差为真实减估计,两式相减,误差方程的矩阵是 A 减 L 乘 C。让这组特征值全部落在左半平面深处,误差就指数收敛——观测器设计本质上是给对偶系统做一次极点配置。

可行性的前提叫可观性:由输出在一段时间内的记录能唯一反推全部初始状态。判据是可观性矩阵(C、CA、一直到 C 乘 A 的 n 减 1 次方纵向拼接)满秩。直觉:某个模态若在输出里毫无痕迹,再多测量也读不出它。可观性与可控性互为对偶——把 A 取转置、B 与 C 互换,两套理论完全镜像,所以 place 命令可以原样复用。

二、全维观测器实战

继续倒立摆,传感器只测小车位置。先体检可观性,再造观测器:

M = 0.5; m = 0.2; l = 0.3; g = 9.8; p = m/(M+m); A = [0 1 0 0; 0 0 -p*g/M 0; 0 0 0 1; 0 0 (M+m)*g/(M*l) 0]; B = [0; 1/M; 0; -1/(M*l)]; Cm = [1 0 0 0]; rank(obsv(A,Cm)) % 输出:4。可观,观测器可任意配置估计误差极点 pobs = [-8+8i -8-8i -10+10i -10-10i]; % 估计误差极点,比闭环极点深约2倍 L = place(A', Cm', pobs)' % 对偶系统配置再转置回来 % 输出(近似):L 为 4乘1 列向量,分量约 [25, 240, -1700, -7600] 量级 eig(A-L*Cm) % 输出:等于 pobs,估计误差按 e 的负8t 量级收敛,半秒内咬合

观测器极点要比闭环极点深(两到五倍经验值):估计跟不上,控制器就在用过期地图开车。但也不能无限深——增益 L 随极点深度急剧增长,测量噪声被放大。噪声大、传感器便宜的场合深极点可行;编码器量化明显时必须收敛野心。做个对比感受:

for depth = [8 14 20] L2 = place(A', Cm', depth*[-1+1i -1-1i -1.2+1.2i -1.2-1.2i])'; fprintf('极点深度%2d: 观测器增益范数 = %.0f\n', depth, norm(L2)); end % 输出(近似): % 极点深度 8: 增益范数 = 8e3 量级 % 极点深度14: 增益范数 = 8e4 量级 % 极点深度20: 增益范数 = 8e5 量级 % 每深一点,噪声放大十倍量级地恶化,快与静不可兼得

三、分离原理与拼装

增益 K 与观测器 L 分开设计、直接拼装,闭环仍稳定——这是分离原理的恩惠。证明思路一行:把估计误差增广进状态,增广系统的特征值恰好是 A 减 BK 的特征值并上 A 减 LC 的特征值,两组互不纠缠。工程意义巨大:4.1 节的极点配置流程原样保留,本节的观测器独立调完,接起来就是完整的输出反馈控制器。拼装与验证:

K = place(A,B,[-4+4i -4-4i -6+6i -6-6i]); % 4.1节的控制增益 % 状态观测器型控制器的等效传函(控制器从 y 到 u): Areg = A - B*K - L*Cm; Creg = K; reg = ss(Areg, L, Creg, 0); % u = reg * y(负号约定看接口) % 整体闭环仿真:初值给估计一个错误起点,看它咬合 x0 = [0.1; 0; 0.15; 0]; e0 = [0;0;0;0]; % 真实摆角偏0.15,估计从零开始 syscl = feedback(ss(A,B,Cm,0)*(-reg), 1); % 符号按负反馈约定拼接 initial(ss(A-B*K-L*Cm+L*Cm, [B L], eye(4), 0*[0 0]), [x0; e0]); % 输出:前半秒估计误差快速衰减,随后真实状态被压回零, % 摆角曲线与全状态反馈情形几乎重合——分离原理的实验证据

四、降维观测器

已经测到的状态何必再估?把状态分成"直接测得"与"待估"两块,只对后者建观测器,阶数从四降到三,这就是降维观测器(吕贝格观测器)。收益是计算量小、少一级估计延迟;代价是推导繁琐、测量噪声直接进入控制回路(测得的量不经滤波直接用)。现代计算硬件下全维观测器的算量已不值一提,工程默认选全维:推导清晰、估计还顺带滤了波,降维只在算力紧张的嵌入式端保留价值。

调试观测器的现场手法:先断开控制回路,给模型与实物同一输入,只看估计误差衰减曲线;误差不收敛先查模型参数(最常见是 B 或 C 的符号单位错),再查可观性秩。观测器故障九成是模型与实物对不上账,而不是 L 算错。

图 观测器三步循环

图 观测器三步循环

五、观测器的对偶与仿真验证习惯

对偶性不只是理论雅致,它省掉一半学习量:观测器增益 L 的设计就是转置系统的极点配置,本章 4.1 节的全部流程转置即用。仿真验证观测器的固定习惯是双轨对照:同一段输入同时喂真实对象与观测器,画两条状态轨迹的差——误差按观测器极点的速率收敛,图上看得见摸得着;误差不收敛时,先核对模型参数再怀疑算法,这条排查顺序能省下大半调试时间。

本节要点回顾

  • 观测器本质:内置模型的预测-比对-修正循环,误差动态由 A 减 LC 决定;
  • 可观性:可观性矩阵满秩是可行前提,与可控性对偶,place 命令转置复用;
  • 极点选深:比闭环深两到五倍防过期地图,增益与噪声放大随深度陡增;
  • 分离原理:控制增益与观测器独立设计直接拼装,两组特征值不纠缠;
  • 工程默认全维:降维省算力但噪声直通,仅嵌入式紧算力场景保留。

状态有了、观测有了,下一节把"选极点"这个人为动作也升级:定义代价,让数学找最优。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U