【python-control】最適レギュレータの設計

当記事では、python-controlで最適レギュレータを設計する方法について紹介します。

最適レギュレータとは

最適レギュレータとは、状態$x$と入力$u$に関する評価関数を最小とするようにフィードバックゲインを設計する手法です。

【詳細】 ・【制御理論】最適レギュレータで状態フィードバックゲインの設計

python-controlの「control.lqr」メソッドを用いると、Matlabのlqr関数のように最適レギュレータで状態フィードバックゲインを計算できます。

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

<

h3>ソースコード

次のシステムの状態フィードバックゲインFを最適レギュレータで求めるサンプロプログラムです。

\begin{eqnarray} \left[\begin{array}{c} \dot{x}_1 \ \dot{x}_2 \

\end{array}\right]

\left[\begin{array}{cc} -2 & 1 \ 2 & 3 \ \end{array}\right] \left[\begin{array}{c} x_1 \ x_2 \ \end{array}\right]

  • \left[\begin{array}{c} 1 \ 1 \ \end{array}\right] u \ \end{eqnarray}

\begin{eqnarray} Q= \left[\begin{array}{cc} 1 & 0 \ 0 & 1 \ \end{array}\right] \end{eqnarray}


<

h3>実行結果

リカッチ方程式の解: [[ 2. 1.] [ 1. 1.]] 状態フィードバックゲイン: [[ 1. 1.]] 閉ループ系の固有値: [-1. +1.48799231e-08j -1. -1.48799231e-08j]

関連ページ

【Python】制御工学シミュレーション入門
プログラミング言語「Python」を用いて、無料で簡単に制御工学シミュレーションを行う方法を紹介します。
404 NOT FOUND | Python超入門部

コメント