(57)【要約】【課題】モバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供方法及びその装置を提供する。【解決手段】サービス命令を受信するステップと、サービス命令を解釈して、少なくとも一つ以上の客体を生成するステップと、客体を初期化してタスク実行条件の充足如何を確認し、実行条件が満たされれば、タスクの優先順位による実行を決定するステップと、実行にロボットが提供するデータが必要であれば、ロボットに情報提供を要請した後に受信して、前記実行が決定されたタスクを実行するステップと、を含むことを特徴とするモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供方法及びその装置である。これにより、安価かつ低レベルのプロセッサを有するホームロボットに対してＸＭＬを基盤にタスクを作成することによって、ロボットサービスを容易に開発でき、安価のホームロボットも高レベルのロボットと同じサービスを具現できる。【選択図】図２
2007157166.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）サービス命令を受信するステップと、
（ｂ）前記サービス命令を解釈して、少なくとも一つ以上の客体を生成するステップと、
（ｃ）前記客体を初期化し、タスク実行条件の充足如何を確認して、実行条件が満たされれば、タスクの優先順位による実行を決定するステップと、
（ｄ）前記実行にロボットが提供するデータが必要であれば、前記ロボットに情報提供を要請した後に受信して、前記実行が決定されたタスクを実行するステップと、を含むことを特徴とするモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供方法。
【請求項２】
前記（ａ）ステップは、
ＸＭＬで作成された前記サービス命令をＴＣＰを通じて受信することを特徴とする請求項１に記載のモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供方法。
【請求項３】
前記（ｂ）ステップは、
（ｂ１）前記サービス命令を構成するタスクの種類別に客体を生成することを特徴とする請求項１に記載のモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供方法。
【請求項４】
前記（ｂ１）ステップは、
所定周期あるいは時間に実行されるタスク、ロボットユーザの命令によって実行されるタスク、事前に設定されたイベントが発生したときに実行されるタスクに種類を区分して客体を生成することを特徴とする請求項３に記載のモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供方法。
【請求項５】
前記（ｃ）ステップは、
（ｃ１）前記客体の消滅及び初期化を含む生命周期及びタスクの実行条件を検査するステップと、
（ｃ２）前記実行条件が満たされれば、優先順位に基づいて実行条件が満たされたタスクの実行を仲裁するステップと、
（ｃ３）実行するタスクをキューに保存して順次的な実行を図るステップと、を含むことを特徴とする請求項１に記載のモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供方法。
【請求項６】
前記（ｃ３）ステップは、
前記タスクを多重スレッドあるいは単一スレッドで実行することを特徴とする請求項５に記載のモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供方法。
【請求項７】
前記（ｄ）ステップは、
前記タスクの正常実行如何を判断して、失敗したならば再実行し、成功したならば他のタスクの実行を待機するステップをさらに含むことを特徴とする請求項１に記載のモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供方法。
【請求項８】
サービス命令を受信した後に解釈して、少なくとも一つ以上の客体を生成する客体生成部と、
前記客体を受信して生命周期管理及び実行条件を検査する客体管理部と、
前記実行条件の充足時に、前記客体を実行するタスクの実行如何及び実行順序を決定する仲裁部と、
前記仲裁部の決定を入力されてタスクを実行する実行部と、を備えることを特徴とするモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供装置。
【請求項９】
前記実行部は
前記タスクを順次に保存及び出力するタスクキューと、
前記タスクキューに保存されたタスクの単一あるいは多重スレッド属性によって前記タスクの実行方法を決定するスレッド管理部と、
前記決定された実行方法によってタスクを実行する客体実行部と、
前記タスクの実行結果をフィードバックされ、不完全な場合、前記仲裁部に再実行を要請するタスク実行状態管理部と、を備えることを特徴とする請求項８に記載のモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供装置。
【請求項１０】
前記客体生成部は、
サービス命令を構成するタスクの種類別に前記客体を生成することを特徴とする請求項８に記載のモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供装置。
【請求項１１】
前記仲裁部は、
前記客体の消滅及び初期化を含む生命周期及びタスクの実行条件を検査して、前記実行条件が満たされれば、優先順位に基づいて実行条件が満たされたタスクの実行を仲裁して、実行するタスクをキューに保存して順次的な実行を仲裁することを特徴とする請求項８に記載のモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供装置。
【請求項１２】
（ａ）サービス命令を受信するステップと、
（ｂ）前記サービス命令を解釈して少なくとも一つ以上の客体を生成するステップと、
（ｃ）前記客体を初期化し、タスク実行条件の充足如何を確認して、実行条件が満たされれば、タスクの優先順位による実行を決定するステップと、
（ｄ）前記実行にロボットが提供するデータが必要であれば、前記ロボットに情報提供を要請した後に受信して、前記実行が決定されたタスクを実行するステップと、を含むことを特徴とするモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供方法をコンピュータで実行させうるプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モバイルホームサービスロボットを制御する方法に係り、さらに詳細には、二輪、ＬＣＤモニタ、マイク、スピーカ、障害物感知センサや低レベルのメイン制御プロセッサを備えた安価型モバイルホームサービスロボットのための制御ソフトウェアアーキテクチャ分野に関する。さらに具体的に説明すれば、本発明は、安価のホームサービスロボットが、ユーザの命令または特定の状況により行うサービスをＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を基盤に作成して、これを遠隔ロボット制御プログラムに搭載した後に実行する方法に係り、ＣあるいはＣ＋＋またはジャバのようなプログラミング言語ではない、高レベルのテキストを基盤にロボット用サービスを開発し、これを安価のロボットでも実行させる方法に関する。
【背景技術】
【０００２】
現在、使用されている一般的なロボットタスクの作成方法は、次のように三つの形態の方法を取っている。
【０００３】
第一に、ハードウェアを抽象化したインターフェースを利用して、Ｃ＋＋またはジャバのような客体指向（オブジェクト指向）言語やＣ言語を利用してロボットタスクプログラムを直接作成する方法である。この方法は、ロボットのハードウェア特性及び制御プログラムに熟練した開発者ではなければタスクを作成し難いという問題点がある。また、一度作成されたロボットタスクの属性を実行時間に変更し難いという問題点がある。
【０００４】
第二に、第一の方法を使用しつつ、ロボットタスクで使用するハードウェア依存的なデータをＸＭＬで作成して柔軟性を追加する方法である。この方法は、前記第一の方法に比べて、ロボットタスクが使用するハードウェアの特性情報をＸＭＬ形態で作成するために、実行時間をも任意に変更しやすいという長所がある。しかし、この方法も、第一の方法で指摘された問題点のように、プログラム言語を利用して開発するため、ロボット分野において専門知識があって初めてタスクを開発できるという問題点がある。
【０００５】
第三に、あらかじめ作成されたロボットタスクプログラムを組み合わせて、実行する順序のみをＸＭＬで表現する方法である。この方法は、単純にＸＭＬを使用して、あらかじめ作成されたタスクプログラムの実行順序を指定する方法でコード化されたタスクの性格を実行時間に指定するか、または開発者が開発するときに多様な形態に作成し難いという問題点がある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
発明が解決しようとする技術的課題は、前記の問題点を解決するためになされたものであって、安価かつ低レベルのプロセッサを使用するホームロボットに対する、サービスのためのタスクを開発するに当って、ＸＭＬと同じ高レベルのテキスト基盤の言語のみを利用してロボット用サービスを開発することによって、ロボットの制御プログラムを全く知らないサービスコンテンツ開発者も、難無くロボット用サービスを開発できる方法及び装置を提供するところにある。
【課題を解決するための手段】
【０００７】
前記技術的課題を解決するために、本発明によるモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供方法は、サービス命令を受信するステップと、前記サービス命令を解釈して、少なくとも一つ以上の客体を生成するステップと、前記客体を初期化し、タスク実行条件の充足如何を確認して、実行条件が満たされれば、タスクの優先順位による実行を決定するステップと、前記実行にロボットが提供するデータが必要であれば、前記ロボットに情報提供を要請した後に受信して、前記実行が決定されたタスクを実行するステップと、を含むことを特徴とする。
【０００８】
前記技術的課題を解決するために、本発明によるモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供装置は、サービス命令を受信した後に解釈して、少なくとも一つ以上の客体を生成する客体生成部と、前記客体を受信して生命周期管理及び実行条件を検査する客体管理部と、前記実行条件の充足時に前記客体を実行するタスクの実行如何及び実行順序を決定する仲裁部と、前記仲裁部の決定を入力されてタスクを実行する実行部と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によるモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供方法及びその装置は、安価かつ低レベルのプロセッサを有するホームロボットに対して、ＸＭＬを基盤にタスクを作成することによってロボットサービスを難無く開発でき、安価のホームロボットも、高レベルのロボットと同様のサービスを具現できる。
【００１０】
また、本発明は、安価かつ低レベルのロボットに対してリアルタイム性を要求するロボット制御モジュール、例えば、速度または位置基盤ロボット制御モジュールと、センサデータ収集及び感知モジュールとはロボットに搭載し、高レベルのロボットタスク実行モジュールのみをサーバに置くことによって、ネットワークの遅延と関係なくロボットを制御できる。
【００１１】
また、本発明は、安価かつ低レベルのホームサービスロボットの場合に、ＸＭＬを解釈または実行できる計算能力に劣るため、これを解決するための手段として、ＸＭＬ基盤のサービスを解釈し、サービスを構成する各タスクを実行するサーバを遠隔に置いて、ロボットに搭載されたリアルタイムロボット制御モジュールをネットワークを通じて制御する方法及び装置を提供する。
【００１２】
また、本発明は、安価かつ低レベルのプロセッサを搭載しているモバイルホームロボットの場合に、サービス開発者がハードウェア及びロボット制御に関する専門知識がなくても、ＸＭＬを利用してロボット用サービスを難無く作成できるようにすることによって、既存にロボット制御プログラムを作成するときより開発生産性を向上させうる。
【００１３】
また、本発明は、安価のプロセッサを搭載したモバイルホームロボットの場合には計算能力が低価するため、開発者が作成したＸＭＬを解釈または実行すべき能力がないため、ネットワークに連結された遠隔ロボットタスク実行サーバをおいて、ロボットにはリアルタイムロボット制御モジュールのみを置く方法を提案することによって、高レベルのプロセッサを使用するロボットと同じレベルのサービスを行える。
【００１４】
そして、サービス開発者をして、ＸＭＬのような高レベルのテキスト基盤言語を利用して開発させ、プログラム言語が有する特性をＸＭＬに表現できるように支援して、ロボットで支援しようとするタスク（サービスを構成する要素）の属性をあらかじめ定義し、これをＸＭＬで作成した後、ロボットに搭載された制御プログラムでコードを有する客体で自動生成して実行及び管理し、タスクＸＭＬには、あらかじめ作成されたロボットの基本行動等の実行方法を指定し、実行時間に客体化されたタスクがこれを制御できる。
【発明を実施するための最良の形態】
【００１５】
以下、添付された図面を参照しつつ、本発明の望ましい一実施形態を詳細に説明する。図１は、本発明によるモバイルホームサービスロボットを制御するサーバが、ロボット及びタスク作成器と連動されることを示す概念図である。図２は、本発明によるモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供装置の構成を示すブロック図であり、図３は、図２の実行部の詳細構成を示すブロック図である。図４は、本発明によるモバイルホームサービスロボットを制御するサーバが、ロボット及びタスク作成器と連動されることをさらに詳細に示すブロック図である。 図５は、本発明によるモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供方法の過程を示すフローチャートである。
【００１６】
まず、本発明の概要及び背景を説明する。本発明は、ロボット分野に関する。特に、本発明は、二輪、ＬＣＤモニタ、マイク、スピーカ、障害物感知センサや低レベルのメイン制御プロセッサとを備えた安価型モバイルホームロボットの制御ソフトウェアアーキテクチャ分野に属する。具体的に、本発明は、安価かつ低レベルのプロセッサを使用するモバイルホームサービスロボットが、ユーザの命令や特定の状況により行うサービスをＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を利用して作成し、遠隔タスク実行サーバ及びロボットに搭載されたリアルタイム制御モジュールを利用してタスクを実行する方法に関する。以下、使用される用語について定義すれば、次の通りである。まず、行為とは、ロボットの基本行動（位置移動、ＴＴＳ、インターネット情報検索、センシング等）を言い、タスクとは、ロボットが行う単位任務（ユーザに近づくこと、新聞を読み取ること、メールを読み取ること、バッテリの充電など）、行為の集合からなるものを言う。そして、サービスとは、ロボットが行うサービス（お父さんに近づいて新聞を読んであげることなど）、すなわち、タスクのまとまりを言う。
【００１７】
本発明では、開発者が作成するサービスは、タスクから構成されており、タスク制御サーバは、サービスＸＭＬから各タスクを分離して実行を担当するサーバである。
【００１８】
図１は、本発明に係るモバイルホームサービスロボットのＸＭＬ基盤のサービスを実行する全体的な流れを説明するための図面であって、本発明によるモバイルホームサービスロボットを制御するサーバが、ロボット及びタスク作成器と連動されることを示す。
【００１９】
図１に示すように、各構成要素は、何れも相異なるプロセッサに存在し、ネットワークを通じて互いに連結されている。特に、ロボットプログラムを駆動するタスク実行モジュール及びリアルタイムロボット制御モジュールの場合、既存のロボットの場合には、何れも一つのロボットに存在するか、または同じサーバに存在する形式を取る。しかし、本発明では、ロボットタスク実行モジュールとリアルタイムロボット制御モジュールとを分離して、サーバ及びクライアントの概念として存在するようにした。
【００２０】
図１に示すように、サービス開発者は、クライアントＰＣに存在するロボットタスクＸＭＬ作成器１１０を通じてサービスを作成し、ＴＣＰを通じて遠隔ロボットタスク実行サーバ１２０に伝送する。伝送されたサービスＸＭＬは、遠隔ロボットタスク制御サーバ１２０によって解釈されて、各タスクの実行を待機する。タスク実行条件が満たされれば、遠隔タスク実行サーバ１２０によりタスクが実行され、モータ制御及びセンサデータの取得の必要な場合には、ロボット１３０に搭載されたリアルタイムロボット制御器１３１を通じてロボット物理階層（モータ／センサ）１３３の機能を利用する。このとき、ロボット１３０に搭載されたリアルタイムロボット制御器１３１は、速度及び位置基盤のモータ制御モジュール（図示せず）及びロボット物理階層１３３からデータを周期的に受け取る機能を行う。また、遠隔ロボットタスク制御サーバ１２０には、位置移動、経路計画、ユーザ認識などのロボットの基本的な行為が基本的に内蔵されており、客体化されたタスクが行われる。
【００２１】
遠隔ロボットタスク制御サーバ１２０で、ＸＭＬで作成されたタスクを客体化及び実行する遠隔ロボットタスク実行サーバの構成を示す一実施形態は、図２の通りである。図２に示すように、客体生成部２１０は、外部からサービス命令を受信した後に解釈して、少なくとも一つ以上の客体を生成する。特に、サービス命令を構成するタスクの種類別に前記客体を生成する。客体管理部２２０は、客体生成部２１０が生成した前記客体を受信して、生命周期管理及び実行条件を検査する。仲裁部２３０は、前記客体管理部の検査結果、前記実行条件が満たされれば、前記客体を行うタスクの実行如何及び実行順序を決定する。さらに詳細には、前記客体の消滅及び初期化を含む生命周期及びタスクの実行条件を検査して、前記実行条件が満たされれば、優先順位に基づいて実行条件が満たされたタスクの実行を仲裁して実行するタスクを、次に説明するタスクキュー３１０に保存して順次的な実行を仲裁する。実行部２３０は、仲裁部のその決定を入力されてタスクを実行する。
【００２２】
図３を参照しつつ、実行部２４０のさらに詳細な構成を説明する。まず、タスクキュー３１０は、前記タスクを順次に保存して出力する。スレッド管理部３４０は、前記タスクキュー３１０に保存されたタスクの単一あるいは多重スレッド属性によって前記タスクの実行方法を決定する。客体実行部３２０は、スレッド管理部３４０によって決定された前記実行方法によってタスクを実行する。そして、タスク実行状態管理部は、前記タスクの実行結果をフィードバックされ、不完全な場合、前記仲裁部２３０に再実行を要請する機能を行う。
【００２３】
遠隔ロボットタスク制御サーバ１２０でＸＭＬで作成されたタスクを客体化及び実行するさらに具体的な一実施形態を、図４及び図５を参照しつつ説明する。図４に示すように、タスクＸＭＬ作成器１１０で作成されたサービス（タスクの集合）ＸＭＬは、ＴＣＰを通じて遠隔ロボットタスク制御サーバ１２０に伝送される。タスクＸＭＬ解釈部４０１は、受信したサービスＸＭＬを解釈した後、客体生成部４０２にタスクの情報を伝達し、客体生成部４０２は、このタスクの類型によって自動で客体を生成する。このとき、タスクの次のような類型に区分して客体を生成する。
−時間型タスク：所定時間に一回のみ実行されるか、または一定の周期を有して実行されるタスクである。例えば、モーニングコール及びアラームのようなものである。
−命令型タスク：ユーザの命令によって行われるタスクである。例えば、“ロボット！こっちにおいで！”という命令に対して、ロボットがユーザに近づくタスクである。
−イベント型タスク：開発者が定義したイベントが発生したときに行われるタスクである。
【００２４】
例えば、外部センサである窓開き感知センサから窓が開かれたイベントが発生するときに行われるタスクは、イベント型タスクと定義される（ステップＳ５１０）。
【００２５】
以下では、客体生成部４０２から生成された各客体は、類型別の客体管理部４０３、４０４、４０５に伝達されて初期化され、実行条件が満足されることを待つ。客体管理部は、図４に示すように、そして、前述された種類別タスクを管理するために、時間型客体管理部４０３、命令型客体管理部４０４、及びイベント型客体管理部４０５に区分して構成される（ステップＳ５２０）。
【００２６】
客体管理部４０３、４０４、４０５は、客体の消滅及び初期化を含む生命周期管理、及びタスクの実行条件検査を含む機能を行う。各タスクの実行条件が満足されれば、客体管理部４０３、４０４、４０５は、タスク実行仲裁部４０６に当該タスクの実行仲裁を要請する（ステップＳ５４０）。タスク実行仲裁部４０６は、同時または順次的に複数のタスクを行うとき、何なるタスクを先に行うか、または実行中のタスクを停止または中止するかを決定する。
【００２７】
例えば、ホームロボットが家の中でお使いを行っている場合に、ガス漏れが感知されれば、タスク実行仲裁部４０６により現在実行中のお使いタスクをしばらく中断し、ガス漏れ対応タスクを先に行った後、以前のお使いを行うようなことである。
【００２８】
また、図４に示すように、タスク実行仲裁部４０６は、実行するタスクをタスクキュー４０７に保存して、タスクを順次に行わせる。タスクキュー４０７に保存された客体は、何れも自身がスレッド形態で実行されるか否かの情報を有している。スレッド管理部４０８は、タスクキュー４０７のタスク客体を多重スレッドまたは単一スレッドで実行させ、単一スレッドである場合、順次にタスクキュー４０７に含まれたタスクを実行する。
【００２９】
例えば、音楽を再生するタスク及びユーザに近づいて写真を撮るタスクがタスクキュー４０７に入ったと仮定すると、音楽を再生するタスクは、いかなるタスクとも同時に実行されうるタスクであるので、マルチスレッドの属性を有し、第二の場合には、モータを動かして移動することと関連し、異なるタスクが同時にモータを動かしてはならないので、必ず単一スレッドで実行されねばならない。また、モータの動きと関連があるので、タスクは、いずれも順次に実行されねばならない。このようなものをタスク実行仲裁部４０６が整理する（ステップＳ５４０）。
【００３０】
タスクの実行において、リアルタイムロボット制御器１３１を呼び出す必要のある場合を判断して（ステップＳ５５０）、必要な場合には、ロボット行為実行部４１１を通じて、ロボットに搭載されたリアルタイムロボット制御器１３１に制御命令を伝達して必要な情報を獲得する（ステップＳ５６０）。ロボット行為実行部４１１には、ロボット位置移動及びユーザ認識のようなロボットの基本的な行為があらかじめ内蔵されている。タスクの実行が完了すれば、タスク実行状態管理部４０９は、タスクが正常に実行されたか否かを判断し、実行が失敗した場合には、タスク実行仲裁部４０６にタスクの再実行を要請する（ステップＳ５７０）。
【００３１】
以下は、本発明のタスクを定義するＸＭＬのＤＴＤ（Ｄｏｃｕｍｅｎｔ  ＴｙｐｅＤｅｆｉｎｉｔｉｏｎ）に関する一実施形態であって、ＸＭＬのタグ構造及び各タグの説明である。
＜？ｘｍｌ  ｖｅｒｓｉｏｎ＝“１.０”ｅｎｃｏｄｉｎｇ＝“ＵＴＦ−８”？＞
＜！ＥＬＥＭＥＮＴ  ｓｅｒｖｉｃｅｓ（ｃｏｎｔｅｘｔ−ｉｎｆｏ＊、ｓｅｒｖｉｃｅ＋）＞
＜！−−ｓｅｒｖｉｃｅは、サービスを構成しているタスクを記述する。一つのサービスは、一つ以上のタスクから構成される。
Ｕｓｅｄ  ｉｎ：ｓｅｒｖｉｃｅｓ
−−＞＜！ＥＬＥＭＥＮＴ  ｓｅｒｖｉｃｅ（ｓｅｒｖｉｃｅ−ｎａｍｅ，ｔａｓｋ＊）＞
＜！−−サービスの名前を指定する。
Ｕｓｅｄ  ｉｎ：ｓｅｒｖｉｃｅ
−−＞＜！ＥＬＥＭＥＮＴ  ｓｅｒｖｉｃｅ−ｎａｍｅ（＃ＰＣＤＡＴＡ）＞
＜！−−サービスを構成するタスクの属性を指定する。各タスク属性は、ｎａｍｅ、ｐｒｏｐｅｒｔｙ及び実行するロボット行為の情報から構成される。各タスクは、一つ以上の行為を有しうる。
Ｕｓｅｄ  ｉｎ：ｓｅｒｖｉｃｅ
−−＞＜！ＥＬＥＭＥＮＴ  ｔａｓｋ（ｎａｍｅ，ｐｒｏｐｅｒｔｉｅｓ，ｂｅｈａｖｉｏｒｓ＊）＞
＜！−−タスクの名前を指定する。
Ｕｓｅｄ  ｉｎ：ｔａｓｋ
−−＞＜！ＥＬＥＭＥＮＴ  ｎａｍｅ（＃ＰＣＤＡＴＡ）＞
＜！−−タスクの属性を指定する。タスクの属性は、実行方式、呼び出し命令語、優先順位、実行形態、実行完了後に実行する次のタスクから構成される。属性情報の詳細な内容は、各タグ説明に記載する。タスクの実行方式は、タスクを実行する方式を意味し、実行形態は、プログラムの内部で単一スレッドまたはマルチスレッドで駆動させるかを意味する。ｐｒｏｐｅｒｔｉｅｓを構成する各要素は、イベント、命令、時間の実行方式によって指定すべき属性が変わる。ｔｉｍｅｒｔｙｐｅ、ｅｘｐｉｒａｔｉｏｎ、ｄｕｒａｔｉｏｎ、ｉｎｔｅｒｖａｌは、ｅｘｅｃｔｙｐｅがＴｉｍｅｒ  Ｔａｓｋである場合でのみ使用される値である。
Ｕｓｅｄ  ｉｎ：ｔａｓｋ
−−＞＜！ＥＬＥＭＥＮＴ  ｐｒｏｐｅｒｔｉｅｓ（ｅｘｅｃｔｙｐｅ、ｃｏｍｍａｎｄ？、ｐｒｉｏｒｉｔｙ？、ｔｙｐｅ、ｎｅｘｔ−ｉｎｖｏｋｅ？、ｐｏｓｔ−ｃｏｎｄｉｔｉｏｎ？、ｐｒｅ−ｃｏｎｄｉｔｉｏｎ？、ｔｉｍｅｒｔｙｐｅ？、ｆｉｒｅｔｉｍｅ？、ｄｕｒａｔｉｏｎ？、ｉｎｔｅｒｖａｌ？）＞
＜！−−タスクの実行条件の方式を指定する。タスクの実行方式は、イベント、命令、時間の３つ形態に区分される。
Ｕｓｅｄ  ｉｎ：ｐｒｏｐｅｒｔｉｅｓ
−−＞＜！ＥＬＥＭＥＮＴ  ｅｘｅｃｔｙｐｅ（＃ＰＣＤＡＴＡ）＞
＜！−−？タスク実行仲裁モジュールで使用する実行形態を指定する。タスクの実行形態は、Ｐａｒａｌｌｅｌ、Ｓｉｎｇｌｅ、Ｐｌａｎｎｅｄの３種類の一つである。
１）Ｐａｒａｌｌｅｌ  Ｔａｓｋ：同時実行の可能なタスク（Ｍｏｖｅｔｏ及びＧｏｔｏｔｏのように、リアルタイムロボット制御の不要なタスク）
例）Ｍｕｓｉｃ  Ｐｌａｙ  Ｔａｓｋ、Ｅ−ｍａｉｌ  Ｓｅｎｄ  Ｔａｓｋ、Ｈｏｍｅ  Ａｐｐｌｉａｎｃｅ  Ｃｏｎｔｒｏｌ  Ｔａｓｋなど
２）Ｓｉｎｇｌｅ  Ｔａｓｋ：システムにたった一つのみ駆動されうるタスク
例）Ｆｏｌｌｏｗ  Ｐｅｒｓｏｎ  Ｔａｓｋなど
３）Ｐｌａｎｎｅｄ  Ｔａｓｋ：Ｐａｔｈ  Ｐｌａｎｎｉｎｇの対象になれるタスク（単一スレッドで順次に実行）
例）Ｍｏｖｅ  Ｔｏ  Ｔａｓｋ、Ｇｏ  Ｔｏ  Ｔａｓｋなど
Ｕｓｅｄ  ｉｎ：ｐｒｏｐｅｒｔｉｅｓ
−−＞＜！ＥＬＥＭＥＮＴ  ｔｙｐｅ（＃ＰＣＤＡＴＡ）＞
＜！−−タスクの実行方式がｃｏｍｍａｎｄに指定された場合、タスクを呼び出す命令語を指定する。ｅｖｅｎｔに指定されている場合には、この命令語を命令型タスク管理者に伝達して実行させる。
Ｕｓｅｄ  ｉｎ：ｐｒｏｐｅｒｔｉｅｓ
−−＞＜！ＥＬＥＭＥＮＴ  ｃｏｍｍａｎｄ（＃ＰＣＤＡＴＡ）＞
＜！−−開発者が指定するタスクの優先順位である。ｐｒｉｏｒｉｔｙがなく、Ｐｌａｎｎｅｄ  Ｔａｓｋに設定されているタスクは、タスク実行仲裁モジュールで移動距離を基準に動的に優先順位を割り当てる。
Ｕｓｅｄ  ｉｎ：ｐｒｏｐｅｒｔｉｅｓ
−−＞＜！ＥＬＥＭＥＮＴ  ｐｒｉｏｒｉｔｙ（＃ＰＣＤＡＴＡ）＞
＜！−−現在実行するタスクの実行が完了した後、呼び出すタスクを指定する。
Ｕｓｅｄ  ｉｎ：ｐｒｏｐｅｒｔｉｅｓ
−−＞＜！ＥＬＥＭＥＮＴ  ｎｅｘｔ−ｉｎｖｏｋｅ（＃ＰＣＤＡＴＡ）＞
＜！−−タスクの実行結果に対する成功如何条件を記述する。タスクの成功的な完了如何は、Ｌｏｇｉｃａｌ  Ｓｅｎｓｏｒにより検査される。Ｌｏｇｉｃａｌ  Ｓｅｎｓｏｒの種類及び値は、ユーザによって指定される。Ｐｏｓｔ−Ｃｏｎｄｉｔｉｏｎが満たされない場合、ｎｅｘｔ−ｉｎｖｏｋｅにより設定された次のタスクは実行されない。Ｌｏｇｉｃａｌ  Ｓｅｎｓｏｒは、ロボット実行状態管理モジュールに存在する仮想のセンサである。
Ｕｓｅｄ  ｉｎ：ｐｒｏｐｅｒｔｉｅｓ
−−＞＜！ＥＬＥＭＥＮＴ  ｐｏｓｔ−ｃｏｎｄｉｔｉｏｎ（ｌｏｇｉｃａｌｓｅｎｓｏｒ，ｖａｌｕｅ）＞
＜！−−Ｌｏｇｉｃａｌ  Ｓｅｎｓｏｒの種類を指定する。
Ｕｓｅｄ  ｉｎ：ｐｏｓｔ−ｃｏｎｄｉｔｉｏｎ
−−＞＜！ＥＬＥＭＥＮＴ  ｌｏｇｉｃａｌ  ｓｅｎｓｏｒ（＃ＰＣＤＡＴＡ）＞
＜！−−Ｌｏｇｉｃａｌ  Ｓｅｎｓｏｒの値を指定する。
Ｕｓｅｄ  ｉｎ：ｐｏｓｔ−ｃｏｎｄｉｔｉｏｎ
−−＞＜！ＥＬＥＭＥＮＴ  ｖａｌｕｅ（＃ＰＣＤＡＴＡ）＞
＜！−−タスクが実行される前に実行可否を検査するための条件を記述する。タスクの実行決定は、ｐｏｓｔ−ｃｏｎｄｉｔｉｏｎと同様に、Ｌｏｇｉｃａｌ  Ｓｅｎｓｏｒにより検査される。Ｌｏｇｉｃａｌ  Ｓｅｎｓｏｒの種類及び値は、ユーザによって指定される。ｐｒｅ−ｃｏｎｄｉｔｉｏｎが満たされない場合、タスクは実行されない。
Ｕｓｅｄ  ｉｎ：ｐｒｏｐｅｒｔｉｅｓ
−−＞＜！ＥＬＥＭＥＮＴ  ｐｒｅ−ｃｏｎｄｉｔｉｏｎ（ｌｏｇｉｃａｌ  ｓｅｎｓｏｒ，ｖａｌｕｅ）＞
＜！−−タスクの実行方式がｔｉｍｅｒである場合に設定される値であり、ＯｎｅｓｈｏｔＴｉｍｅｒとＰｅｒｉｏｄｉｃＴｉｍｅｒのうち一つの値を有する。
１）ＯｎｅｓｈｏｔＴｉｍｅｒは、所定時間に一回のみ実行するＴａｓｋ（絶対時間）
２）ＰｅｒｉｏｄｉｃＴｉｍｅｒは、一定の時間間隔で実行され続けるＴａｓｋ（相対時間）
Ｕｓｅｄ  ｉｎ：ｐｒｏｐｅｒｔｉｅｓ
−−＞＜！ＥＬＥＭＥＮＴ  ｔｉｍｅｒｔｙｐｅ（＃ＰＣＤＡＴＡ）＞
＜！−−タスクの実行方式がＴｉｍｅｒである場合に設定される値であり、Ｔｉｍｅｒ  ＴａｓｋがＯｎｅｓｈｏｔＴｉｍｅｒである場合に、登録後から終了時点までＴｉｍｅｒがｆｉｒｅされるまでの時間を意味する。
Ｕｓｅｄ  ｉｎ：ｐｒｏｐｅｒｔｉｅｓ
−−＞＜！ＥＬＥＭＥＮＴ  ｆｉｒｅｔｉｍｅ（＃ＰＣＤＡＴＡ）＞
＜！−−タスクの実行方式がＴｉｍｅｒである場合に設定される値であり、ＰｅｒｉｏｄｉｃＴｉｍｅｒに設定された場合、Ｔｉｍｅｒが最初にＦｉｒｅされるまでの時間を意味する。
Ｕｓｅｄ  ｉｎ：ｐｒｏｐｅｒｔｉｅｓ
−−＞＜！ＥＬＥＭＥＮＴ  ｄｕｒａｔｉｏｎ（＃ＰＣＤＡＴＡ）＞
＜！−−タスクの実行方式がＴｉｍｅｒである場合に設定される値であり、ＰｅｒｉｏｄｉｃＴｉｍｅｒに設定された場合、ＴｉｍｅｒＴａｓｋがＦｉｒｅされる周期を意味する。
Ｕｓｅｄ  ｉｎ：ｐｒｏｐｅｒｔｉｅｓ
−−＞＜！ＥＬＥＭＥＮＴ  ｉｎｔｅｒｖａｌ（＃ＰＣＤＡＴＡ）＞
＜！−−タスクを構成する行為の情報を記述する。
Ｕｓｅｄ  ｉｎ：ｔａｓｋ
−−＞＜！ＥＬＥＭＥＮＴ  ｂｅｈａｖｉｏｒｓ（ｂｅｈａｖｉｏｒ＊）＞
＜！−−タスクを構成する単位行為の情報を記述する。
Ｕｓｅｄ  ｉｎ：ｂｅｈａｖｉｏｒｓ
−−＞＜！ＥＬＥＭＥＮＴ  ｂｅｈａｖｉｏｒ（ｓｅｑｕｅｎｃｅ，ｔｙｐｅ，ｏｗｎｅｒ？，ｄｅｆｉｎｅｄ−ｃｌａｓｓ−ｎａｍｅ？，ｎｏｒｍａｌ−ｃｏｎｔｅｎｔ？，ａｂｎｏｒｍａｌ＿ｃｏｎｔｅｎｔ？，ｐｏｓｔ−ｃｏｎｄｉｔｉｏｎ？，ｇｏａｌ？）＞
＜！−−タスクを構成する単位行為の実行順序を記述する。
Ｕｓｅｄ  ｉｎ：ｂｅｈａｖｉｏｒ
−−＞＜！ＥＬＥＭＥＮＴ  ｓｅｑｕｅｎｃｅ（＃ＰＣＤＡＴＡ）＞
＜！−−行為の客体の名称を指定する。
Ｕｓｅｄ  ｉｎ：ｂｅｈａｖｉｏｒ
−−＞＜！ＥＬＥＭＥＮＴ  ｄｅｆｉｎｅｄ−ｃｌａｓｓ−ｎａｍｅ（＃ＰＣＤＡＴＡ）＞
【００３２】
また、本発明によるモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供方法は、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取られうるデータが保存される全ての種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ、磁気テープ、フロッピーディスク、光データ記録装置などがあり、また、キャリアウェーブ（例えば、インターネットを通した伝送）の形態で具現されるものも含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードが保存かつ実行されうる。
【００３３】
以上、図面および明細書で最適の実施形態が開示された。ここでは特定の用語が使用されたが、これは、単に本発明を説明するための目的で使用されたものであり、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使用されたものではない。したがって、当業者ならば、これから多様な変形及び均等な他の実施形態が可能であるという点が理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決まらねばならない。
【産業上の利用可能性】
【００３４】
本発明は、モバイルホームサービスロボットに関連した技術分野に好適に適用され得る。
【図面の簡単な説明】
【００３５】
【図１】本発明によるモバイルホームサービスロボットを制御するサーバが、ロボット及びタスク作成器と連動されることを示す概念図である。
【図２】本発明によるモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供装置の構成を示すブロック図である。
【図３】図２の実行部の詳細構成を示すブロック図である。
【図４】本発明によるモバイルホームサービスロボットを制御するサーバが、ロボット及びタスク作成器と連動されることをさらに詳細に示すブロック図である。
【図５】本発明によるモバイルホームサービスロボットを制御するサーバのＸＭＬ基盤のサービス提供方法の過程を示すフローチャートである。
【符号の説明】
【００３６】
２１０  客体生成部
２２０  客体管理部
２３０  仲裁部
２４０  実行部
３１０  タスクキュー
３２０  客体実行部
３４０  スレッド管理部
【図１】
2007157166.tif 000003
【図２】
2007157166.tif 000004
【図３】
2007157166.tif 000005
【図４】
2007157166.tif 000006
【図５】
2007157166.tif 000007