ロボットの機能性を向上させるためには、ハードウエア以上にソフトウエアの 役割が重要である。このようなソフトウエアはロボットプログラミングシステ ムと呼ばれ、ロボットへの動作命令をできるだけ最小限にし、人間の与える抽 象的な目標を達成する動作プランを生成する。従来このようなシステムには、 幾何物体の形状認識や衝突回避動作計画などの機能が実現されており、高度な 作業を達成してきた。
これをさらに高度にすることを考えた場合、複数ロボットによる協調作業が考 えられる。例えば、作業環境上に置かれているブロックをボックスの中に片付 ける問題を解決するのに、4台の垂直5自由度マニピュレータロボットと視覚セ ンサを用いると、各ロボットはブロックとボックスの位置を入力に頼ることな く認識でき、受渡し協調作業を行なうことで、遠くのボックスにブロックを片 付けることが可能になる。
しかしながら、複数の自律ロボットによる協調動作を行なうためには、例えば 受渡し要請などロボットどうしの交渉を行なわなければならない。また、受渡 し作業を実行中に目標位置が動いてしまったような場合、現在の作業を中止し、 新たな受渡し作業計画を作成しなければならない。それらのことを一つのプロ セスで実行することは困難であり、以上の機能を並列分散により処理可能なロ ボット言語が必要となる。
本研究ではKL1とロボット協調作業の間にある次のアナロジーを基にする。
KL1のゴール | <=> ロボットの作業目標 |
プロセスの並列処理 | <=> 複数のロボットの並行作業 |
プロセス間通信と同期 | <=> 通信に基づく協調作業 |
このアナロジーに従って、ロボット同士の複雑な作業を記述するロボット言語 を設計し、さらにマルチエージェントモデルを導入して、ロボット言語の記述 力を実験的に明らかにする。
本研究の目的は以下の通りである。