現代制御理論チートシート
はじめに
現代制御理論は、数学に基づいた時間領域でのシステム解析・設計を与える理論です。現代制御論では、種々の定理やアルゴリズムなどが数学的に記述されるため、私を含め初学者は「今自分はどこの地点にいるのか?」「どの定理、アルゴリズムを使えば良いのか?」と迷ってしまうことが多いかと思います。
学習や実装を進めていく中で、瞬時に現代制御の定理やアルゴリズムを使えるようにするために、一覧形式で結果をまとめることとしました。トピックについては、書籍「現代制御論 | 吉川恒夫, 井村順一」の第2章〜第7章までの内容を扱います。詳細な証明は、本記事ではあえて解説しませんので書籍や末尾の参考文献を参照ください。
状態方程式
状態方程式の解
線形時不変システムの状態方程式
遷移行列の算出
状態方程式の解に用いられる
さらに定義式
可制御性と可観測性
可制御性の定義
任意の初期状態
すなわち、
可制御性の判定方法
線形時不変システムにおける可制御性の判定方法
- 可制御性行列
に対して、M_c := [B\ AB\ \cdots \ A^{n-1}B] \text{rank}\ M_c = n \text{rank}\begin{bmatrix}sI-A & B\end{bmatrix} = n,\ (\forall s \in \mathbb{C}) - 行列
の固有値A に対して\lambda_i\ (i=1,2,\dots, n) \text{rank}\begin{bmatrix}\lambda_iI-A & B\end{bmatrix} = n -
の双対システム\Sigma : (A, B, C) が可観測\Sigma^*: (A^T, C^T, B^T) - 可制御性グラム行列
が正則G_c(t_0, t_f) := \int_{t_0}^{t_f} (e^{A(t_0-\tau)}B)(e^{A(t_0-\tau)}B)^T d\tau
可観測性の定義
制御入力
可観測性の判定方法
線形時不変システムにおける可観測性の判定方法
- 可観測性行列
に対して、M_o := \begin{bmatrix} C\\CA\\ \vdots\\ CA^{n-1} \end{bmatrix} \text{rank}\ M_o = n \text{rank}\begin{bmatrix} sI-A \\ C \end{bmatrix} = n,\ (\forall s \in \mathbb{C}) - 行列
の固有値A に対して\lambda_i\ (i=1,2,\dots, n) \text{rank}\begin{bmatrix} \lambda_iI-A \\ C \end{bmatrix} = n -
の双対システム\Sigma : (A, B, C) が可制御\Sigma^*: (A^T, C^T, B^T) - 可観測性グラム行列
が正則G_o(t_0, t_f) := \int_{t_0}^{t_f} (Ce^{A(\tau-t_0)})(Ce^{A(\tau-t_0)})^T d\tau
可制御正準形(1 入力)の導出
- 特性多項式
の係数\phi(s) = \text{det}(sI - A) = s^n + a_{n-1}s^{n-1} + \cdots + a_1 s + a_0 を求める。a_i (i = 1, 2, \dots, n-1) -
- で求めた係数を用いて行列
を求める。W = \begin{bmatrix} a_1&a_2&\cdots&a_{n-1}&1 \\ a_2&a_3&\cdots&1&0 \\ \vdots&\vdots&\ddots&\vdots&\vdots \\ a_{n-1}&1&\cdots & 0 &0\\1&0&\cdots&0&0 \end{bmatrix}
- で求めた係数を用いて行列
- 可制御性行列
を求める。M_c = [{\bm b}\ A{\bm b}\ \cdots A^{n-1}{\bm b}] - 同値変換行列を
とする。T = (M_cW)^{-1} - 変換後のシステム
は、\Sigma^*: (TAT^{-1}, T{\bm b}, CT^{-1}) の可制御正準形となる。\Sigma: (A,{\bm b},C)
可制御正準形(多入力)の導出
-
に対して可制御性指数をB = [{\bm b}_1\ {\bm b}_2 \cdots\ {\bm b}_m] と定義する。\mu_i = \min\left\{ j | A^j{\bm b}_i\in \text{span}\left[ B\ AB\ \cdots\ A^{n-1}B\ A^j{\bm b_1 \ \cdots \ A^j{\bm b_{i-1}}} \right] \right\} -
とその逆行列S =[{\bm b}_1\ A{\bm b}_1\ \cdots \ A^{\mu_1-1}{\bm b}_1\ {\bm b}_2\ A{\bm b}_2\ \cdots \ A^{\mu_2-1}{\bm b}_2 \ \cdots\ \cdots\ A^{\mu_m-1}{\bm b}_m] を求める。S^{-1} -
の第S^{-1} 行目を\sum^i_{j=1}\mu_j とする(\hat{s_i} )。i = 1, 2,\dots,m - 同値変換行列を
とする。T = \begin{bmatrix} \hat{s}_1\\ \hat{s}_1A\\\vdots\\\hat{s}_1A^{\mu_1-1}\\\hat{s}_2\\\vdots\\\hat{s}_mA^{\mu_m-1} \end{bmatrix} - 変換後のシステム
は、\Sigma^*: (TAT^{-1}, TB, CT^{-1}) の可制御正準形となる。\Sigma: (A,B,C)
可観測正準系(1 入力)の導出
- 特性多項式
の係数\phi(s) = \text{det}(sI - A) = s^n + a_{n-1}s^{n-1} + \cdots + a_1 s + a_0 を求める。a_i (i = 1, 2, \dots, n-1) -
- で求めた係数を用いて行列
を求める。W = \begin{bmatrix} a_1 & a_2 & \cdots & a_{n-1} & 1 \\ a_2 & a_3 & \cdots & 1 & 0 \\ \vdots&\vdots&\ddots&\vdots&\vdots \\ a_{n-1}&1&\cdots & 0 &0\\1&0&\cdots&0&0 \end{bmatrix}
- で求めた係数を用いて行列
- 可観測性行列
を求める。M_o = \begin{bmatrix}{\bm c}\\ {\bm c}A\\ \vdots\\ {\bm c}A^{n-1}\end{bmatrix} - 同値変換行列を
とする。T = WM_o - 変換後のシステム
は、\Sigma^*: (TAT^{-1}, TB, {\bm c}T^{-1}) の可制御正準形となる。\Sigma: (A,B,{\bm c})
可観測正準系(多入力)の導出
-
に対して可制御性指数をC = [{\bm c}_1^T\ {\bm c}_2^T \cdots\ {\bm c}_r^T] と定義する。\nu_i := \min\left\{ j | {\bm c}_iA^j\in \text{span}\left[ C^T\ (CA)^T\ \cdots\ (CA^{n-1})^T\ ({\bm c_1}A)^T \ \cdots \ ({\bm c_{i-1}}A)^T\right]^T \right\} -
とその逆行列S =[{\bm c}_1^T\ ({\bm c}_1A)^T\ \cdots \ ({\bm c}_1 A^{\nu_1-1})^T\ {\bm c}_2^T\ ({\bm c}_2A)^T\ \cdots \ ({\bm c}_2A^{\nu_2-1})^T \ \cdots\ \cdots\ ({\bm c}_r A^{\nu_r-1})^T]^T を求める。S^{-1} -
の第S^{-1} 列目を\sum^i_{j=1}\nu_j とする(\hat{s_i} )。i = 1, 2,\dots,r - 同値変換行列を
とする。T = \begin{bmatrix} \hat{s}_1& A\hat{s}_1&\cdots&A^{\nu_1-1}\hat{s}_1&\hat{s}_2&\cdots&A^{\nu_r-1}\hat{s}_r \end{bmatrix} - 変換後のシステム
は、\Sigma^*: (TAT^{-1}, TB, CT^{-1}) の可観測正準形となる。\Sigma: (A,B,C)
線形システムの双対性
システム
これより、与えられたシステム
同様に、与えられたシステム
Kalman の正準分解形の導出
-
可制御性行列
と可観測性行列M_c を求める。M_o -
可制御部分空間
と不可観測部分空間\chi_c = \text{Im} M_c を求める。\chi_{\bar{o}} = \text{Ker} M_o -
以下の4つの部分空間を求める。
可制御不可観測部分空間:
\chi^a = \chi_c \cap \chi_{\bar{o}} 可制御可観測部分空間:
\chi_c = \chi^a \oplus \chi^b \quad\therefore \chi^b = \chi_c - \chi^a 不可制御不可観測部分空間:
\chi_{\bar{o}} = \chi^a \oplus \chi^c \quad\therefore \chi^c = \chi_{\bar{o}} - \chi^a 不可制御可観測部分空間:
\R^n = \chi^a \oplus \chi^b \oplus \chi^c \oplus \chi^d\quad\therefore \chi^d = \R^n - \chi^a- \chi^b- \chi^c -
の任意の基底ベクトルを並べて、同値変換行列\chi^a, \chi^b, \chi^c, \chi^d を構成する。T^{-1} -
変換後のシステム
は、\Sigma^*: (TAT^{-1}, TB, CT^{-1}) の Kalman 正準分解形となる。\Sigma: (A,B,C)
伝達関数
状態方程式表現から伝達関数行列を導出
線形時不変システムの伝達関数行列は
最小実現であるための条件
実現
マルコフパラメータ、マクミラン次数の定義
伝達関数行列
伝達関数
マルコフパラメータを縦と横に
このとき、
最小実現のアルゴリズム(Moore's method)
Moore の方法は、可制御または可観測な実現を一つもとめ、正準分解して可制御かつ可観測なサブシステムを求める手法である。
- 与えられた伝達関数行列を
の形に変形する。ただし、G(s) = \frac{G{\nu-1}s^{\nu-1} + \dots + G_1s + G_0}{\gamma(s)} は\gamma(s) = s^\nu + a_{\nu-1}s^{\nu-1} + \dotsb + a_1s+a_0 の最小公倍多項式である。G(s) - 可制御なシステム
を求める。(\bar{A}, \bar{B}, \bar{C}) \bar{A} = \begin{bmatrix}{\bm 0} & I_{(\nu-1)m} \\ -a_0I_m & -a_1I_m & \cdots & -a_{\nu-1}I_m \end{bmatrix},\ \bar{B} = \begin{bmatrix}{\bm 0} \\I_m\end{bmatrix}, \ \bar{C} = \begin{bmatrix} G_0 & G_1 & \cdots & G_{\nu-1} \end{bmatrix} -
- で求めたシステムが可観測であれば、最小実現となる。可観測でなければ、正準分解をして可制御可観測なサブシステムを求める。
最小実現のアルゴリズム(Gilbert's method)
Gilbert の方法は、与えられた伝達関数行列
- 伝達関数行列
の分母の最小公倍多項式G(s) の解\gamma(s) = s^\nu + a_{\nu-1}s^{\nu-1} + \dotsb + a_1s+a_0 を求める。s_1, s_2, \cdots, s_{\nu-1} -
の留数G(s) を求める。R_i = \lim_{s\to s_i} (s-s_i)G(s), \quad i=1,2,\cdots,n -
およびn_i = \text{rank}R_i なるC_iB_i = R_i を求める。C_i, B_i -
で定義されるシステムA = \begin{bmatrix} s_1I_{n_1} & & & 0 \\ & s_2I_{n_2} \\& & \cdots \\0 & & & s_\nu I_{n_\nu}\end{bmatrix},\ B=\begin{bmatrix}B_1 \\ B_2 \\ \vdots \\ B_\nu \end{bmatrix},\ C =\begin{bmatrix} C_1&C_2&\cdots&C_\nu \end{bmatrix} は最小実現となる。\Sigma: (A, B, C)
安定性
漸近安定の定義
線形時不変システムにおける零入力のときの状態
有界入力有界出力安定の定義
線形時不変システムの初期状態が零であるときに、任意の有界な入力
Lyapunov の安定性定理
Lyapunov 関数
-
はV({\bm x}) 上で正定である。すなわち、\Omega が成り立つ。V({\bm 0}) = 0, \forall{\bm x}\in\Omega\ ({\bm x} \neq {\bm 0}), V({\bm x})>0 -
が\dot{V}({\bm x}) = \frac{dV({\bm x}(t))}{dt}= \left( \frac{\partial V}{\partial {\bm x}} \right)^T \frac{d{\bm{x}}}{dt} 上で準負定である。すなわち、\Omega が成り立つ。\dot{V}({\bm 0}) = 0, \forall{\bm x}\in\Omega\ ({\bm x} \neq {\bm 0}), \dot{V}({\bm x})\le0
非線形システム
非線形システム
線形システムにおける Lyapunov の安定性定理の適用
視線形システム
ただし、行列
極配置
極配置が可能となる条件
線形システム
状態フィードバックによる極配置(1 入力)
- 配置したい極の集合から特性方程式
を立て、係数を求める。(s-\lambda_1)(s-\lambda_2)\cdots(s-\lambda_n) = s^n+\beta_{n-1}s^{n-1}+\cdots+\beta_1s+\beta_0 - システム
を可制御正準形に変形するときの同値変換行列\Sigma: (A, {\bm b}) を求める。T -
の特性多項式A の係数を求める。\phi(s)=\det(sI-A) =s^n+\alpha_{n-1}s^{n-1}+\cdots+\alpha_1 s + \alpha_0 {\bm k} = \begin{bmatrix}\alpha_0-\beta_0 & \alpha_1-\beta_1 & \cdots & \alpha_{n-1}-\beta_{n-1} \end {bmatrix}T
ただし、行列の次元が大きく行列式や逆行列を求めるのが困難な場合には、以下の Ackerman による求め方も知られている。
状態フィードバックによる極配置(多入力)
- 配置したい極の集合から特性方程式
を立て、係数を求める。(s-\lambda_1)(s-\lambda_2)\cdots(s-\lambda_n) = s^n+\beta_{n-1}s^{n-1}+\cdots+\beta_1s+\beta_0 - 適当な同値変換
により、可制御正準形T に変形する。(\bar{A} = TAT^{-1}, \bar{B} = TB) -
が\bar{A}+\bar{B}\bar{K} という形になるように\begin{bmatrix} {\bm 0} & & I_{n-1}& \\ -\beta_0 & -\beta_1 & \cdots & -\beta_{n-1} \end{bmatrix} を求める。\bar{K} - 状態フィードバックゲイン
を求める。K = \bar{K}T
状態フィードバックゲインの求め方(疋田らの方法)
配置したい極
-
であるとし、{\bm v}_i = (A-\lambda_iI)^{-1}B{\bm p}_i,\ i=1, 2, \dots, n が正則となるようなV := [{\bm v}_1\ {\bm v}_2\ \cdots\ {\bm v}_n] を選ぶ。{\bm p}_i \in \R^m - ここで、配置したい極
が複素数\lambda_i,\lambda_{i+1} であるとき、\alpha\pm j\beta とする。\begin{bmatrix} {\bm v}_i \\ {\bm v}_{i+1} \end{bmatrix} = \left\{ (A- \alpha I)^2+\beta^2 I \right\}^{-1} \begin{bmatrix} A-\alpha I & -\beta I \\ \beta I & A-\alpha I \end{bmatrix} \begin{bmatrix} B & 0 \\ 0 & B \end{bmatrix} \begin{bmatrix} {\bm p}_i \\ {\bm p}_{i+1} \end{bmatrix} - フィードバックゲイン
をK により求める。ただし、K = -PV^{-1} である。P := [{\bm p}_1\ {\bm p}_2\ \cdots\ {\bm p}_n]
オブザーバ
オブザーバの定義
線形時不変システム
同一次元状態オブザーバの導出
システム
1 出力の場合においては、フィードバックゲインの求め方と同様に Ackerman による求め方が適用できることが知られている。
最小次元状態オブザーバの導出
以下の手順で求められるオブザーバシステム
-
が正則となる行列T = \begin{bmatrix} C \\ D\end{bmatrix} を決定する。D -
を計算する。\bar{A} = TAT^{-1}=\begin{bmatrix}{A}_{11} & {A}_{12} \\ {A}_{21} & {A}_{22} \end{bmatrix}, \quad \bar{B} = TB = \begin{bmatrix}B_1\\B_2\end{bmatrix} - 行列
の固有値が、設定したい極となるように[\bar{A_{22}}-G\bar{A}_{12}] を求める。G \Sigma_o: \left\{ \begin{array}{ll} \dot{\bm z} = [A_{22}-GA_{12}]{\bm z} + [A_{22}G+A_{21}-G(A_{12}G + A_{11})]{\bm y} + [B_2-GB_1]{\bm u}\\ {\bm w} = T^{-1}\begin{bmatrix}0 \\ I_{n-r}\end{bmatrix}{\bm z} + T^{-1}\begin{bmatrix}I_{r} \\G\end{bmatrix}{\bm y}\end{array} \right.
参考文献
- 現代制御論 | 吉川恒夫, 井村順一[1]
- 動きをデザインする科学 ー 制御屋さんのモノの見方と考え方 ー[2]
- 岐阜高専 遠藤登先生の資料[3]
- 制御理論 カテゴリーの記事一覧 - 初級 Math マニアの寝言[4]
- 動的システムの双対性 - 木村英紀[5]
-
京都大学名誉教授である吉川先生と、東京工業大学教授の井村先生が共著者である現代制御論の教科書です。私はこの本をベースに現代制御論を勉強しています。 ↩︎
-
国立情報学研究所で制御をバリバリ研究されている岸田昌子先生による初学者向けのスライドです。難しい数式を使わずに身近な具体例を用いて、制御工学の歴史から最新の応用例までを解説しています。制御理論を一通り学んだ人でも、噛み砕いた説明の仕方など非常にためになる情報だと思います。講義動画はこちらからご覧いただけます。 ↩︎
-
岐阜高専の遠藤先生が公開されている現代制御論の資料です。簡潔に証明と結果がまとまっており、非常に有益な資料だと思います。私も高専出身ですが、高専でここまでの内容を学ぶのかと感心しました。 ↩︎
-
東京大学の講師である佐藤一宏先生による解説ブログです。教科書では複雑な数式で記述されている箇所も、図などを用いたり、丁寧に式変形を追っていたりと大変分かりやすく解説してくれています。数学ができるようになりたい。 ↩︎
-
2011 年に、優れた制御工学者に贈られる The Giorgio Quazza Medal をアジア人で初めて受賞された木村英紀先生による双対システムの解説です。本記事の中で、制御工学に多大なる貢献をされてきた木村先生が「線形システムの『双対性』が Kalman によって発見されたのは 1960 年である。しかし、その工学的意味は今も完全に理解されてはいない。少なくとも私にはそう思える」と論評されており、双対性の底の知れなさ、奥深さを感じられる解説となっています。 ↩︎
Discussion