📔

Botter自主ゼミノート 6.4 カルマンフィルタ

2023/02/19に公開

やること

https://www.amazon.co.jp/dp/4254209444
を読んで、確率微分方程式による最適化問題を解けるようになることです。

これまでのBotter自主ゼミノート

Botter自主ゼミノート 1.2 確定システムの制御の回顧

Botter自主ゼミノート 2.1 確率過程とは?, 2.2 確率過程の数学的表現

Botter自主ゼミノート 1.2 数式導出

Botter自主ゼミノート 2.3 確率モーメント

Botter自主ゼミノート 2.4 確率過程の分類

Botter自主ゼミノート 2.5 エルゴード性

Botter自主ゼミノート 2.6 確率過程の周波数表現

Botter自主ゼミノート 2.7 マルコフ過程

Botter自主ゼミノート 2.8 正規型確率過程

Botter自主ゼミノート 2.9 ウィーナ過程(1)

Botter自主ゼミノート 2.9 ウィーナ過程(2)

Botter自主ゼミノート 2.10 白色雑音

Botter自主ゼミノート 3.1, 3.2 確率変数列の収束

Botter自主ゼミノート 3.3 確率過程の連続性

Botter自主ゼミノート 3.4 自乗平均微分

Botter自主ゼミノート 3.5 自乗平均積分

Botter自主ゼミノート 4.1 確率微分方程式とは?

Botter自主ゼミノート 4.2 確率積分

Botter自主ゼミノート 4.2 確率積分 例題4.1

Botter自主ゼミノート 4.3 確率微分方程式

Botter自主ゼミノート 4.4 伊藤の確率微分演算

Botter自主ゼミノート 4.5 拡散過程

Botter自主ゼミノート 4.6 確率密度関数の時間進化 - コルモゴロフ方程式

Botter自主ゼミノート 6.1 動的システムの推定とは?

Botter自主ゼミノート 6.2 条件付き確率密度関数の時間進化

Botter自主ゼミノート 6.3 モーメント関数の時間進化

6.4 カルマンフィルタ

\S6.2, \S6.3では、非線形システムに対しての推定問題を扱いましたが、線形システムに対して状態推定方程式を導くとそれがカルマンフィルタとなります。

システム及び観測方程式を以下のように線形とします。

dx(t) = A(t)x(t)dt + G(t)dw(t), \quad x(t_0)=x_0 \tag{6.35}
dy(t) = H(t)x(t)dt + R(t)dv(t), \quad y(t_0)=0 \tag{6.36}

ここで、x \in R^n, y \in R^m, w \in R^{d_1}, v \in R^{d_2}, R(t)R^T(t) > 0とし、w(t)v(t)は互いに独立で、それぞれ共分散マトリクスQ(t)Iを持つものとします。このとき、クスナー方程式(6.26)は以下の式(6.37)のようになります。

dp = -p \: \text{tr}(A)dt - x^TA^T\frac{\partial p}{\partial x}dt + \frac{1}{2}\text{tr}\left\{ GQG^T\frac{\partial}{\partial x}\left(\frac{\partial p}{\partial x}\right)^T\right\}dt + p(x-\hat{x})^T H^T (RR^T)^{-1}\{dy_t-H\hat{x}dt\}

ここで、f=Ax, h=Hxであるので

\begin{aligned} \mathcal{E}\{x h^T\} - \hat{x}\hat{h}^T &= [\mathcal{E}\{xx^T|\mathcal{Y}_t\} - \hat{x}\hat{x}^T]H^T = P_tH^T \\ \mathcal{E}\{x f^T\} - \hat{x}\hat{f}^T &= P_t A^T \end{aligned}

ということがわかる。さらに、確率密度関数は正規性であるので、三次モーメント(歪度)は0となる。

\mathcal{E}\{(x_i - \hat{x}_i)(x_j - \hat{x}_j)(x_k - \hat{x}_k)|\mathcal{Y}_t\} = 0

以上を利用して式(6.32)を変形すると、以下の式(6.38)となる。

d\hat{x}(t|t) = A(t)\hat{x}(t|t)dt + P(t|t)H^T\{R(t)R^T(t)\}^{-1}\{dy(t)-H(t)\hat{x}(t|t)dt\}

さらに式(6.34)を変形すると以下の式(6.39)となる。

\dot{P}(t|t) = A(t)P(t|t) + P(t|t)A^T(t) + G(t)Q(t)G^T(t) - P(t|t)H^T(t)\{R(t)R^T(t)\}^{-1}H(t)P(t|t)

それぞれの初期値は以下のようになる。

\begin{aligned} \hat{x}(t_0|t_0) &= \mathcal{E}\{x(t_0) = \hat{x}_0\} \\ P(t_0|t_0) &= \mathcal{E}\{[x(t_0)-\hat{x}(t_0|t_0)][x(t_0)-\hat{x}(t_0|t_0)]^T\} = P_0\\ \end{aligned}

これをカルマンフィルターと呼びます。また、式(6.39)はマトリクスリッカチ微分方程式です。

Discussion