本シリーズでは、制御工学で学ぶ基本的な知識から実際の応用例までを、なるべく分かりやすく解説しています。
線形システムを制御する際に、システムの可制御性(Controllability)を確認することはとても重要です。
システムが可制御性である場合、入力を与えることでシステムの状態を思い通りに制御することが出来ます。
反対に、システムが可制御性でない場合、どんな入力を与えても到達できないシステムの状態が存在します。
今回からの記事では、システムの可制御性とフィードバックシステム、そして与えられた線形システムの可制御性を判定する方法を紹介します。
可制御性とは
これから可制御性の判定方法について説明していきますが、ここでは簡単に可制御性であるシステムの特徴について説明します。
可制御性(Controllability)は、文字通りシステムが制御可能(Controllable)であるということです。
つまり、可制御性を判定するということは、システムを制御可能かどうかを判定するということです。
もし与えられた線形システムが制御可能であるとき、
- 線形システムの固有値λを自由に決定する
- 任意の状態xに到達する
ということが可能になります。
ここで、線形システムの固有値λを自由に決定することが出来れば、
- 不安定なシステムを安定な状態に保つことや、
- システムの応答速度を上げること
などが可能になります。
また、可制御性である場合には、システムを任意の状態xに到達させることが出来ます。
反対に、可制御性でないシステムには、到達できない状態xが存在してしまうということです。
では、どのようにシステムが制御可能かどうかを確認するために、入力を含む状態方程式とフィードバックシステムについて紹介します。
線形システムの状態方程式
今までの記事では、線形システムの状態方程式として
$$ \dot{\boldsymbol{ x }} = \boldsymbol{ A } \boldsymbol{ x } $$
という式を用いてきました、
この式は、状態ベクトルxと状態ベクトルの微分dx/dtの関係、つまり現在の状態から未来の状態を表しています。
今回からは、この線形システムを制御するために、状態方程式に入力信号ベクトルuを追加した
$$ \dot{\boldsymbol{ x }} = \boldsymbol{ A } \boldsymbol{ x } + \boldsymbol{ B } \boldsymbol{ u } $$
という状態方程式を用いていきます。
ここで行列Bは入力ベクトルuがどのように状態xに影響を与えるかを示しています。
この新しく加えた入力ベクトルuをシステムに与えることで、状態xを任意の状態に制御します。
フィードバックシステム
実際に入力uを用いた制御方法の内、基本的でよく使われるのがフィードバックシステムです。
今回は、とてもシンプルなフィードバック制御を紹介します。
線形システムに入力uが与えられた場合の出力をyとします。
この出力yをフィードバックし、入力uを決定する制御方法がフィードバック制御です。
今回の記事で用いる、とてもシンプルなフィードバック制御では、入力uに対する出力yはシステムの状態xとし、
$$ \boldsymbol{ y } = \boldsymbol{ x } $$
の式で表します。
通常は、状態xの全ての要素を出力yとして観測することは難しい場合が多いですが、今回は状態xを出力yとして考えます。
そして、今回のフィードバック制御では、出力y(システムの状態x)をフィードバックする際に、定数要素の-Kを掛け合わせます。
その結果、入力uは
$$ \boldsymbol{ u } = – K \boldsymbol{ x } $$
と表すことが出来ます。
この入力uをシステムに与えることで、システムの制御を行います。
フィードバック制御と可制御性
この入力uの式を線形システムの状態方程式に代入すると、
$$ \begin{eqnarray} \dot{\boldsymbol{ x }} &=& \boldsymbol{ A } \boldsymbol{ x } + \boldsymbol{ B } \boldsymbol{ u } \\ &=& \boldsymbol{ A } \boldsymbol{ x } – \boldsymbol{ B } K \boldsymbol{ x } \\ &=& \left( \boldsymbol{ A } – \boldsymbol{ B } K \right) \boldsymbol{ x } \end{eqnarray} $$
となります。
この代入した式からも分かるように、状態ベクトルxと状態ベクトルの微分dx/dtの関係を表していた行列Aが、行列(A–BK)に変更することが出来ました。
$$ \boldsymbol{ A } \Rightarrow \boldsymbol{ A } – \boldsymbol{ B } K $$
これより、この定数Kの値を変更することで、線形システムの動作が変更出来ることが分かります。
しかし、通常のシステムでは行列Aと行列Bはシステムから自動的に決定されるため、自由に変更することが出来ません。
よって、行列Aと行列Bの組み合わせによっては、任意の固有値λを持つシステムを設計することが出来ない場合があります。
実際に制御してみて、その結果から制御できるかどうかを調べるのは、とても大変(そして危険)です。
そこでシステムを制御する前に、システムの可制御性を判定することで、事前に任意の固有値λを持つシステムを設計できるかできないかを調べます。
まとめ
今回の記事では、線形システムの可制御性について紹介しました。
与えられた線形システムが可制御性である場合、システムの応答性を調整したり、システムを任意の状態に到達させることが出来ます。
次回の記事では、今回紹介した入力を含む線形システムの状態方程式とフィードバックシステムを用いて、可制御性を判定する方法を紹介したいと思います。