(57)【要約】【課題】  一連のサービスフローを複数のロボットにより連携させることにより確実に実行することができ、かつロボットリソースを有効に活用することができるロボット連携システムを提供する。【解決手段】  本発明は、一連のサービスフローを実行する際に必要とされるロボット能力を取得するとともに、引継ぎ先のロボットの状態及びロボットの能力に基づいて、ロボットを選択する。【選択図】      図１１
2007249801.tif 000002
【特許請求の範囲】
【請求項１】
複数のサービスからなる一連のサービスフローを示すサービスフロー識別情報と、前記サービスフロー識別情報によって示されるサービスフローの実行に必要なロボットの保有能力とを関連付けて記憶するサービスフロー情報テーブルと、
ロボット識別情報と、ロボットの状態と、ロボットタイプ情報とを関連付けて記憶するロボット情報テーブルと、
ロボットタイプ情報と、ロボットの保有能力とを関連付けて記憶するロボットタイプ情報テーブルと、
イベントと、ロボットの状態と、ロボットへのアクションコマンドと、次のサービスへ移行する際のロボットの引継ぎに関する情報を示すフラグとを関連付けて記憶するサービス状態遷移テーブルと、
サービスフロー識別情報と、前記フラグと、引継ぎ先のロボットタイプ情報とを関連付けて記憶するサービスフローシナリオテーブルと、
サービスフローを示すサービスフロー識別情報を決定する手段と、
前記決定されたサービスフロー識別情報を条件として、前記サービスフロー情報テーブル、前記ロボット情報テーブル及び前記ロボットタイプ情報テーブルを検索して、前記決定されたサービスフローを実行するロボットの識別情報を決定する手段と、
前記決定されたロボット識別情報のロボットの状態をロボット情報テーブルを検索して取得し、この取得したロボットの状態及びイベントを条件として、前記サービス状態遷移テーブルを検索して関連付けられたアクションコマンドを前記決定されたロボット識別情報によって示されるロボットに送信するとともに、当該アクションコマンドに関連付けられたフラグがロボットの引継ぎを行うことを示しているかを決定する手段と、
前記フラグがロボットの引継ぎを行うことを示していると決定された場合に、前記決定されたサービスフロー識別情報及び前記フラグを条件として、前記サービスフローシナリオテーブルを検索して、引継ぎ先のロボットタイプ情報を取得する手段と、
前記取得した引継ぎ先のロボットタイプ情報を条件として、前記ロボット情報テーブル、前記サービスフローシナリオテーブル及び前記サービスフロー情報テーブルを検索して、引継ぎ先のロボットの識別情報を決定する手段と
を具備することを特徴とするロボット連携システム。
【請求項２】
ユーザの識別情報と、サービスフロー起動イベントと、及びサービスフロー識別情報とが互いに関連付けて記憶されたユーザ情報テーブルをさらに具備し、
前記サービスフロー識別情報を決定する手段は、
サービスフロー起動イベント及びユーザの識別情報を検出する手段と、
前記検出されたサービスフロー起動イベント及びユーザの識別情報を条件として、前記ユーザ情報テーブルを検索することにより前記サービスフロー識別情報を決定する手段と
を具備することを特徴とする請求項１記載のロボット連携システム。
【請求項３】
前記ロボットの識別情報を決定する手段は、
前記決定されたサービスフロー識別情報を条件として、前記サービスフロー情報テーブルを検索して、前記決定されたサービスフロー識別情報によって示されるサービスフローの実行に必要なロボットの保有能力を取得する手段と、
ロボットの状態がアイドリングであることを条件として、前記ロボット情報テーブルを検索して、ロボット識別情報を取得する手段と、
前記取得したロボット識別情報に関連付けられたロボットタイプ情報を条件として、前記ロボットタイプ情報テーブルを検索して、ロボットの保有能力を決定する手段と、
前記取得されたサービスフローの実行に必要なロボットの保有能力を満たす前記決定したロボットの保有能力に関連付けられたロボット識別情報を決定する手段とを具備することを特徴とする請求項１記載のロボット連携システム。
【請求項４】
前記引継ぎ先のロボットの識別情報を決定する手段は、
前記取得した引継ぎ先のロボットタイプ情報を条件として、前記ロボット情報テーブルを検索して、前記引継ぎ先のロボットの保有能力を取得する手段と、
前記サービスフローシナリオテーブルを参照して、次に実行するサービスフローを示すサービスフロー識別情報を選択し、この選択したサービスフロー識別情報を条件として、前記サービスフロー情報テーブルを検索し、前記選択された次に実行するフローの実行に必要なロボットの保有能力を取得する手段と、
前記取得された次に実行するフローの実行に必要なロボットの保有能力を満たす前記取得した引継ぎ先のロボットの保有能力を満たす引継ぎ先のロボット識別情報を、引継ぎ先のロボットの状態がアイドリングであることを条件として、前記ロボット情報テーブルを検索して決定する手段とを具備することを特徴とする請求項１記載のロボット連携システム。
【請求項５】
複数のサービスからなる一連のサービスフローを示すサービスフロー識別情報と、前記サービスフロー識別情報によって示されるサービスフローの実行に必要なロボットの保有能力とを関連付けて記憶するサービスフロー情報テーブルと、
ロボット識別情報と、ロボットの状態と、ロボットタイプ情報とを関連付けて記憶するロボット情報テーブルと、
ロボットタイプ情報と、ロボットの保有能力とを関連付けて記憶するロボットタイプ情報テーブルと、
イベントと、ロボットの状態と、ロボットへのアクションコマンドと、次のサービスへ移行する際のロボットの引継ぎに関する情報を示すフラグとを関連付けて記憶するサービス状態遷移テーブルと、
サービスフロー識別情報と、前記フラグと、引継ぎ先のロボットタイプ情報とを関連付けて記憶するサービスフローシナリオテーブルとを具備するロボット連携システムにおけるロボット連携方法において、
サービスフローを示すサービスフロー識別情報を決定し、
前記決定されたサービスフロー識別情報を条件として、前記サービスフロー情報テーブル、前記ロボット情報テーブル及び前記ロボットタイプ情報テーブルを検索して、前記決定されたサービスフローを実行するロボットの識別情報を決定し、
前記決定されたロボット識別情報のロボットの状態をロボット情報テーブルを検索して取得し、この取得したロボットの状態及びイベントを条件として、前記サービス状態遷移テーブルを検索して関連付けられたアクションコマンドを前記決定されたロボット識別情報によって示されるロボットに送信するとともに、当該アクションコマンドに関連付けられたフラグがロボットの引継ぎを行うことを示しているかを決定し、
前記フラグがロボットの引継ぎを行うことを示していると決定された場合に、前記決定されたサービスフロー識別情報及び前記フラグを条件として、前記サービスフローシナリオテーブルを検索して、引継ぎ先のロボットタイプ情報を取得し、
前記取得した引継ぎ先のロボットタイプ情報を条件として、前記ロボット情報テーブル、前記サービスフローシナリオテーブル及び前記サービスフロー情報テーブルを検索して、引継ぎ先のロボットの識別情報を決定することを特徴とするロボット連携方法。
【請求項６】
前記ロボット連携システムは、ユーザの識別情報と、サービスフロー起動イベントと、及びサービスフロー識別情報とが互いに関連付けて記憶されたユーザ情報テーブルをさらに具備し、
前記サービスフロー識別情報を決定することは、
サービスフロー起動イベント及びユーザの識別情報を検出し、
前記検出されたサービスフロー起動イベント及びユーザの識別情報を条件として、前記ユーザ情報テーブルを検索することにより前記サービスフロー識別情報を決定することを特徴とする請求項５記載のロボット連携方法。
【請求項７】
前記ロボットの識別情報を決定することは、
前記決定されたサービスフロー識別情報を条件として、前記サービスフロー情報テーブルを検索して、前記決定されたサービスフロー識別情報によって示されるサービスフローの実行に必要なロボットの保有能力を取得し、
ロボットの状態がアイドリングであることを条件として、前記ロボット情報テーブルを検索して、ロボット識別情報を取得し、
前記取得したロボット識別情報に関連付けられたロボットタイプ情報を条件として、前記ロボットタイプ情報テーブルを検索して、ロボットの保有能力を決定し、
前記取得されたサービスフローの実行に必要なロボットの保有能力を満たす前記決定したロボットの保有能力に関連付けられたロボット識別情報を決定することを特徴とする請求項５記載のロボット連携方法。
【請求項８】
前記引継ぎ先のロボットの識別情報を決定することは、
前記取得した引継ぎ先のロボットタイプ情報を条件として、前記ロボット情報テーブルを検索して、前記引継ぎ先のロボットの保有能力を取得し、
前記サービスフローシナリオテーブルを参照して、次に実行するサービスフローを示すサービスフロー識別情報を選択し、この選択したサービスフロー識別情報を条件として、前記サービスフロー情報テーブルを検索し、前記選択された次に実行するフローの実行に必要なロボットの保有能力を取得し、
前記取得された次に実行するフローの実行に必要なロボットの保有能力を満たす前記取得した引継ぎ先のロボットの保有能力を満たす引継ぎ先のロボット識別情報を、引継ぎ先のロボットの状態がアイドリングであることを条件として、前記ロボット情報テーブルを検索して決定することを特徴とする請求項５記載のロボット連携方法。
【請求項９】
複数のサービスからなる一連のサービスフローを示すサービスフロー識別情報と、前記サービスフロー識別情報によって示されるサービスフローの実行に必要なロボットの保有能力とを関連付けて記憶するサービスフロー情報テーブルと、
ロボット識別情報と、ロボットの状態と、ロボットタイプ情報とを関連付けて記憶するロボット情報テーブルと、
ロボットタイプ情報と、ロボットの保有能力とを関連付けて記憶するロボットタイプ情報テーブルと、
イベントと、ロボットの状態と、ロボットへのアクションコマンドと、次のサービスへ移行する際のロボットの引継ぎに関する情報を示すフラグとを関連付けて記憶するサービス状態遷移テーブルと、
サービスフロー識別情報と、前記フラグと、引継ぎ先のロボットタイプ情報とを関連付けて記憶するサービスフローシナリオテーブルとを具備するロボット連携システムにおいて使用されるプログラムにおいて、
前記プログラムは、前記ロボット連携システムに
サービスフローを示すサービスフロー識別情報を決定させ、
前記決定されたサービスフロー識別情報を条件として、前記サービスフロー情報テーブル、前記ロボット情報テーブル及び前記ロボットタイプ情報テーブルを検索して、前記決定されたサービスフローを実行するロボットの識別情報を決定させ、
前記決定されたロボット識別情報のロボットの状態をロボット情報テーブルを検索して取得し、この取得したロボットの状態及びイベントを条件として、前記サービス状態遷移テーブルを検索して関連付けられたアクションコマンドを前記決定されたロボット識別情報によって示されるロボットに送信するとともに、当該アクションコマンドに関連付けられたフラグがロボットの引継ぎを行うことを示しているかを決定させ、
前記フラグがロボットの引継ぎを行うことを示していると決定された場合に、前記決定されたサービスフロー識別情報及び前記フラグを条件として、前記サービスフローシナリオテーブルを検索して、引継ぎ先のロボットタイプ情報を取得させ、
前記取得した引継ぎ先のロボットタイプ情報を条件として、前記ロボット情報テーブル、前記サービスフローシナリオテーブル及び前記サービスフロー情報テーブルを検索して、引継ぎ先のロボットの識別情報を決定させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサービスからなる一連のサービスフローを複数のロボットを連携させることにより実行させるロボット連携システムに関する。
【背景技術】
【０００２】
複数のサービスからなる一連のサービスフローを複数のロボットの連携により実行するためのロボット連携システムが開発されている。このようなロボット連携システムでは、一連のサービスフローを実行するために、どのロボットとどのロボットが連携して動作するかが事前に定義されている。
【０００３】
例えば、ネットワーク経由で同期をとることで、あらかじめ決められた２台のロボット同士が互いに会話するロボット連携システム（非特許文献１参照。）や、２体のロボットを用いて、互いに自分の意思を積極的に相手に伝えることでコミニュケーションを図り、キャッチボールを行なうロボット連携システム（非特許文献２参照。）が開発されている。
【０００４】
【非特許文献１】塩見雅裕、神田崇行、Daniel Eaton、石黒浩、「ユビキタスセンサネットワークと連動したコミニュケーションロボットによる科学館での展示案内」、インタラクション２００５論文集、pp.127-134, 2005
【０００５】
【非特許文献２】土川陽平  他、「複数のロボットによるキャッチボールを用いたコミニュケーション」、第２３回  日本ロボット学会学術講演界、３Ｄ１３、２００５
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、協調するロボットの組み合わせが事前に定義されているロボット連携システムでは、当該ロボットに突発的な異常が発生した場合に、ユーザに対して当該ユーザが要求するサービスフローを遂行することができなくなるという問題があった。
【０００７】
また、従来の産業用ロボットのように、特定の作業用途に使用される複数のロボットをシーケンシャルに連携させるロボット連携システムの場合、特定のサービス遂行には、特定の用途のロボットが静的に割り当てられているため、仮にロボット自体が複数のサービスを実行する能力を有する汎用的なものであっても、ロボットリソースを有効に活用することができないという問題があった。
【０００８】
本発明は、上記実情に鑑みてなされたものであり、一連のサービスフローを複数のロボットを連携させることにより確実に実行することができ、かつロボットリソースを有効に活用することができるロボット連携システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の発明によれば、複数のサービスからなる一連のサービスフローを示すサービスフロー識別情報と、前記サービスフロー識別情報によって示されるサービスフローの実行に必要なロボットの保有能力とを関連付けて記憶するサービスフロー情報テーブルと、ロボット識別情報と、ロボットの状態と、ロボットタイプ情報とを関連付けて記憶するロボット情報テーブルと、ロボットタイプ情報と、ロボットの保有能力とを関連付けて記憶するロボットタイプ情報テーブルと、イベントと、ロボットの状態と、ロボットへのアクションコマンドと、次のサービスへ移行する際のロボットの引継ぎに関する情報を示すフラグとを関連付けて記憶するサービス状態遷移テーブルと、サービスフロー識別情報と、前記フラグと、引継ぎ先のロボットタイプ情報とを関連付けて記憶するサービスフローシナリオテーブルと、サービスフローを示すサービスフロー識別情報を決定する手段と、前記決定されたサービスフロー識別情報を条件として、前記サービスフロー情報テーブル、前記ロボット情報テーブル及び前記ロボットタイプ情報テーブルを検索して、前記決定されたサービスフローを実行するロボットの識別情報を決定する手段と、前記決定されたロボット識別情報のロボットの状態をロボット情報テーブルを検索して取得し、この取得したロボットの状態及びイベントを条件として、前記サービス状態遷移テーブルを検索して関連付けられたアクションコマンドを前記決定されたロボット識別情報によって示されるロボットに送信するとともに、当該アクションコマンドに関連付けられたフラグがロボットの引継ぎを行うことを示しているかを決定する手段と、前記フラグがロボットの引継ぎを行うことを示していると決定された場合に、前記決定されたサービスフロー識別情報及び前記フラグを条件として、前記サービスフローシナリオテーブルを検索して、引継ぎ先のロボットタイプ情報を取得する手段と、前記取得した引継ぎ先のロボットタイプ情報を条件として、前記ロボット情報テーブル、前記サービスフローシナリオテーブル及び前記サービスフロー情報テーブルを検索して、引継ぎ先のロボットの識別情報を決定する手段とを具備することを特徴とするロボット連携システム、である。
【００１０】
第２の発明によれば、第１の発明において、ユーザの識別情報と、サービスフロー起動イベントと、及びサービスフロー識別情報とが互いに関連付けて記憶されたユーザ情報テーブルをさらに具備し、前記サービスフロー識別情報を決定する手段は、サービスフロー起動イベント及びユーザの識別情報を検出する手段と、前記検出されたサービスフロー起動イベント及びユーザの識別情報を条件として、前記ユーザ情報テーブルを検索することにより前記サービスフロー識別情報を決定する手段とを具備することを特徴とするロボット連携システム、である。
【００１１】
第３の発明によれば、第１の発明において、前記ロボットの識別情報を決定する手段は、前記決定されたサービスフロー識別情報を条件として、前記サービスフロー情報テーブルを検索して、前記決定されたサービスフロー識別情報によって示されるサービスフローの実行に必要なロボットの保有能力を取得する手段と、ロボットの状態がアイドリングであることを条件として、前記ロボット情報テーブルを検索して、ロボット識別情報を取得する手段と、前記取得したロボット識別情報に関連付けられたロボットタイプ情報を条件として、前記ロボットタイプ情報テーブルを検索して、ロボットの保有能力を決定する手段と、前記取得されたサービスフローの実行に必要なロボットの保有能力を満たす前記決定したロボットの保有能力に関連付けられたロボット識別情報を決定する手段とを具備することを特徴とするロボット連携システム、である。
【００１２】
第４の発明によれば、第１の発明において、前記引継ぎ先のロボットの識別情報を決定する手段は、前記取得した引継ぎ先のロボットタイプ情報を条件として、前記ロボット情報テーブルを検索して、前記引継ぎ先のロボットの保有能力を取得する手段と、前記サービスフローシナリオテーブルを参照して、次に実行するサービスフローを示すサービスフロー識別情報を選択し、この選択したサービスフロー識別情報を条件として、前記サービスフロー情報テーブルを検索し、前記選択された次に実行するフローの実行に必要なロボットの保有能力を取得する手段と、前記取得された次に実行するフローの実行に必要なロボットの保有能力を満たす前記取得した引継ぎ先のロボットの保有能力を満たす引継ぎ先のロボット識別情報を、引継ぎ先のロボットの状態がアイドリングであることを条件として、前記ロボット情報テーブルを検索して決定する手段とを具備することを特徴とするロボット連携システム、である。
【発明の効果】
【００１３】
本発明によれば、一連のサービスフローを複数のロボットを連携させることにより確実に実行することができ、かつロボットリソースを有効に活用することができるロボット連携システムを提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して、本発明の実施の形態に係るロボット連携システムについて説明する。
図１は、本発明の実施の形態に係るロボット連携システムの全体を示す図である。
同図に示すように、ＬＡＮ、インターネットなどのネットワーク１にはそれぞれ接続装置２−１〜２−３を介してユーザに対してサービスを遂行するロボット３−１〜３−３、イベントを検知するためのセンサデータを検出するタグリーダ４、カメラ（図示せず）、ユーザに対してサービスを遂行するディスプレイ５及びスピーカ６などが接続されている。
【００１５】
また、ネットワーク１には、サービス開始イベントを検知して、複数のサービスからなるサービスフローをロボットを通じて提供する処理を行なうプラットフォームサーバ７が接続されている。
図２は、プラットフォームサーバの構成を示す図である。
同図に示すように、プラットフォームサーバ７は、センサ情報収集部２１、イベント検知部２２、サービスフロー起動イベント検出部２３、サービスロボット選択決定部２４、サービス状態遷移管理部２５、ロボットリソース管理部２６、ロボットデータベース３１、ユーザデータベース３２及びサービスフローデータベース３３を有している。
【００１６】
センサ情報収集部２１は、ロボットやユーザの状態を検知するためのタグリーダ、カメラなどのセンサ機器からのセンサ情報を収集する。
イベント検知部２２は、センサ情報収集部２１によって収集されたセンサ情報に基づいて、「ユーザのエリアへの入出」、「ユーザとロボットとの距離が近い」などのイベントを検知する。
【００１７】
サービスフロー起動イベント検出部２３は、センサ情報収集部２１によって収集されたセンサ情報及びユーザデータベース３２に格納されるユーザ情報テーブルに基づいて、サービスフロー起動イベントを検出する。
サービスロボット選択決定部２４は、サービスを提供するロボットを選択する処理を行なう。サービス状態遷移管理部２５は、主にロボットに対する制御を司り、例えば、制御対象となるロボットに対してコマンドを生成して出力する。
【００１８】
ロボットリソース管理部２６は、ロボットのリソースに関する処理を管理するものであり、ロボット状態表現変換部４３−１，４３−２から定期的に送られるロボットの位置及び状態をロボット情報テーブルに逐次登録する。
ユーザデータベース３２は、ユーザに関する情報を格納するものであって、図３に示すユーザ情報テーブルを格納する。同図に示すように、ユーザ情報テーブルではユーザＩＤ（識別情報）、ユーザ名、サービスフロー起動イベント、サービスフローＩＤ、ユーザの位置を示す情報（ユーザのｘ座標、ｙ座標、ｚ座標）を示す情報がユーザ毎に関連付けて格納されている。
【００１９】
サービスフローデータベース３３は、サービスフロー情報テーブル、サービスフローシナリオ及びサービス状態遷移テーブルが格納されている。ここで、サービスフローとは、一連の複数サービスから構成されるものである。サービスとは、ロボット単体で完結して実行できる動作をいう。例えば、ある位置から別の位置まで移動する／手を振る／発話するなどの動作である。
【００２０】
図４は、サービスフロー情報テーブルを示す図である。同図に示すように、サービスフロー情報テーブルには、サービスフローＩＤ、サービスフロー名、グレード及びサービスフロー実行に必要なロボット保有能力が関連付けられて記憶されている。
図５（ａ）及び（ｂ）は、サービスフローシナリオを示す図である。同図に示すように、サービスフローシナリオには、実行順序を示す情報、サービスフローＩＤ、サービスフロー名、引継ぎフラグ及び引継ぎ先ロボットタイプが関連付けて記憶されている。
【００２１】
図６及び図７は、サービス状態遷移テーブルを示す図である。図６はサービスフローＩＤ「１００１」の「付き添い案内」に関連付けられているサービス状態遷移テーブルを示す図であり、図７はサービスフローＩＤ「１００２」の「音声案内」に関連付けられているサービス状態遷移テーブルを示す図である。
【００２２】
同図に示すように、サービス状態遷移テーブルは、イベント、アクションコマンドを発行する前のロボットの事前状態、アクションコマンド、アクションコマンド発行後の事後状態、終了フラグが関連付けて記憶されている。
上記ユーザ情報テーブル、サービスフロー情報テーブル、サービスフローシナリオ、サービス状態遷移テーブルは、サービスフローＩＤにより互いに関連付けられている。なお、これらテーブルの構成の仕方は、１つのテーブルとしてもよいし、そのデータベースの構築の方法は問わない。
【００２３】
ロボットデータベース３１は、ロボット情報テーブル及びロボットタイプ情報テーブルを記憶している。
図８は、ロボット情報テーブルを示すである。同図に示すように、ロボット情報テーブルには、ロボットＩＤ、ロボット名、ロボットの状態、ロボットタイプ、ロボットの位置を示す情報（ｘ座標、ｙ座標、ｚ座標）が関連付けて記憶されている。
【００２４】
図９は、ロボットタイプ情報テーブルを示す図である。同図に示すように、ロボットタイプ情報テーブルには、ロボットタイプＩＤ、ロボットタイプ、ロボット保有能力名が関連付けて記憶されている。
接続装置２−１、２は、ロボットＡ，Ｂに対してそれぞれ設けられ、ロボット動作コマンド生成部４１−１、２、ロボット位置・状態取得部４２−１、２及びロボット状態表現変換部４３−１、２を有している。
【００２５】
ロボット動作コマンド生成部４１−１，２は、サービス状態遷移管理部２５から送信されたロボットに対するコマンドを当該ロボット固有の動作コマンドへ変換して対応するロボットに出力する。
ロボット位置・状態取得部４２−１、２は、対応するロボットの位置及び状態を取得し、対応するロボット状態表現変換部４３−１、２に出力する。
【００２６】
ロボット状態表現変換部４３−１、２は、ロボット位置・状態取得部４２−１、２によって取得されたロボットの位置及び状態の表現をロボット固有の表現からプラットフォームサーバ７に共通の表現形式に変換してロボットリソース管理部部２６に出力する。
【００２７】
図１０は、本発明の実施の形態に係るロボット連携システムによって制御されるロボットの環境の一例を説明するための図である。
同図に示すように、エリアは、エリアＡとエリアＢに分けられており、その境界付近には段差があって、移動可能なロボット−Ａタイプであっても、当該段差は超えられない。また、タグリーダが２台（ＲＦＩＤタグリーダＡ、Ｂ）設置されており、ＲＦＩＤタグリーダＡによってエリアＡ内にＲＦタグをもった利用者がいること、ＲＦＩＤタグリーダＢによってエリアＢ内にＲＦタグをもった利用者がいることを検出する。
【００２８】
利用者の位置検出は、エリア全体を視野内で捉えられるように天井に設置したカメラの画像から公知のテンプレートマッチング技術（例えば、特開平９−３３０４０２号公報参照。）を使用して検出することができる。これらタグリーダ及びカメラからのデータは、センサ情報としてプラットフォームサーバ７にて収集され、イベント検知の判定などに使用される。このような環境において、利用者をエリアＡからエリアＢへ案内するためには、エリアＡとエリアＢとの間で案内を行うロボットの連携を行う必要が生ずることになる。
【００２９】
本実施の形態においては、前提として、図３乃至図９に示したテーブルがデータベースに予め格納或いは格納されることを前提とする。以下、図１１及び図１２フローチャートを参照して、Robo-A1からRobo-A2へユーザに対して「付き添い案内」サービスフローを正常に引き継ぐ場合の処理について説明する。
【００３０】
登録済みのユーザがタグをもってエリアＡ内に入ると、タグリーダＡがユーザＩＤ（例えば、Ｕ０１０１）を検知し、この検知したユーザＩＤをセンサ情報収集部２１に送信する。また、カメラがユーザの位置を画像処理で計測し、この計測されたユーザの位置をセンサ情報収集部２１に送信する。
【００３１】
センサ情報収集部２１は、ユーザの位置を検知したユーザＩＤに関連付けてユーザ情報テーブルに登録するとともに、当該検知したユーザＩＤ及びユーザの位置をサービスフロー起動イベント検出部２３に送信する。
サービスフロー起動イベント検出部２３は、送られてきたユーザＩＤ及びユーザの位置に基づいてユーザがエリアに入ったことを検知する。そして、（エリアに入る）という検知されたユーザＩＤのサービスフロー起動イベントがユーザ情報テーブルに存在するかを判断し、存在する場合には、サービスフロー起動イベント（エリアに入る）が検知されたとして（Ｓ１）、サービスフロー起動イベント（ユーザがエリアに入る）及びユーザＩＤ(Ｕ０１０１)をサービスロボット選択決定部２４に送る。
【００３２】
サービスロボット選択決定部２４は、ユーザＩＤ（Ｕ０１０１）及びサービスフロー起動イベント（エリアに入る）を条件に、ユーザ情報テーブルを検索し、サービスフローＩＤ（１００１）「付き添い案内」を取得する（Ｓ２）。
そして、この取得したサービスフローＩＤ（１００１）を条件として、サービスフロー情報テーブルを検索し、「付き添い案内」サービスに必要なロボット保有能力として[movable],[recognizable],[confirmable],[able-to-speak],[able-to-wave-hands]の５能力が選択され、メモリ（図示せず）に保存される（Ｓ３）。
【００３３】
次に、ロボット情報テーブルの状態フィールドが[idling]であることを条件に、ロボット情報テーブルを検索して、現在利用可能なロボットリソースとして[R0011],[R0012],[R0021],[R0031]の計４つのロボットＩＤを得る（Ｓ４）。
【００３４】
Ｓ４において得られたロボットＩＤにロボット情報テーブル上で関連付けられたロボットタイプを条件として、ロボットタイプ情報テーブルを検索し、それぞれロボット保有能力を選択してメモリに保存する（Ｓ５）。
次に、Ｓ４で検索されたロボットＩＤのうち、Ｓ５で保存されたロボット保有能力がＳ３で保存されたサービスフロー実行に必要なロボット保有能力に合致するロボットＩＤを決定し（Ｓ６）、Ｓ２において取得されたサービスフローＩＤとロボットＩＤとの組み合わせをメモリに保存する（Ｓ７）。
【００３５】
すなわち、状態が[idling]かつ「付き添い案内」サービスフローの実行に必要な保有能力を備えているロボットリソースを検索すると[R0011](Robo-A1),[R0012](Robo-A2)が合致するので（Ｓ６）、サービスフローＩＤとロボットＩＤとの組み合わせとして[R0011](Robo-A1),[R0012](Robo-A2)をメモリに保存する（Ｓ７）。
【００３６】
次に、Ｓ７で保存されたサービスフローＩＤとロボットＩＤとの組は複数であるか否かの判断が行われる（Ｓ８）。Ｓ８において複数であると判断された場合には、現在のユーザ位置に直線距離で最も近いロボットＩＤを選択しメモリに保存する（Ｓ９）。
なお、直線距離がほとんど変わらない場合には、Ｓ８で最初に選択されたロボットＩＤを選択する。或いは、サービスフロー情報テーブルのグレードが最大となるサービスフローＩＤを組にもつロボットＩＤを選択しても良い。本実施の形態においては、エリアＡ内のロボットＩＤ[R00111](Robo-A1)が選択される。Ｓ８において複数ではないと判断された場合及びＳ９の処理の後、選択されたサービスフローＩＤに対応するロボットＩＤをメモリから読み出す（Ｓ１０）。
【００３７】
次に、一定時間間隔で読み出されたロボットＩＤに相当するロボットから送信されるロボット状態を取得し、この取得したロボット状態でロボット情報テーブルの読み出されたロボットＩＤに対応する状態フィールドを更新する（Ｓ１１）。
本実施の形態においては、Robo-A1から取得された[idling]という状態情報が、ロボット状態表現変換部からロボットリソース管理部２６に送信され、ロボット情報テーブルのロボットＩＤ[R0011]に対応する状態フィールドが[idling]に更新される。
【００３８】
その後、タイムアウトが発生したか否かの判断が行われ（Ｓ１２）、発生していないと判断された場合には、当該ロボット又はセンサ情報収集部２１から送信されるイベントがあるか否かの判断が行われる（Ｓ１３）。
本実施の形態においては、ユーザがRobo-A1に近づくと、カメラの画像処理による位置計算でイベント検知部２２から「ユーザとRobo-A1が近い]というイベントがサービス状態遷移管理部２５に送信される。
【００３９】
Ｓ１３における処理終了後、或いはＳ１２においてタイムアウトが発生したと判断された場合には、送信されたイベント及びロボットの状態（事前状態）を条件として、サービス状態遷移テーブルを検索して、当該ロボットに対するアクションコマンドを得て、この得られたアクションコマンドをロボットに送信する（Ｓ１４）。一方、Ｓ１３において、イベントなしと判断された場合には、Ｓ１２の処理に戻る。
【００４０】
すなわち、本実施の形態においては、「ユーザとRobo-A1が近い]というイベントとRobo-A1の事前状態[idling]を条件として、状態遷移テーブルを検索することによりアクションコマンド[recognize]を得て、このアクションコマンド[recognize]がRobo-A1に送信される。
【００４１】
その後、状態遷移テーブルを検索することにより、アクションコマンドに対応する終了フラグが「継続」を示しているか否かの判断が行われる（Ｓ１５）。フラグが「継続」を示していると判断された場合には、Ｓ１１の処理に戻る。
本実施の形態においては、[recognize]コマンド実行後の終了フラグは「継続」なので、Robo-A1から取得された[recognizing]という状態情報がロボットリソース管理部２６に送信され、ロボット情報テーブルの状態フィールドが更新される
このようにして、ロボットRobo-A1から送信される「音声認識終了」や「目的地確認・設定終了」のイベントが検知されると、当該イベントとロボットの事前状態の組み合わせでアクションコマンドを決定し、この決定されたアクションコマンドがロボットRobo-A1に送信される。
【００４２】
ユーザへの目的地確認が終了し、エリアＡとエリアＢとの境界付近まで、Robo-A1がユーザを誘導してきたと想定する。カメラの画像処理により、Robo-A1はまもなく可動範囲を超えてしまうことが認識されると、イベント検知部２２はRobo-A1について「移動不可能」イベントを送信する（Ｓ１３）。そして、サービス状態遷移テーブルを検索することにより、Robo-A1にコマンド[abort]が送信される（Ｓ１４）。その結果、Robo-A1の状態が[idling]に遷移し、コマンド[abort]実行後の終了フラグは「引継ぎ」なので、Ｓ１７の処理に移行する。
【００４３】
Ｓ１５において、終了フラグが引継ぎを示している場合には、引継ぎ元ロボットＩＤをメモリに保存する（Ｓ１７）。本実施の形態においては、引継ぎ元ロボットＩＤ[R0011]をメモリに保存する。一方、Ｓ１５において、終了フラグが「終了」を示している場合には、当該ロボットから送信される状態を取得して（Ｓ１６）、処理を終了する。
【００４４】
その後、Robo-A1以外にサービスフロー「付き添い案内」を引き継げるサービスフロー提供中でないロボットがないか、再検索処理が行なわれる。
Ｓ１７における処理の終了後、サービスフローＩＤと引継ぎを示す終了フラグを条件として、サービスフローシナリオ（ここでは、図５（ａ）の記述例１のサービスフローシナリオとする。）を検索して、引継ぎ先ロボットタイプが存在するか否かの判断を行う（Ｓ１８）。
【００４５】
引継ぎ先ロボットタイプがある場合には、引継ぎ先ロボットタイプをメモリに保存し（Ｓ１９）、この引継ぎ先ロボットタイプを条件に、ロボットタイプ情報テーブルからロボット保有能力を検索し、メモリに保存する（Ｓ２０）。
本実施の形態においては、引継ぎ先ロボットタイプとして[Robot-A]が取得され、ロボット保有能力として、[movable], [recognizable], [confirmable],  [able-to-speak], [able-to-wave-hands]の５能力が選択される。
【００４６】
Ｓ２０における処理後、サービスフローシナリオから次に実行するサービスフローＩＤを選択し、サービスフロー情報テーブルから当該サービスフロー実行に必要なロボット保有能力をメモリに保存する（Ｓ２１）。
本実施の形態においては、サービスフローＩＤ[1001]が選択され、ロボット保有能力として、[movable], [recognizable], [confirmable], [able-to-speak], [able-to-wave-hands]の５能力がメモリに保存される。
【００４７】
Ｓ２１における処理後、Ｓ１７で保存されたロボットＩＤ以外で、Ｓ２０で保存されたロボット保有能力がＳ２１で保存されたサービスフロー実行に必要なロボット保有能力に合致するロボットＩＤの検索を行ない、当該ロボットＩＤが存在するか否かの判断が行われる（Ｓ２２）。
【００４８】
存在すると判断された場合には、当該ロボットＩＤを条件として、ロボット情報テーブルを検索し、当該ロボットＩＤの状態フィールドが[idling]であるものが存在するか否かの判断が行われる（Ｓ２３）。Ｓ２３において存在すると判断された場合には、当該ロボットＩＤをメモリに保存し、そのロボットへサービス引継ぎメッセージを送信して（Ｓ２４）、Ｓ１１の処理に戻る。
【００４９】
なお、Ｓ１８において終了フラグが「終了」を示している場合、Ｓ２２においてロボットＩＤが存在しないと判断された場合、Ｓ２３においてidling状態のロボットが存在しないと判断された場合には、処理は終了する。
また、Ｓ１８において、終了フラグが「引継ぎ」、「終了」以外の場合には、状態フィールドが[idling]であることを条件にロボット情報テーブルを検索して、ロボットＩＤが存在するか否かの判断を行い（Ｓ２５）、存在しない場合には処理を終了し、存在する場合には、ロボットＩＤを条件として、ロボット情報テーブルからロボットタイプを検索して、Ｓ２０の処理に戻る。
【００５０】
本実施の形態においては、Ｓ２２及びＳ２３において、Robo-A1以外のロボットＩＤが検索され、その結果、ロボットＩＤ[R0012](Robo-A2)が選択されることになる。
引継ぎ先のロボット（本実施の形態においては、Robo-A2）がサービス引継ぎメッセージを受信すると、「サービス引継ぎメッセージ受信完了」イベントを送信する。以下、図６の付き添い案内のサービス状態遷移テーブルに基づいて、Ｓ１１からＳ１５までのステップを繰り返し行うことにより、引継ぎ先のロボットは、ユーザがエリアＡからエリアＢの境界を越えて引継ぎ先のロボットに近づくまで発話しながら手を振り続ける。その後、引継ぎ先のロボットがエリアＢにおいてユーザを所望の目的地まで付き添いながら誘導し、「付き添い案内」サービスフローを終了する。
【００５１】
ここで、サービスフロー実行中のロボットに突発的な異常が発生した場合の動作について説明する。
ユーザへの目的地確認が終了し、エリアＡの中央付近まで、Robo-A1がユーザを誘導してきたところで、Robo-A1に突発的な異常が発生したと想定する。Robo-A1の状態は、[moving]のままで更新されなくなる（Ｓ１１）。すると、ユーザがRobo-A1から離れてエリアから退出しない限り、イベントが検知されなくなり、タイムアウトとなる（Ｓ１２）。タイムアウトは、あらかじめ指定した秒数内でレスポンスの有無により判定する。
【００５２】
この場合、サービス状態遷移テーブルを検索することにより、タイムアウトイベントが発生した場合、Robo-A1の（事前）状態に関係なくRobo-A1に[abort]コマンドが送信される（Ｓ１４）。
[abort]コマンド実行後の終了フラグは「引継ぎ」なので（Ｓ１５）、引継ぎ元ロボットＩＤ[R0011]をメモリに保存する（Ｓ１７）。その後、Robo-A1以外にサービスフロー「引継ぎ案内」を引き継げるサービスフロー提供中でないロボットがないか、再検索処理を始める。
【００５３】
次に、図５（ｂ）のサービスフローシナリオの記述例２を使用して、Robo-A1からRobo-B1へユーザに対して「付き添い案内」サービスフローが正常に引き継がれて提供される例について説明する。
サービスフローシナリオ記述例２から、現在のサービスフローＩＤ[1001]及び終了フラグが「引継ぎ」である引継ぎ先ロボットタイプを検索すると、[Robot-B]が選択される（Ｓ１８）。
【００５４】
選択された引継ぎ先ロボットタイプ[Robot-B]をメモリに保存し（Ｓ１９）、当該ロボットタイプ条件にロボットタイプ情報テーブルを検索し、そのロボット保有能力をメモリに保存する（Ｓ２０）。
サービスフローシナリオ記述例２から、次に実行するサービスフローＩＤ[1002]を選択し、当該サービスフロー実行に必要なロボット保有能力として[recognizable], [confirmable], [able-to-speak]の３能力をメモリに保存する（Ｓ２１）。
【００５５】
上記サービスフロー実行に必要なロボット保有能力及びロボットの状態が[idling]を条件に、Robo-A1以外のロボットＩＤを検索する（Ｓ２２、Ｓ２３）。その結果、ロボットＩＤ[R0021](Robo-B)が選択される。
次に、ユーザに提供すべき「音声案内」サービスフローを実行するロボットとして決定されたRobo-Bに、サービス引継ぎメッセージを送信する（Ｓ２４）。Robo-Bが上記サービス引継ぎメッセージを受信すると、「サービス引継ぎメッセージ受信完了」イベントを送信する。以下、図７のサービス状態遷移テーブルに基づいてＳ１１からＳ１５までのステップを繰り返し行う。
【００５６】
「サービス引継ぎメッセージ受信完了」イベント及びRobo-Bの（事前）状態[idling]を条件として、サービス状態遷移テーブルを検索することにより、選択されたコマンド[speak]がRobo-Bに送信される（Ｓ１４）。
以降、Robo-Bに何ら異常が発生しなければ、Ｓ１１からＳ１５までのステップの繰り返しの実行により、Robo-BがエリアＢにおいてユーザを所望の目的地まで音声のみで誘導し、「音声案内」サービスフローを終了する。
【００５７】
なお、Ｓ２２において、引継ぎ先のロボット候補が複数検索された場合には、選択の評価基準として、１．エリア内のロボット密度がなるべく均一になるように、引継ぎ時点で当該エリアの密な場所にいるロボット  ２．  エリア内において現在位置から引継ぎ位置までの移動エネルギーが最小となるロボットを選択してもよい。
【００５８】
したがって、本発明の実施の形態によれば、仮に引継ぎ元ロボットに突発的な異常が発生した場合でも、能力的に代替可能なロボットを自動的に検索し、代替ロボットが見つかれば当該ロボットにサービスフロー実行を引き継ぐことにより、ユーザに当初のサービスフローを継続して提供することが可能となる。
【００５９】
また、実際のロボット台数よりもサービスフロー提供に必要なロボット台数が多い場合、引継ぎのタイミングで使用可能なロボットを選択することにより、全体としてロボットリソースの有効活用（ロボット配置の偏りを軽減）が可能となる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００６０】
また、実施形態に記載した手法は、計算機（コンピュータ）に実行させることができるプログラム（ソフトウエア手段）として、例えば磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段（実行プログラムのみならずテーブルやデータ構造も含む）を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
【図面の簡単な説明】
【００６１】
【図１】本発明の実施の形態に係るロボット連携システムの全体を示す図である。
【図２】プラットフォームサーバの構成を示す図である。
【図３】ユーザ情報テーブルの構成を示す図である。
【図４】サービスフロー情報テーブルを示す図である。
【図５】サービスフローシナリオを示す図である。
【図６】サービス状態遷移テーブルを示す図である。
【図７】サービス状態遷移テーブルを示す図である。
【図８】ロボット情報テーブルを示す図である。
【図９】ロボットタイプ情報テーブルを示す図である。
【図１０】本発明の実施の形態に係るロボット連携システムによって制御されるロボットの環境の一例を説明するための図である。
【図１１】本発明の実施の形態に係るロボット連携システムの動作を説明するためのフローチャートである。
【図１２】本発明の実施の形態に係るロボット連携システムの動作を説明するためのフローチャートである。
【符号の説明】
【００６２】
１…ネットワーク、２−１〜２−３…接続装置、３−１〜３−３…ロボット、４…タグリーダ、５…ディスプレイ、６…スピーカ、２１…センサ情報収集部、２２…イベント検知部、２３…サービスフロー起動イベント検出部、２４…サービスロボット選択決定部、２５…サービス状態遷移管理部、２６…ロボットリソース管理部、３１…ロボットデータベース、３２…ユーザデータベース、３３…サービスフローデータベース。
【図１】
2007249801.tif 000003
【図２】
2007249801.tif 000004
【図３】
2007249801.tif 000005
【図４】
2007249801.tif 000006
【図５】
2007249801.tif 000007
【図６】
2007249801.tif 000008
【図７】
2007249801.tif 000009
【図８】
2007249801.tif 000010
【図９】
2007249801.tif 000011
【図１０】
2007249801.tif 000012
【図１１】
2007249801.tif 000013
【図１２】
2007249801.tif 000014