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