目的
線形システムの座標変換について述べる。
何がうれしいのか:
対象のモデルと入出力関係が等価なモデルに変換する。
その結果、モデルを
「なにか意義のある(e.g. 解析しやすい、後の工程に都合がいい etc.)」
ように変換できる。
座標変換
線形システム\begin{eqnarray}\dot{x}(t) &=& Ax(t)+Bu(t) \\ y(t)&=&Cx(t) + Du(t) \end{eqnarray}
の状態 \(x(t)\) を別の状態 \(z(t)\) に書き換える(変換する)。
※状態空間表現についてはこちらをご覧ください。
\(x(t), z(t)\)を結びつけるため、以下のような座標変換を定義する。
\[x(t) = T z(t)\]
ただし \(T\) は正則行列。
システムを変換してみる
\begin{eqnarray}\dot{x}(t) &=& Ax(t)+Bu(t) \\ y(t)&=&Cx(t) + Du(t) \end{eqnarray}
に \(x(t) = T z(t)\) を代入し、システムの状態を変換する。
\begin{eqnarray}\dot{(Tz)}(t) &=& AT z(t)+Bu(t) \\ y(t)&=&CT z(t) + Du(t) \end{eqnarray}
\(T\) は定数行列であることに注意し、整理すると
\begin{eqnarray}\dot{z}(t) &=& \underbrace{T^{-1}AT}_{\text{状態 \(z\) での行列 \(A\)}} z(t)+\underbrace{T^{-1}B}_{\text{状態 \(z\) での行列 \(B\)}}u(t) \\ y(t)&=&\underbrace{CT}_{\text{状態 \(z\) での行列 \(C\)}} z(t) + \underbrace{D}_{\text{状態 \(z\) での行列 \(D\)}}u(t) \end{eqnarray}
状態 \(z(t)\) を用いて、制御対象を表現できた。
行列 \((T^{-1}AT, T^{-1}B, CT, D)\) を新しい \( (A, B, C, D) \) として扱うことで、
システムを比較的容易に解析・制御できる。
ちなみに:
文献によっては、以下のように座標変換を定義する場合がある。
\[Tx(t) = z(t)\]
ただし \(T\) は正則行列。
この変換でシステムは
\begin{eqnarray}\dot{z}(t) &=& \underbrace{TAT^{-1}}_{\text{状態 \(z\) での行列 \(A\)}} z(t)+\underbrace{TB}_{\text{状態 \(z\) での行列 \(B\)}}u(t) \\ y(t)&=& \underbrace{CT^{-1}}_{\text{状態 \(z\) での行列 \(C\)}} z(t) + \underbrace{D}_{\text{状態 \(z\) での行列 \(D\)}}u(t) \end{eqnarray}
となる。
両者どちらも正しい。
実際 \(Tx(t) = z(t)\) の両辺に左から \(T^{-1}\) をかけると
\[x(t) = T^{-1}z(t)\]となる。
この \(T^{-1}\) を \(T\) だと思うと、同様のことをしているとわかる。
例
モータの角度、角速度が計測できる直流モータの状態空間表現は
\begin{eqnarray}&\frac{d}{dt}\begin{pmatrix} x_1 (t) \\ x_2 (t)\end{pmatrix}&=\begin{pmatrix} 0 & 1 \\ 0 & -\frac{1}{T_m}\end{pmatrix}\begin{pmatrix} x_1 (t) \\ x_2 (t)\end{pmatrix}+\begin{pmatrix} 0 \\ \frac{1}{T_m K_E}\end{pmatrix}u(t) \\ &\begin{pmatrix} y_1 (t) \\ y_2 (t)\end{pmatrix}&= \begin{pmatrix} c_{\theta} & 0 \\ 0 & c_{\omega}\end{pmatrix}\begin{pmatrix} x_1 (t) \\ x_2 (t)\end{pmatrix}\end{eqnarray}とできる。ただし \(K_E\) は逆起電力定数、
\(T_m\) は直流モータの機械的時定数と呼ばれ、以下で与えられる。
\[T_m = \frac{R J}{K_T K_E}\] \(K_T\) はトルク定数、\(R\) は電気系としての直流モータの電気抵抗、
\(J\) は機械系としての直流モータの慣性モーメント。
このシステムの \(A,B,C,D\) 行列は
\[A=\begin{pmatrix} 0 & 1 \\ 0 & -\frac{1}{T_m}\end{pmatrix}, \ B=\begin{pmatrix} 0 \\ \frac{1}{T_m K_E}\end{pmatrix}, C=\begin{pmatrix} c_{\theta} & 0 \\ 0 & c_{\omega}\end{pmatrix}, \ D=\begin{pmatrix} 0 \\ 0\end{pmatrix} \]
である。
ここからこのモータのモデルを座標変換する。ここでは
\[\begin{pmatrix} x_1 (t) \\ x_2 (t)\end{pmatrix} = \underbrace{\begin{pmatrix} 1 & 1 \\ 0 & -\frac{1}{T_m}\end{pmatrix}}_{\text{\(T\)}} \begin{pmatrix} z_1 (t) \\ z_2 (t)\end{pmatrix}\]
とする。
※この \(T\) は適切に選ぶ。さまざまな方法が提案されている。
これを代入・整理すると
\begin{eqnarray}&\frac{d}{dt}\begin{pmatrix} z_1 (t) \\ z_2 (t)\end{pmatrix}&=\underbrace{\begin{pmatrix} 1 & T_m \\ 0 & -T_m\end{pmatrix}}_{\text{\(T^{-1}\)}}\underbrace{\begin{pmatrix} 0 & 1 \\ 0 & -\frac{1}{T_m}\end{pmatrix}}_{\text{\(A\)}}\underbrace{\begin{pmatrix} 1 & 1 \\ 0 & -\frac{1}{T_m}\end{pmatrix}}_{\text{\(T\)}}\begin{pmatrix} z_1 (t) \\ z_2 (t)\end{pmatrix}+\underbrace{\begin{pmatrix} 1 & T_m \\ 0 & -T_m\end{pmatrix}}_{\text{\(T^{-1}\)}}\underbrace{\begin{pmatrix} 0 \\ \frac{1}{T_m K_E}\end{pmatrix}}_{\text{\(B\)}}u(t) \\ &\begin{pmatrix} y_1 (t) \\ y_2 (t)\end{pmatrix}&= \underbrace{\begin{pmatrix} c_{\theta} & 0 \\ 0 & c_{\omega}\end{pmatrix}}_{\text{\(C\)}}\underbrace{\begin{pmatrix} 1 & 1 \\ 0 & -\frac{1}{T_m}\end{pmatrix}}_{\text{\(T\)}}\begin{pmatrix} z_1 (t) \\ z_2 (t)\end{pmatrix}\end{eqnarray}
これをさらに計算すると、モータのモデルは以下のように書き直すことができる。
\begin{eqnarray}&\frac{d}{dt}\begin{pmatrix} z_1 (t) \\ z_2 (t)\end{pmatrix}&=\begin{pmatrix} 0 & 0 \\ 0 & -\frac{1}{T_m}\end{pmatrix}\begin{pmatrix} z_1 (t) \\ z_2 (t)\end{pmatrix}+\begin{pmatrix} \frac{1}{K_E} \\ -\frac{1}{K_E}\end{pmatrix}u(t) \\ &\begin{pmatrix} y_1 (t) \\ y_2 (t)\end{pmatrix}&= \begin{pmatrix} c_{\theta} & c_{\theta} \\ 0 & -\frac{c_{\omega}}{T_m}\end{pmatrix}\begin{pmatrix} z_1 (t) \\ z_2 (t)\end{pmatrix}\end{eqnarray}
1つ目の式をよくみると
\begin{eqnarray}\dot{z}_1(t) &=& \frac{1}{K_E}u(t) \\ \dot{z}_2(t) &=& -\frac{1}{T_m}z_2(t) -\frac{1}{K_E}u(t) \end{eqnarray}
となり、状態が互いに干渉せず、分離できている。
そのため、入力\(u(t)\) からの影響が考察しやすい表現になっている。
参考文献
[1] 梶原 “線形システム制御入門,” コロナ社, 2000.
北海道大学大学院情報科学研究科修士課程修了。
機械メーカにて開発業務に従事したのち、フリーのエンジニア・講師として活動中。