%%% %%% %%% www-J.html %%% %%% Copyright (C) 1998 Fumio Mizoguchi %%% %%% %%% 平成9年度委託研究

移動ロボットの並列協調制御ソフトウエアの研究開発


by

溝口 文雄 教授



ソフトウエアの機能

本ソフトウエアは, ロボットやセンサー系をネットワークを通じて協調的に制御するための プログラミング言語・記述形式である.

簡易エージェント言語R2は このようなロボット・センサー系(以下,ロボティックエージェント) を制御するための記述言語である. R2は並列論理型言語KL1を親言語としており, KL1処理系KLICを利用して実現されている. 論理プログラミングの宣言性の性質を引き継ぐことで, R2は実行可能な仕様言語になっている.

エージェント記述形式D2はロボティックエージェントの協調作業を, ある一定のパターンで記述するための形式をいう. これは協調型プログラムの設計指針を与える.

エージェント言語R2はKL1のシンタックスを拡張した. 具体的には,エージェント間通信をストリームで行なう際の通信チャネルを 省略することが可能になっている. これにより,エージェントの振舞いを簡潔に記述することができる. さらに,記述形式D2に従うことにより, 複合的なロボティックエージェント (複数のロボティックエージェントからなるもの)も容易に構成できる. KL1のもとでR2とD2を利用することによって, ロボット協調作業のどの部分を並列化し, 同期・非同期 (例えば,マニピュレータ間の受渡し作業時の同期・非同期など) をどう実現するかということを意識することなく, 制御プログラムを記述できることになる. なお,R2で記述されたプログラムはKL1プログラムに完全に変換することができる.

必要な環境

ロボット言語R2-D2
マシン : UNIXマシン
環境 : UNIX
KLICが動作する環境

移動ロボット用シミュレータ
マシン : UNIXマシン
環境 : UNIX
OS : Solaris
Javaが動作する環境

ファイル構成

SOURCE    KL1ソースプログラム
     +------ compile.kl1   R2-D2コンパイラ
     +------ util.kl1      ユーティリティ
     +------ machine.kl1   マシン名登録プログラム
     +------ library       シミュレータ用ライブラリ

Simulator 移動ロボット用シミュレータプログラム
     +------ JavaApplet    シミュレータシステム
     +------ Server        制御用サーバシステム

Sample    サンプルプログラム
     +------ Arm    腕型ロボット用サンプルプログラム
               +----  ArmSimulator 腕型ロボット用シミュレータ
     +------ Mobile 移動ロボット用サンプルプログラム

Doc        ユーザマニュアル