(57)【要約】【課題】サービス提供エリアの混雑状況及びユーザごとの重要度を考慮してロボット間でサービスの引継ぎを行えるようにする。【解決手段】引継方式決定制御プログラム１３２に従い、位置情報データベース１４３に記憶された各ユーザの最新の位置座標データをもとにサービスを受けていないユーザ数をカウントし、このユーザ数とサービス提供中のユーザＵ１の重要度ｍとをもとに、サービス種別ＳＳ１〜ＳＳ３に対応して予め用意された境界関数の計算式に従い境界関数を計算する。そして上記計算された境界関数の値がｆ＞０であるか、ｆ≦０であるかを判定し、ｆ＞０の場合に「指示方式」を、ｆ≦０の場合には「アテンド方式」を選択する。また、引継ポイント決定制御プログラム１３３に従い、「指示方式」が選択された場合と、「アテンド方式」が選択された場合とで、異なるアルゴリズムで引継ポイントを決定する。【選択図】      図３
2010120129.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザが存在するサービスエリア内で、特定のユーザに対し第１の移動ロボットが提供しているサービスを第２の移動ロボットが引き継ぐための制御を行うロボット連携システムであって、
前記複数のユーザの各々について少なくともその重要度を表す情報を記憶するユーザ情報メモリと、
前記サービスエリア内における前記複数のユーザ及び前記各移動ロボットの位置をそれぞれ検出する手段と、
前記検出された複数のユーザの位置を表す情報と、前記ユーザ情報メモリに記憶された前記特定のユーザの重要度を表す情報とに基づいて、引継元の第１の移動ロボットが前記特定のユーザに対し引継先の第２の移動ロボットを指し示す第１の引継方式と、引継元の第１の移動ロボットが前記特定のユーザを引率して引継先の第２の移動ロボットに引き継がせる第２の引継方式のいずれか一方を、前記第１及び第２の移動ロボット間におけるサービスの引継方式として選択する引継方式決定手段と
を具備することを特徴とするロボット連携システム。
【請求項２】
前記引継方式選択手段により第１の引継方式が選択された場合に、第１及び第２の移動ロボット間の見通し指標が最小となる第１及び第２の移動ロボットの位置を検出し、この検出された各位置をそれぞれ第１及び第２の移動ロボットの引継ポイントとして設定する第１の引継ポイント設定手段と、
前記引継方式選択手段により第２の引継方式が選択された場合に、第１及び第２の移動ロボット間の移動障害指標を求め、この移動障害指標に従い前記第１及び第２の移動ロボット間の移動経路上の中間位置に引継ポイントを設定する第２の引継ポイント設定手段と
を、さらに具備することを特徴とする請求項１記載のロボット連携システム。
【請求項３】
前記第１の引継ポイント設定手段は、
前記サービスエリアに、前記第１の移動ロボットが存在する位置を含む第１の周辺エリアと、前記第２の移動ロボットが存在する位置を含む第２の周辺エリアをそれぞれ設定し、これら第１及び第２の周辺エリアをそれぞれ複数の小エリアに分割する手段と、
前記第１及び第２の周辺エリア間にその各小エリア単位で複数の線分を設定し、前記検出された複数のユーザの位置を表す情報をもとに、前記各線分上に存在するユーザ数を前記見通し指数としてそれぞれ求める手段と、
前記線分ごとに求められたユーザ数を比較してユーザ数が最少となる線分を選択し、この選択された線分の両端に位置する小エリアをそれぞれ前記第１及び第２の移動ロボットの引継ポイントに設定する手段と
を備えることを特徴とする請求項２記載のロボット連携システム。
【請求項４】
前記第２の引継ポイント設定手段は、
第１及び第２の移動ロボット間に予め定めた幅を有する移動経路領域を設定し、前記検出された複数のユーザの位置を表す情報をもとに、前記設定された移動経路領域内におけるユーザの人数を前記移動障害指標として計算する手段と、
前記計算されたユーザの人数に基づいて、前記第１及び第２の移動ロボット間の移動経路領域上において当該第１及び第２の移動ロボットからのユーザ数が等しくなる中間位置を求め、この中間位置を引継ポイントとして設定する手段と
を備えることを特徴とする請求項２記載のロボット連携システム。
【請求項５】
複数のユーザが存在するサービスエリア内で、特定のユーザに対し第１の移動ロボットが提供しているサービスを第２の移動ロボットが引き継ぐための制御を行う際に、
前記サービスエリア内における前記複数のユーザ及び前記各移動ロボットの位置をそれぞれ検出する過程と、
前記検出された複数のユーザの位置を表す情報と、予め記憶された前記特定のユーザの重要度を表す情報とに基づいて、引継元の第１の移動ロボットが前記特定のユーザに対し引継先の第２の移動ロボットを指し示す第１の引継方式と、引継元の第１の移動ロボットが前記特定のユーザを引率して引継先の第２の移動ロボットに引き継がせる第２の引継方式のいずれか一方を、前記第１及び第２の移動ロボット間におけるサービスの引継方式として選択する過程と
を具備することを特徴とするロボット連携方法。
【請求項６】
前記第１の引継方式が選択された場合に、第１及び第２の移動ロボット間の見通し指標が最小となる第１及び第２の移動ロボットの位置を検出し、この検出された各位置をそれぞれ第１及び第２の移動ロボットの引継ポイントとして設定する過程と、
前記第２の引継方式が選択された場合に、第１及び第２の移動ロボット間の移動障害指標を求め、この移動障害指標に従い前記第１及び第２の移動ロボット間の移動経路上の中間位置に引継ポイントを設定する過程と
を、さらに具備することを特徴とする請求項５記載のロボット連携方法。
【請求項７】
前記第１の引継方式が選択された場合に引継ポイントを設定する過程は、
前記サービスエリアに、前記第１の移動ロボットが存在する位置を含む第１の周辺エリアと、前記第２の移動ロボットが存在する位置を含む第２の周辺エリアをそれぞれ設定し、これら第１及び第２の周辺エリアをそれぞれ複数の小エリアに分割する過程と、
前記第１及び第２の周辺エリア間にその各小エリア単位で複数の線分を設定し、前記検出された複数のユーザの位置を表す情報をもとに、前記各線分上に存在するユーザ数を前記見通し指数としてそれぞれ求める過程と、
前記線分ごとに求められたユーザ数を比較してユーザ数が最少となる線分を選択し、この選択された線分の両端に位置する小エリアをそれぞれ前記第１及び第２の移動ロボットの引継ポイントに設定する過程と
を備えることを特徴とする請求項６記載のロボット連携方法。
【請求項８】
前記第２の引継方式が選択された場合に引継ポイントを設定する過程は、
第１及び第２の移動ロボット間に予め定めた幅を有する移動経路領域を設定する過程と、
前記検出された複数のユーザの位置を表す情報をもとに、前記設定された移動経路領域内におけるユーザの人数を前記移動障害指標として計算する過程と、
前記計算されたユーザの人数に基づいて、前記第１及び第２の移動ロボット間の移動経路領域上において当該第１及び第２の移動ロボットからのユーザ数が等しくなる中間位置を求め、この中間位置を引継ポイントとして設定する過程と
を備えることを特徴とする請求項６記載のロボット連携方法。
【請求項９】
前記請求項１乃至請求項４記載のいずれかに記載のロボット連携システムが備える各手段の処理を、コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のサービスからなる一連のサービスフローを複数のロボットを連携させることにより実行させるロボット連携システム、ロボット連携方法及びプログラムに関する。
【背景技術】
【０００２】
複数のサービスからなる一連のサービスフローを複数のロボットの連携により実行するためのロボット連携システムが開発されている。このようなロボット連携システムでは、一連のサービスフローを実行するために、どの移動ロボットとどの移動ロボットが連携して動作するかが事前に定義されている。例えば、ネットワーク経由で同期をとることで、予め決められた２台の移動ロボット同士が互いに会話するロボット連携システムや、２体の移動ロボットを用いて互いに自分の意思を積極的に相手に伝えることでコミュニケーションを図り、キャッチボールを行なうロボット連携システムが開発されている。
【０００３】
ところで、２体の移動ロボットを連携させるにはサービスの引継ポイントを決定する必要がある。そのための方式の１つとして、サービスごとに引継ポイントを予め定めておき、移動ロボットが引継ポイントへ移動するために要する時間を勘案して、移動ロボットを事前に引継ポイントへ移動させる方式が提案されている（例えば、特許文献１を参照。）。
【０００４】
【特許文献１】特開２００７−２４９８０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、前記従来の提案は、ユーザの属性を考慮せずに一律の条件で引継を行うものとなっている。このため、一般にユーザには企業の管理者等の重要な役職を担っているユーザと一般ユーザがおり、これらのユーザ間では引継の仕方が一般に異なるにもかかわらず、ユーザごとの重要度が考慮されないという課題があった。
【０００６】
また、引継方式として、ロボットがユーザを引継ポイントまで付き添い案内するアテンド方式のみを使用すると、サービスを要求しているユーザがロボットの近辺に多数存在していても、ロボットがユーザに付き添い案内している期間には当該ユーザにはサービスを提供することができないため、ロボットの利用効率が低くなるという課題がある。
【０００７】
この発明は上記事情に着目してなされたもので、その目的とするところは、サービス提供エリアの混雑状況及びユーザごとの重要度を考慮してロボット間でサービスの引継ぎを効果的に行えるようにし、これによりロボットを有効に利用しつつより多くのユーザにサービスを提供することを可能にするロボット連携システム、ロボット連携方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するためにこの発明の一観点は、複数のユーザが存在するサービスエリア内で、特定のユーザに対し第１の移動ロボットが提供しているサービスを第２の移動ロボットが引き継ぐための制御を行うロボット連携システムにあって、上記複数のユーザの各々について少なくともその重要度を表す情報を記憶するユーザ情報メモリと、上記サービスエリア内における上記複数のユーザ及び上記各移動ロボットの位置をそれぞれ検出する手段とを備える。また、サービスの引継方式として、引継元の第１の移動ロボットが上記特定のユーザに対し引継先の第２の移動ロボットを指し示す第１の引継方式と、引継元の第１の移動ロボットが上記特定のユーザを引率して引継先の第２の移動ロボットに引き継がせる第２の引継方式とを備える。そして、上記検出された複数のユーザの位置を表す情報と、上記ユーザ情報メモリに記憶された上記特定のユーザの重要度を表す情報とに基づいて、上記第１の引継方式と上記第２の引継方式のいずれか一方を選択し、この選択された引継方式に従い、上記第１及び第２の移動ロボット間におけるサービスの引継制御を実行するように構成したものである。
【０００９】
したがって、サービスエリアにおけるユーザの混雑状況に加え、サービス提供中の特定ユーザの重要度も考慮することにより、ロボット間で離間した状態で引継のための指示を行う第１の引継方式と、ロボット間でユーザを付き添い案内する第２の引継方式のうちから引継方式が選択される。このため、例えば企業の管理者等の重要な役職を担っているユーザと一般ユーザとで、その重要度を考慮して最適な引継を行うことが可能となる。
【００１０】
また、例えばロボットの周辺にサービスの提供を希望するユーザが多数存在する場合には、引継方式として付き添い案内をせずにロボットが互いに離間した状態で引継のための指示をする第１の引継方式が選択される。このため、付き添い案内する第２の引継方式のみを使用する場合に比べ、ロボットの利用効率を高めることが可能となる。
【００１１】
この発明は、さらに以下のような実施態様を備えることも特徴とする。  
第１の実施態様は、第１の引継方式が選択された場合に、第１及び第２の移動ロボット間の見通し指標が最小となる第１及び第２の移動ロボットの位置をそれぞれ検出し、この検出された各位置をそれぞれ第１及び第２の移動ロボットの引継ポイントとして設定する第１の引継ポイント設定手段と、第２の引継方式が選択された場合に、第１及び第２の移動ロボット間の移動障害指標を求め、この移動障害指標に従い上記第１及び第２の移動ロボット間の移動経路上の中間位置に引継ポイントを設定する第２の引継ポイント設定手段とを、さらに備えるものである。
【００１２】
具体的には、第１の引継方式が選択された場合には以下のように引継ポイントを設定する。すなわち、先ずサービスエリアに上記第１の移動ロボットが存在する位置を含む第１の周辺エリアと、上記第２の移動ロボットが存在する位置を含む第２の周辺エリアをそれぞれ設定し、これら第１及び第２の周辺エリアをそれぞれ複数の小エリアに分割する。次に、上記第１及び第２の周辺エリア間にその各小エリア単位で複数の線分を設定し、上記検出された複数のユーザの位置を表す情報をもとに、上記各線分上に存在するユーザ数を上記見通し指数としてそれぞれ求め、上記線分ごとに求められたユーザ数を比較してユーザ数が最少となる線分を選択し、この選択された線分の両端に位置する小エリアをそれぞれ上記第１及び第２の移動ロボットの引継ポイントに設定する。
【００１３】
このようにすると、先ず第１の引継方式を使用する場合には、ロボット間の見通し指標となるユーザ数が最小となる位置がそれぞれ引継元及び引継先の各ロボットの引継ポイントとして設定される。このため、ロボットが互いに離間した状態で指差しにより引継ぎを行う際に、遮るユーザがまばらで最も見通しの効く位置において指差しによる引継を行うことが可能となる。
【００１４】
一方、第２の引継方式を使用する場合には以下のように引継ポイントを設定する。すなわち、先ず第１及び第２の移動ロボット間に予め定めた幅を有する移動経路領域を設定し、上記検出された複数のユーザの位置を表す情報をもとに、上記設定された移動経路領域内におけるユーザの人数を上記移動障害指標として計算する。そして、上記計算されたユーザの人数に基づいて、上記第１及び第２の移動ロボット間の移動経路領域上において当該第１及び第２の移動ロボットからのユーザ数が等しくなる中間位置を求め、この中間位置を引継ポイントとして設定する。
【００１５】
このようにすると、第２の引継方式を使用する場合には、ロボット間に存在するユーザの分布状況を考慮して、ロボット間の移動経路領域上の各ロボットからのユーザ数が等しくなる中間位置に引継ポイントが設定される。すなわち、移動経路領域における混雑度に応じて、ロボットが受ける障害の度合いが等しくなるように、各ロボットの引継ポイントが設定される。このため、各ロボットが引継ポイントに到達するまでに要する時間を最短にすることができ、これによりロボットの利用効率を高めることが可能となる。
【発明の効果】
【００１６】
すなわちこの発明によれば、サービス提供エリアの混雑状況及びユーザごとの重要度を考慮してロボット間でサービスの引継ぎを行えるようになり、これによりロボットを有効に利用しつつ多くのユーザにサービスを提供することが可能なロボット連携システム、ロボット連携方法及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照してこの発明に係わる実施形態を説明する。  
図１は、この発明の一実施形態に係わるロボット連携システムの構成を示すブロック図、図２はこのロボット連携システムの適用例を示す斜視図である。  
例えばイベント会場に形成されるサービスエリアＳＥには、複数のユーザと、複数台のロボットが散在している。なお、図示の簡単のため図１では３台のロボットＲ１〜Ｒ３のみを、図２では２台のロボットＲ１，Ｒ２のみをそれぞれ図示している。
【００１８】
ロボットＲ１〜Ｒ３はそれぞれ接続装置Ｃ１〜Ｃ３に接続され、この接続装置Ｃ１〜Ｃ３から通信ネットワークＮＷを介してロボット連携サーバＳＶに接続可能となっている。通信ネットワークＮＷは例えば有線ＬＡＮ（Local Area Network）により構成される。また、ロボットＲ１〜Ｒ３と接続装置Ｃ１〜Ｃ３との間は、例えば無線ＬＡＮやBluetooth（登録商標）等の近距離無線データ通信規格を採用したシステムの無線チャネルを介して接続される。
【００１９】
また、イベント会場の天井等のようにサービスエリアＳＥを見渡すことができる場所には、カメラＣＭ１，ＣＭ２が配設されている。これらのカメラＣＭ１，ＣＭ２はサービスエリアＳＥを分割してそれぞれ撮像するもので、通信ネットワークＮＷを介して位置検出装置ＰＤに接続される。
【００２０】
位置検出装置ＰＤは、例えばパーソナル・コンピュータからなり、上記カメラＣＭ１，ＣＭ２により撮像されたサービスエリアＳＥの画像データを、一定のサンプリング周期で通信ネットワークＮＷを介して受信する。そして、この受信された画像データに対し画像処理を施すことにより、上記サービスエリアＳＥにおける各ユーザ及び各ロボットＲ１〜Ｒ３の位置をそれぞれ検出し、この検出された位置を表す座標データをロボット連携サーバＳＶからの要求に応じ通信ネットワークＮＷを介してロボット連携サーバＳＶへ送信する。上記各ユーザ及び各ロボットＲ１〜Ｒ３の位置の検出は、画像データに対しテンプレートマッチング技術に基づく画像処理を施すことにより実現される。テンプレートマッチング技術は、撮像された画像データを予め記憶しておいた人の画像パターンと比較することにより人を検出するもので、例えば特開平９−３３０４０２号公報参照に詳しく記載されている。
【００２１】
ロボット連携サーバＳＶは以下のように構成される。図３はそのハードウエア及びソフトウエアの構成を示すブロック図である。  
すなわち、ロボット連携サーバＳＶはマイクロプロセッサからなる中央処理ユニット（ＣＰＵ；Central Processing Unit）１１を備え、このＣＰＵ１１にバス１２を介してプログラムメモリ１３及びデータメモリ１４を接続し、さらに通信インタフェース１５及び入出力インタフェース（図示せず）を接続している。
【００２２】
通信インタフェース１５は、ＣＰＵ１１の制御の下で、通信ネットワークＮＷにより規定される通信プロトコルに従い、位置検出装置ＰＤから各ユーザ及びロボットＲ１〜Ｒ３の位置情報を受信する。またそれと共に、ロボットＲ１〜Ｒ３に対し移動や動きを制御するための制御データを送信する。通信プロトコルとしては、例えばＴＣＰ／ＩＰ（Transmission Control Protocol／Internet Protocol）が使用される。
【００２３】
入出力インタフェースには、入力デバイス及び出力デバイスが接続される。入力デバイスは、キーボード及びマウスにより構成される。出力デバイスはディスプレイやプリンタからなる。入出力インタフェースは、上記入力デバイスにおいてシステム管理者等が入力したユーザ情報やロボット情報を取り込み、ＣＰＵ１１の制御に従いこれらの入力情報をデータメモリ１４に記憶させるためにバス１２へ出力する。また入力インタフェースは、ＣＰＵ１１の指示に従い、ロボットの動作状態を表す情報等を出力デバイスを用いて表示又はプリント出力させる。なお、ユーザ情報及びロボット情報は、メモリカード等の外部記憶媒体から図示しないメモリインタフェースを介して読み込んで、データメモリ１４に記憶させることも可能である。
【００２４】
データメモリ１４には、この発明を実施するために必要な記憶部として、ユーザ情報データベース１４１と、ロボット情報データベース１４２と、位置情報データベース１４３が設けられている。  
ユーザ情報データベース１４１には、ユーザごとにユニークに割り当てられたユーザ識別情報（ユーザＩＤ）に対応付けて、ユーザ名と、ユーザの重要度ｍと、サービスの提供を受けているか否かを表す情報と、サービス種別ＳＳ１を表す情報が記憶される。図７に、このユーザ情報データベース１４１に記憶される情報の一例を示す。
【００２５】
ロボット情報データベース１４２には、ロボットＲ１〜Ｒ３ごとにユニークに割り当てられたロボット識別情報（ロボットＩＤ）に対応付けて、ロボット名と、ロボットが持つ機能と、動作状態を表す情報が記憶される。ロボットが持つ機能には引継方式（引継モード）を表す情報が含まれる。引継方式には、引継元のロボットがサービス提供中のユーザに対し引継先のロボットを指し示すことによりサービス提供の引き継ぎを行う指示方式と、引継元のロボットがサービス提供中のユーザに付き添って引継先のロボットまで案内することでサービスを引き継がせるアテンド方式がある。動作状態を表す情報は、サービス提供中か待機中かを表す。図８に、このロボット情報データベース１４２に記憶される情報の一例を示す。
【００２６】
位置情報データベース１４３には、上記通信インタフェース１５により位置検出装置ＰＤから一定の時間間隔で受信した、サービスエリアＳＥにおける各ユーザ及び各ロボットＲ１〜Ｒ３の位置座標データが、ユーザＩＤ及びロボットＩＤに対応付けて記憶される。図９に、この位置情報データベース１４３に記憶される位置座標データの一例を示す。なお、図９ではユーザＩＤ及びロボットＩＤに対応付けて最新の位置座標データのみが記憶される場合を例示しているが、過去の一定期間における位置座標データを移動履歴を表す情報として蓄積するようにしてもよい。
【００２７】
プログラムメモリ１３には、この発明を実施するために必要なアプリケーション・プログラムとして、位置情報収集制御プログラム１３１と、引継方式決定制御プログラム１３２と、引継ポイント決定制御プログラム１３３と、ロボット制御プログラム１３４が格納されている。
【００２８】
位置情報収集制御プログラム１３１は、一定の取得周期で通信インタフェース１５から位置検出装置ＰＤに対し位置座標データの送信要求を送り、この要求に応じて位置検出装置ＰＤから送信されるユーザ及びロボットＲ１〜Ｒ３の最新の位置座標データを通信インタフェース１５を介して受信し、位置情報データベース１４３に記憶させる処理を、上記ＣＰＵ１１に実行させる。
【００２９】
引継方式決定制御プログラム１３２は、以下の処理を上記ＣＰＵ１１に実行させる。  
(1) サービス引継要求が発生した場合に、上記ユーザ情報データベース１４１に記憶されたユーザ情報と、位置情報データベース１４３に記憶された各ユーザの最新の位置座標データをもとに、サービスを受けていない全ユーザのうちサービスエリアＳＥ内に存在するユーザの数をカウントする処理。  
(2) サービスの提供を受けているユーザの重要度ｍを表す情報をユーザ情報データベース１４１から読み出す処理。
【００３０】
(3) 上記カウントされたユーザの数ｆと、上記読み出された重要度ｍを表す情報をもとに、サービス種別ＳＳ１〜ＳＳ３に対応して予め用意された境界関数の計算式に従い、境界関数を計算する処理。境界関数の計算式は以下のように表される。  
サービスＳＳ１用の境界関数；  ｆ＝Ａｍ2 
サービスＳＳ２用の境界関数；  ｆ＝Ｂｍ
サービスＳＳ３用の境界関数；  ｆ＝Ｃｍ1/2
ただし、Ａ，Ｂ，Ｃはそれぞれサービス種別ＳＳ１〜ＳＳ３に応じて予め定められる定数である。  
(4) 上記計算された境界関数の値がｆ＞０であるか、ｆ≦０であるかを判定する。この判定の結果、ｆ＞０の場合に「指示方式」を選択し、ｆ≦０の場合に「アテンド方式」を選択する処理。
【００３１】
引継ポイント決定制御プログラム１３３は、以下の処理を上記ＣＰＵ１１に実行させる。  
(1) 引継方式として「指示方式」が選択された場合に、引継元のロボットと引継先のロボットとの間の見通し指標を求める。この見通し指標は、先ずサービスエリアＳＥに上記引継元のロボットを中心とする第１の周辺エリアと、上記引継先ロボットを中心とする第２の周辺エリアをそれぞれ設定し、これら第１及び第２の周辺エリアをそれぞれ複数の小エリアにメッシュ状に分割する。次に、上記第１及び第２の周辺エリア間にその各小エリア単位で複数の線分を設定し、これらの線分上に存在するユーザ数をカウントすることにより求められる。そして、このカウントされたユーザ数が最小となるような当該各ロボットの位置座標をそれぞれ算出し、この算出された各位置座標をそれぞれ引継元ロボット及び引継先ロボットの引継ポイントとして設定する処理。見通し指標には、ユーザの人数が使用される。
【００３２】
(2) 引継方式として「アテンド方式」が選択された場合に、引継元のロボットと引継先のロボットとの間にこれらのロボットの移動経路領域を設定し、位置情報データベース１４３に記憶されたロボット及びユーザの位置座標データをもとに、上記移動経路領域内をロボットが移動する際の障害となる指標を求める。この移動障害指標は、上記移動経路領域内に存在するユーザの数をカウントすることにより求められる。そして、上記移動領域内において上記カウントされたユーザの数が１／２となる中間位置を見つけて、この中間位置を上記引継元ロボットと引継先ロボットの引継ポイントとして設定する処理。
【００３３】
ロボット制御プログラム１３４は、以下の処理を上記ＣＰＵ１１に実行させる。  
(1) 上記引継ポイント決定制御プログラム１３３により設定された引継ポイントに上記引継元ロボット及び引継先ロボットを移動させるための移動制御データを生成し、この移動制御データを通信インタフェース１５から各ロボットに向け送信させる処理。  
(2) 移動終了後に、指差し動作や握手動作等、ロボット間でサービスを引き継ぐための動作を行わせるための動作制御データを生成し、この動作制御データを通信インタフェース１５から各ロボットに向け送信させる処理。
【００３４】
次に、以上のように構成されたシステムの動作を説明する。  
なお、ここでは図２に示すように、ロボットＲ１が特定ユーザＵ１に対しサービスを行っており、当該ユーザＵ１の要求に応じて当該サービスを上記ロボットＲ１からロボットＲ２が引き継ぐ場合を例にとって説明する。
【００３５】
位置検出装置ＰＤでは、カメラＣＭ１，ＣＭ２により撮像されたサービスエリアＳＥの画像データが一定のサンプリング周期で受信される。そして、この受信された画像データに対しテンプレートマッチング技術に基づく画像処理が行われ、これにより上記サービスエリアＳＥにおける各ユーザ及び各ロボットＲ１〜Ｒ３の位置がそれぞれ検出される。
【００３６】
一方、ロボット連携サーバＳＶでは以下のような処理が行われる。図４はその処理手順と処理内容を示すフローチャートである。  
すなわち、ロボット連携サーバＳＶのＣＰＵ１１は、ステップＳ４１により位置取得タイミングになったかどうかを監視する。そして、取得タイミングになるごとに、ステップＳ４２により通信インタフェース１５から位置検出装置ＰＤに対し位置座標データの送信要求を送り、この要求に応じて位置検出装置ＰＤから送信されるユーザ及びロボットＲ１〜Ｒ３の最新の位置座標データを通信インタフェース１５を介して受信し、データメモリ１４内の位置情報データベース１４３に記憶させる。
【００３７】
さて、この状態でユーザＵ１の要求に応じてサービスの引継要求が発生したとする。この場合ＣＰＵ１１は、ステップＳ４３からステップＳ４４に移行し、ここで先ずサービスを受けていないユーザ数を求める。これは、データメモリ１４内のユーザ情報データベース１４１からユーザ情報を読み出してサービスを受けていない、つまりサービス待ちの全ユーザ数をカウントし、さらに位置情報データベース１４３からこれらのユーザの最新の位置座標データを読み出して、サービスエリアＳＥ内に存在するユーザの数をカウントすることにより求められる。
【００３８】
続いてＣＰＵ１１は、ステップＳ４５により、データメモリ１４内のユーザ情報データベース１４１からサービス中のユーザＵ１がいま受けているサービスの種別を表す情報と、当該ユーザＵ１の重要度ｍを表す情報を読み出す。そして、ステップＳ４６において、サービス中のユーザＵ１がいま受けているサービス種別に応じた境界関数式を選択し、この境界関数式に上記読み出された重要度ｍを代入することにより境界関数を計算する。
【００３９】
次にＣＰＵ１１は、ステップＳ４７において、上記計算された境界関数の値と、上記求められたサービス待ちのユーザ数とを比較し、ｆ＞０であるか、ｆ≦０であるかを判定する。そして、ｆ＞０であれば、ステップＳ４８において引継方式として「指示方式」を選択し、ｆ≦０であれば、ステップＳ５１において引継方式として「アテンド方式」を選択する。
【００４０】
例えば、いまユーザＵ１が高齢者向けのサービスＳＳ１を受けていたとすると、この高齢者向けのサービスＳＳ１に対応する境界関数式が選択され、当該ユーザＵ１の重要度ｍが考慮されて境界関数が計算される。このときサービスＳＳ１に対応する境界関数はｆ＝Ａｍ2 で表される。図１０のＦ１はこのサービスＳＳ１に対応する境界関数を図示したものである。このため、境界関数の計算値はユーザＵ１の重要度ｍがそれほど高くなくても大きな値となり、この結果サービス待機中のユーザ数ｆが多くても、「アテンド方式」が選択されやすくなる。
【００４１】
これに対しユーザＵ１がイベントに参加することに慣れているユーザで、簡易的なサービスＳＳ３を受けている場合には、この簡易的なサービスＳＳ３に対応する境界関数式が選択され、当該ユーザＵ１の重要度ｍが考慮されて境界関数が計算される。このときサービスＳＳ３に対応する境界関数はｆ＝Ｃｍ1/2 で表される。図１０のＦ３はこの簡易的サービスＳＳ３に対応する境界関数を図示したものである。このため、境界関数の計算値はユーザＵ１の重要度ｍが高くても比較的小さい値となり、この結果サービス待機中のユーザ数ｆが少なくても、「指示方式」が選択されやすくなる。
【００４２】
引継方式として「指示方式」が選択されると、ＣＰＵ１１はステップＳ４９により指示方式に対応する引継ポイントの決定処理を以下のように実行する。図５はこの引継ポイント決定処理の手順と内容を示すフローチャート、図１１は当該処理を説明するための図である。
【００４３】
すなわち、ＣＰＵ１１は先ずステップＳ６１において、サービスエリアＳＥに、図１１に示すように引継元ロボットＲ１及び引継先路ロボットＲ２を中心とする半径Ｋの周辺領域ＥＡ，ＥＢをそれぞれ仮想的に設定する。そして、これらの周辺領域ＥＡ，ＥＢをそれぞれ、一辺がＬからなる複数の小エリアａ1 ，ａ2 ，ａ3 ，…及びｂ1 ，ｂ2 ，ｂ3 ，…にメッシュ状に分割し、これらの小エリアａ1 ，ａ2 ，ａ3 ，…及びｂ1 ，ｂ2 ，ｂ3 ，…の位置座標をステップＳ６２，Ｓ６３によりそれぞれ計算して保存記憶する。
【００４４】
続いてＣＰＵ１１は、ステップＳ６４により上記各小エリアａ1 ，ａ2 ，ａ3 ，…及びｂ1 ，ｂ2 ，ｂ3 ，…のすべての組み合わせについてそれぞれ仮想的に線分を設定する。そして、ステップＳ６５により、上記設定された線分の各々について当該線分上に位置するユーザ数をカウントする。この線分上に位置するユーザ数のカウントは、線分が通過する位置座標に対し予め定めた幅の範囲内に存在するユーザを、位置情報データベース１４３に記憶されたユーザの位置座標データをもとに抽出することにより行われる。
【００４５】
次にＣＰＵ１１は、ステップＳ６６において上記各線分間でそのユーザ数を比較する。そして、ユーザ数が最も少ない線分を１つ選択し、この選択された線分の両端の小エリアの位置座標データを、引継元ロボットＲ１及び引継先路ロボットＲ２の引継ポイントとして決定する。例えば、いま図１１に示すように小エリアａk ，ｂl 間の線分上に位置するユーザ数が最も少なければ、上記小エリアａk ，ｂl がそれぞれ引継元ロボットＲ１及び引継先ロボットＲ２の引継ポイントとして決定される。
【００４６】
上記引継ポイントが決まるとＣＰＵ１１は、ステップＳ５３に移行し、引継元ロボットＲ１及び引継先ロボットＲ２を上記決定された引継ポイントに移動させるための移動制御データを生成する。この移動制御データには、上記決定された引継ポイントに相当する小エリアａk ，ｂl の位置座標データが移動先の座標として挿入される。そしてＣＰＵ１１は、上記移動制御データを通信インタフェース１５から各ロボットＲ１，Ｒ２に向け送信させる。この結果、引継元ロボットＲ１はユーザＵ１を引率しながら、上記移動制御データにより指定された小エリアａk へ移動する。また、引継先ロボットＲ２は、上記移動制御データにより指定された小エリアｂl へ単独で移動する。
【００４７】
上記ロボットＲ１，Ｒ２がそれぞれ指定された小エリアａk ，ｂl に移動すると、ＣＰＵ１１は引継元のロボットＲ１に対し指差しによる引継動作を行わせるための動き制御データを生成し、この動き制御データを通信インタフェース１５から各ロボットＲ１に向け送信させる。この結果、引継元ロボットＲ１は引継先のロボットに向け指差し動作を行う。したがって、ユーザＵ１は引継元ロボットの指差し動作により引継先のロボットＲ２を認識して、当該ロボットＲ２に向けて移動することが可能となる。なお、上記引継元ロボットＲ１への指差しの指示と並行して、引継先ロボットＲ２に対し引継の受領動作を行わせるための動き制御データを送信し、これにより引継先ロボットＲ２に手を上げる動作やお辞儀動作を行わせるようにしてもよい。
【００４８】
一方、引継方式として「アテンド方式」が選択されると、ＣＰＵ１１はステップＳ５２によりアテンド方式に対応する引継ポイントの決定処理を以下のように実行する。図６はこのアテンド方式の場合の引継ポイント決定処理の手順と内容を示すフローチャート、図１２及び図１３は当該処理を説明するために用いる図である。
【００４９】
すなわち、ＣＰＵ１１は先ずステップＳ７１において、引継元ロボットＲ１と引継先ロボットＲ２との間に、これらのロボットＲ１，Ｒ２がランデブーのために移動する際に使用する移動経路領域ＴＥを設定する。この移動経路領域ＴＥは、サービスエリアＳＥをｘｙ座標で表したとき、以下のように表される。  
ｙ＞（Ｘ1−Ｘ2）／（Ｙ1−Ｙ2）（ｘ−Ｘ1）−Ｙ1−Ｑ
かつ
ｙ＜（Ｘ1−Ｘ2）／（Ｙ1−Ｙ2）（ｘ−Ｘ1）−Ｙ1＋Ｑ
かつ
ｘ＞Ｘ1
かつ
ｘ＜Ｘ2
なお、Ｘ1，Ｙ1は引継元ロボットＲ１の位置座標を、またＸ2，Ｙ2は引継先ロボットＲ２の位置座標をそれぞれ表し、Ｑは領域の幅を決める値を示している。Ｑは例えば１メートルに設定される。
【００５０】
続いてＣＰＵ１１は、ステップＳ７２において、上記設定された移動経路領域ＴＥ内に存在するサービスを受けていないユーザの数２Ｖをカウントする。このユーザ数２Ｖのカウントは、上記移動経路領域ＴＥ内に位置座標が含まれるユーザを、位置情報データベース１４３に記憶された各ユーザの位置座標データをもとに抽出することによりなされる。最後にＣＰＵ１１は、ステップＳ７３により、上記移動経路領域ＴＥ内に存在するサービスを受けていないユーザのカウント値２Ｖの１／２であるＶを求め、このＶを引継元ロボットＲ１及び引継先ロボットＲ２の引継ポイントｃとして決定する。
【００５１】
上記引継ポイントが決まるとＣＰＵ１１は、ステップＳ５３に移行し、引継元ロボットＲ１及び引継先ロボットＲ２を上記決定された引継ポイントｃに移動させるための移動制御データを生成する。この移動制御データには、上記決定された引継ポイントｃの位置座標データが移動先の位置座標として挿入される。そしてＣＰＵ１１は、上記移動制御データを通信インタフェース１５から各ロボットＲ１，Ｒ２に向け送信させる。この結果、引継元ロボットＲ１はユーザＵ１を引率しながら、上記移動制御データにより指定された引継ポイントｃへ移動する。また、それと同時に引継先ロボットＲ２は、上記移動制御データにより指定された引継ポイントｃに向かって移動する。
【００５２】
例えば、いま図１２に示すように、移動経路領域ＴＥ内において、サービス待ちのユーザが引継元ロボットＲ１に近い側に多数存在し、引継先ロボットＲ２に近い側には少なければ、引継ポイントｃは図１３に示すように引継元ロボットＲ１に近い側に設定される。この結果、引継元ロボットＲ１は人混みの中をユーザＵ１を連れて比較的ゆっくり進むことができ、一方引継先ロボットＲ２は人がまばらな領域を比較的高速度に進むことができる。
【００５３】
上記ロボットＲ１，Ｒ２が上記引継ポイントｃに移動すると、ＣＰＵ１１は引継元のロボットＲ１に対しユーザＵ１に対するサービスを直接引き継ぐための動作を行わせるための動き制御データを生成し、この動き制御データを通信インタフェース１５から各ロボットＲ１に向け送信させる。この結果、引継元ロボットＲ１は引継ポイントｃにおいて、ユーザＵ１に対し引継先ロボットＲ２を照会する動作を身振り手振りで行う。このとき、上記動き制御データに引継のための音声メッセージを挿入しておけば、上記引継ポイントｃにおいて引継元ロボットからユーザＵ１に対し引継のための音声メッセージが拡声出力される。したがって、引継ポイントｃにおいてユーザＵ１は、引継元ロボットＲ１から引継先ロボットＲ２を直接的に紹介され、以後ユーザＵ１に対するサービスは引継先ロボットＲ２に引き継がれる。
【００５４】
以上説明したようにこの実施形態では、以下のような対策を講じている。すなわち、引継方式決定制御プログラム１３２に従い、位置情報データベース１４３に記憶された各ユーザの最新の位置座標データをもとにサービスを受けていないユーザ数をカウントし、このサービスを受けていないユーザ数と、サービス提供中のユーザＵ１の重要度ｍとをもとに、サービス種別ＳＳ１〜ＳＳ３に対応して予め用意された境界関数の計算式に従い境界関数を計算する。そして、上記計算された境界関数の値がｆ＞０であるか、ｆ≦０であるかを判定し、ｆ＞０の場合に「指示方式」を選択し、ｆ≦０の場合に「アテンド方式」を選択するようにしている。
【００５５】
したがって、サービスエリアＳＥにおけるユーザの混雑状況に加え、サービス提供中の特定ユーザＵ１の重要度ｍも考慮して、引継方式が選択される。このため、例えば企業の管理者等の重要な役職を担っているユーザと一般ユーザとで、その重要度を考慮して最適な引継を行うことが可能となる。
【００５６】
また、引継方式として、引継元ロボットＲ１が引継先ロボットＲ２までユーザＵ１を付き添い案内するアテンド方式と、引継元ロボットＲ１が引継先ロボットを離れた場所から指差し動作により指示する指示方式が、ユーザの混雑状況に応じて選択的に使用される。このため、例えば引継元ロボットＲ１の周辺にサービスの提供を希望するユーザが多数存在する場合には、指示方式が選択されてロボットＲ１，Ｒ２が互いに離間した状態で指差しによる引き継ぎが行われる。このため、付き添い案内するアテンド方式のみを使用する場合に比べ、ロボットの利用効率を高めることが可能となる。
【００５７】
またこの実施形態では、引継ポイント決定制御プログラム１３３に従い、引継方式として「指示方式」が選択された場合と、「アテンド方式」が選択された場合とで、それぞれ異なるアルゴリズムで引継ポイントを決定するようにしている。  
すなわち、先ず「指示方式」の場合には、引継元ロボットＲ１が存在する位置を中心とする第１の周辺エリアと、引継先ロボットＲ２を中心とする第２の周辺エリアをそれぞれ設定して、これら第１及び第２の周辺エリアをそれぞれ複数の小エリアにメッシュ状に分割し、これらの小エリアのすべての組み合わせで線分を引いてこれらの線分上に存在するユーザ数をカウントする。そして、このカウントされたユーザ数が最小となる線分を選択して、この選択された線分の両端となる小エリアの位置座標をそれぞれ引継元ロボットＲ１及び引継先ロボットＲ２の引継ポイントとして設定する。
【００５８】
したがって、引継方式として指示方式を使用する場合には、ロボットＲ１，Ｒ２間の見通し指標となるユーザ数が最小となる位置がそれぞれ引継元及び引継先の各ロボットＲ１，Ｒ２の引継ポイントとして設定される。このため、遮るユーザがまばらで最も見通しの効く位置において指差しによる引継を行うことが可能となる。
【００５９】
これに対し「アテンド方式」の場合には、引継元ロボットＲ１と引継先ロボットＲ２との間にこれらのロボットＲ１，Ｒ２の移動経路領域ＴＥを設定し、位置情報データベース１４３に記憶されたロボット及びユーザの位置座標データをもとに、上記移動経路領域ＴＥ内に存在するユーザ数をカウントする。そして、上記移動経路領域ＴＥ内において上記カウントされたユーザの数が１／２となる中間位置を見つけて、この中間位置を引継元ロボットＲ１と引継先ロボットＲ２の引継ポイントｃとして設定する。
【００６０】
したがって、移動経路領域ＴＥ内のユーザの分布に応じて、移動経路領域ＴＥを進むときに混雑度に応じてロボットが受ける障害の度合いが等しくなるように、各ロボットＲ１，Ｒ２の引継ポイントＣが設定されることになり、これにより各ロボットＲ１，Ｒ２が引継ポイントｃに到達するまでに要する時間を最短にして、ロボットの利用効率を高めることが可能となる。
【００６１】
なお、この発明は上記実施形態に限定されるものではない。例えば、「指示方式」による引継ポイントを決定する際に、位置情報データベース１４３に過去の一定期間分のユーザの位置座標データを蓄積しておき、この蓄積された位置座標データをもとに各ユーザの移動方向と移動量を予測する。そして、この予測された各ユーザの移動方向と移動量をもとに、線分ごとにカウントしたユーザ数をそれぞれ補正し、この補正後のユーザ数が最少となる線分を選択してその両端の小エリアの位置座標を引継ポイントとするようにしてもよい。このようにすると、ユーザの移動状況を考慮した上で、ロボット間の見通しが最も効く線分を選択することが可能となる。
【００６２】
また、「アテンド方式」による引継ポイントを決定する際に、ユーザＵ１の年齢や歩行障害の有無等の属性情報をユーザ情報に含めてユーザ情報データベース１４１に記憶しておき、この属性情報に応じて引継元ロボットＲ１の最適な移動速度を決定し、この最適移動速度を上記移動経路領域ＴＥの移動障害指数に加味して引継ポイントを決定するようにしてもよい。このようにすると、ユーザＵ１の歩行速度を考慮した、付き添い案内による引継動作を行うことが可能となる。
【００６３】
さらに、ユーザの位置検出手段は、ユーザごとに無線タグを持たせると共に、サービスエリアＳＥ内の予め決められた複数の位置に無線タグ読み取り装置を設置し、この無線タグ読取装置によりユーザの無線タグを読み取ったときに、当該無線タグ読取装置の設置位置をユーザの位置データとして、これを無線タグの識別情報と対応付けて位置情報データベース１４３に記憶するようにしてもよい。また、位置検出装置の機能をロボット連携サーバ内に収容するように構成してもよい。
【００６４】
その他、ロボット連携サーバの構成、引継方式決定制御プログラム及び引継ポイント決定制御プログラムの処理手順と処理内容等についても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。  
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００６５】
【図１】この発明の一実施形態に係わるロボット連携システムの構成を示す図である。
【図２】図１に示したロボット連携システムの運用例を示す図である。
【図３】図１に示したロボット連携システムの中核をなすロボット連携サーバのハードウエア及びソフトウエアの構成を示すブロック図である。
【図４】図３に示したロボット連携サーバによる処理手順と処理内容を示すフローチャートである。
【図５】図４に示したフローチャートのうち、指示方式に対応する引継ポイント決定処理の手順と処理内容を示すフローチャートである。
【図６】図４に示したフローチャートのうち、アテンド方式に対応する引継ポイント決定処理の手順と処理内容を示すフローチャートである。
【図７】図３に示したロボット連携サーバに設けられるユーザ情報データベースの一例を示す図である。
【図８】図３に示したロボット連携サーバに設けられるロボット情報データベースの一例を示す図である。
【図９】図３に示したロボット連携サーバに設けられる位置情報データベースの一例を示す図である。
【図１０】図４に示した引継方式決定処理の説明に使用する図である。
【図１１】図５に示した指示方式の場合の引継ポイント決定処理を説明するための図である。
【図１２】図６に示したアテンド方式の場合の引継ポイント決定処理を説明するための図である。
【図１３】図６に示したアテンド方式の場合の引継ポイント決定処理を説明するための図である。
【符号の説明】
【００６６】
ＳＶ…ロボット連携サーバ、ＮＷ…通信ネットワーク、Ｒ１〜Ｒ３…ロボット、Ｃ１〜Ｃ３…接続装置、ＰＤ…位置検出装置、ＣＭ１，ＣＭ２…カメラ、１１…ＣＰＵ、１２…バス、１３…プログラムメモリ、１４…データメモリ、１５…通信インタフェース、１３１…位置情報収集制御プログラム、１３２…引継方式決定プログラム、１３３…引継ポイント決定制御プログラム、１３４…ロボット制御プログラム、１４１…ユーザ情報データベース、１４２…ロボット情報データベース、１４３…位置情報データベース。
【図１】
2010120129.tif 000003
【図２】
2010120129.tif 000004
【図３】
2010120129.tif 000005
【図４】
2010120129.tif 000006
【図５】
2010120129.tif 000007
【図６】
2010120129.tif 000008
【図７】
2010120129.tif 000009
【図８】
2010120129.tif 000010
【図９】
2010120129.tif 000011
【図１０】
2010120129.tif 000012
【図１１】
2010120129.tif 000013
【図１２】
2010120129.tif 000014
【図１３】
2010120129.tif 000015