ネットワークロボットの実現に向けて −ビジブルロボットとバーチャルロボットの連携技術の検討−
7
0
0
全文
(2) NWRアプリケーション. サービス検索. ロボットサービス マッチメーカー. アプリケーション アプリケーション プラットフォーム サービス登録. ・サービス ・サービス呼び 状態変数集合 出し条件. ロボット連携 ロジック. ビジブルロボット. 状態. ビジブルロボット. アンコンシャスロボット. アプリケーション プラットフォーム. アプリケーション プラットフォーム. アプリケーション プラットフォーム. ロボット情報 ロボットコマンド 取得部 生成部. ロボット情報 ロボットコマンド 取得部 生成部. ロボット情報 ロボットコマンド 取得部 生成部. バーチャルロボット アプリケーション プラットフォーム. Fig 1; Architecture for cooperation during network robots ・複数ロボットの連携: アプリケーションロジックは、さ. ションロジックの実行とロボット間交渉を個々のロボット. まざまな種類のロボット群が提供するサービスの組み. 内に実装されたアプリケーションプラットフォームが処. 合わせとなる。したがって、異種のインタフェースを透. 理する。アプリケーションプラットフォームの機能は、ア. 過的に連携するロジックの定義と実行系が必要とな. プリケーションロジックをロボットに割り当てて遂行する. る。. ためのリモート制御スクリプトと、ロボット間の局所的な. ・ロボット間交渉: ロボット間で仕事を引き継ぐ場合や、. 交渉を行うロボット間協言語からなる。次章以降で、ロ. 複数のロボットが起用力して 1 つの仕事を実行する際. ボットサービスマッチメーカーとリモート制御スクリプト、. にはロボット間交渉が必要となり、そのための言語やプ. ロボット間協調言語について紹介する。. ロトコルの規定が必要となる。。. 4. ロボットサービスマッチメーカー 3.ネットワークロボット連携アーキテクチャ. ロボットサービスマッチメーカーは、各種ロボットが公. 図 1 にネットワークロボットプロジェクトで検討中のアー. 開・提供しており利用可能なサービスの中から、アプリ. キテクチャの基本を示す。実際にはさらに単位空間毎. ケーションで必要とするサービス仕様に合うサービスを. の管理を行うレイヤが存在するが本稿の範囲外となる. 発見する。本プロジェクトでは、バーチャルロボットであ. ので省略した。おおまかなアプリケーション実行の流. るインターネット上の Web サービスの検索を目的として. れは次のようになる。最初、アプリケーションは具体的. 開発済みの Web サービスマッチメーカー[1-4]技術を. なサービス提供ロボットに紐付いておらず連携ロジック. 適用し、ネットワークロボットのための機能拡張を図っ. のみが定義されている。そして、実行前、あるいは、実. た。そこで、まずこの Web サービスマッチメーカーを紹. 行中に個々のサービス呼び出しを処理できるサービス. 介した上で、ビジブルロボットを扱うためにどのような拡. 提供ロボットをロボットサービスマッチメーカーに問い. 張を加えたかを説明する。. 合わせて決定する。その上で、アプリケーションロジッ. 4.1 Web サービスマッチメーカー. クは割り当てたロボットのサービスを呼び出すことによ. Web サービスの検索手順は図 2 の様に、Web サービ. って実行されていく。一方ロボットは必要に応じて他の. スを開発したサービス提供者がサービス仕様を登録し、. ロボットとの間で直接交渉を行う。これらのアプリケー. そして、サービス利用者はそれらの中から利用したい.
(3) 工業製品. サービスを探す。当初の Web サービス検索機能は、 主にサービス登録者が自由に設定できるサービス名 やサービスカテゴリ、コメントを対象にキーワード検索. AV機器. 家電 家電. コンピュータ. が可能であった。しかし、単純なキーワードによる検索 は Web サービスの検索には不十分であった。例えば パソコン. ビデオ. HDD レコーダを 100 台注文したい場合に電子商取引. IAサーバ. サービスを検索することを考える。その際、HDD レコー ダというキーワードが登録されておらず、たとえば AV 機器というキーワードのみが登録されていると、そのサ. HDDレコーダ HDDレコーダ. 冷蔵庫. PDA. Fig 2; Example of product ontology description. ービスは発見できない。また、納期や配達地域などの 条件が希望にあうかどうかもキーワードでは指定でき. ワードで登録しているサービスは、HDD レコーダという. ないことが多い。. キーワードで検索しても発見することができなかった。. そこで、Web サービスマッチメーカーでは、サービス. しかし、マッチメーカーを使えば、図 2 にあるようなオン. のインタフェースにオントロジーや制約条件といったメ. トロジーを参照して AV 機器が HDD レコーダの上位概. タデータを新たに付加している。そして、それらを基に. 念であることを発見し(意味検索)、単語として HDD レコ. 意味検索 や 制約条件間の包摂関係を判定するア. ーダが登録されていなくても対象となるサービスを見. ルゴリズム を用いて、候補となるサービスを絞り込ん. つけ出すことができる。. でいく。ここで、メタデータとは情報の意味や内容を判. また、従来の Web サービス検索では、納期や配送. 断するために付加するデータのことである。また、オン. 地に関する制約条件を対象としてサービスを検索する. トロジーとは一般に語彙(ごい)体系と呼ばれ、ことば. ことはできなかった。しかし、Web サービスマッチメーカ. の持つ意味に基づいて一種のグラフとして表されたも. ーでは次に示すように、利用者が(1)のような制約条. のであり、制約条件とはサービスを呼び出す際に満た. 件を持つサービスを検索したい場合、仮に(2)のような. されなければならない条件を論理的に記述したもので. 制約条件を持つ部品メーカーのサービスが登録され. ある。簡単な例を用いて以下に説明する。. ていれば、(1)の(a)∼(c)を(2)の(a)∼(c)が満たしてい. 例えば、HDD レコーダを扱う電子商取引サービスを. るということを論理的に判断し(制約条件間の包摂関. 検索する例で、サービス提供者が AV 機器というキー. 係を判定するアルゴリズム)、検索結果として返してく. サービス. サービス仕様. サービス. サービス仕様. Fig 3; Comparison of ordinary Web services searches and with Matchmaker.
(4) れる。 (1)利用者が要求するサービスの制約条件. として、内部状態を抽象化して名前をつけ、その状態 名で比較する方法が考えられる。しかし、ビジブルロボ. (a)注文個数 > 1,000 個. ットの構成はロボット毎にまったく異なり、内部状態の. (b)配送地 ⊂ 東京. 抽象化の仕方も異なる。またその名前の付け方もメー. (c)納期 ≦ 7日. カーや業界によって異なることが予想される。. (2)部品メーカーが提供するサービスの制約条件. そこで、我々は、状態を抽象化するのではなく、プリ. (a)注文個数 > 100 個. ミティブな状態変数の集合同士を比較することにした。. (b)配送地 ⊂ 関東. これは、状態変数というプリミティブなレベルではどの. (c)納期 ≦ 5日. ビジブルロボットも類似の項目をもっていると考えられ. そのほかにもマッチメーカーは、検索時に利用者が サービスへ与えることのできる情報(品名、注文個数、 配送地など)を指定すれば、それが候補となるサービ. るためである。ここで状態変数とは、例えば現在位置 やスイッチのオンオフ、車輪の数などである。 そして、状態変数の集合同士を比較する方法として、. スが必要としている入力(引数)を満たしているかどうか. 以下のようにする。まず、プリミティブな状態変数を記. を判断することができる。. 述論理のアトミックコンセプトとして定義し、状態変数の. 逆に、候補となるサービスの出力(返値)が、利用者. 集合を記述論理のコンセプトに変換したのち、それら. が必要としている情報(納期など)を満たしているかどう. の包摂関係の判定によって、現在のロボットの状態が、. かを判断することもできる。. サービスを呼び出す際の条件を満たしているかを判定. 従来も、引数のデータ型や個数は指定できたが、引. する。状態変数の集合の比較手法としては、他にルー. 数の情報が持つ意味や出力結果が持つ意味までは. ルベース推論、一階述語論理、ベイジアンネット、ニュ. 検索では扱えなかった。マッチメーカーでは、サービ. ーラルネットワークなどがあるが、記述論理の特徴は. スを呼び出す際に与える引数やサービスの出力結果. 以下である。推論処理時間に関しては一階述語論理. にオントロジーを付加することで、サービス自体が持つ. では NP-hard または決定不能となる場合もあるのに比. 意味を規定できる。また、制約条件を論理的に与える. べて多項式オーダで収まり、判定の確実性に関しては、. ことで、提供されているサービスが自分の要求に合う. ベイジアンネットやニューラルネットワークが 100%の確. かどうかを判断することができる。こうした技術を、現在. 実性が無いのに比べて、確実性が高い。さらに条件の. の Web サービス標準の枠組みを壊さずに組み込ん. 記述容易性に関しては、ルールベース推論のようにル. だものが Web サービスマッチメーカーである。. ール間の整合性維持が大変であるということは無い。. 4.2 ロボットサービスマッチメーカーとは Web サービスの検索では、サービス内容や入力引数. 5. リモート制御スクリプト. と返答結果に関するサービス呼び出しインタフェース. リモート制御スクリプトは、アプリケーションのロボット連. などの静的な情報に基づいて検索を行っている。しか. 携ロジックに基づき、各種ロボット群のサービスを呼び. し、それに比べてビジブルロボットは、以下のような動. 出すことで、ロボット群をリモート制御する。リモート制. 的な情報に基づいて検索をする必要がある。. 御スクリプトは、Flipcast[5-7]をベースとして設計中で. (1)位置 現実世界に作用するビジブルロボットにおい. ある。以下では、Flipcast について紹介する。. ては、現在位置によって仕事の依頼の可否が決まる。. 5.1 Flipcast とは. 例えば A さんの応対をする場合には、A さんが居るとこ. Flipcast は、ネットワークで接続されたサーバやビ. ろまで移動可能なロボットしか対応できない。. ジブルロボット、機器の間を飛び回りながら仕事をする. (2)負荷 多くの要求が同時に来ることが前提となって. ソフトウェアであり、様々なロボットのサービスを呼び出. いるサーバ上の Web サービスと異なり、ビジブルロボッ. しながら連携ロジックを遂行する。例えば、モール街で. トは身体の動作を伴う処理が多く同時に複数の仕事を. 来場者の案内をする場合、以下のように動作する。. こなせないことが多い。. (1)モール街の入り口に設置されたセンサが会員登録. これらの動的な情報は、サービス提供主体の内部状 態として扱う。ビジブルロボットの内部状態の判定方法. された A さんの来場を認識すると、サーバ上で案内ア プリケーションが起動する。.
(5) ロボットサービス マッチメーカー. え、ビジブルロボットや組み込み機器のネットワーク連 携に特化した、以下のような特徴を持つ。. スクリプト. (1)極小フットプリントサイズ モール街サーバ. Aさんの携帯電話. 店舗サーバ. ロボットB. 最小パッケージとなる. スクリプト. スクリプト. スクリプト. スクリプト. 携帯電話アプリ版では、プラットフォームを構成する核. アプリケーション プラットフォーム. アプリケーション プラットフォーム. アプリケーション プラットフォーム. アプリケーション プラットフォーム. である、スクリプトの解釈実行部と条件判断などの必須. 案内サービス. メモ帳機能. お勧め情報 提供サービス. 移動サービス. サービス 38 種を 11.2KB で実装した。これにネットワー. 説明サービス 誘導サービス. ク、データ保持、携帯上グラフィックなどの機能を加え、 ターゲットとして設定した機種のアプリ最大容量である 50KB 以下に抑えている。. Fig 4; Example of Flipcast flow. (2)スクリプト移動. 同期処理の必要性によるスクリプ. ト開発の難易度上昇と、アプリケーションプラットフォー (2)A さんの携帯電話の買い物メモを確かめる。 (3)訪問すべき店舗のサーバで、ショッピング情報サー ビスを利用して、本日のお勧め情報などを取得する。 (4)A さんのそばにいる案内ロボットが、A さんのところ に行き、お勧め情報を説明しながらお店に案内する。 5.2 Flipcast の構成 Flipcast は、サーバや各ロボット上で稼働するソフト ウェアであるアプリケーションプラットフォームと、その 上を自由に移動しながら実行される、スクリプトと呼ば れる指示書で構成される。 アプリケーションプラットフォームは、スクリプト内容を 解釈実行する役割を持ち、解釈したスクリプトを元に、 抽象化された機器機能の呼び出しや、条件判断など を行う。 スクリプトは、ユーザの意図する目的ごとに用意され る、バッチファイルのような簡単な指示書であり、各ロ ボットが持つ様々なサービスの呼び出しと制御構造が 記述されたプログラムソースである。 Flipcast は、組み込み機器にも搭載可能な小さなフ ットプリントサイズを実現しているため、家庭用ロボット だけでなく、携帯電話、情報家電などにも応用可能で ある。 5.3 Flipcast の特徴 一般的なスクリプト言語自体は、プログラミング言語 の中でも大変ポピュラーなものとして確立しており、数 多くの形式が提供され、特に掲示板や各種ポータル などの Web アプリケーションに広く利用されている。ス クリプト言語技術は、アプリケーションの開発・デバッ グ・変更の難度を下げ、それらにかかる時間を大幅に 短縮することで、アプリケーション数の増大とその多様 性を生む。 Flipcast は、既存のスクリプト言語が持つ特徴に加. ムの肥大化を防ぐため、単一のスクリプトが、処理の進 行に応じて、実行中に自由に他機器へ移動できるもの とした。移動時には、実行状態の情報と、ダイナミック に保持しているデータをあわせて転送し、移動先のプ ラットフォームでは、これらの情報を参照して、移動前 の機器で行われた処理の続きから解釈実行が開始す る。 5.4 動作イメージ 5.1 節で述べた例について、スクリプトを実行した場 合の動作イメージを以下に示す。 (1)サーバ上で A さんの来場通知がセンサから届くと、 案内アプリケーション用のスクリプトが起動され、A さん の携帯電話に移動する。 (2)A さんの携帯電話上で メモ帳の買い物メモを読み 込み、その買い物を売っているお店の店舗サーバに 移動する。 (3)店舗サーバ上で お店が提供しているショッピング 情報サービスを呼び出し、本日のお勧め情報を取得 し、A さんのそばにいる案内ロボットをロボットサービス マッチメーカーで探して発見されたロボット B に移動す る。 (4)ロボット B 上で A さんの位置まで移動させ、お勧め 情報を説明させながら A さんをお店まで誘導させる。. 6. ロボット間協調言語 5 章で挙げたリモート制御は、複数のロボット群が提供 するサービスを逐次的に連携してアプリケーションロジ ックを遂行する。しかし、複数のビジブルロボットが同 時に協力して処理を行わなくてはならない場面もある。 例えばロボット A が荷物の一方を支え、ロボット B が他 方を支えて運ぶ場面などである。あるいは、必要なサ ービスを提供できるロボットが複数存在する場合に、そ.
(6) の時点で交渉して依頼先を決める場合もあるかもしれ ない。その様なロボット間の協調問題解決のためには、 ネットワークを介した低レベルなコマンド呼び出しだけ では十分でなく、自律的な異種ロボット間で互いが認 識している状況や所有している機能に応じて交渉する ことが必要である。そこで、自律性を有するロボットに 対 し て は 、 エ ー ジ ェ ン ト 技 術 に 基 づ く ACL(Agent Communication Language)と IP(Interaction Protocol)に 基づく対話による交渉を検討した。ACL や IP は、エー ジェント技術に関する国際標準化団体 FIPA[8]が定め た国際標準技術であり、エージェントが互いに自らの 意図を伝え合う信念モデル(BDI)に基づく複数エージ ェント間の協調技術である。 ACL は発話行為理論(Speech-Act-Theory)に基づ く、エージェント間通信言語である。対話参加者の間 で会話を進める際に行う意味的な行為をパフォーマテ ィブ(performative、 通信行為) として規定し、パフォ ーマティブをメッセージとして相手に送信することによ って、ある行為の発生が意図される。例えば、request というパフォーマティブは、送信側が受信側に対して、 何らかの行為の実施を要求することを意味する。一方、 受信側にとっても、会話の内容がどのような種類の応 答を期待しているかを判断することができる。パフォー マティブの例を表 1 に挙げる。 そして対話は、複数の主体間で相互にパフォーマ ティブを送ることにより、ある目的の達成を目指す。こ の際の、相互作用におけるパフォーマティブの順序列 を IP と呼ぶ。IP には、特定のパフォーマティブの順序 列が期待されるような、いくつかの典型的なパターンが Table 1; Example of Performative 要 旨 送信側が受信側に対して,何らかの動作 request の実行を要求する. 送信側が知らない情報について,受信側 query に問い合わせる. inform 送信側が知っている情報を通知する. ある動作の実行の申し込みを呼びかけ cfp る. ある特定の事前条件の下で特定の動作を propose (送信側が)実行することを提案する. ある動作を実行するために,先だって申し accept-proposal 出のあった提案を受理する. reject-proposal 先だって申し出のあった提案を却下する. agree 何らかの動作を実行することに同意する. ある動作の実行が可能ではないために拒 refuse 否する. ある動作の実行を試みたが,何らかの理 failure 由により失敗に終わったことを通知する. ある行為を受信したが理解できなかったこ not-understood とを,その行為の送信側に通知する.. Fig 5; Sequences of FIPA-request protocol 存在する。いくつかの典型的なパターンは、 FIPA に より、FIPA プロトコルとして規定されている。FIPA プロト コルの例として、FIPA-request プロトコルを紹介する。 FIPA-request プロトコルは、単に 1 つのエージェント が他のエージェントに対してある動作の実行を要求し、 受信側エージェントは、その動作を実行するか、又は 何らかの方法でその動作を実行できないことを示す応 答を返すものである。図 5 に FIPA-request プロトコル の 3 種類のシーケンスを示す。今、エージェント i が エージェント j. に対して、ある動作 action の実行を. 要求していると仮定する。 (a) エージェント i. はエージェント j. に対して、. request を送信する。その要求に対して、エージェント j が合意した場合は、一旦 agree を返し、その後、動作 action の実行が完了した時点で、その旨を inform を使 って通知する。 (b) エージェント j. が一旦は合意したものの、その. 後何らかの理由で動作 action を実行できない場合、 failure とその理由を返す。 (c) エージェント i の要求に対して、エージェント j が合意できない場合は、refuse とその理由を返す。. パフォーマティブ. 我々は、既に FIPA エージェント仕様に基づくマルチ エージェントシステムとして Bee-gent[9-11]を開発して おり、これをベースにネットワークロボット用協調言語と してプロファイル化を予定している。Bee-gent 全体の 紹介はここでは省くが、ACL と IP の定義支援機能を紹 介する。図 6 に IP の定義画面、図 7 に ACL 定義画面 を示す。これらのツールを用いて、IP や ACL を定義す ることにより、対話部分のソースコードを生成する機能 を持つ。Bee-gent の ACL 通信機能を中心に、このよう な対話定義支援の機能の導入も検討していきたい。 具体的な協調言語やプロトコルの開発は今年度進め ていく予定である。.
(7) Fig 6; GUI for defining. Fig 7; GUI for defining ACL. 7. おわりに ビジブルロボット、アンコンシャスロボット、そしてバー チャルロボットといった、異種のロボット群を透過的に 連携する枠組みと、その際に必要な技術要素につい て述べた。2 章で挙げた異種ロボット連携の課題に対 する回答として、サービス発見技術、リモート制御技術、 ロボット間協調言語技術を示した。今後、ネットワーク ロボットプロジェクトでの実証実験を通して、効果を検 証していく。 謝辞 本研究は総務省の研究委託により実施したもの である 参考文献 [1]川村、長谷川、大須賀、「XML Web サービスマッチメーカ ー」、東芝レビュー Web サービス特集号、Vol.58, No.2, 2003 [2]Web サービスマッチメーカーホームページ; http://www.agent-net.com [3]T. Kawamura, J. D. Blasio, T. Hasegawa, M. Paolucci, K. Sycara, "Public Deployment of Semantic Service Matchmaker with UDDI Business Registry," Proceedings of 3rd International Semantic Web Conference (ISWC 2004), LNCS 3298, pp. 752-766, 2004 [4]T. Kawamura, J. D. Blasio, T. Hasegawa, M. Paolucci, K. Sycara, "Preliminary Report of Public Experiment of. Semantic Service Matchmaker with UDDI Business Registry," Proceedings of First International Conference on Service Oriented Computing (ICSOC 2003), LNCS No. 2910, pp. 208-224, 2003 [5]上野、長谷川、大須賀、「ロボットをユビキタスの世界へ誘 うエージェント」、東芝レビュー ホームロボット特集号、 Vol.59, No.9, 2004 [6] K. Ueno, T. Kawamura, T. Hasegawa, A. Ohsuga, M. Doi, "Cooperation between Robots and Ubiquitous Devices with Network Script Flipcast," Proceedings of Network Robot System: Toward intelligent robotic systems integrated with environments (IROS 2004 Workshop), 2004 [7]上野、釜洞、川村、長谷川、大須賀、本位田、「携帯電話 上で記述・即時実行可能なネットワークスクリプト Flipcast」、オブジェクト指向2002シンポジウム、2002 [8]FIPA ホームページ; http://www.fipa.org [9]Bee-gent ホームページ; http://www.toshiba.co.jp/rdc/beegent/index_j.htm [10]川村 隆浩, 田原 康之, 長谷川 哲夫, 大須賀 昭彦, 本位田真一、「Bee-gent:移動型仲介エージェントによる 既存システムの柔軟な活用を目的としたマルチエージェ ントフレームワーク」、電子通信学会論文誌(D-I), Vol. J82-D-I、No. 9、pp. 1165-1180、1999 [11]Shinichi Nagano, Yasuyuki Tahara, Tetsuo Hasegawa, and Akihiko Ohsuga, "Development of Agent-Based Electronic Catalog Retrieval System," Proc. of 2003 International Conference on Intelligent Agents, Web Technologies and Internet Commerce (IAWTIC'2003), pp.112-113, 2003.
(8)
図
関連したドキュメント
市場動向 等を踏まえ 更なる検討
Correspondence should be addressed to Salah Badraoui, [email protected] Received 11 July 2009; Accepted 5 January 2010.. Academic Editor:
The excess travel cost dynamics serves as a more general framework than the rational behavior adjustment process for modeling the travelers’ dynamic route choice behavior in
・患者毎のリネン交換の検討 検討済み(基準を設けて、リネンを交換している) 改善 [微生物検査]. 未実施
はじめに
層の項目 MaaS 提供にあたっての目的 データ連携を行う上でのルール MaaS に関連するプレイヤー ビジネスとしての MaaS MaaS
Economic Resource Type Economic Commitment Economic Event Type Economic Role.
を育成することを使命としており、その実現に向けて、すべての学生が卒業時に学部の区別なく共通に