セッション名: (35) システム化技術 講演番号 2P2-35-034 モバイルエージェント機構に基づく ネットワーク結合分散ロボットの制御 Control of Network Connected Distributed Robots using Mobile Agent System ○ 小川原 光一 東大 金広 文男 東大 稲葉 雅幸 東大 井上 博允 東大
背景 多くのロボットが実世界に配置される分散ロボット環境の実現が期待される 独立した自立ロボット群が、不特定多数のユーザに対して長時間の計画性を持った支援を行うことは困難
提案 ロボットを分散資源として位置付け、特定のユーザ専属の「エージェント」によって動的に獲得・制御される対象とする ロボットには、自律機能や抽象化された技能といった低レベルの機能のみを持たせる 「エージェント」はロボットからのセンサ情報およびユーザとのインタラクションを通して、必要なロボットを獲得・制御し、ユーザを支援
特定の個人の継続的な支援
エージェント主体の 分散ロボット環境の実現 エージェントやロボット等分散ロボット環境構成要素のために「分散ロボット管理機構」を構築。 エージェント及び被制御ロボット群をネットワーク上において局在化させ、トラフィック及び遅延の低減を図るために「モバイルエージェント機構」を構築。
分散ロボット管理機構 ①分散ロボット環境構成要素 ○管理機構 ○ロボット上の自律機能 ○エージェント・プレース ○ユーザインターフェース これらは別々のプラットフォーム(プログラミング言語・OS・マシン)上で動作し得る上,分散されたこれらの要素がある瞬間にどのような組合せで通信を行うかは流動的であり,その時点にならないと確定しない
②CORBA を使用 本研究では通信手段として,分散オブジェクト技術である CORBA(Common Object Request Broker Architecture) に着目した. (i) 異種プラットフォーム間での統一された通信方式 (ii)環境の構成変化に柔軟に対応できるスケーラビリティ の高い通信手段 CORBAを異種プラットフォームが混在するロボット環境における共通バスとして用いることで,プラットフォーム非依存に定義されたインターフェースによって任意の環境構成要素に対して統一的にアクセスすることを可能にした. 特徴
③CORBA object によるロボット環境 Interface of Manager Object Interface of Entry Object Interface of Com Object
④ロボット獲得の流れ (1) ロボットは自身の通信先(Com Object)を生成し,それに対する参照と自身の情報を管理機構(Manager Object)に登録(mCreate)する. (2) エージェントは管理機構(Manager Object)にアクセスし,登録されているロボット群(Entry Object)の情報を検索(mGetEntryList)することで,必要とするロボットを選択し,ロボットの通信先(Com Object)への参照を獲得(mGetComManager)する. (3) エージェントは獲得した通信先(Com Object)を使ってロボットに制御メッセージを送る(mGetMes).通信に先立ってエージェントが自身の通信先をロボットに渡す(mOpen)ことによって,双方向の通信を実現する.
モバイルエージェント機構 ①エージェントの実現法 条件 エージェント記述言語として JAVA を利用することで実現 エージェント実行環境(place) 間を移動 異種プラットフォーム上で動作可能 エージェントの情報を持たない任意の Place 上に移動可能 移動後に活動を継続可能 エージェント記述言語として JAVA を利用することで実現 JAVA RMI (Remote Method Invocation)を用いたエージェントのネットワーク移動 動的クラスロード(dynamic class load)によるクラス情報の移動
②エージェントの移動 エージェントの別プレースへの移動 エージェントの復元
③ロボット獲得の流れ (1) ユーザによってエージェントが生成され,あるプレース上で実行を開始. (2) エージェントは管理機構(Manager)にアクセスし,必要とするロボット群の通信先を獲得し,ネットワーク経由でロボットを制御しユーザ支援を行う. (3) ロボットを切替える際には,切替後のロボット群により近いプレースが存在するかどうかを管理機構で調べ,存在する場合には新プレースに移動. (4) 移動時にプレースは,エージェントの実行を停止し,エージェントが保持している通信先に対して通信の中断(mSuspend)を指示する.その後,エージェントのコンテクスト(実行状態)をシリアライズし,クラス定義と共に RMI を用いて移動先プレースに移送する. (5) 移動先プレースにおいては,渡されたエージェントを,動的クラスロードを用いて再構成し,エージェントの保持する通信先に対してエージェント自身の新たな通信先を伝えると共に,通信の再開(mResume)を指示し,エージェントの実行を再開する.
④Agent’s Internal Description WAIT waiting for the user to get into the sight of the robot obtained DETECTED the user is in sight of the robot obtained INTERACTION interaction mode with the user LEAVE release the current robot NEXT obtain necessary robots move to another place if available FSA of the Follow Person Agent
Experiment 1 The agent follows the user continuously by switching robots
Detect the movement and predict the user’s position Choose the nearest robot
The agent supports the user 1. passively (by the direct order) Robots obtained by the Agent Experiment 2 The agent supports the user 1. passively (by the direct order) 2. aggressively (using sensor information and the memory of the past)
Robots obtained by the Agent Bring a can of tea to the user using two robots
The user drinks the can of tea and returns it to one of the robots Detect the change Obtain the appropriate robot and take the can of tea away
まとめ エージェント主体の分散ロボット環境を構築 特定の個人の継続的な支援を想定し、エージェント1つユーザ1人の場合について、このシステムの評価実験を行った
今後の課題 複数エージェント、複数ユーザ環境における、リソース競合やデッドロックの回避・個人の同定問題 長期に渡ってより知的な振舞いが可能なエージェントの実現 マザーエージェントによる、段階的なエージェントの生成放出