現代制御理論チートシート

14 min read読了の目安(約12900字

はじめに

現代制御理論は、数学に基づいた時間領域でのシステム解析・設計を与える理論です。現代制御論では、種々の定理やアルゴリズムなどが数学的に記述されるため、私を含め初学者は「今自分はどこの地点にいるのか?」「どの定理、アルゴリズムを使えば良いのか?」と迷ってしまうことが多いかと思います。

学習や実装を進めていく中で、瞬時に現代制御の定理やアルゴリズムを使えるようにするために、一覧形式で結果をまとめることとしました。トピックについては、書籍「現代制御論 | 吉川恒夫, 井村順一」の第2章〜第7章までの内容を扱います。詳細な証明は、本記事ではあえて解説しませんので書籍や末尾の参考文献を参照ください。

本記事中に現れる記号は、一般的な現代制御論の教科書で扱われる記号を想定しています。私は現代制御論 | 吉川恒夫, 井村順一などを参考に記載していますが、適宜私自身で分かりやすく補足・変更している記号もあるので、教科書を参考にされている方はご注意ください。

状態方程式

状態方程式の解

線形時不変システムの状態方程式 \dot{\bm x} = A {\bm x} + B {\bm u} の解は {\bm x(t) = e^{At}} {\bm x(0)} + \int_{t_0}^t e^{A(t-\tau)}B{\bm u}(\tau) d\tau で与えられる。

遷移行列の算出

状態方程式の解に用いられる e^{At} は、逆ラプラス変換 \mathcal{L}^{-1} を用いて e^{At} = \mathcal{L}^{-1}[(sI - A)^{-1}] で表せる。

可制御性と可観測性

可制御性の定義

任意の初期状態 {\bm x}(t_0)\in \R^n に対し、 {\bm x}(t_f) = 0 となる制御入力 {\bm u}(t): [t_0, t_f] \to \R^m, t_0 \lt t_f が存在する。

すなわち、 \forall {\bm x}(t_0) \in \R^n, \exist {\bm u}(t): [t_0, t_f] \to \R^m, t_0\lt t_f \ ({\bm x}(t_f) = 0) である。

可制御性の判定方法

線形時不変システムにおける可制御性の判定方法

  1. 可制御性行列 M_c = [B\ AB\ \cdots \ A^{n-1}B] に対して、 \text{rank}\ M_c = n
  2. \text{rank}\begin{bmatrix}sI-A & B\end{bmatrix} = n,\ (\forall s \in \mathbb{C})
  3. 行列 A の固有値 \lambda_i\ (i=1,2,\dots, n) に対して\text{rank}\begin{bmatrix}\lambda_iI-A & B\end{bmatrix} = n
  4. \Sigma : (A, B, C) の双対システム \Sigma^*: (A^T, C^T, B^T) が可観測

可観測性の定義

制御入力 {\bm u}(t) = 0 のとき、任意の初期状態 {\bm x}(t_0) \in \R^n は、出力 {\bm y}(t): [t_0, t_f]\to\R^{r}, t_0<t<t_f のみから一意に定まる。

可観測性の判定方法

線形時不変システムにおける可観測性の判定方法

  1. 可観測性行列 M_o = \begin{bmatrix} C\\CA\\ \vdots\\ CA^{n-1} \end{bmatrix} に対して、\text{rank}\ M_o = n
  2. \text{rank}\begin{bmatrix} sI-A \\ C \end{bmatrix} = n,\ (\forall s \in \mathbb{C})
  3. 行列 A の固有値 \lambda_i\ (i=1,2,\dots, n) に対して\text{rank}\begin{bmatrix} \lambda_iI-A \\ C \end{bmatrix} = n
  4. \Sigma : (A, B, C) の双対システム \Sigma^*: (A^T, C^T, B^T) が可制御

可制御正準形(1 入力)の導出

  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) を求める。
    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} を求める。
  2. 可制御性行列 M_c = [{\bm b}\ A{\bm b}\ \cdots A^{n-1}{\bm b}] を求める。
  3. 同値変換行列を T = (M_cW)^-1 とする。
  4. 変換後のシステム \Sigma^*: (TAT^{-1}, T{\bm b}, CT^{-1}) は、\Sigma: (A,{\bm b},C)の可制御正準形となる。

可制御正準形(多入力)の導出

  1. 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\} と定義する。
  2. 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} を求める。
  3. S^{-1} の第 \sum^i_{j=1}\mu_j 行目を\hat{s_i} とする(i = 1, 2,\dots,m)。
  4. 同値変換行列を 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}とする。
  5. 変換後のシステム \Sigma^*: (TAT^{-1}, TB, CT^{-1}) は、\Sigma: (A,B,C)の可制御正準形となる。

可観測正準系(1 入力)の導出

  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) を求める。
    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} を求める。
  2. 可観測性行列 M_o = \begin{bmatrix}{\bm c}\\ {\bm c}A\\ \vdots\\ {\bm c}A^{n-1}\end{bmatrix} を求める。
  3. 同値変換行列を T = WM_o とする。
  4. 変換後のシステム \Sigma^*: (TAT^{-1}, TB, {\bm c}T^{-1}) は、\Sigma: (A,B,{\bm c})の可制御正準形となる。

可観測正準系(多入力)の導出

  1. 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\} と定義する。
  2. 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} を求める。
  3. S^{-1} の第 \sum^i_{j=1}\nu_j 列目を\hat{s_i} とする(i = 1, 2,\dots,r)。
  4. 同値変換行列を 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}とする。
  5. 変換後のシステム \Sigma^*: (TAT^{-1}, TB, CT^{-1}) は、\Sigma: (A,B,C)の可観測正準形となる。

線形システムの双対性

システム (A,B, C) が可制御であれば、双対システム (A^T, C^T, B^T) は可観測である。システム (A,B, C) が可観測であれば、双対システム (A^T, C^T, B^T) は可制御である。

これより、与えられたシステム (A, B, C) の双対システム (A^T, C^T, B^T) に対して、可制御標準形 (\bar{A}^T,\bar{C}^T,\bar{B}^T) を求めれば、 (\bar{A},\bar{B},\bar{C}) が元のシステムの可観測正準形となる。

同様に、与えられたシステム (A, B, C) の双対システム (A^T, C^T, B^T) に対して、可観測標準形 (\bar{A}^T,\bar{C}^T,\bar{B}^T) を求めれば、 (\bar{A},\bar{B},\bar{C}) が元のシステムの可制御正準形となる。

Kalman の正準分解形の導出

  1. 可制御性行列 M_c と可観測性行列 M_o を求める。

  2. 可制御部分空間 \chi_c = \text{Im} M_c と不可観測部分空間 \chi_{\bar{o}} = \text{Ker} M_o を求める。

  3. 以下の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

  4. \chi^a, \chi^b, \chi^c, \chi^d の任意の基底ベクトルを並べて、同値変換行列 T を構成する。

  5. 変換後のシステム \Sigma^*: (TAT^{-1}, TB, CT^{-1}) は、\Sigma: (A,B,C)の Kalman 正準分解形となる。

伝達関数

状態方程式表現から伝達関数行列を導出

線形時不変システムの伝達関数行列は G(s) = Y(s)/U(s) = C(sI - A)^{-1} B と表される。

最小実現であるための条件

実現 \Sigma: (A, B, C) が最小実現である \iff\Sigma: (A, B, C) が可制御可観測である

最小実現のアルゴリズム(Moore's method)

Moore の方法は、可制御または可観測な実現を一つもとめ、正準分解して可制御かつ可観測なサブシステムを求める手法である。

  1. 与えられた伝達関数行列を 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_0G(s) の最小公倍多項式であるう。
  2. 可制御なシステム (\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}
    1. で求めたシステムが可観測であれば、最小実現となる。可観測でなければ、正準分解をして可制御可観測なサブシステムを求める。

最小実現のアルゴリズム(Gilbert's method)

Gilbert の方法は、与えられた伝達関数行列 G(s) の各要素の極がすべて実数で単極である場合にのみ適用可能な手法である。

  1. 伝達関数行列 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} を求める。
  2. G(s) の留数 R_i = \lim_{s\to s_i} (s-s_i)G(s), \quad i=1,2,\cdots,n を求める。
  3. n_i = \text{rank}R_i および C_iB_i = R_i なる C_i, B_i を求める。
  4. 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) は最小実現となる。

安定性

漸近安定の定義

線形時不変システムにおける零入力のときの状態 {\bm x}(t) = e^{At}{\bm x}(0) のノルム ||{\bm x}(t)|| = \sqrt{{\bm x}(t)^T{\bm x}(t)} が、時間の経過とともに 0 に収束するとき、漸近安定であるという。すなわち、 \forall {\bm x}(0)\in\R^n,\ \lim_{t\to\infty}|| {\bm x}(t) || = 0\ (\dot{\bm x}(t) = A{\bm x}(t)) であることを言う。

有界入力有界出力安定の定義

線形時不変システムの初期状態が零であるときに、任意の有界な入力 {\bm u}(t)\quad \forall t\ge0, \exist M\in\R\quad (||{\bm u}(t)|| <M) に対して、出力 {\bm y}(t) もまた有界であれば、このシステムは有界入力有界出力であるという。

Lyapunov の安定性定理

Lyapunov 関数 V({\bm x}): \Omega \to \R を以下のように定義する。ただし、 \Omega は原点を含んだ \R^n の部分空間であるとする。

  • 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 が成り立つ。

非線形システム \Sigma: \dot{\bm x}(t) = f({\bm x}) の原点が安定である \iff Lyapunov 関数 V({\bm x}) が存在する。

非線形システム \Sigma: \dot{\bm x}(t) = f({\bm x}) の原点が漸近安定である \iff Lyapunov 関数 V({\bm x}) が存在し、\dot{V}({\bm x})\Omega 上で負定である。

線形システムにおける Lyapunov の安定性定理の適用

視線形システム \dot{\bm x} = A{\bm x} + B{\bm u} の原点が漸近安定 \iff \forall Q \in \R^{n\times n}, \exist!P\in \R^{n\times n}\ (A^TP + PA=-Q)

ただし、行列 P, Q は正定行列である。すなわち、 \forall {\bm x}\in\R^n ({\bm x}^TQ{\bm x}>0, {\bm x}^TP{\bm x}>0) である。

極配置

極配置が可能となる条件

線形システム \Sigma: (A, B, C) の状態が直接観測でき、可制御である場合、またその場合に限り、状態フィードバック則 {\bm u }(t) = K{\bm x}(t) + \bm{v}(t) によって任意の極配置がかのうである。

状態フィードバックによる極配置(1 入力)

A + {\bm bk} の極が配置したい極の集合 \Lambda = \{\lambda_1, \lambda_2, \cdots, \lambda_n\} となるようにゲインベクトル {\bm k} の係数を定める。

  1. 配置したい極の集合から特性方程式 (s-\lambda_1)(s-\lambda_2)\cdots(s-\lambda_n) = s^n+\beta_{n-1}s^{n-1}+\cdots+\beta_1s+\beta_0 を立て、係数を求める。
  2. システム \Sigma: (A, {\bm b}) を可制御正準形に変形するときの同値変換行列 T を求める。
  3. A の特性多項式 \phi(s)=\det(sI-A) =s^n+\alpha_{n-1}s^{n-1}+\cdots+\alpha_1 s + \alpha_0 の係数を求める。
  4. {\bm k} = \begin{bmatrix}\alpha_0-\beta_0 & \alpha_1-\beta_1 & \cdots & \alpha_{n-1}-\beta_{n-1} \end {bmatrix}T

ただし、行列の次元が大きく行列式や逆行列を求めるのが困難な場合には、以下の Ackerman による求め方も知られている。

{\bm k} = -[0\ 0\ \cdots\ 0\ 1]M_c^{-1}(A^n+\beta_{n-1}A^{n-1}+\cdots+\beta_1A+\beta_0)

状態フィードバックによる極配置(多入力)

  1. 配置したい極の集合から特性方程式 (s-\lambda_1)(s-\lambda_2)\cdots(s-\lambda_n) = s^n+\beta_{n-1}s^{n-1}+\cdots+\beta_1s+\beta_0 を立て、係数を求める。
  2. 適当な同値変換 T により、可制御正準形 (\bar{A} = TAT^{-1}, \bar{B} = TB) に変形する。
  3. \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} を求める。
  4. 状態フィードバックゲイン K = \bar{K}T を求める。

オブザーバ

オブザーバの定義

線形時不変システム \Sigma: \dot{\bm x} = A{\bm x} + B{\bm u},\ {\bm y} = C{\bm x} において、\Sigma_o : \dot{\bm z} = F{\bm z} + G{\bm y}+ H{\bm u}, \ {\bm w} = W{\bm z} + V{\bm y} が、\lim_{t\to\infty} ||{\bm x} - {\bm w|| = 0} を満たすとき、\Sigma_o\Sigma のオブザーバであるという。

同一次元状態オブザーバの導出

システム \Sigma: (A, B, C) が可観測であるとき、 \Sigma_o: \left\{ \begin{array}{ll} \dot{\bm z} = A{\bm z} + B{\bm u} + G({\bm y} - C{\bm z}) =(A-GC){\bm z} + B{\bm u} + G{\bm y}\\ {\bm w} = {\bm z} \end{array} \right.で定義されるオブザーバシステムは、 A -GC が安定行列であれば、任意の極を持つ同一次元状態オブザーバとなる。

1 出力の場合においては、フィードバックゲインの求め方と同様に Ackerman による求め方が適用できることが知られている。

T = -{\bm k}^T = (A^n+\beta_{n-1}A^{n-1}+\cdots+\beta_1A+\beta_0)M_o^{-1}[0\ 0\ \cdots\ 0\ 1]^T

最小次元状態オブザーバの導出

以下の手順で求められるオブザーバシステム\Sigma_oは、\Sigma:(A,B,C) の最小次元状態オブザーバとなる。

  1. T = \begin{bmatrix} C \\ D\end{bmatrix} が正則となる行列 D を決定する。
  2. \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} を計算する。
  3. 行列 [\bar{A_{22}}-G\bar{A}_{12}] の固有値が、設定したい極となるように G を求める。
  4. \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. 岐阜高専の遠藤先生が公開されている現代制御論の資料です。簡潔に証明と結果がまとまっており、非常に有益な資料だと思います。私も高専出身ですが、高専でここまでの内容を学ぶのかと感心しました。 ↩︎

  4. 東京大学の講師である佐藤一宏先生による解説ブログです。教科書では複雑な数式で記述されている箇所も、図などを用いたり、丁寧に式変形を追っていたりと大変分かりやすく解説してくれています。数学ができるようになりたい。 ↩︎

  5. 2011 年に、優れた制御工学者に贈られる The Giorgio Quazza Medal をアジア人で初めて受賞された木村英紀先生による双対システムの解説です。本記事の中で、制御工学に多大なる貢献をされてきた木村先生が「線形システムの『双対性』が Kalman によって発見されたのは 1960 年である。しかし、その工学的意味は今も完全に理解されてはいない。少なくとも私にはそう思える」と論評されており、双対性の底の知れなさ、奥深さを感じられる解説となっています。 ↩︎