机まで荷物を運ぶロボットを作るとします。目的地へ向かうだけでも、今いる場所を知り、人や椅子を避け、行き過ぎずに止まる必要があります。床や荷物の重さが変わっても、同じ命令で同じように動くとは限りません。[1]
「ロボティクス・制御」分野は、周囲や自分の状態を測り、行動を決め、実際の動きを目的に合わせて調整する仕組みを学ぶ分野です。ソフトウェアで考えた行動を、物理的な世界で実現するところに難しさと面白さがあります。
測る、判断する、動かすをつなぐ
センサーは周囲の距離や車輪の動きなどを測りますが、測定には誤差があり、見えない場所もあります。例えば車輪が空回りすると、回転数から計算した距離と、実際に進んだ距離がずれます。壁までの距離やカメラの画像なども合わせて、「今どこにいるか」を推定します。
その推定を使って、どこを通るか、どの順に作業するかを考えます。ただし、計画した道が空いていても、途中で人が入れば状況は変わります。そこで再び周囲を測り、いったん止まるか、別の道を通るかを決め直します。
動いた結果を見て、調整する
車輪へ命令を出して終わるのではなく、実際の位置や速さを測り、目標との違いに応じて命令を調整する考え方がフィードバックです。
例えば、古いホテルなどにある、お湯と水のハンドルが別々のシャワーを思い浮かべてください。温度を確かめ、熱すぎれば水を増やし、冷たすぎればお湯を増やして、ちょうどよい温度に近づけます。調整した結果の温度を確かめ、その情報を次の調整に戻すのがフィードバックです。それを繰り返して目標の温度に近づける一連の操作が、フィードバック制御に当たります。
強く調整すればよいとは限りません。行き過ぎて戻り、また行き過ぎるような動きが起きることもあります。ここで使う「モデル」は、力を加えたら速さや位置がどう変わるかを数式などで表したものです。荷物の重さ、計測が届くまでの遅れ、モーターが出せる力も考える必要があります。
計算機科学や工学の研究で知られる米国のマサチューセッツ工科大学(MIT)には、ロボットの動きと制御を扱う授業「Underactuated Robotics」があります。その公開教材では、ロボットの動きを数式で表し、どのように力を加えれば狙った動きになるかを考える内容を学びます。[2]
大学では、モデルと実際の違いを調べる
数学では線形代数や微分方程式、工学では力学や回路、情報科学ではプログラミングや認識が関わります。
荷物を運ぶロボットを例に、予想した動きと実際の動きの違いを調べる学び方を考えてみましょう。
- センサーの値と実際の状態を比べ、誤差を調べる。
- 簡単な動きのモデルを作り、シミュレーションする。
- 目標や条件を変え、制御の結果を測る。
- 計画通りに動かない理由を、計測・計算・機構に分けて考える。
実機を使う実験では、指導の下で速度や作業範囲を管理し、安全に止められる条件を確認します。
AIや機械工学との重なり
物体の認識や状況の判断にAIを使う場合がありますが、認識が正しくても、物を落とさずに運べるとは限りません。制御と物理的な制約を合わせて考える必要があります。
動かす機構を作ることは機械工学、計算を実行する基盤は「コンピュータシステム・半導体・高性能計算」分野、人との意思疎通は「HCI・情報デザイン」分野にもつながります。ロボットの形をしたものだけでなく、装置や設備の動作を調整する制御もこの入口に関係します。
大学で学ぶ科目
学部では、線形代数や微分方程式、力学、電気回路、プログラミングを基礎に、計測工学や制御工学、ロボティクスを学びます。例えばモーターを一定の速さで回す演習なら、速さを測って目標との差を計算し、出力を調整するプログラムを作ります。荷物を重くしたときの動きを調べることで、数式で予想した結果と実際の違いも考えられます。[3]
大学院では、複雑な動きを扱う制御理論、経路の計画、センサー情報から位置を推定する方法などを深めます。同じ授業の教材では、運動のモデルを使い、条件に合う動かし方を計算で探す方法を扱っています。[2] 研究では、人が行き交う場所で止まる・進む判断をどう変えるか、柔らかい物をどうつかむかなど、まだ十分に解けていない課題に取り組みます。
実機を使うのか、シミュレーションを中心にするのか、理論を研究するのかは課程や研究室によって異なります。授業・実験と研究指導の内容を確認することが大切です。
「ロボティクス・制御」分野を学べる大学学部・大学院を探すから、考えた仕組みを現実に動かす学びを探してみましょう。
仕事・業界ガイドでは、仕事内容から関連する分野を確認したり、学びたい分野から仕事を調べたりできます。
tojihubの情報分野の区分について
tojihubは、ロボットの認識・行動計画・システム制御を、この「ロボティクス・制御」分野として整理しています。
CS2023と科研費の区分を参考にしています。参照した区分と、各分野に含める内容・隣接分野との関係は、分類と根拠のページで説明しています。
参考文献・注釈
- [1]運搬ロボットは学習内容を説明するための架空の例です。具体的な機体の製作手順や性能保証ではありません。科目名や履修できる範囲は大学・課程によって異なります。 本文へ戻る
- [2]Russ Tedrake, MIT「Underactuated Robotics — Introduction」。モデル・運動・フィードバック制御をつなぐ考え方を参照。本文の運搬例はtojihubによる構成です。 大学の紹介は公式案内を参照。 本文へ戻る(1) 本文へ戻る(2)
- [3]Northwestern University「Modern Robotics」の学習項目・前提知識。線形代数、微分方程式、力学を基礎とするロボティクスの教材。本文のモーター実験は学習の説明例です。 本文へ戻る