(57)【要約】【課題】分散環境下で２つのロボットプラグイン間の相互作用に関するプロトコルを定義し、ロボットプラグインフレームワークエンジンが２つのロボットプラグイン間の通信を中継するように実現してロボットプラグイン間の関数呼び出し、シンボル参照及びフレームワークエンジンとの相互作用を通じたイベント、タイマーなどの遠隔実行を可能にするシステム及び方法を提供する。【解決手段】本発明ではロボットプラグイン中継システム及び方法において、分散環境下で２つのロボットプラグイン間の相互作用に関するプロトコルを定義し、ロボットプラグインフレームワークエンジンが２つのロボットプラグイン間の通信を中継するように実現してロボットプラグイン間の関数呼び出し、シンボル参照及びフレームワークエンジンとの相互作用を通じたイベント、タイマーなどの遠隔実行が可能にすることによって、ロボットプラグイン間の互換性を確保することができる。【選択図】図３
2012131025.tif 000002
【特許請求の範囲】
【請求項１】
ロボットプラグイン中継システムであって、
ロボットで実行されるアプリケーションを構成する各種機能を遂行し、通信網を介して他のロボット遠隔プラグインと通信を行って前記機能の遂行のためのデータを送／受信するロボット遠隔プラグインと、
前記ロボット遠隔プラグインと通信網で接続され、前記ロボット遠隔プラグイン間の相互通信を中継するロボットプラグインフレームワークエンジンと
を含むロボットプラグイン中継システム。
【請求項２】
前記ロボットプラグインフレームワークエンジンは、
前記ロボット遠隔プラグイン間の相互通信を中継して前記ロボット遠隔プラグインから特定関数の呼び出し要請時に前記呼び出しの要請を前記他のロボット遠隔プラグインに伝送し、前記他のロボット遠隔プラグインから前記呼び出しの要請に応答した前記関数の結果値の伝送を受け、前記ロボット遠隔プラグインに伝送することを特徴とする請求項１に記載のロボットプラグイン中継システム。
【請求項３】
前記ロボット遠隔プラグイン間の通信は、テキスト基盤のプロトコルを通じて行われることを特徴とする請求項１に記載のロボットプラグイン中継システム。
【請求項４】
前記プロトコルを通じて送信又は受信されるパケットは、ヘッダ部とボディ部とを含むことを特徴とする請求項３に記載のロボットプラグイン中継システム。
【請求項５】
前記ヘッダ部は、
プロトコル名、バージョン、パケットＩＤ、データタイプ又は長さのうちの１つ以上の情報を含むことを特徴とする請求項４に記載のロボットプラグイン中継システム。
【請求項６】
前記ボディ部は、タグ部とデータ部とを含むことを特徴とする請求項４に記載のロボットプラグイン中継システム。
【請求項７】
前記タグ部は、要請、応答又はエラーのうちのいずれか１つを含むことを特徴とする請求項６に記載のロボットプラグイン中継システム。
【請求項８】
前記データ部は、実際に伝送されるデータを含むことを特徴とする請求項６に記載のロボットプラグイン中継システム。
【請求項９】
ロボットプラグイン中継方法であって、
通信網を介して多数のロボット遠隔プラグインと接続されるロボットプラグインフレームワークエンジンで１つのロボット遠隔プラグインからの遠隔実行要請を受信する段階と、
前記ロボットプラグインフレームワークエンジンから前記実行要請を行うターゲットロボット遠隔プラグインに前記実行要請を伝送する段階と、
前記ロボットプラグインフレームワークエンジンで前記ターゲットロボット遠隔プラグインから前記実行要請の実行に伴う結果値を受信する段階と、
前記ロボットプラグインフレームワークエンジンから前記結果値を、前記実行要請を送信した前記ロボット遠隔プラグインに伝送する段階と
を含むロボットプラグイン中継方法。
【請求項１０】
前記ロボット遠隔プラグイン間の通信は、テキスト基盤のプロトコルを通じて行われることを特徴とする請求項９に記載のロボットプラグイン中継方法。
【請求項１１】
前記プロトコルを通じて送／受信されるパケットは、ヘッダ部とボディ部とを含むことを特徴とする請求項１０に記載のロボットプラグイン中継方法。
【請求項１２】
前記ヘッダ部は、
プロトコル名、バージョン、パケットＩＤ、データタイプ又は長さのうちの１つ以上の情報を含むことを特徴とする請求項１１に記載のロボットプラグイン中継方法。
【請求項１３】
前記ボディ部は、タグ部とデータ部とを含むことを特徴とする請求項１１に記載のロボットプラグイン中継方法。
【請求項１４】
前記タグ部は、要請、応答又はエラーのうちのいずれか１つを含むことを特徴とする請求項１３に記載のロボットプラグイン中継方法。
【請求項１５】
前記データ部は、実際に伝送されるデータを含むことを特徴とする請求項１３に記載のロボットプラグイン中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボットプラグイン（ｒｏｂｏｔ ｐｌｕｇ-ｉｎ）中継方法に関し、特に、分散環境下で２つのロボットプラグイン間の相互作用に関するプロトコル（ｐｒｏｔｏｃｏｌ）を定義し、プラグインフレームワークエンジン（ｆｒａｍｅ ｗｏｒｋ ｅｎｇｉｎｅ）が２つのロボットプラグイン間の通信を中継するように実現してロボットプラグイン間の関数呼び出し、シンボル参照及びフレームワークエンジンとの相互作用を通じたイベント（ｅｖｅｎｔ）、タイマー（ｔｉｍｅｒ）などの遠隔実行が可能にするロボットプラグインの遠隔実行のためのロボットプラグイン中継システム及び方法に関する。
【背景技術】
【０００２】
通常、ロボット用ソフトウェアプラグインとは、ロボット応用を構成する各種機能を再使用及び交換が可能なモジュール（ｍｏｄｕｌｅ）にモジュール化したことをいう。このようなロボット用ソフトウェアプラグインは、それ自体としては実行が不可能であり、プラグインを駆動させるプラグインフレームワークエンジンを必要とする。
【０００３】
既存のロボット用プラグインフレームワークエンジンは、エンジンが搭載されたローカルノード（ｌｏｃａｌ ｎｏｄｅ）上に存在するローカルプラグインを搭載し、搭載されたローカルプラグイン同士の相互作用を通じて１つのロボット応用を構成した。
【０００４】
一方、最近になって既存のロボット用ローカルプラグインの限界を克服し、これを分散環境で動作できる遠隔プラグインフレームワークエンジンが開発された。これにより、ロボットプラグインはエンジンが搭載されたローカルノードの限界から抜け出し、ネットワークで接続されたどのノードでも動作可能な環境が整えられた。
【０００５】
このようなロボットプラグインシステム関連の先行技術が下記の特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】韓国公開特許第２０１１−００６２４８０号（公開日：２０１１.０６.１０）
【０００７】
しかし、従来技術ではロボットプラグインフレームワークエンジンの中継を通じたロボット遠隔プラグイン間の相互作用と機能については規定したが、これらの相互作用を可能にするプロトコルについては定められたところがなかったため、開発者毎に異なるプロトコルを用いることによって、プラグイン間の相互作用において互換性を確保するのに問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
そこで、本発明は上記事情に鑑みてなされたものであって、その目的は、分散環境下で２つのロボットプラグイン間の相互作用に関するプロトコルを定義し、ロボットプラグインフレームワークエンジンが２つのロボットプラグイン間の通信を中継するように実現してロボットプラグイン間の関数呼び出し、シンボル参照及びフレームワークエンジンとの相互作用を通じたイベント、タイマーなどの遠隔実行が可能にするロボットプラグインの遠隔実行のためのロボットプラグイン中継システム及び方法を提供することにある。
【課題を解決するための手段】
【０００９】
上述した本発明は、ロボットプラグイン中継システムであって、ロボットで実行されるアプリケーションを構成する各種機能を遂行し、通信網を介して他のロボット遠隔プラグインと通信を行って前記機能の遂行のためのデータを送／受信するロボット遠隔プラグインと、前記ロボット遠隔プラグインと通信網で接続され、前記ロボット遠隔プラグイン間の相互通信を中継するロボットプラグインフレームワークエンジンとを含む。
【００１０】
また、前記ロボットプラグインフレームワークエンジンは、前記ロボット遠隔プラグイン間の相互通信を中継して前記ロボット遠隔プラグインから特定関数の呼び出し要請時に前記呼び出しの要請を前記他のロボット遠隔プラグインに伝送し、前記他のロボット遠隔プラグインから前記呼び出しの要請に応答した前記関数の結果値の伝送を受け、前記ロボット遠隔プラグインに伝送することを特徴とする。
【００１１】
さらに、前記ロボット遠隔プラグイン間の通信は、テキスト基盤のプロトコルを通じて行われることを特徴とする。
【００１２】
また、前記プロトコルを通じて送信又は受信されるパケットは、ヘッダ部とボディ部とを含むことを特徴とする。
【００１３】
さらに、前記ヘッダ部は、プロトコル名、バージョン、パケットＩＤ、データタイプ又は長さのうちの１つ以上の情報を含むことを特徴とする。
【００１４】
また、前記ボディ部は、タグ部とデータ部とを含むことを特徴とする。
【００１５】
さらに、前記タグ部は、要請、応答又はエラーのうちのいずれか１つを含むことを特徴とする。
【００１６】
また、前記データ部は、実際に伝送されるデータを含むことを特徴とする。
【００１７】
さらに、本発明はロボットプラグイン中継方法であって、通信網を介して多数のロボット遠隔プラグインと接続されるロボットプラグインフレームワークエンジンで１つのロボット遠隔プラグインからの遠隔実行要請を受信する段階と、前記ロボットプラグインフレームワークエンジンから前記実行要請を行うターゲットロボット遠隔プラグインに前記実行要請を伝送する段階と、前記ロボットプラグインフレームワークエンジンで前記ターゲットロボット遠隔プラグインから前記実行要請の実行に伴う結果値を受信する段階と、前記ロボットプラグインフレームワークエンジンから前記結果値を、前記実行要請を送信した前記ロボット遠隔プラグインに伝送する段階とを含む。
【００１８】
また、前記ロボット遠隔プラグイン間の通信は、テキスト基盤のプロトコルを通じて行われることを特徴とする。
【００１９】
さらに、前記プロトコルを通じて送／受信されるパケットは、ヘッダ部とボディ部とを含むことを特徴とする。
【００２０】
また、前記ヘッダ部は、プロトコル名、バージョン、パケットＩＤ、データタイプ又は長さのうちの１つ以上の情報を含むことを特徴とする。
【００２１】
さらに、前記ボディ部は、タグ部とデータ部とを含むことを特徴とする。
【００２２】
また、前記タグ部は、要請、応答又はエラーのうちのいずれか１つを含むことを特徴とする。
【００２３】
さらに、前記データ部は、実際に伝送されるデータを含むことを特徴とする。
【発明の効果】
【００２４】
本発明によれば、ロボットプラグイン中継システム及び方法において、分散環境下で２つのロボットプラグイン間の相互作用に関するプロトコルを定義し、ロボットプラグインフレームワークエンジンが２つのロボットプラグイン間の通信を中継するように実現してロボットプラグイン間の関数呼び出し、シンボル参照及びフレームワークエンジンとの相互作用を通じたイベント、タイマーなどの遠隔実行が可能にすることによって、ロボットプラグイン間の互換性を確保できるという効果を奏する。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施形態によるロボットプラグイン中継システムの構成図である。
【図２】本発明の実施形態によるロボットプラグイン中継システムのプロトコルパケットのフォーマット図である。
【図３】本発明の実施形態によるロボットプラグイン中継システムにおけるロボット遠隔プラグイン間の信号処理フローチャートである。
【図４】図３の過程で送／受信されるプロトコルパケットの一例を示す図である。
【発明を実施するための形態】
【００２６】
本発明の利点及び特徴、そしてそれらを達成する方法は、添付する図面と共に詳細に後述されている実施形態を参照すれば明確になる。しかし、本発明は以下で開示される実施形態に限定されるものではなく、互いに異なる多様な形態で実現でき、但し、本実施形態は本発明の開示が完全なようにし、本発明の属する技術分野において通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであり、本発明は請求の範囲の範疇により定義されるだけである。明細書全体に渡って同一参照符号は同一構成要素を示す。
【００２７】
本発明の実施形態を説明するにおいて公知となった機能又は構成についての具体的な説明が本発明の要旨を不要に曖昧にするおそれがあると判断される場合にはその詳細な説明を省略し、後述する用語は、本発明の実施形態での機能を考慮して定義された用語であって、これはユーザ、運用者の意図又は慣例などによって変わり得る。従って、その定義は本明細書全般に渡る内容に基づいてなされるべきである。
【００２８】
添付するブロック図の各ブロックとフローチャートの各段階の組み合わせは、コンピュータプログラムインストラクション（実行エンジン）により行われることもでき、これらのコンピュータプログラムインストラクションは、汎用コンピュータ、特殊コンピュータ又はその他プログラム可能なデータプロセシング装備のプロセッサに搭載され得るので、コンピュータ又はその他プログラム可能なデータプロセシング装備のプロセッサを通じて行われるそのインストラクションがブロック図の各ブロック又はフローチャートの各段階で説明された機能を行う手段を生成する。これらのコンピュータプログラムインストラクションは、特定方式で機能を実現するためにコンピュータ又はその他プログラム可能なデータプロセシング装備を指向できるコンピュータ利用可能又はコンピュータ読み取り可能メモリに格納されることも可能であるので、そのコンピュータ利用可能又はコンピュータ読み取り可能メモリに格納されているインストラクションは、ブロック図の各ブロック又はフローチャートの各段階で説明された機能を行うインストラクション手段を含む製造品目を生産することも可能である。
【００２９】
そして、コンピュータプログラムインストラクションは、コンピュータ又はその他プログラム可能なデータプロセシング装備上に搭載されることも可能であるので、コンピュータ又はその他プログラム可能なデータプロセシング装備上で一連の動作段階が行われ、コンピュータで実行されるプロセスを生成し、コンピュータ又はその他プログラム可能なデータプロセシング装備を行うインストラクションは、ブロック図の各ブロック及びフローチャートの各段階で説明される機能を実行するための段階を提供することも可能である。
【００３０】
また、各ブロック又は各段階は、特定された論理的機能を実行するための１つ以上の実行可能なインストラクションを含むモジュール、セグメント又はコードの一部を表すことができ、複数の代替実施形態ではブロック又は段階で言及された機能が順序から外れて発生することも可能であることに注目しなければならない。例えば、相次いで示されている２つのブロック又は段階は実際に実質的に同時に行われてもよく、また、そのブロック又は段階が必要に応じて該当する機能の逆順に行われてもよい。
【００３１】
以下、添付する図面を参照して本発明の好適な実施形態について詳細に説明する。
【００３２】
図１は、本発明の実施形態によるロボットプラグイン中継システムの構成を示す。
【００３３】
図１を参照すれば、ロボットプラグインフレームワークエンジン（ｐｌｕｇ-ｉｎ ｆｒａｍｅｗｏｒｋ ｅｎｇｉｎｅ）１０２は、第１ロボット遠隔プラグイン１００と第２ロボット遠隔プラグイン１０４及びロボットローカルプラグイン１０６間の相互作用を中継し、イベント及びタイマーサービス（ｔｉｍｅｒ ｓｅｒｖｉｃｅ）を提供する機能をする。
【００３４】
第１ロボット遠隔プラグイン１００は、ロボットプラグインフレームワークエンジン１０２が搭載されたコンピューティングノード（ｃｏｍｐｕｔｉｎｇ ｎｏｄｅ）とは異なる所に搭載されることができ、インターネットを介してロボットプラグインフレームワークエンジン１０２の中継を通じて遠隔地にある他の第２ロボット遠隔プラグイン１０４と相互作用する。
【００３５】
ロボットローカルプラグイン１０６は、ロボットプラグインフレームワークエンジン１０２と同じコンピューティングノードに存在し、ロボットプラグインフレームワークエンジン１０２により搭載される。
【００３６】
第１ロボット遠隔プラグイン１００と第２ロボット遠隔プラグイン１０４間の相互作用は、ロボットプラグインフレームワークエンジン１０２の中継を通じて行われる。第１、第２ロボット遠隔プラグイン１００、１０４間、又は第１、第２ロボット遠隔プラグイン１００、１０４とロボットプラグインフレームワークエンジン１０２間には関数呼び出し、シンボル参照、イベント及びタイマー機能と各種制御のための相互作用が行われる。
【００３７】
図２は、本発明の実施形態によるロボットプラグイン中継システムにおけるプロトコルパケット（ｐｒｏｔｏｃｏｌ ｐａｃｋｅｔ）のフォーマット図である。本発明のプロトコルは、テキスト基盤プロトコル（ｔｅｘｔ ｂａｓｅｄ ｐｒｏｔｏｃｏｌ）であり、テキスト（ｔｅｘｔ）を基盤とするため、エンコーディング（ｅｎｃｏｄｉｎｇ）とデコーディング（ｄｅｃｏｄｉｎｇ）が容易である。
【００３８】
図２を参照すれば、１つのパケットはヘッダ部（ｈｅａｄｅｒ）とボディ部（ｂｏｄｙ）で構成される。ヘッダ部はプロトコル名（ｐｒｏｔｏｃｏｌ ｎａｍｅ）、バージョン（ｖｅｒｓｉｏｎ）、パケットＩＤ（ｐａｃｋｅｔ IＤ）、データタイプ（ｄａｔａ ｔｙｐｅ）、長さ（ｌｅｎｇｔｈ）が入る計２４バイト（ｂｙｔｅ）で構成される。
【００３９】
プロトコル名は「ＲＰＰ」に固定され、バージョンはプロトコルの現在のバージョンが２.ｘのような３バイトの文字列で構成される。パケットＩＤはパケットに付与される通し番号であって、１つのプラグインで生成される各パケットは固有のＩＤを有さなければならない。
【００４０】
データタイプはボディのデータ部にあるデータのタイプを示し、「Ｓ」或いは「Ｌ」値を有し、それぞれ文字列型データ又はリスト型データを示す。長さはボディ部の全長を示す。
【００４１】
図２で見られるように、ボディはタグ部とデータ部からなる。タグ部は「ｒｅｑｕｅｓｔ」、「ｒｅｐｌｙ」、「ｅｒｒｏｒ」文字列の１つである。「ｒｅｑｕｅｓｔ」は要請する時に指定され、この要請に対する応答がある場合、「ｒｅｐｌｙ」又は「ｅｒｒｏｒ」を利用する。データ部は実際の要請や応答の内容を記述する部分であって、それぞれについては後述する。ボディ部の各項目は、空白文字で区分する。
【００４２】
下記の［表１］は、第１、第２ロボット遠隔プラグイン１００、１０４においてロボットプラグインフレームワークエンジン１０２でシンボル（ｓｙｍｂｏｌ）を登録（解除）する時に用いられるシンボル登録（解除）メッセージに対するボディ部の構成を示す。タグとしては［ｒｅｑｕｅｓｔ］を指定し、命令部はシンボルを登録するか又は解除するかによって命令コードが変わり、［表２］の命令コード表を参照する。シンボル名の項目には処理しようとするシンボルの名称を指定する。
【表１】
2012131025.tif 000003
【表２】
2012131025.tif 000004
【００４３】
下記の［表３］は、第１、第２ロボット遠隔プラグイン１００、１０４においてロボットプラグインフレームワークエンジン１０２でオブジェクト（ｏｂｊｅｃｔ）を登録（解除）する時に用いられるオブジェクト登録（解除）メッセージに対するボディ部の構成を示す。タグとしては［ｒｅｑｕｅｓｔ］を指定し、命令コードはオブジェクトを登録するか又は解除するかによって命令コードが変わり、［表２］の命令コード表を参照する。オブジェクト名の項目には処理しようとするオブジェクトの名称を指定する。
【表３】
2012131025.tif 000005
【００４４】
下記の［表４］は、第１、第２ロボット遠隔プラグイン１００、１０４においてロボットプラグインフレームワークエンジン１０２で関数を登録（解除）する時に用いられる関数登録（解除）メッセージに対するボディ部の構成を示す。タグとしては［ｒｅｑｕｅｓｔ］を指定し、命令コードは関数を登録するか又は解除するかによって命令コードが変わり、［表２］の命令コード表を参照する。関数名の項目には処理しようとする関数の名称を指定する。
【表４】
2012131025.tif 000006
【００４５】
下記の［表５］は、第１、第２ロボット遠隔プラグイン１００、１０４の特定シンボル値を参照しようとする時に用いるシンボル値参照命令に対するデータ部を記述する。この命令は特定シンボルの値を参照するものであるので、この要請に対する成否を応答しなければならない。
【００４６】
この要請を受けたロボットプラグインフレームワークエンジン１０２は、要請の処理に対する成否を要請した例えば、第１ロボット遠隔プラグイン１００に伝達する。シンボル値参照命令の要請時には命令コード項目、シンボル名項目を有する。命令コードはシンボル値参照命令に該当するコードを有し、シンボル名値は設定しようとするシンボルの名称を指定する。シンボル値参照命令の成功時には「ｒｅｐｌｙ」タグと共にシンボル値を伝達し、失敗時には「ｅｒｒｏｒ」と共にエラーメッセージを送る
【表５】
2012131025.tif 000007
【００４７】
下記の［表６］は、第１、第２ロボット遠隔プラグイン１００、１０４の特定シンボル値を変更しようとする時に用いるシンボル値変更命令に対するデータ部を記述する。シンボル変更命令は特定シンボルの値を変更するものであるので、この要請に対する成否を応答しなければならない。
【００４８】
この要請を受けたロボットプラグインフレームワークエンジン１０２は、要請の処理に対する成否を要請した第１ロボット遠隔プラグイン１００又は第２ロボット遠隔プラグイン１０４に伝達する。シンボル値変更の要請時にはタグ、命令コード、シンボル名部、そしてシンボル値部を有する。命令コードはシンボル値の変更に該当する命令コード値を有し、シンボル名値は設定しようとするシンボルの名称を指定する。シンボル値はバリュー型の値を有するが、このタイプは整数型、実数型、文字列、イメージ、サウンド、リスト型データを入れることができる。
【表６】
2012131025.tif 000008
【００４９】
下記の［表７］は、第１、第２ロボット遠隔プラグイン１００、１０４の特定関数を呼び出そうとする時に用いる命令に対するメッセージフォーマットを示す。
【００５０】
関数呼び出しの要請時にはタグとして「［ｒｅｑｕｅｓｔ］」を有し、命令コードとしては関数呼び出しに該当する命令コードを指定する。関数名の項目は呼び出そうとする関数名を指定し、パラメータ（ｐａｒａｍｅｔｅｒ）項目は関数呼び出しに伝達されるパラメータを指定する。このとき、パラメータはリスト型（ｌｉｓｔ ｔｙｐｅ）であり，バリュー型（ｖａｌｕｅ ｔｙｐｅ）データの羅列である。関数呼び出しに成功すれば，ロボットプラグインフレームワークエンジン１０２は「［ｒｅｐｌｙ］」タグと共に返還値を返還し、失敗時には「［ｅｒｒｏｒ］」タグと共にエラーメッセージを伝達する。
【表７】
2012131025.tif 000009
【００５１】
下記の［表８］は、ロボットプラグインフレームワークエンジン１０２にイベントを登録する時に用いられるメッセージを示す。タグ項目は「［ｒｅｑｕｅｓｔ］」と指定し、命令コードは［表２］の命令コード表を参照する。イベント名の項目には通知要請を登録する対象イベントの名称を指定する。
【表８】
2012131025.tif 000010
【００５２】
下記の［表９］は、ロボットプラグインフレームワークエンジン１０２又は第１、第２ロボット遠隔プラグイン１００、１０４で発生したイベントをロボットプラグインフレームワークエンジン１０２又は第１、第２ロボット遠隔プラグイン１００、１０４に伝達する時に用いられるメッセージを示す。
【００５３】
タグ項目は「［ｒｅｑｕｅｓｔ］」と指定し、命令コードは［表２］の命令コード表を参照する。イベント名の項目には発生したイベントの名称を指定する。
【表９】
2012131025.tif 000011
【００５４】
下記の［表１０］は、第１、第２ロボット遠隔プラグイン１００、１０４で一定周期で特定機能を行おうとする時、又はロボットプラグインフレームワークエンジン１０２に特定周期でイベントを発生してくれるよう要請する時に用いられる命令に対するメッセージフォーマットである。
【００５５】
タグ項目は「［ｒｅｑｕｅｓｔ］」と指定し、命令コードは［表２］の命令コード表を参照する。イベント名の項目には発生したイベントの名称を指定する。周期項目はイベントを発生させる周期を指定し、オブジェクト名はこのメッセージを送るオブジェクトの名称を指定する。
【表１０】
2012131025.tif 000012
【００５６】
図３は、本発明の実施形態によるロボットプラグイン中継システムにおいて第１、第２ロボット遠隔プラグイン１００、１０４間の遠隔実行、例えば、関数呼び出しのための信号処理の流れを示す図である。以下、図１及び図３を参照して本発明の実施形態を詳細に説明する。
【００５７】
まず、第１ロボット遠隔プラグイン１００内にＡというオブジェクトがロボットプラグインフレームワークエンジン１０２で第２ロボット遠隔プラグイン１０４内のＢというオブジェクトが有している特定関数の呼び出しを要請する（フレームワークエンジンに遠隔実行を要請）（ステップＳ３００）。
【００５８】
これにより、ロボットプラグインフレームワークエンジン１０２は、第１ロボット遠隔プラグイン１００からの関数呼び出しの要請を該当関数を有している第２ロボット遠隔プラグイン１０４に伝送する（該当要請を実行するプラグインに遠隔実行の要請を伝送）（ステップＳ３０２）。
【００５９】
そうすると、第２ロボット遠隔プラグイン１０４は、第１ロボット遠隔プラグイン１００から要請を受けた関数を呼び出す。このとき、例えば、第２ロボット遠隔プラグイン１０４内のＢというオブジェクトが有するｓｕｍ関数が呼び出されると仮定し、また、ｓｕｍ関数は２つの整数を受けてこれを合算した後、その結果を返還する関数と仮定する。
【００６０】
次に、第２ロボット遠隔プラグイン１０４は該当ｓｕｍ関数を呼び出し（ステップＳ３０４）、関数値を計算(ステップＳ３０６)した後、このような関数値を関数呼び出しに対する結果値としてロボットプラグインフレームワークエンジン１０２に伝送する（フレームワークエンジンに実行結果を伝送）（ステップＳ３０８）。
【００６１】
これにより、ロボットプラグインフレームワークエンジン１０２は、第２ロボット遠隔プラグイン１０４から伝送を受けた結果値を第１ロボット遠隔プラグイン１００に伝送する（実行要請を伝送したプラグインに実行結果を伝送）（ステップＳ３１０）。
【００６２】
図４は、前記図３の過程で送／受信されるプロトコルパケットの一例を示す図である。
【００６３】
図４を参照すれば、図４の「１」は第１ロボット遠隔プラグインからロボットプラグインフレームワークエンジンに伝送する関数呼び出し要請のパケットの構成を示すものであり、「２」はロボットプラグインフレームワークエンジンから第２ロボット遠隔プラグインに伝送する関数呼び出し要請のパケットの構成を示すものである。
【００６４】
図４の「３」は第２ロボット遠隔プラグインからロボットプラグインフレームワークエンジンに伝送する結果値のパケット構成を示すものであり、「４」はロボットプラグインフレームワークエンジンから第１ロボット遠隔プラグインに伝送する結果値のパケット構成を示すものである。
【００６５】
前述した通り、本発明ではロボットプラグイン中継システム及び方法において、分散環境下で２つのロボットプラグイン間の相互作用に関するプロトコルを定義し、ロボットプラグインフレームワークエンジンが２つのロボットプラグイン間の通信を中継するように実現してロボットプラグイン間の関数呼び出し、シンボル参照及びフレームワークエンジンとの相互作用を通じたイベント、タイマーなどの遠隔実行が可能にすることによって、ロボットプラグイン間の互換性を確保できる。
【００６６】
一方、上述した本発明の説明では具体的な実施形態について説明したが、様々な変形が本発明の範囲から逸脱せず、実施され得る。従って、発明の範囲は説明した実施形態によって定めるのではなく、特許請求の範囲により定められなければならない。
【符号の説明】
【００６７】
１００    第１ロボット遠隔プラグイン
１０２    ロボットプラグインフレームワークエンジン
１０４    第２ロボット遠隔プラグイン
１０６    ロボットローカルプラグイン
【図１】
2012131025.tif 000013
【図２】
2012131025.tif 000014
【図３】
2012131025.tif 000015
【図４】
2012131025.tif 000016