このページでは、閉ループ伝達関数・開ループ伝達関数・一巡伝達関数の意味と違い、そしてそれぞれの使い方について解説します。
フィードバック制御システムを分解すると、それぞれが出てくる!
ある制御対象に対し、次のようなフィードバック制御システムを構築したとします。
標準的なフィードバック制御システムですね。検出器$H(s)$になじみがないかもしれませんが、これは出力$y$を取得するセンサーや、出力$y$を他の信号に加工する演算部をイメージすればOKです。
例えばセンサーの信号取得特性が1次系で表される場合は、$H(s)=\frac{K}{Ts+1}$とすることで、それを考慮できます。
もし出力$y$をそのままフィードバックできる場合は、$H(s)=1$としてこのブロックを無視すればOKです。
当然ですが、フィードバック制御システムの中には様々な信号が存在します。フィードバック制御システムの特性を解析する際は、それぞれの信号の関係性(つまり伝達関数)が重要な情報となります。中でも特によく使用される伝達関数には、次の通り固有の名前がついています。
- 閉ループ伝達関数:目標値$r$から出力$y$までの伝達関数
- 開ループ伝達関数:誤差$e$から出力$y$までの伝達関数
- 一巡伝達関数 :誤差$e$から観測量$\hat{y}$までの伝達関数
それぞれの伝達関数の詳細と使い所について、解説していきましょう。
閉ループ伝達関数の意味と使い方
閉ループ伝達関数とは
目標値$r$から出力$y$までの伝達関数が、閉ループ伝達関数です。システムを丸々まとめたものですね。閉ループ伝達関数で表されるシステムは、閉ループシステムや閉ループ系と呼ばれます。
フィードバック制御の目的は出力$y$を目標値$r$にあわせることなので、閉ループ伝達関数は制御目的をそのまま表した伝達関数であるといえるでしょう。
閉ループ伝達関数を実際に計算すると、次式となります。
$$閉ループ伝達関数G_{\large 閉}(s)=\frac{C(s)G(s)}{1+C(s)G(s)H(s)}$$
使い所と利点・欠点
閉ループ伝達関数は、フィードバック制御性能の分析に用いられます。目標値$r$に対して、システムの出力$y$がどのように振る舞うかが分かるわけですね。
当然、$G_{\large 閉}(s)=1$となるのが理想であると言えます($y=r$となるので)。
閉ループ伝達関数の利点としては、制御目的を直接反映しているので意味が直感的に分かりやすいことが挙げられます。
一方の欠点としては、式が複雑になり取り扱いが面倒であることが挙げられます。
開ループ伝達関数の意味と使い方
開ループ伝達関数とは
誤差$e$から出力$y$までの伝達関数が、開ループ伝達関数です。開ループ伝達関数で表されるシステムは、開ループシステムや開ループ系と呼ばれます。
開ループ伝達関数は、制御対象の特性$G(s)$は分かっているとして、それに制御器$C(s)$がくっついたときに特性がどうなるかを表した伝達関数であるといえます。
開ループ伝達関数は、次式のように簡単に計算できますね。
$$開ループ伝達関数G_{\large 開}(s)=C(s)G(s)$$
ちなみに、閉ループ伝達関数の中には、開ループ伝達関数がそのまま登場します。
$$閉ループ伝達関数G_{\large 閉}(s)=\frac{\osg{\color{green}{C(s)G(s)}}{開ループ伝達関数だ!}}{1+C(s)G(s)H(s)}=\frac{G_{\large 開}(s)}{1+C(s)G(s)H(s)}$$
使い所と利点・欠点
開ループ伝達関数は、例えば「入力信号(誤差信号)の変化に対して出力がどれだけ機敏に反応するか」といった制御器を含めたシステムの基本特性を分析する際などに用いられます。
開ループ伝達関数の一番の利点は、式が単純で扱いやすいことです。閉ループ伝達関数と比べると一目瞭然ですよね。
だからこそ、開ループ伝達関数はシステムの基本特性をお手軽に分析するのにモッテコイだというわけです。
また実用シーンでは、シンプルであることを活かしてシステムのデバッグに活用されることもあります。
例えばフィードバック制御がうまくいかなかった場合に、デバッグの第1歩目としてまず開ループシステム単体がちゃんと動いているかを調べ、おかしい部分を絞り込むことがあります。
一方の欠点としては、やはり閉ループ伝達関数と比べると直感的に得られる情報量が少ないことが挙げられます。
一巡伝達関数の意味と使い方
一巡伝達関数とは
誤差$e$から観測量$\hat{y}$までの伝達関数が、一巡伝達関数です。
一巡伝達関数は、「制御器に入力した信号が、フィードバックループを一巡して戻ってきたらどうなっているか」を表した伝達関数であるといえます。
一巡伝達関数を実際に計算すると、次式となります。
$$一巡伝達関数G_{\large 巡}(s)=C(s)G(s)H(s)$$
もし出力$y$がそのままフィードバックされるとき、すなわち$H(s)=1$であるときは、一巡伝達関数と開ループ伝達関数は等しくなります。基本的な制御システムのほとんどは、このケースに当てはまるでしょう。
ちなみに、一巡伝達関数も閉ループ伝達関数の中にそのまま登場します。
$$閉ループ伝達関数G_{\large 閉}(s)=\frac{C(s)G(s)}{1+\usg{\color{green}{C(s)G(s)H(s)}}{一巡伝達関数だ!}}=\frac{G_{\large 開}(s)}{1+G_{\large 巡}(s)}$$
使い所と利点・欠点
一巡伝達関数の用途としては、フィードバック制御システム全体の安定判別が代表的です。
フィードバック制御システムは信号が複雑に作用し合うので、安定性を判別するには「内部安定性」という概念を考える必要があり、計算が複雑になることが知られています。
ただ、一巡伝達関数をうまく使うことで、その判別の手間が緩和されることも知られています。
細かい説明は上記ページにまかせるとして、ここでは「なぜ一巡伝達関数がフィードバック制御システムの安定性に関係するのか」について、簡単にイメージを解説しておきましょう。
例として、一巡伝達関数が$G_{\large 巡}(s)=-10$であるシステムを考えてみます。これは、制御器に入力した信号が$-10$倍されて戻ってくるシステムですね。
これに目標値$r=0$、初期誤差$e=1$を与えた際の、その後の信号の流れを見てみましょう。
- まず$e=1$を入力すると、$-10$倍されて$\hat{y}=-10$が戻ってくる
- $e=r-\hat{y}=10$なので$10$を入力すると、また$-10$倍されて$\hat{y}=-100$が戻ってくる
- $e=r-\hat{y}=100$なので$100$を入力すると、また$-10$倍されて$\hat{y}=-1000$が戻ってくる…
このように、システムの設計が悪いとフィードバックループを回るたびに信号が延々と増幅され、最後には発散してしまいます。つまり、システムが不安定となってしまうわけですね。
逆に言うと、フィードバックループを回るたびに信号が収束するようにシステムを設計できれば、システムを安定化できることになります。
このようにして、一巡伝達関数を手がかりにシステムの安定性を分析できるわけですね!一巡伝達関数は比較的シンプルな形をしているので、これは嬉しい特性です。
以上、フィードバック制御システムに含まれる様々な伝達関数の解説でした。
それぞれの用語はもちろん重要ですが、実用シーンではそれ以上に「自分が今どの伝達関数を見ているのか」をしっかりと理解しておくことが重要ですので、システムの分析時は常に意識しておいてくださいね(特に慣れないうちは自分が何を見ているのか混乱しがちなので)。
コメント