LQG控制

LQG控制（linear–quadratic–Gaussian control）的全名是线性二次高斯控制，是控制理论中的基础最优控制问题之一。此问题和存在加性高斯白噪声的线性系统有关。此问题是要找到最佳的输出回授律，可以让二次费用函数的期望值最小化。其输出量测假设受到高斯噪声的影响，其初值也是高斯随机向量。

在“使用线性控制律”的最佳控制假设下，可以用completion-of-squares论述进行推导。此控制律即为LQG控制器，就是卡尔曼滤波（线性二次状态估测器，LQE）和LQR控制器的结合。分离原理指出状态估测器和状态回授可以独立设计。LQG控制可以应用在线性时不变系统及线性时变系统，产生容易计算以及实现的线性动态回授控制器。LQG控制器本身是一个类似其受控系统的动态系统，两者有相同的维度。

根据分离原理，在一些范围较宽可能是非线性的控制器中，LQG控制器仍然是最佳的。也就是说“使用非线性控制架构不一定可以改善费用泛函的期望值”。这个版本的分离原理是随机控制的分离原理（separation principle of stochastic control）提到就算过程及输出噪声源可能是非高斯鞅，只要其系统动态是线性的，其最佳控制仍可以分离为最佳状态估测器（不再是卡尔曼滤波器）及LQR控制器。LQR控制器也有用来控制扰动的非线性系统。

## 问题和解的数学描述

### 连续时间

考虑连续时间的线性动态系统

$$\dot{\mathbf{x}}(t) = A(t) \mathbf{x}(t) + B(t) \mathbf{u}(t) + \mathbf{v}(t),$$

$$\mathbf{y}(t) = C(t) \mathbf{x}(t) + \mathbf{w}(t),$$

其中${\mathbf{x}}$是系统状态变数的向量，${\mathbf{u}}$是控制输入向量，${\mathbf{y}}$是输出量测值的向量，可用在回授上。系统受到加成性的高斯系统噪声$\mathbf{v}(t)$及加成性的高斯量测噪声$\mathbf{w}(t)$所影响。给定一系统，其目标是找到一控制输入${\mathbf{u}}(t)$，此控制输入在每个时间${\mathbf{}}t$下，和以往的量测量${\mathbf{y}}(t'), 0 \leq t' < t$有线性关系，而且此控制输入可以让以下的费用函数有最小值：

$$J = \mathbb{E}\left[{\mathbf{x}^\mathrm T}(T)F{\mathbf{x}}(T)+ \int_{0}^{T} {\mathbf{x}^\mathrm T}(t)Q(t){\mathbf{x}}(t) + {\mathbf{u}^\mathrm T}(t)R(t){\mathbf{u}}(t)\,dt \right],$$

$$F \ge 0,\quad Q(t) \ge 0,\quad R(t) > 0,$$

其中$\mathbb{E}$为期望值。最终时间（horizon）${\mathbf{}}T$可能是有限值或是无限值。若最终时间为无限，则费用函数的第一项${\mathbf{x}}^\mathrm T(T)F{\mathbf{x}}(T)$可以忽略，和问题无关。而为了要让费用函数为有限值，会定义费用函数为${\mathbf{}}J/T$。

求解上述LQG问题的LQG控制器可以用以下方程表示：

$$\dot{\hat{\mathbf{x}}}(t) = A(t)\hat{\mathbf{x}}(t) + B(t){\mathbf{u}}(t)+L(t) \left( {\mathbf{y}}(t)-C(t)\hat{\mathbf{x}}(t) \right), \quad \hat{\mathbf{x}}(0) = \mathbb{E} \left[ {\mathbf{x}}(0) \right],$$

$${\mathbf{u}}(t)= -K(t) \hat{\mathbf{x}}(t).$$

矩阵${\mathbf{}}L(t)$称为卡尔曼增益（Kalman gain），和第一个方程卡尔曼滤波有关。在时间${\mathbf{}}t$，滤波器会根据过去量测及输入来产生状态${\mathbf{x}}(t)$的估测值$\hat{\mathbf{x}}(t)$。卡尔曼增益${\mathbf{}}L(t)$是根据${\mathbf{}}A(t), C(t)$、二个和白色高斯噪声有关密度矩阵$\mathbf{v}(t)$、$\mathbf{w}(t)$及最后的$\mathbb{E}\left[{\mathbf{x}}(0){\mathbf{x}}^\mathrm T(0) \right]$来计算。这五个矩阵会透过以下的矩阵Riccati微分方程来决定卡尔曼增益：

$$\dot{P}(t) = A(t)P(t)+P(t)A^\mathrm T(t)-P(t)C^\mathrm T(t){\mathbf{}}W^{-1}(t) C(t)P(t)+V(t),$$

$$P(0)= \mathbb{E} \left[{\mathbf{x}}(0){\mathbf{x}}^\mathrm T(0) \right].$$

假设其解$P(t), 0 \leq t \leq T$，则卡尔曼增益等于

$${\mathbf{}}L(t) = P(t)C^\mathrm T(t)W^{-1}(t).$$

矩阵${\mathbf{}}K(t)$称为回授增益（feedback gain）矩阵，是由${\mathbf{}}A(t), B(t), Q(t), R(t)$及${\mathbf{}}F$矩阵，透过以下的矩阵Riccati微分方程来决定

$$-\dot{S}(t) = A^\mathrm T(t)S(t)+S(t)A(t)-S(t)B(t)R^{-1}(t)B^\mathrm T(t)S(t)+Q(t),$$

$${\mathbf{}}S(T) = F.$$

假设其解${\mathbf{}}S(t), 0 \leq t \leq T$，回授增益等于

$${\mathbf{}}K(t) = R^{-1}(t)B^\mathrm T(t)S(t).$$

观察上述二个矩阵Riccati微分方程，第一个沿时间从前往后算，而第二个是沿时间从后往前算，这称为“对偶性”。第一个矩阵Riccati微分方程解了线性平方估测问题（LQE），第二个矩阵Riccati微分方程解了LQR控制器问题。这二个问题是对偶的，合起来就解了线性平方高斯控制问题（LQG)，因此LQG问题分成了LQE问题以及LQR问题，且可以独立求解，因此LQG问题是“可分离的”。

当${\mathbf{}}A(t), B(t), C(t), Q(t), R(t)$和噪声密度矩阵$\mathbf{}V(t)$, $\mathbf{}W(t)$不随时间变化${\mathbf{}}t$，且${\mathbf{}}T$趋于无限大时，LQG控制器会变成非时变动态系统。此时上述二个矩阵Riccati微分方程会变成代数Riccati方程。

### 离散时间

离散时间的LQG控制问题和连续时间下的问题相近，因此以下只关注其数学式。

离散时间的线性系统方程为

$${\mathbf{x}}_{i+1} = A_i\mathbf{x}_i + B_i \mathbf{u}_i + \mathbf{v}_i,$$

$$\mathbf{y}_{i} = C_{i} \mathbf{x}_i + \mathbf{w}_i.$$

其中$\mathbf{}i$是离散时间，$\mathbf{v}_{i}, \mathbf{w}_{i}$是离散时间高斯白噪声过程，其共变异数矩阵为$\mathbf{}V_{i}, W_{i}$。

要最小化的二次费用函数为

$$J = \mathbb{E}\left[{\mathbf{x}}^\mathrm T_{N}F{\mathbf{x}}_{N}+ \sum_{i=0}^{N-1}( \mathbf{x}_i^\mathrm T Q_i \mathbf{x}_i + \mathbf{u}_i^\mathrm T R_i \mathbf{u}_i )\right],$$

$$F \ge 0, Q_i \ge 0, R_i > 0. \,$$

离散时间的LQG控制器为

$\hat{\mathbf{x}}_{i+1}=A_i\hat{\mathbf{x}}_i+B_i{\mathbf{u}}_i+L_{i+1} \left({\mathbf{y}}_{i+1}-C_{i+1} \left\{ A_i \hat{\mathbf{x}}_i + B_i u_i \right\} \right), \hat{\mathbf{x}}_0=\mathbb{E}[{\mathbf{x}}_0]$,

$$\mathbf{u}_i=-K_i\hat{\mathbf{x}}_i. \,$$

卡尔曼增益等于

$${\mathbf{}}L_i = P_iC ^\mathrm T _i(C_iP_iC ^\mathrm T _i + W_i)^{-1},$$

其中${\mathbf{}}P_i$是由以下依时间往前进的矩阵Riccati差分方程所决定：

$$P_{i+1} = A_i \left( P_i - P_i C ^\mathrm T _i \left( C_i P_i C ^\mathrm T _i+W_i \right)^{-1} C_i P_i \right) A ^\mathrm T _i+V_i, P_0=\mathbb{E} \left( {\mathbf{x}}_0 - \hat{\mathbf{x}}_0\right)\left({\mathbf{x}}_0- \hat{\mathbf{x}}_0\right)^\mathrm T.$$

回授增益矩阵为

$${\mathbf{}}K_i = (B^\mathrm T_iS_{i+1}B_i + R_i)^{-1}B^\mathrm T_iS_{i+1}A_i$$

\ 其中${\mathbf{}}S_i$是由以下时间从后往前算的矩阵Riccati差分方程所决定：

$$S_i = A^\mathrm T_i \left( S_{i+1} - S_{i+1}B_i \left( B^\mathrm T_iS_{i+1}B_i+R_i \right)^{-1} B^\mathrm T_i S_{i+1} \right) A_i+Q_i, \quad S_N=F.$$

若问题中所有的矩阵都是非时变的，且时间长度${\mathbf{}}N$趋近无穷大，则离散时间的LQG控制器就是非时变的。此时矩阵Riccati差分方程可以用离散时间的代数Riccati方程取代。可以决定非时变的离散线性二次估测器，以及非时变的离散LQR控制器。为了让费用是有限值，会用${\mathbf{}}J/N$来代替${\mathbf{}}J$。

## 降阶LQG问题

在传统LQG设定中，当系统维度很大时，实现LQG控制器会有困难。降阶LQG问题（reduced-order LQG problem）也称为固定阶数LQG问题（fixed-order LQG problem）先设定了LQG控制的状态数。因为分离原理已不适用，此问题会更不容易求解，而且其解也不唯一。即使如此，降阶LQG问题已有不少的数值算法可以求解相关的最佳投影方程（optimal projection equations），其中建构了局部最佳化的降阶LQG问题的充份及必要条件。

## LQG控制的强健性

LQG最佳化本身不确保有良好的强健性，需要在设计好LQG控制后，另外确认闭回路系统的强健稳定性。为了提升系统的强健性，可能会将一些系统参数由确定值改假设是随机值。相关的控制问题会更加复杂，会得到一个类似的最佳控制器，只有控制器参数不同。