【python-control】同一次元オブザーバのゲイン計算

当記事では、python-controlで同一次元オブザーバを求める方法について紹介します。

オブザーバとは

オブザーバ(状態推定器)とは、状態量xが観測できない場合に、出力yと入力uから状態量xを推定する機構です。
(実システムでは状態量xを観測できない場合が多いのでオブザーバは実機に適用する場合に重要)

【詳細】
【制御理論】同一次元オブザーバ

python-controlの「control.place」メソッドを用いると、Matlabのplace関数のように同一次元オブザーバのゲインを計算できます。

【参考文献】
・python-controlドキュメント:placeメソッドの使い方
・Matlabドキュメント:place関数の使い方
※python-controlはMatlab風ライブラリなので、Matlabの資料が役に立ちます

ソースコード

次のシステムの同一次元オブザーバゲインを求めるサンプロプログラムです。
尚、システムの極は[-1+j,-1-j] に配置するとします。
\begin{eqnarray}
\left[\begin{array}{c}
\dot{x}_1 \\
\dot{x}_2 \\
\end{array}\right]
=
\left[\begin{array}{cc}
1 & 1 \\
0 & 1 \\
\end{array}\right]
\left[\begin{array}{c}
x_1 \\
x_2 \\
\end{array}\right]
+
\left[\begin{array}{c}
0 \\
1 \\
\end{array}\right]
u \\
\end{eqnarray}

実行結果

オブザーバゲイン:
[[-1.]
[ 5.]]

シェア&フォローお願いします!