github仓库

Linear Quadratic Gaussian

在实际系统中,噪声是不可避免的,在噪声的影响下,系统状态方程可以写作

其中 $w,v$ 均被当作为白噪声

如果我们假设噪声是均值为0高斯分布(事实上很多时候确实近似服从高斯分布,想想为什么呢?)由于系统噪声和输出噪声的存在,状态不能完美的衰减为0。我们就希望优化损失函数的期望,即

LQG 控制器实际上就是一个最优二次型线性调节器+一个最优状态估计器(卡尔曼滤波器)而得到的一个控制器,即 LQR+KF

而 LQG 控制器相当于是将两个系统分离,LQR 与 KF 分离,而 LQR 是依旧是依据原系统所建立的一个控制系统,不过是对应的应该使用 KF 的输出值

KF

在 LQG 框观测器架中的卡尔曼滤波器,指的是一个最优状态观测器,这里的观测器是现代控制理论—状态空间方程中的最常见的观测器——龙伯格观测器,但是后者极点是自由配置的,并且没有考虑噪声的影响,并不是最优

对于一个系统

其中 $w$ 是过程噪声, $v$ 是观测噪声,它们被假设是符合高斯(Gauss)分布的。 $G,H$ 是常系数矩阵,用于描述 $x$ 中各部分受到噪声强度不一致的情况,很多地方 $H$ 被认为是一个 0 矩阵,区别不大

假设

  • 系统可观测
  • 噪声符合高斯分布,且协方差矩阵为 $E(ww^T)=Q_k,E(vv^T)=R_k,E(wv^T)=N_k$

对于给定观测器动态和代价函数

需要寻找一个常系数矩阵使得 $J’$ 最小,最后得到

其中

同时 $P$ 是以下 Riccati 方程的解,并且 $P$ 是一个对称正定矩阵

使用得到的这个 $L$ 的最优观测器,就是 LQG 框架使用的卡尔曼滤波器

LQG

v2-08a6922f338cace58c7b03b433517171_720w.webp

其中的 -K 就是 LQR 控制器,而 w 是过程噪声, v 是观测噪声

分离性原理

假设系统可控可观测

LQR 是一种最优的线性状态反馈, KF 是一种最优的状态估计,直接将两级串联闭环系统可以写作

其中

此时引入观测器误差 $\delta=x-\hat{x}$,可以得到

所以带入上式可以得到

由于 $A-BF$ 和 $A-LC$ 都是稳定的,即它们的特征值都严格小于 0,根据分块矩阵的特征值得计算规则,这个大的矩阵也是稳定的。这就意味着可以使 LQR 和 KF 级联,得到一个稳定的系统,这就是分离性原理。

例子

Untitled

由此图列出系统状态方程

首先是建立 LQR 控制器,先不考虑噪声

根据系统代价函数

设定相应的权重系数矩阵 Q 和 R,并且在matlab中可以直接调用函数 lqr 来获得对应的线性反馈控制器

1
K = lqr(A, B, Q, R);

推导过程可以查看 LQR线性二次调节器——系统输入线性化

建立 KF 滤波器

根据公式,可以得到 $\hat{x}$,然后与 lqr 的线性反馈控制器作用,得到对系统的控制

关于 KF 可以看 卡尔曼滤波 KF

参考

线性二次积分控制 - MATLAB lqi - MathWorks 中国