1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

現代制御のフワッとした解説~なぜ可制御行列のランクを求めるのか?~

1
Posted at

 はじめまして、りょーつといいます。高専出身の大学院2年生です。研究の専門は力学や機構学で、Qiitaでは主に制御工学や数学に関する記事を書いています。
 今週は可制御性が可制御行列のランクで判定できる理由についてフワッとしたイメージを解説していきたいと思います。厳密ではないと思いますが、直感的で分かりやすい内容になったらいいなと思います。

目次

1.はじめに
2.目標状態ベクトルの基底
3.可制御行列のランクのイメージ
4.おわりに

1. はじめに

 本記事では簡単のために1入力系について説明します。同じ流れで多入力系についても同様に説明できます。まず線形システムの状態空間を以下のように定義します。

\frac{d \boldsymbol{x}}{dt}
=
A\boldsymbol{x} + \boldsymbol{b}u
\tag{1}

ただし、システムの状態ベクトルの次元を$n$とします。

\boldsymbol{x}
\in
\mathbb{R}^n
\tag{2}
A
\in
\mathbb{R}^n \times \mathbb{R}^n
\tag{3}
\boldsymbol{b}
\in
\mathbb{R}^n
\tag{4}
u
\in
\mathbb{R}
\tag{5}

このとき、「システムが可制御である」とは「ある時刻$t_f$に任意の初期状態量$\boldsymbol{x}(0) = \boldsymbol{x_0}$を任意の目標状態量$\boldsymbol{x}(t_f) = \boldsymbol{x_f}$に変化させるような入力$u(t)$が存在する」ことを意味します。フワッと訳すと可制御なシステムは「入力$u(t)$をいい感じに調整すれば思い通りに動かせるようなシステム」です。

 システムが可制御かどうかを判定するために登場するのが可制御行列$V_c$です。可制御行列は以下のような見た目をしており、そのランクがフルランクであれば可制御となります。

V_c
=
\begin{bmatrix}
\boldsymbol{b} & A \boldsymbol{b} & \cdots & A^{n-1}\boldsymbol{b}
\end{bmatrix}
\tag{6}

本記事のように1入力系を扱う場合、可制御行列$V_c$は$n \times n$の正方行列になるので、ランクを求めるかわりに可制御行列$V_c$の行列式をもとめて正則かどうかで判定してもよいです。

 現代制御の講義やテストで、「なんだかよく分からんけどとりあえず可制御行列$V_c$のランクを求める」というのは非常にもったいない気がしたので、可制御行列$V_c$のランクが可制御性の判定になぜ影響するのか、そのイメージを解説したいなと考え記事を書き始めました。

2. 目標状態ベクトルの基底

 本章では、可制御行列$V_c$を構成するベクトルたち$\boldsymbol{b} , A \boldsymbol{b} , \cdots , A^{n-1}\boldsymbol{b}$がいったい何者なのかについてフワッとした式変形をもとに説明します。

 まずは微分方程式(1)式を制御周期$\Delta t$の前進差分で離散化してみましょう。

\frac{\boldsymbol{x_{n+1}} - \boldsymbol{x_n}}{\Delta_t}
=
A\boldsymbol{x}_n + \boldsymbol{b} u_n
\therefore
\boldsymbol{x_{n+1}}
=
(I + \Delta t A)\boldsymbol{x}_n
+
\Delta t \ \boldsymbol{b} u_n
\tag{7}

(7)式を以下のように順々に書き下すと、$m$ステップ先の未来の状態$\boldsymbol{x_m}$が得られます。

\boldsymbol{x_1}
=
(I + \Delta t A)\boldsymbol{x}_0
+
\Delta t \ \boldsymbol{b} u_0
\tag{8}
\boldsymbol{x_2}
=
(I + \Delta t A)\boldsymbol{x}_1
+
\Delta t \ \boldsymbol{b} u_1
\tag{9}
\vdots
\boldsymbol{x_m}
=
(I + \Delta t A)\boldsymbol{x}_{m-1}
+
\Delta t \ \boldsymbol{b} u_{m-1}
\tag{10}

少し複雑ですが、(8)~(10)式を順々に解いていくと、$m$ステップ先の未来は以下のように記述できます。

\boldsymbol{x_m}
=
(I + \Delta t A)^m \boldsymbol{x}_{0}
+
(I + \Delta t A)^{m-1} \Delta t \ \boldsymbol{b} u_{0}
+
(I + \Delta t A)^{m-2} \Delta t \ \boldsymbol{b} u_{1}
+
\cdots
+
(I + \Delta t A) \Delta t \ \boldsymbol{b} u_{m-2}
+
\Delta t \ \boldsymbol{b} u_{m-1}
\tag{11}

分かりやすさのために初期状態を零とし、第$m$ステップで目標状態$\boldsymbol{x_f}$に到達する場合$\boldsymbol{x_m} = \boldsymbol{x_f}$を考えましょう。

\boldsymbol{x_f}
=
(I + \Delta t A)^{m-1} \Delta t \ \boldsymbol{b} u_{0}
+
(I + \Delta t A)^{m-2} \Delta t \ \boldsymbol{b} u_{1}
+
\cdots
+
(I + \Delta t A) \Delta t \ \boldsymbol{b} u_{m-2}
+
\Delta t \ \boldsymbol{b} u_{m-1}
\tag{11}

すると、左辺は目標状態$\boldsymbol{x_f}$で決定される任意の$n$次元ベクトルとなります。では右辺について解析してみましょう。

 右辺はどの項も「$A$の多項式に$\boldsymbol{b}$をかけたもの」で構成されいるため、以下のようなシンプルな多項式でまとめることができます。$C$は入力$u_0, u_1, \cdots , u_{m-1}$によって決まる定数です。

\boldsymbol{x_f}
=
C_0 \boldsymbol{b}
+
C_1 A \boldsymbol{b}
+
C_2 A^2 \boldsymbol{b}
+
\cdots
+
C_{m-1} A^{m-1} \boldsymbol{b}
\tag{12}

ここで(12)式の右辺はベクトル$\boldsymbol{b} , A \boldsymbol{b} , \cdots , A^{m-1}\boldsymbol{b}$の線形結合で表されていることが分かると思います!
 つまり、$\boldsymbol{b} , A \boldsymbol{b} , \cdots , A^{m-1}\boldsymbol{b}$は目標の状態ベクトルの基底に対応しているのです。

3. 可制御行列のランクのイメージ

 本章では可制御行列$V_c$のランクについてイメージを説明します。まずは(12)式の右辺の基底の数について考えます。(12)式について、まず制御周期$\Delta t$を十分短く、$m$を十分大きくとって、$m\geq n$となる場合を仮定しましょう。このとき、ケーリー・ハミルトンの定理より、$n \times n$行列$A$について「$A^k \ \ (k\geq n)$は$A,A^2, \cdots, A^{n-1}$の線形結合で表される」ことが知られているので、(12)式の右辺は$\boldsymbol{b} , A \boldsymbol{b} , \cdots , A^{n-1}\boldsymbol{b}$という$n$個の基底の線形結合で表されることが分かります。
 数式で表すと以下のようになります。

\boldsymbol{x_f}
=
C_0 \boldsymbol{b}
+
C_1 A \boldsymbol{b}
+
C_2 A^2 \boldsymbol{b}
+
\cdots
+
C_{n-1} A^{n-1} \boldsymbol{b}
\tag{13}

(13)式を基底と座標に分離すると、なんと可制御行列$V_c$が登場します。

\boldsymbol{x_f}
=
\begin{bmatrix}
\boldsymbol{b} & A \boldsymbol{b} & \cdots & A^{n-1}\boldsymbol{b}
\end{bmatrix}
\begin{bmatrix}
C_0 \\
C_1 \\
\vdots \\
C_{n-1} \\
\\
\end{bmatrix}
=
V_c
\begin{bmatrix}
C_0 \\
C_1 \\
\vdots \\
C_{n-1} \\
\\
\end{bmatrix}
\tag{14}

(14)式において、左辺が任意の$n$次元の目標状態ベクトル$\boldsymbol{x_f}$になるためには、右辺の可制御行列$V_c$が$n$個以上の独立な基底で構成される、すなわち「可制御行列$V_c$がフルランクになる」必要があります。3次元の場合における(14)式の直観的なイメージを図1に示しました。

image.png

図1 可制御行列の構成要素と目標状態の関係

可制御行列がフルランクではないとき、基底の数が$n$個に満たないため、目標状態ベクトル$\boldsymbol{x_f}$は$n$次元空間上で自由に取ることができません。目標状態$\boldsymbol{x_f}$を自由に決定できないということは可制御ではないということになります。
 

4. おわりに

 今回は可制御行列$V_c$のランクについて、状態方程式を雑に離散化し、ベクトルの基底という形でそのイメージをフワッと解説しました。次は可観測性や双対性についてもフワッと紹介したいと思っています。
 最後まで読んでいただき、ありがとうございました!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?