进阶:状态反馈与观测器

本页目录

前面的温控模型只有一个温度状态;机械系统却需要位置和速度,而传感器可能只测位置。本篇解释怎样用状态反馈改变动态,以及怎样从测量估计未直接测到的状态。需要动态建模、极点和基本矩阵运算。

把二阶方程写成两个一阶方程

单位质量、无阻尼的运动对象满足 。令 ,,则

第一行是位置变化率等于速度,第二行是速度变化率等于加速度输入。虽然输出只有位置,内部仍有两个状态。这里的 是输出矩阵,不是前文控制器传递函数;符号含义随明确的模型上下文区分。

可控性:动作能影响哪些状态?

连续 LTI 系统的可控矩阵是 。本例

秩为2,因此两个状态都可通过输入影响。这个判据讨论无约束线性模型的有限时间状态转移,不保证有幅度限制时可以任意快地完成转移。

若改成 、,输入无法影响第二个不稳定状态。再强的第一路控制也不能稳定它。设计稳定反馈实际只需“可稳定”:不可控模态必须本来稳定;它弱于完全可控。

状态反馈怎样放置极点?

取 ,闭环矩阵为 ,特征多项式为

希望极点为−1、−2,则目标多项式 ,所以 。位置项把物体拉回原点,速度项提供阻尼。这里是调节到原点;跟踪非零目标还需定义参考平衡及前馈,或引入积分,不能只把任意目标向量代入就假定可行。

可观测性:位置历史里有没有速度信息?

可观测矩阵为 。位置测量下

秩为2。虽然一个时刻的位置不能确定速度,位置随时间的变化结合已知输入可以提供速度信息。若只测速度,,矩阵秩为1,初始位置偏移无法辨别。

测量有噪声时,直接差分位置会放大噪声。观测器利用模型推进估计,再用预测与测量的差进行修正:

令估计误差 ,在模型准确且无噪声时,。选择 ,误差极点就是−4、−5。

正在呈现知识画面
进阶:状态反馈与观测器 · 实验

双积分器,K=[2,3],真实初态[1,0]、估计初态[0,0]。L=[2α,α²],观测器重极点−α。测量噪声为固定振幅sin(30t),不是白噪声;动作无限幅。

对象初始位置1、速度0,观测器初始状态为零,控制器使用估计状态 。改变观测器极点速度,比较真实状态、估计误差和控制动作;噪声选项使用固定正弦测量扰动,便于重复对照,不声称它是随机白噪声。

分离原理的保证与边界

代入 后,在状态 下有

这是块三角矩阵,特征值是控制器极点与观测器误差极点的并集。在准确、无约束的LTI模型中,可以分别设计两者。这个结论不保证饱和、模型误差、延迟或噪声下仍有同样性能。

观测器极点越快,通常意味着更大的测量修正增益,更容易把噪声传入估计与动作。Kalman滤波通过明确的过程/测量噪声协方差选择增益;其最优性依赖模型和统计假设,并非“任何噪声下最好的平滑器”。不可观测但稳定的模态允许渐近估计,相关条件称为可检测性。

自检

只测速度能知道一个静止物体的绝对位置吗?

参考思路

不能。不同初始位置但相同速度产生相同速度输出。需要额外位置参考,或者承认绝对位置是不可观测状态。

令 ,观测器误差极点在哪里?是否应令 无限大?

参考思路

特征多项式是,两个极点都为。但增益随及其平方增长,噪声、离散实现和模型误差都限制可用速度。

延伸

Caltech 控制课程提供状态反馈与状态估计的讲义和 notebook。python-control place可用于极点配置;工具的秩、重根及数值限制需要结合模型检查。