前回の記事からだいぶ間が空いてしまいました…。こんなシリーズあったっけ?というレベル。笑
一応、前回は状態空間表現という制御系の表し方について書きました。
今回は、状態空間表現からわかるシステムの性質として、可制御性と可観測性について書いていこうと思います。
前回までの記事を読んでなくても定性的な理解はできるように書いていくので、前知識がなくても教養がてら読んでもらえると嬉しいです。
可制御性とは
可制御性の定義
システムが可制御である、というのは、任意の初期状態から任意の状態に推移させられる入力が存在する性質のことをいいます。
ものすごく雑にいうと、「自由自在に操れる」性質といったところでしょうか…。
可制御性の判別方法
状態空間表現
$$\begin{array} \dot{x} =Ax+Bu\\y=Cx\end{array}$$
(ここで\(x\in \mathbb{R}^n, A\in \mathbb{R}^{n\times n}, B\in \mathbb{R}^{n\times m}, u\in \mathbb{R}^m, y\in \mathbb{R}^l, C\in \mathbb{R}^{l\times n}\))
が与えられていれば、可制御性の判定ができます。詳しい説明は省きますが、
$$\mathrm{rank}\begin{bmatrix}B&AB &\cdots&A^{n-1}B\end{bmatrix}=n$$
を満たしていれば可制御であるということがいえます。
ランクという概念は線形代数においてもかなり重要なので、参考書等をみて理解しておくといいと思います。
可制御だと何が嬉しいのか?
可制御かどうかが判ると何が嬉しいのか、ということですが…一言でいえば、「今やろうとしている制御が理論的に達成可能かどうかがわかる」といったところでしょうか。
定義からもわかるように、可制御ならば任意の制御が実現できる構造になっているわけですが、逆に可制御でない場合、構造的にどう頑張っても制御できないモードが存在します。
例えば、ハンドルがついていないクルマがあったとすると、アクセルやブレーキでクルマの加速度は制御できても、向きは制御できません。つまり、車両の向きを内部状態として考えたとしても、構造上どう頑張っても向きを制御できないため、可制御ではありません。
分かり易い例を挙げましたが、より複雑な制御対象になるほどこうした判別は重要になってきます。
予め可制御性を確認しておかないと、実は制御できないものに対して必死にコントローラを設計してしまうことになりかねません。
可観測性とは
可観測性の定義
可観測であるとは、任意の出力に対し、対応する内部状態が一意に決まるという性質です。
もっと砕いていうと、「出力がわかれば内部状態がわかる」という性質。
可観測性の判別方法
可制御性の時と同様、状態空間表現がわかっていれば可観測性も判定できます。こちらは
$$\mathrm{rank}\begin{bmatrix}C\\CA\\ \vdots\\CA^{n-1}\end{bmatrix}=n$$
が成り立っていれば可観測である、というものになります。
可観測だと何が嬉しいのか?
センサの数を少なくできる、というのがパッと思い浮かぶ嬉しさかと思います。
基本的に、フィードバック制御を行う場合には内部状態を把握していないと実施できません。なので、実装する際には内部状態を観測できるようセンサを付けるわけですが、可観測である場合、出力がわかれば内部状態がわかる(正しく推測できる)ので、内部状態一つ一つを観測しなくても、出力だけ見ておけばいいことになります。したがってセンサの配置を出力部分に限定できるので、センサの数を節約できるというわけです。
センサの数を減らせればコストも低減できるので、より低コストで高精度な制御ができるというわけです。
まとめ
現代制御理論で重要となる可制御性、可観測性についてざっくり説明しました。
冒頭で述べた通り、前知識がなくても「可制御性や可観測性ってこういうものだよ」というのが何となく判るように書いてみましたが、より具体的な理解をしたい場合は制御理論の専門書や、線形代数の参考書を見てみるとよいでしょう。
現代制御理論に関しては、私が学生時代に使ってた講義資料がわかりやすかったんですが,アップしたら先生に怒られるかな…笑
コメント