制御工学ブログ

制御工学の研究者を20年やっている国立大学教員が制御工学の基礎から専門まで広く説明します。記事内では、動画やMATLABコードを交えながらわかりやすく解説する方針です。制御工学チャンネル(YouTube,動画ポータル)を運営しています。

制御システムの安定性解析: 状態方程式に基づく制御

状態方程式表現されたシステムの安定性

この記事では状態方程式表現されたシステムの安定性についてまとめます。安定性に関する動画は最下部に置いています。なお、状態方程式に基づく制御・状態フィードバック制御の全体像は次の記事でまとめています。

状態フィードバック制御・状態方程式に基づく制御のまとめ

制御対象の極と安定性

ここでは、制御系の安定性について説明したいと思います。まずは、以下のシステムが与えられているものとします。

\begin{equation} \dot x(t) = Ax(t) + Bu(t) \\ y(t) = Cx(t) \end{equation}

各種パラメータの特徴は状態方程式の基礎としてまとめています。

このとき、与えられたシステムが安定か否かは \dot x = Ax + Buの特徴を調べればよく、特に行列 A固有値によって特徴付けられます。

行列 Aは正方行列であり、以下の式を解くことにより固有値を求めることができます。

\begin{equation} det ( A-\lambda I) = 0\end{equation}

ここで、 I単位行列です。 A n\times nの行列の場合、固有値 n個存在します。

この固有値を確認し、全ての固有値の実部が負であれば、システムは漸近安定です。

他方、固有値の実部に正または零が含まれている場合には、システムは不安定もしくは安定限界となります。

ここでは、システムの次数 n = 1の場合と、次数 n = 3の場合のそれぞれで安定性について確認します。

制御対象の次数が1の場合

ここでは、状態数1のスカラシステムを考えます。 Aは行列ではなくスカラ値です。 A = -1, B = 1のとき、状態方程式は次のように書けます。

\begin{equation} \dot x(t) = -x(t) + u(t)\end{equation}

この状態方程式の解は

 x(t) = x(0) e^{-t} + \int_{0}^{t} e^{-(t-{\tau})} u({\tau})d\tau

となり、 u(t) = 0であれば、初期状態 x(0)によらず x(t) は時間の経過と共に零に漸近します。他方、 A = 1, B = 1とすると

 x(t) = x(0) e^{t} + \int_{0}^{t} e^{t-\tau} u(\tau) d \tau

となり、発散します。仮に、 A = 0, B = 1のとき、状態方程式

\begin{equation} \dot x(t) = u(t) \end{equation}

であり、これは、入力 u(t) 積分値が状態 x(t)となることを意味します。例えば、 u(t) がステップ信号の場合、状態 x(t) は発散します。

制御対象の次数が3の場合

次の行列 Aが与えられている場合を考えます。

\begin{equation} A = \begin{bmatrix} -1 & 0 & 0\\0 &-2&0\\0&0&-3\end{bmatrix}\end{equation}

このとき、固有値 -1, -2, -3であり、全ての固有値の実部が負ですので漸近安定となります。制御系を解析する場合、固有値複素平面でプロットします。この例について固有値複素平面にプロットすると次図のようになります。

行列の固有値01

この場合の応答波形の一例を示します。

応答波形01

次に、 Aが次式で与えられる場合を考えます。

\begin{equation} A = \begin{bmatrix} -1 & 0 & 0\\0 &-2&-1\\0&1&-2\end{bmatrix}\end{equation}

このとき、固有値 -1, -2+i, -2-i であり、全ての固有値の実部が負ですので前のものと同様に漸近安定となります。この例について固有値複素平面にプロットすると次図のようになります。

行列の固有値02

このとき、応答波形の一例を示します。

応答波形02

最後に、 Aが次式で与えられる場合を考えます。

\begin{equation} A = \begin{bmatrix} -1 & 0 & 0\\0 &1&-1\\0&1&1\end{bmatrix}\end{equation}

このとき、固有値 -1, 1+i, 1-i であり、実部が正の固有値を含むため不安定となります。この例について固有値複素平面にプロットすると次図のようになります。

行列の固有値03

この場合の応答波形の一例を示します。

応答波形03

以上で行列の固有値と安定性に関する説明を終わります。安定性だけでなくその応答の特徴をみながら設計がされます。極配置については以下の記事で説明しています。

blog.control-theory.com

リアプノフの安定判別法

それでは次にリアプノフの安定判別法について説明していきます。リアプノフの安定判別法は自律システムの安定性を解を求めることなく判別する有力な安定性判別手法になります。

非線形システムに対応できるなど、かなり有力なツールとなっています。基本的なアイディアは以下の通りです。

まずスカラ値関数 V(x(t)) を考えます。これは任意の  x(t) に対して常に正値をとる正定値関数です。例えば、例えば

\begin{equation} V(x)=x^T P x\end{equation}

として Pを正定行列と設定してやるとこれは正定値関数となります。

このとき、 V(x(t))の時間微分が常に負であれば  V(x(t)) の値は時間の経過とともに常に減少していくことになります。これがリアプノフ関数を利用した安定性判別の基本的なアイディアになります。

線形システムに対するリアプノフ方程式

線形システム(自律系)に対してリアプノフ方程式は自律系の A行列および行列 P, Q から構成される以下の式です。

\begin{equation} A^T P+ P A + Q =0\end{equation}

この式を満たすような正定行列 Pおよび半正定行列 Qの組が存在すれば、システムは漸近安定となります。もし、 A固有値の実部が全て負の場合は、適当に与えた Qに対して、リアプノフ方程式を解き、得られた Pが正定行列となることが知られています。このとき、リアプノフ関数は

\begin{equation} V = x(t)^T P x(t)\end{equation}

と与えられ、その微分値は

 \dot V = x(t)^T (A^T P + PA) x(t)

であり、さらに、リアプノフ方程式を満足する Qは半正定であり

\begin{equation}\dot V = - x(t)^T Q x(t)\end{equation}

として \dot Vが常に非正となり単調減少します。

MATLABで安定性解析をするプログラム例を示します。

    A = [-1 0 0;0 -2 -1;0 1 -2];       
Q = [1 0 0;0 1 0;0 0 1]; %単位行列
   P = lyap(A,Q);

このとき、出力結果は次のようになります。

  P = 0.5000         0         0
         0    0.2500         0
         0         0    0.2500

実際、得られた Pを用いて A^T P + PA + Q を計算すると0になります。また、当然のように Pは正定行列となっています。

なお、不安定システムに対して上記の関数lyapを適用しても正定となるような Pは求まりません。

ここでは、 n = 2のシステムにおいて行列 Aが次式で与えられ、 u(t) = 0とした場合について図を示します。

\begin{equation} A = \begin{bmatrix}0&1\\-7.1 &-3.4 \end{bmatrix}\end{equation}

 Q = I単位行列を与えてリアプノフ方程式を解いたとき、リアプノフ行列 Pは次式のように求まります。

\begin{equation}P = \begin{bmatrix}1.4306&0.0704\\0.0704 &0.1678 \end{bmatrix}\end{equation}

このとき、 Pは正定行列として求まっています。

\begin{equation} \dot x = A x\end{equation}

の解軌道を以下の図の破線で表します。また、実線でリアプノフ関数の等高線を表します。破線は常にリアプノフ関数値が小さくなる方向に進んでいることが確認できます。 A行列の与えられ方によってどの関数がリアプノフ関数になるかが変わってきます。

解軌道の例



MATLABライブスクリプトファイル

次のリンクにMATLABライブスクリプトファイルを置いています。これは、リアプノフの安定判別法の動画でも詳しく説明しています。

lyapunov.mlx - Google ドライブ

安定性に関する動画

以下は,状態方程式表現されたシステムの極と安定性について説明した動画になります。

youtu.be

以下は,状態方程式表現されたシステムのリアプノフの方法について説明した動画になります。

youtu.be

関連記事

blog.control-theory.com

 

 

 

人工知能・AIランキング
人工知能・AIランキング

 

自己紹介

岡島 寛 (熊本大学工学部情報電気工学科准教授)

制御工学の研究をしています。モデル誤差抑制補償器,状態推定,量子化制御など

研究室HP

岡島研究室(システム制御 control-theory.com)

制御動画ポータルサイト

制御工学チャンネル(伝達関数・状態方程式・MATLABなど)

電気動画ポータルサイト

電気電子チャンネル (半導体・電気・電子工作など)

YouTube 

制御工学チャンネル (制御YouTubeチャンネル)

 

本記事をお読みいただきありがとうございます。役に立った、と思われましたら、ブックマーク・シェア等のアクションをしていただければ嬉しいです。