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

制御工学入門

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

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

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

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

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

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

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

こちらも定番です。出力\(y\)が意図通りになるよう、制御対象の数式モデルを逆算して入力\(u\)を決定するブロック線図です。

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

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

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

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

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

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

上半分がフィードフォワード制御のブロック線図、下半分がフィードバック制御のブロック線図になっています。上図の構成の制御法を2自由度制御と呼んだりもします。

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

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

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

スポンサーリンク

カスケード制御システム

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

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

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

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

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

それを受け取ったモーターシステムがトルクを制御し、ロボットに入力することで、ロボットが動きます。

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

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

今回の例のように、上位のシステムを動かすために下位のシステムをフィードバック制御する必要があるときに、このような形になります。

それぞれの制御が独立しているので、上図のように下位の制御ブロックを囲むなどすると、理解がしやすくなると思います。

ローパスフィルタ

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

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

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

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

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

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

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

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

スポンサーリンク

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

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

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

これにより、下図のように直接取得できない状態量を擬似的にフィードバックし、制御に活用することが可能となります。

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

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

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

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

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

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

複雑なブロック線図の例

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

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

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

スポンサーリンク

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

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

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

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

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

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

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

コメント