メニュー

ものの動きをデザインする:制御工学の基礎知識1

制御工学の基礎知識

更新日:2021年11月29日(初回投稿)
著者:大阪大学 大学院 工学研究科 准教授 南 裕樹

制御工学は、ものの動きをデザインする科学です。ロボットを賢く動かしたい、機械の知能化を進めたい、そのような要求に応えるキーテクノロジーが制御です。制御工学の役割は、不安定なものを安定化すること、ものに付加価値を付けること、そして、制御で何ができて何ができないかを理解することが挙げられます。本連載(全6回)では、制御の考え方を説明するところから始めて、制御の対象となるものの特徴を知る方法、ものの動きをデザインする方法について解説します。

今すぐ、技術資料をダウンロードする!(ログイン)

1. 制御とは

制御とは、対象としているものを思い通りに操り、ものの動きをデザインするということです。もう少し丁寧にいうと、対象としているものの状態を目標とする状態に近づけるように、ものに操作を加えることです。

「ものを制御する」を「食材を料理する」に対応付けてみましょう(図1)。料理では、食材を切ったり、煮たり、焼いたり、冷やしたり、味付けをしたりすることで食物を作ります。この場合、食材が「対象としているもの」、最終的な食物の味や食感が「目標とする状態」、食品の加工や味付けという行為が「ものに操作を加える」ということになります。

また、料理は、食物を安心して食べられるようにするだけでなく、味・食感をデザインすることで、食物に付加価値を付けます。さらに、料理方法を知り尽くすことで、何ができて何ができないかを事前に考えることができるようになります。

図1:食物の味・食感のデザイン

図1:食物の味・食感のデザイン

制御も同じです。例えば、図2に示すように、ロボットアームの回転角度を計測しながら、ある目標角度で静止させる状況を考えてみましょう。ロボットアームが「対象としているもの」で、アームの目標角度が「目標とする状態」、アームを駆動させるモータの印加電圧を調整することが「ものに操作を加える」ということになります。

図2:ものの動きのデザイン

図2:ものの動きのデザイン

このように、制御はものの動きに注目して、機械・電気部品から構成されるものに機能を与えたり、危険なものを安全・快適に使えるようにします。また、制御理論(制御のさまざまな考え方を体系的にまとめたもの)を駆使すれば、どうがんばっても制御できないことや、どうしたらうまく制御できるかについても考えることができるようになります。

制御するとひと言でいっても、さまざまな方法が考えられます。料理の場合、どのような道具や調味料を使うか、どのような加工を行うか、味見をどの程度の頻度で行うかなど、さまざまな方法があるのと同じです。どのような情報を利用して、どのようなアルゴリズムを実装するかは、状況によって変わります。制御の仕方のことを、制御工学では制御則といい、それを計算機や電子回路で実現したものが制御器となります。

2. シーケンス制御とフィードバック制御

制御則の方式には、大きく分けて、シーケンス制御とフィードバック制御の2つがあります。

シーケンス制御は、あらかじめ定められた順序に従って制御の各段階を逐次進めていく制御です。これは、図3のように、センサが反応したら動作1を実行し、ボタンスイッチが押されたら動作2を実行、動作2が終了したあと、5秒が経過したら動作3を実行するというように、複数の動作を「命令や条件」を基に切り替え、各動作の「順序」をあらかじめ決められているとおりに実行するものです。

図3:シーケンス制御

図3:シーケンス制御

フィードバック制御は、フィードバックによって制御量を目標値と比較し、それらを一致させるように操作量を生成する制御です。対象としている状態が、現在どうなっているかをセンサなどで把握し、その情報と目標値を基に、対象物への操作量を制御器で決定していくものです(図4)。

図4:フィードバック制御

図4:フィードバック制御

ここで、エレベータの動作を考えてみましょう。エレベータは、行き先階のボタンを押すと、ボタンに対応する階でカゴが止まります。カゴが上昇する状況で、複数のボタンが押された場合には、若い番号順に止まります。また、扉は、カゴが停止しているときに開き、一定時間開いた後に閉まります。このようにあらかじめ決められた動作を、順番に実行していきます。これがシーケンス制御です。

さらに、エレベータのカゴの上昇下降では、できるだけ素早く動き、かつ決められた階でピタリと止まるという位置の制御が必要になります。センサで現在のカゴの位置を計測し、それが目標の位置になるようにモータを回します。これがフィードバック制御です。

3. 制御屋さんのお仕事

制御屋さんの主なお仕事は、対象とするものに対して、目的を達成するような制御則(制御器)を設計することです。ただし、単にうまく動けばよいというものではなく、なぜうまくいくのか、それは最も良いやり方なのか? ということに答えられると、なおよいです。それができれば、制御システムの安全性や信頼性を高めることができます。

制御システムの設計では、まず、対象物の特徴(動特性)を捉えた数学モデルを求めます。そして、制御目的(人間の意図)を設計仕様として定式化します。具体的には、安定性や目標状態への追従性能などを考えます。その上で、その仕様を満たすような制御器を決定します。

ここでは、図5に示すような、棒を手のひらの上に立てるという遊びを例にとって、制御系設計の流れを説明します。まず、棒のモデルを求めます。図5のxkは、ある時刻kにおける棒の角度です。aは、棒の質量や長さなどの物理量から決まるものです。そして、ukは手が棒に与える力です。

図5:制御系設計の例

図5:制御系設計の例

a=2、x0=1の場合、uk=0(手を動かさない)とすれば、図5に示すようにkの値が大きくなるにしたがってxkは大きくなります。これは、棒が倒れることを意味しています。いま、制御目的は棒を立たせることなので、kを大きくしたときに、xkが0に収束することを目的とします。そこで、制御則として、現在の角度情報から棒の操作量を決めるフィードバック制御を考えます。さらに、パラメータfをf=-1.9と決定すれば、図5に示すように、kを大きくしたときに、xkが漸近的に0に収束します。

図5の例では、棒の動特性情報(入力を加えたときにどのように振る舞うかを表すもの)を考慮し、棒をすみやかに倒立状態にするために、制御則の中の設計パラメータfを調整(ゲインチューニング)しました。そして、シミュレーションをして、xkが漸近的に0に収束することを確認しました。これが制御系設計です。

いかがでしたか? 今回は、制御とは何か、制御則の方式、および制御システムの設計について解説しました。次回は、制御のためのモデルと題して、状態空間モデル、伝達関数モデルについて説明します。お楽しみに!

ピックアップ記事

tags