制御って何ですか?

2017年度入学システム制御系、回路制御班のいとまさです。
今回は「制御」について書いていきたいと思います。

他の新歓ブログ記事はこちら

制御とは何ぞや

マキニスタの班の一つである回路制御班や東工大の系の一つであるシステム制御系には「制御」という二文字が入っています。
「制御」について広辞苑をひいてみると以下のような文章が出てきます。

①[史記秦始皇本紀「以て海内を制御す」]相手が自由勝手にするのをおさえて自分の思うように支配すること。統御。
② 機械や設備が目的通り作動するように操作すること。「自動―」

つまり、「制御」とは思い通りに操ることです。
マキニスタでは制御する対象は大半の場合はロボットです。より一般的には入力を受けて出力を出すといった働きを持つシステムについて思い通りに操ることを「制御する」といいます。
制御は英語訳すると「control」です。制御するというより、コントロールするといったほうがわかりやすいかもしれません。

ロボットの制御のイメージ

ロボットを思い通りに操る、制御をするといっても何をするのでしょうか。

まず、ラジコンカーを想像してみてください。コントローラーを操作することで車体を思い通りに操ります。
次に、クレーンゲームを想像してみてください。ボタンを操作することでアームを思い通りに操って景品を持ち上げようという目的を達成しようとします。
これらの二つの例は思い通りに操ることで何らかの目的を達成しようとする例です。

ロボットでも基本的にはこれらと同じです。
思い通りに操る、制御することによって何らかの目的を達成しようとします。例えば、車輪の動きを操作することで目標の場所まで移動して、コントローラーでアームの動きを操作することでオブジェクトを回収したり、オブジェクトを投げたりなどします。
逆にいうと何らかの目的を達成するために制御をします。
ロボコンにおいてはその目的は課題の達成にあたります。

自動制御と手動制御

ロボットの制御には主に自動制御と手動制御の二つがあります。
自動制御ではコンピューターによって自動で動かします。したがって、あらかじめ決められた動きしかすることはできないので、うまく制御できていなかった場合に微調整することはできません。
手動制御ではコントローラーを使って手動で動かします。自動制御とは異なり、自由に操作することが可能なため、微調整等も可能です。先に述べた、ラジコンカーやクレーンゲームの例はこれにあたります。

微調整が可能な手動制御の方が優れていると思う方も多いかもしれませんが、ロボコンにおいては主に自動制御が好まれます。
その理由の説明のために、まずはこちらの動画をご覧ください。

ご覧いただいた動画は関東夏ロボコン2019の動画です。
手前側のロボットは手動制御によってロボットを動かしています(詳しくはこちらの記事をご覧ください)。奥側のロボットは自動制御によってロボットが動いています。
手動制御をしている手前側のロボットは、ケースを回収する前に微調整をできているので確実につかめている一方で、無駄な動きが多いため、動作に多くの時間を使ってしまっています。
ロボコンにおいては正確に課題を達成することはもちろんのこと、時間を短縮することも必要です。したがって、無駄な動きをできるだけ省くことができる自動制御が好まれるわけです。
また、手動制御では人間が操作するため、人為的なミスが発生する可能性が高くなります。一年に一度の大会の試合となると緊張もするはずですので容易に想像できると思います。
ルールによっては手動制御が禁止されることもあるため、自動制御の技術は必要不可欠です。

しかし、自動制御は先に述べた通り、微調整が難しいため、うまく制御しなければなりません。

自動制御について

前節で述べた通り、自動制御では、微調整ができないため、誤差なくロボットを動かすことが必要です。

ロボットを動かす時に毎回同じ動作をしてくれない、誤差が生じてしまう原因は主に二種類あります。
一種類目としては、環境による影響、例えば、床面の凹凸だったりフィールドの寸法の少しのズレだったり、によって毎回同じ動作をさせることが難しいです。
二種類目としては、バッテリーの残量の変化やモーターの摩耗によるロボットの変化によって動作に変化が生じるということです。
想像以上に誤差なくロボットを動かすことは難しいです。例えば、ロボットを自動制御でまっすぐ動かすことでさえとても難しいことです。

では、誤差なくロボットを動かすためにはどのようにすればいいでしょうか。
人間が微調整するように、ロボットの状態を見て、自動で修正するように設計すれば、誤差なくロボットを動かすことができます。
コンピューターには人間のように目はありませんので、実際には、センサを取り付けてロボットの状態を確認します。
センサについては別の記事で紹介しているので興味のある方はご覧ください。

ここで、こちらの動画をご覧ください。

ご覧いただいた動画は、NHKロボコン2019に出場した機体の動画です。
二台のロボットはどちらも基本的には自動制御を行っています。(1台目のロボットは動作開始などの合図をコントローラーを通じて送っています)
二台目のロボットを見ていただけるとわかりやすいかもしれませんが、ロボットの頭の部分にセンサを取り付けています。このセンサでロボットの動作を修正してコンピューターによる自動制御を可能にしています。
どちらのロボットも高速で複雑な動きをしているため、手動制御をすることは難しいこともおわかりいただけると思います。
逆に、自動制御によってこのように高速な動きを実現できています。

回路制御班のお仕事と制御

回路制御班のメンバーはロボットを動かすことをメインに活動しています。
回路班のメンバーは手動制御のためにコントローラーを作成したり、ロボットを動かすために必要な回路を作成します。
制御班のメンバーは主に自動制御のためにプログラミングをしたり、ロボットの動作を確認してプログラムの修正を行います。
センシング班のメンバーは自動制御に必要になるセンサを扱います。

こちらも詳しくは別の記事で紹介しているので、そちらもあわせてご覧ください。

自動制御についてもう少し知りたい方におすすめの本

自動制御について、本記事では雰囲気を掴めるように解説しているため、数式等は使用していません。
数式等もみてみたい!もっと詳しく知りたい!といった方には以下に示す本を読んでいただけるといいかと思います。
昨年度まで東工大の教授だった方が著者の一人となっていて、東工大のいくつかの系の授業でも教科書に指定されている本です。図書館にも何冊かあると思います。
フィードバック制御入門(コロナ社)

最後に

制御とは何かについて解説させていただきました。
自動制御と手動制御について、それぞれの利点と欠点。回路制御班のお仕事としての制御って何をやっているのかをご理解いただければ幸いです。
最後に制御されたロボットの例として二つほど動画を載せておきます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です