よくあるブロック線図と読み方のコツ

制御工学入門

ブロック線図は慣れないうちは読みにくいかもしれませんが、よく出くわすブロック線図は結構限られています。このページでは、よくあるブロック線図とその読み方について解説します。

このページのまとめ
  • ブロック線図はよくあるパターンを覚えておくと解読が楽
  • 明らかに難解なブロック線図はとりあえずスルーしてOK
  • 必要に応じてブロックを単純化して、全体をシンプルに表現しよう
スポンサーリンク

フィードバック制御システム

フィードバック制御システムのブロック線図

これはド定番ですね。出力\(y\)をフィードバックし、目標値\(r\)との差、つまり誤差\(e\)に基づいて入力\(u\)を決定するブロック線図です。

フィードフォワード制御システム

フィードフォワード制御システムのブロック線図

こちらも定番です。出力\(y\)が意図通りになるよう、システムの方程式を逆算して入力\(u\)を決定するブロック線図です。

例えば、単純に\(y=r\)にしたい場合はこのようになります。

フィードバック制御システムのブロック線図の具体例

\(G(s)\)はシステムの伝達関数、\(G^{-1}(s)=\frac{1}{G(s)}\)はそれを逆算したもの(つまり逆関数)です。

目標値\(r\)に対する制御量\(y\)の挙動を指定したい場合は、次のようにします。

フィードフォワード制御システムのブロック線図の具体例

\(P(s)\)は、\(r\)に対する\(y\)の挙動を表した伝達関数です。\(P(s)G^{-1}(s)\)は、\(\frac{P(s)}{G(s)}\)と表記されることもあります。

カスケード制御システム

カスケード制御システムのブロック線図

フィードバック制御の中に、もう一つフィードバック制御が含まれるシステムです。ややこしそうに見えますが、結構簡単なシステムです。

例で見てみましょう、今モータで駆動するロボットを制御したいとします。その場合のブロック線図は次のようになります。

カスケード制御システムの例としてのロボットのブロック線図概要

まずロボット用のフィードバック制御器が、ロボットを動かすためのトルクを導出します。制御器そのものはトルクを生み出せないので、モータを制御するシステムに「これだけのトルク出してね」という情報を目標トルクという形で渡します。それを受け取ったモータシステムがトルクを制御しロボットに入力することで、ロボットが動きます。

このモータもフィードバック制御されているとすると、モータシステムの中身は次のように展開されます。これがカスケード制御システムです

カスケード制御システムの例としてのロボットのブロック線図詳細

今回の例のように、上位のシステムを動かすために下位のシステムを制御する必要があるときに、このような形になります。それぞれの制御が独立しているので、例のように下位の制御ブロックを囲むなどしてやると、理解がしやすくなると思います。

スポンサーリンク

フィードバック&フィードフォワード制御システム

フィードバック制御とフィードフォワード制御を組み合わせたブロック線図の一例がこちらです。

フィードバック制御とフィードフォワード制御を組み合わせたブロック線図

上半分がフィードフォワード制御のブロック線図、下半分がフィードバック制御のブロック線図になっています。

次に示すブロック線図も全く同じものです。矢印の引き方によって結構見た目の印象が変わってきますね。

フィードバック制御とフィードフォワード制御を組み合わせたブロック線図
フィードバック制御とフィードフォワード制御を組み合わせたブロック線図

制御の目的や方法によっては、矢印の分岐点や結合点の位置が変わる場合もありますので、注意してくださいね。

フィルタ

ブロック線図内に、伝達関数が説明なしにポコッと現れることがたまにあります。

1次遅れ系がフィルタとして入っているブロック線図
2次遅れ系がフィルタとして入っているブロック線図

なにこれ?システムの一部を何か見落としていたかな?

もちろんその可能性もあるのでよく確認していただきたいのですが、もしその伝達関数が単純な1次システムや2次システムの式であれば、それはフィルタであることが多いです

1次システムや2次システムは高周波信号をカットするローパスフィルタとしても使えるので、例えば制御入力の振動をお手軽に抑えたいときに挟まれることがあります。

1次遅れ系がローパスフィルタとして使えるイメージ

これらのフィルタは、例えば電気回路としてハード的に組み込まれることもありますし、プログラム内にデジタルフィルタとしてソフト的に組み込まれることもあります。

つまり厳密には制御器の一部なのですが、制御の本質部分と区別するためにフィルタ部分を切り出しているわけですね。(その場しのぎでとりあえずつけている場合も多いので)

スポンサーリンク

オブザーバ(状態観測器)・カルマンフィルタ(状態推定器)

オブザーバやカルマンフィルタは「直接取得できる情報(出力)とシステムのモデルから、直接取得できない情報(状態)を観測・推定するシステム」です。ブロック線図でこれを表すと、次のようになります。

オブザーバやカルマンフィルタのブロック線図

ブロックの中では、まずシステムのモデルを用いて「入力\(u\)が入ったということはこの先こう動くはずだ」という予測が行われます。次に、その予測結果を実際の出力\(y\)と比較することで、いい感じの推定値\(\hat{x}\)が導出されます。(詳細は追って解説記事を書く予定です)

オブザーバを含むシステムの典型例を次に示します。

オブザーバを含むシステムのブロック線図

オブザーバはたまに下図のように、中身が全て展開された複雑なブロック線図で現れてビビリますが、「\(u\)と\(y\)が入って\(\hat{x}\)が出てくる部分」をまとめると簡単に解読できます。(カルマンフィルタも同様です。)

オブザーバのブロック線図

その他の複雑なブロック線図

論文や技術書を見ると、たまに強烈なブロック線図に遭遇します。

複雑なブロック線図の例

制御上級者はこんなのもすぐ理解できるのか・・・!?

そんなことないので安心してください。上図のような、明らかに難解なブロック線図はとりあえずスルーして大丈夫です

この手のブロック線図は、複雑な理論を数式で一通り確認したあとに、「あー、それを視覚的に表すと確かにこうなるよね、なるほどなるほど」と直感的に理解を深めるためにあります。なので、まずは数式で理論を確認しましょう

ブロック線図は必要に応じて単純化しよう

ほとんどの場合、ブロック線図はシステムの構成を直感的に分かりやすく表現するために使用します。その場合は細かい部分をゴチャゴチャ描くよりも、ブロックを単純化して全体をシンプルに表現したほうがよいでしょう

例えば先程の強烈なブロック線図、他人に全体像をざっくりと説明したいだけの場合は、次のように単純化したほうがよいですよね。

ブロック線図を単純化する例

このように、自分がブロック線図を作成するときは、その用途に合わせて単純化を考えてみてくださいね。

以上、よくあるブロック線図とその読み方でした。ある程度パターンとして覚えておくと、新しい制御システムの解読に役立つと思います。

このページのまとめ
  • ブロック線図はよくあるパターンを覚えておくと解読が楽
  • 明らかに難解なブロック線図はとりあえずスルーしてOK
  • 必要に応じてブロックを単純化して、全体をシンプルに表現しよう

コメント