このページでは、ブロック線図の基礎と、フィードバック制御システムのブロック線図について解説します。また、ブロック線図に関連した制御用語についても解説します。
ブロック線図とは
ブロック線図の構成要素
「制御工学」と聞くと、次のようなブロック線図をイメージする方も多いのではないでしょうか。
ブロック線図は、システムの構成を図式的に表したものです。主に、システムの構成を記録したり、他人と共有したりするために使われます。
ブロック線図において、ブロックはシステム、矢印は信号を表します。超大雑把に言うと、「ブロックは実体のあるもの、矢印は実体のないもの」とイメージすればOKです。
システムは、時々刻々何らかの入力信号を受け取り、それに応じた何らかの出力信号を返します。その様子が、次のようにブロックと矢印で表されているわけですね。
制御では、入力信号・出力信号を単に入力・出力と呼ぶことがほとんどです。
次のように、システムが入出力を複数持つ場合もあります。
システムの表現
システムの特性(すなわち入力と出力の関係)を表す数式は、数式モデル(または単にモデル)と呼ばれます。制御工学におけるシステムの本質は、この数式モデルであると言えます。
数式モデルは、微分方程式で表されることがほとんどです。例えば次のような機械システムの数式モデルは、運動方程式(=微分方程式)で表現されます。
これは「台車が力を受けて動き、位置が変化するシステム」と見なせるので、入力は力$f(t)$、出力は位置$x(t)$ですね。
このシステムをブロック線図で表現してみましょう。次のようにシステムをブロックで表し、入出力信号を矢印で表せばOKです。
ちなみにブロックの中に何を書くかについては、特に厳密なルールはありません。あえて言うなれば、「そのシステムが何なのかが伝わるように書く」といった所でしょうか。
よくあるのは、上記のようにシステムの名前が書かれる場合と、次のように数式モデルが直接書かれる場合です。
また、分かりやすさを重視してイラストが書かれたり、入出力関係を表すグラフがそのまま書かれたりすることもたまにあります。
信号の表現
信号を表す矢印には、信号の名前や記号(例:\(x\))を添えます。
基本的に信号は時々刻々変化するものなので、全て時間の関数です。ただし、ブロック線図上では簡単のために\(x(t)\)ではなく、単に\(x\)と表現されることがほとんどですので注意してください。
1つの信号を複数のシステムに入力する場合は、次のように矢印を分岐させます。
矢印の分岐点には●を付けるのがルールです。ちなみに、この●は引き出し点と呼ばれます(名前は覚えなくても全く困りません)。
矢印を分岐したからといって、信号レベルが半分になったりはしません。単純に1つの信号を複数のシステムで共有しているイメージを持てばOKです。
また、複数の信号を足したり引いたりするときには、次のように矢印を結合させます。
足し引きを表す+やーは、「どの信号が足されてどの信号が引かれるのか」が分かる場所であれば、どこに書いてもOKです。
ちなみに、上図の○は加え合わせ点と呼ばれます(これも覚えなくても困りません)。
フィードバック制御システムのブロック線図と制御用語
例題
ここからは、典型的なブロック線図であるフィードバック制御システムのブロック線図を例に、ブロック線図への理解を深めていきましょう。
また、フィードバック制御において重要な特定のシステムや信号には、それらを指すための固有の名称が付けられています。そのあたりの制御用語についても、解説していきます。
例として次のような、エアコンによる室温制御を考えましょう。
このシステムが動くメカニズムを、順に確認していきます。
制御対象周辺の信号の流れと制御用語
まず、システムの主役である制御対象とその周辺の信号に注目します。制御対象は…部屋ですね!
今、制御したいものは室温ですね。室温は部屋の情報なので、部屋の出力として表されます。今回の室温のような、制御の目的となる信号は、制御量と呼ばれます。(※単に「出力」と呼ぶことが多いですが)
一方で、室温を調整するために部屋に作用するものは、エアコンからの熱です。これが、部屋への入力として働くわけですね。このように、制御量を操作するために制御対象に与えられる入力は、制御入力と呼ばれます。
ただ、エアコンの熱だけではなく、外からの熱も室温に影響を及ぼしますよね。このように意図せずシステムに作用する入力は外乱と呼ばれます。
ここまでの内容をまとめると、次のようになります。
用語 | よく使われる 文字 | 意味 | こうも呼ばれる |
---|---|---|---|
制御対象 | 制御したいシステム | プラント | |
制御量 | $y$ | 制御対象から得られる出力 (制御したい信号) | 出力 |
制御入力 | $u$ | 制御対象に与えられる入力 | 入力、操作量 |
外乱 | $d$ | 意図しない入力 | ノイズ |
制御器周辺の信号の流れと制御用語
次に、制御の主役であるエアコンに注目しましょう。
エアコンの役割は、現在の部屋の状態に応じて部屋に熱を供給することですね。このように、与えられた信号から制御入力を生成するシステムを制御器と呼びます。
エアコンからの出力は、熱ですね。これが制御入力として、制御対象の部屋に入力されるわけです。
一方、エアコンへの入力は、設定温度と室温の温度差です。これを基準に、部屋に与える(or奪う)熱の量$u$が決定されているわけですね。制御用語では、設定温度は目標値、温度差は誤差(または偏差)と呼ばれます。
まとめると、次の通りですね。
用語 | よく使われる 文字 | 意味 | こうも呼ばれる |
---|---|---|---|
制御器 | 制御入力を生成するシステム | コントローラ | |
目標値 | $r$ | 制御量の目標値 | 指令値 |
誤差 | $e$ | 目標値と制御量の差 | 偏差、エラー |
以上の用語をまとめたブロック線図が、こちらです。
用語 | よく使われる 文字 | 意味 | こうも呼ばれる |
---|---|---|---|
制御入力 | $u$ | 制御対象に与えられる入力 | 入力、操作量 |
制御量 | $y$ | 制御対象から得られる出力 (制御したい信号) | 出力 |
外乱 | $d$ | 意図しない入力 | ノイズ |
目標値 | $r$ | 制御量の目標値 | 指令値 |
誤差 | $e$ | 目標値と制御量の差 | 偏差、エラー |
ブロック線図を使う理由
なんか抽象的でイメージしにくいんですけど…
なんで制御ではわざわざこんな図を使うの?
と思うかもしれません。実用上、ブロック線図はシステムの全体像を他人と共有する場面にてよく使われます。特に、システム全体の構成が複雑になったときにその真価を発揮します。
例えば、あなたがロボットアームの制御を任されたとしましょう。ロボットアームは様々な機器やプログラムが連携して動作するものなので、装置をそのまま渡されただけでは、それをどのように扱えばいいのか全然分かりませんよね。
こんなとき、システムのブロック線図も共有してもらえれば、システムの全体構成や信号の流れがよく分かります。
例えば「それぞれの機器・プログラムがどのように連携して全体が動作しているのか」や、「全体のうち、自分が変更すべきものはどれか」といった事が分かり、制御設計の見通しが立つというわけですね。
上記は主にハードウェア構成を示したブロック線図ですが、次のように制御理論の構成(ロジック)を示すためにも使われます。
用途によって、ブロック線図の抽象度は調整してOK
ブロック線図はシステムの構成を他人と共有するためのものであったので、「どこまで詳細に書くか」は用途に応じて適宜調整してOKです。
例えば先ほどのロボットアームのブロック線図では、PCの内部ロジックや、モータードライバの内部構成まではあえて示されていませんでした。これにより、「各機器がどのように連携して動くのか」という全体像がスッキリ分かりやすく表現できていましたね。
また、例えばロボットアームですら氷山の一角であるような大規模システムを扱う場合であれば、ロボットアーム関係のシステム全体を1つのブロックにまとめてしまったほうが伝わりやすさは上がるでしょう。
このように、用途に応じて抽象度を柔軟に調整してくださいね。
以上、ブロック線図の基礎と制御用語についての解説でした。ブロック線図は、最低限のルールさえ守っていればその他の表現は結構自由にアレンジしてOKなので、便利に活用してくださいね!
コメント