線形システムの座標変換

目的

線形システムの座標変換について述べる。

 

何がうれしいのか:

対象のモデルと入出力関係が等価なモデルに変換する。

その結果、モデルを

「なにか意義のある(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.

北海道大学大学院情報科学研究科修士課程修了。
機械メーカにて開発業務に従事したのち、フリーのエンジニア・講師として活動中。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です