(57)【要約】【課題】  ロボットによるサービス提供を待っている人に対して適切にサービスを提供する。【解決手段】  サービス提供ロボットシステム（１００）は、ロボット（１０）を用いる。ロボットは、コンピュータ（１４）によって遠隔操作される。コンピュータ（１４）は、人追跡システムによって取得したそれぞれの人の位置関係からサービス提供の優先度を決定し、その優先度に従ってロボットにサービスを提供させる。【選択図】  図６
2017170568.tif 000002
【特許請求の範囲】
【請求項１】
ロボットが人に対してサービスを提供するサービス提供ロボットシステムであって、
人追跡システムによって取得したそれぞれの人の位置情報に基づいてロボットによるサービスの提供を待っている人々を検出する検出部、
前記検出部が検出した人々に対する優先度を、各人の位置情報に基づいて決定する優先度決定部、および
前記優先度に従ってロボットにサービスの提供を行わせるサービス提供制御部を備える、サービス提供ロボットシステム。
【請求項２】
前記検出部は、一定時間停止している人であってロボットから所定距離以内に存在する人を検出する、請求項１記載のサービス提供ロボットシステム。
【請求項３】
前記優先度決定部は、２人以上で弧を形成している人に対して優先度を付与する、請求項１または２記載のサービス提供ロボットシステム。
【請求項４】
ロボットが人に対してサービスを提供するサービス提供ロボットシステムのコンピュータによって実行可能なプログラムであって、前記コンピュータを、
人追跡システムによって取得したそれぞれの人の位置情報に基づいてロボットによるサービスの提供を待っている人々を検出する検出部、
前記検出部が検出した人々に対する優先度を、各人の位置情報に基づいて決定する優先度決定部、および
前記優先度に従ってロボットにサービスの提供を行わせるサービス提供制御部
として機能させる、サービス提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、サービス提供ロボットシステムに関し、特に、ロボットによって人に対してたとえば店舗の宣伝や広告などのサービスの提供を行う、サービス提供ロボットシステムに関する。
【背景技術】
【０００２】
ロボットからアクティブに話しかけや声かけを行う技術は、すでに提案されている。たとえば、特許文献１は、事前に定義された特定の領域に人が入った場合に、近づいて受付や案内サービスを開始する技術を開示している。
【０００３】
また、非特許文献１は、ロボットから人間に最も自然な近づき方ができる相手を選択し、近づいて話しかけることで、話しかけの成功率を向上させる技術を開示している。また、非特許文献２は、最も自然なちらし配りが実現できる対象を選択し、近づきながらちらし配りを行うことでちらし配りの成功率を向上させる技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2005-329515 [B25J 13/08]
【非特許文献】
【０００５】
【非特許文献１】Satoru Satake, Takayuki Kanda, Dylan F. Glas, Michita Imai, Hiroshi Ishiguro, Norihiro Hagita, “A robot that approaches pedestrians,” IEEE Transactions on Robotics, Vol. 29, Issue 2, pp. 508-524, 2013
【非特許文献２】Chao Shi, Masahiro Shiomi, Christian Smith, Takayuki Kanda, Hiroshi Ishiguro, “A Model of Distributional Handing Interaction for a Mobile Robot,” Proceedings of Robotics: Science and Systems, 2013
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の背景技術は、いずれもロボットによるサービスの提供を待っている人が存在する状況に対応する技術ではないので、待っている人に対して適切に対応できない可能性がある。
【０００７】
それゆえに、この発明の主たる目的は、新規な、サービス提供ロボットシステムを提供することである。
【０００８】
この発明の他の目的は、サービスの提供を待っている人に対して適切にサービスを提供できる、サービス提供ロボットシステムを提供することである。
【課題を解決するための手段】
【０００９】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【００１０】
第１の発明は、ロボットが人に対してサービスを提供するサービス提供ロボットシステムであって、人追跡システムによって取得したそれぞれの人の位置情報に基づいてロボットによるサービスの提供を待っている人々を検出する検出部、検出部が検出した人々に対する優先度を、各人の位置情報に基づいて決定する優先度決定部、および優先度に従ってロボットにサービスの提供を行わせるサービス提供制御部を備える、サービス提供ロボットシステムである。
【００１１】
第１の発明では、サービス提供ロボットシステム（１００：実施例において相当する部分を例示する参照符号。以下同様。）は、人に対してサービスの提供が可能なロボット（１０）を含み、そのロボットが人に対してサービス（たとえば、ちらしの配布、イベント情報の提供、道案内、店舗や商品の宣伝など）を提供する。検出部（１４、Ｓ５）は、ロボットの周囲で移動を停止していて、かつロボットから遠すぎない人を、ロボットによるサービスの提供を待っている人として検出し、たとえば待ちリスト（Ｌwait）を作成する。優先度決定部（１４、Ｓ５、Ｓ３１）は、検出部が検出した人々について優先度（サービスの提供を受ける順番）を付与する。サービス提供制御部（１４、Ｓ７、Ｓ１５）は、ロボットによって、そのとき最も高い優先度を持つ人に対してサービスを提供させる。
【００１２】
第１の発明によれば、優先度に従ってロボットがサービスを提供するので、ロボットのサービス提供を待っている人に対して適切にサービスを提供することができる。
【００１３】
第２の発明は、第１の発明に従属し、検出部は、一定時間停止している人であってロボットから所定距離以内に存在する人を検出する、サービス提供ロボットシステムである。
【００１４】
第２の発明では、検出部（１４、Ｓ５）は、たとえば一定時間動いていない人であって、しかもロボットに近い人をリスト（Ｌstop）に登録し、優先度決定部はそのリストに載っている人に対して優先度を付与する。
【００１５】
第２の発明によれば、ロボットの近くで動きを止めている人をロボットによるサービスの提供を待っている人とみなして優先度を付与するので、待っている人に確実にサービスを提供できる。
【００１６】
第３の発明は、第１または第２の発明に従属し、優先度決定部は、２人以上で弧を形成している人に対して優先度を付与する、サービス提供ロボットシステムである。
【００１７】
第３の発明では、ロボットの近くで隣り合う人が弧を形成している場合、サービスの提供を待っているとみなし、優先度決定部（１４、Ｓ５、Ｓ３３）はそれらの人に対して、優先度を付与する。
【００１８】
第３の発明によれば、ロボットによるサービスの提供を待っている可能性が最も高い人に対して確実にサービスを提供することができる。
【００１９】
第４の発明は、ロボットが人に対してサービスを提供するサービス提供ロボットシステムのコンピュータによって実行可能なプログラムであって、コンピュータを、人追跡システムによって取得したそれぞれの人の位置情報に基づいてロボットによるサービスの提供を待っている人々を検出する検出部、検出部が検出した人々に対する優先度を、各人の位置情報に基づいて決定する優先度決定部、および優先度に従ってロボットにサービスの提供を行わせるサービス提供制御部として機能させる、サービス提供プログラムである。
【００２０】
第４の発明によっても、第１の発明と同様の効果が期待できる。
【発明の効果】
【００２１】
この発明のサービス提供ロボットシステムによれば、サービスの提供を待っている人々に対し、優先度に基づいてサービスを提供するので、サービスを待っている人に対して適切に、ロボットによるサービスを提供することができる。
【００２２】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２３】
【図１】図１はこの発明の一実施例であるサービス提供ロボットシステムが適用され得る場所の一例としてのショッピングセンタの配置例を示す図解図である。
【図２】図２はこの発明の一実施例のサービス提供ロボットシステムを示すブロック図である。
【図３】図３は実施例のサービス提供ロボットシステムに利用可能なロボットの一例を示す図解図である。
【図４】図４は図３実施例のロボットの電気的構成を示すブロック図である。
【図５】図５は図２のコンピュータに付属するメモリのメモリマップの一例を示す図解図である。
【図６】図６は実施例のコンピュータが実行するサービス提供処理の一例を示すフロー図である。
【図７】図７は図６実施例におけるサービス待ちリストの作成処理の一例を示すフロー図である。
【図８】図８はサービス待ちの人々の優先度を決定する第１の例を示す図解図である。
【図９】図９はサービス待ちの人々の優先度を決定する第２の例を示す図解図である。
【図１０】図１０はサービス待ちの人々の優先度を決定する第３の例を示す図解図である。
【図１１】図１１はサービス待ちの人々の優先度を決定する第４の例を示す図解図である。
【発明を実施するための形態】
【００２４】
図１を参照して、この実施例のサービス提供ロボットシステム１００は、たとえばショッピングモールなどのように多様な人々が往来する空間（環境）で利用される。その空間の中では、ロボット１０や人は任意に移動することができ、天井などの比較的高所には複数の距離画像センサ１２が設けられている。
【００２５】
ロボット１０は、相互作用指向のロボット（コミュニケーションロボット）であり、コミュニケーションの対象である人との間で、音声を含むコミュニケーション行動を実行する機能を備えている。また、ロボット１０はコミュニケーションの一環として、イベント情報の提供、ショッピングモール内の店舗の宣伝や広告のようなサービスを人々に対して提供する。このロボット１０は基本的には、後述する遠隔操作コンピュータ１４（図２）から与えられる行動命令に基づいて行動するが、サービスを提供する上で必要であれば、ショッピングモール（空間）内を自律的に移動することもできる。
【００２６】
この実施例のサービス提供ロボットシステム１００は、ショッピングモールに限らず、イベント会場、アトラクション会場などでも利用可能である。
【００２７】
なお、図１では簡単のため、人は１人しか示していないが、ショッピングモール内には通常多くの人々が存在する。さらには、ロボット１０も１台しか示していないが、サービス提供ロボットシステム１００は２台以上のロボット１０を同時に制御することができる。
【００２８】
図２を参照して、サービス提供ロボットシステム１００の遠隔操作用のコンピュータ１４は、後に詳細に説明するが、一定時間（たとえば、１秒）毎に複数の距離画像センサ１２によって、任意に移動する人の位置を検出すると共に、その人の向いている方向などを検出する。そのために、コンピュータ１４は、距離画像センサ１２からのセンサ出力を受ける。
【００２９】
コンピュータ１４にはメモリ１６、通信ＬＡＮボード１８が接続されると共に、発話コンテンツデータベース（ＤＢ）２０も接続される。発話コンテンツデータベース２０は、ロボット１０が人に対して広告、宣伝などのサービスを提供する際に人に対して話しかけるときに必要な発話文および広告、宣伝などに必要な発話文を予め登録しておき、必要なとき、コンテンツ４が必要な発話文を読み出してロボット１０に与える。
【００３０】
ただし、発話コンテンツデータベース２０は、ロボット１０に設けられていてもよい。その場合には、コンピュータ１４は、ロボット１０に対して、発話すべき発話文を指定する命令だけをロボット１０に送ればよい。
【００３１】
距離画像センサ１２は、赤外光またはレーザなどの光を照射し、対象物から反射した光（反射光）をＣＣＤセンサなどの光学センサによって捉える。距離画像センサ１２は、光が戻るまでの時間を画素ごとに計測することで、対象物までの実際の距離を測距する。実施例の距離画像センサ１２には、ＡＳＵＳ（登録商標）社製のＸｔｉｏｎと呼ばれる製品が採用されている。なお、他の実施例では、距離画像センサ１２は、Ｍｉｃｒｏｓｏｆｔ（登録商標）社製のＫｉｎｅｃｔ（登録商標）センサ、パナソニック（登録商標）社製の３次元距離画像センサＤ−ＩＭａｇｅｒ（登録商標）などを使用することも可能である。この種のセンサは、３次元距離計測センサ、３Ｄスキャナなどと呼ばれる場合もある。
【００３２】
距離画像センサ１２はそのレーザ走査面（スキャン面）の傾斜角を変化させながら計測することができ、そのため、１回の計測によって（最小傾斜角から最大傾斜角まで変化する期間に）、対象の３次元形状を計算することができる。また、対象が停止していても、その３次元形状を計算することができる（ただし、対象が動いていれば、多様な位置関係で計測が行えるので、３次元形状の計算精度が高まる点で好ましい）。
【００３３】
また、スキャン面の傾斜角がこのように変化することで、計測領域が拡がると共に、複数の対象が密集している状態でも、対象群を直上ないしその近傍から計測した計測データに基づいて１つ１つの対象に容易に分離することができる。そして、様々な傾斜角で計測した計測データに基づいて、分離した１つ１つの対象の３次元形状を精度よく計算することができる。
【００３４】
ここで、このように距離画像センサ１２を利用する人追跡システムを実現するコンピュータ１４の処理手順を説明するが、詳しい処理手順は、本件出願人の出願に係る、同時係属中の特開２０１２‐２１５５５５号に説明されているので、その記述を引用することとし、ここでは概要を説明するにとどめる。
【００３５】
コンピュータ１４は、まず、各距離画像センサ１２からの計測データに基づいて、対象の状態（たとえば位置，移動方向，３次元形状および姿勢など）をパーティクルフィルタでリアルタイムに推定する状態推定処理を実行する。
【００３６】
パーティクルフィルタは、予測および観測を繰り返すことによって現在の対象の状態を推定する時系列フィルタの一種であり、具体的には、現状態から起こりうる次状態を多数のパーティクルに見立てて、観測された状態との間の尤度（類似度）をパーティクル毎に求め、全パーティクルを尤度に応じて加重平均した結果を現在の対象の状態であると推定する。そして、重みに従う新たなパーティクルを発生させ、同様の処理を繰り返すことで、対象の状態を逐次推定することができる。
【００３７】
状態推定処理では、１つ１つの対象の状態を専用のパーティクルフィルタで推定する。したがって、たとえば１０個の対象が検出されている状態では、１０個のパーティクルフィルタが並列に動作しており、別の対象が検出されると、１１個目のパーティクルフィルタが新たに生成される。
【００３８】
コンピュータ１４はまた、上記のような状態推定処理と並列的に、各対象の状態に基づいて、各対象が「１人」であるかグループに属するかを推定するグループ推定処理、および各対象が個別に行う行動（たとえば店舗や案内板を見る行動）を推定する個別行動推定処理をも実行する。
【００３９】
そして、各種の推定処理が完了した後、コンピュータ１４はさらに、推定結果に基づいてグループ行動を解析する。このグループ行動解析処理では、各グループを「友達同士」、「家族連れ」、「カップル」などのカテゴリに分類したり、個別行動情報をグループ毎に解析してグループ行動情報を作成したり、グループ行動情報をカテゴリ毎に解析してグループ行動パターンたとえば、友人同士が特定の店舗や案内板に注目したり、家族連れが特定の通路を通ったり、といった行動パターン）情報を作成したりする。
図２に示すメモリ１６はＲＯＭ、ＨＤＤおよびＲＡＭなどを含む。ＲＯＭおよびＨＤＤには、コンピュータ１４の動作を制御するための制御プログラムが予め記憶される。また、ＲＡＭは、コンピュータ１４のワークメモリやバッファメモリとして用いられる。
【００４０】
通信ＬＡＮボード１８は、たとえばＤＳＰで構成され、コンピュータ１４から与えられた送信データを無線通信モジュール２２に与え、無線通信モジュール２２は送信データを、ネットワーク２４を介してロボット１０に送信する。たとえば、送信データは、ロボット１０の自律移動に必要なデータや、サービスを提供ために必要なデータおよびロボット１０に指示する行動命令の信号（コマンド）などである。また、通信ＬＡＮボード１８は、無線通信モジュール２２を介してデータを受信し、受信したデータをコンピュータ１４に与える。
【００４１】
なお、コンピュータ１４は、ディスプレイなどの出力装置と、マウスおよびキーボードなどの入力装置とを備えていてもよい。
【００４２】
ここで、図２および図３を参照して、この発明の理解に必要な範囲でロボット１０の構成について説明する。ロボット１０は台車３０を含み、台車３０の下面にはロボット１０を自律移動させる２つの車輪３２および１つの従輪３４が設けられる。２つの車輪３２は車輪モータ３６（図３参照）によってそれぞれ独立に駆動され、台車３０すなわちロボット１０を前後左右の任意方向に動かすことができる。
【００４３】
台車３０の上には、円柱形のセンサ取り付けパネル３８が設けられ、このセンサ取り付けパネル３８には、多数の距離センサ４０が取り付けられる。これらの距離センサ４０は、たとえば赤外線や超音波などを用いてロボット１０の周囲の物体（人や障害物など）との距離を測定するものである。
【００４４】
センサ取り付けパネル３８の上には、胴体４２が直立して設けられる。また、胴体４２の前方中央上部（人の胸に相当する位置）には、上述した距離センサ４０がさらに設けられ、ロボット１０の前方の主として人との距離を計測する。また、胴体４２には、その背面側上端部のほぼ中央から伸びる支柱４４が設けられ、支柱４４の上には、全方位カメラ４６が設けられる。全方位カメラ４６は、ロボット１０の周囲を撮影するものであり、後述する眼カメラ７０とは区別される。この全方位カメラ４６としては、たとえばＣＣＤやＣＭＯＳのような固体撮像素子を用いるカメラを採用することができる。
【００４５】
胴体４２の両側面上端部（人の肩に相当する位置）には、それぞれ、肩関節４８Ｒおよび肩関節４８Ｌによって、上腕５０Ｒおよび上腕５０Ｌが設けられる。図示は省略するが、肩関節４８Ｒおよび肩関節４８Ｌは、それぞれ、直交する３軸の自由度を有する。すなわち、肩関節４８Ｒは、直交する３軸のそれぞれの軸廻りにおいて上腕５０Ｒの角度を制御できる。肩関節４８Ｒの或る軸（ヨー軸）は、上腕５０Ｒの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節４８Ｌは、直交する３軸のそれぞれの軸廻りにおいて上腕５０Ｌの角度を制御できる。肩関節４８Ｌの或る軸（ヨー軸）は、上腕５０Ｌの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。
【００４６】
また、上腕５０Ｒおよび上腕５０Ｌのそれぞれの先端には、肘関節５２Ｒおよび肘関節５２Ｌが設けられる。図示は省略するが、肘関節５２Ｒおよび肘関節５２Ｌは、それぞれ１軸の自由度を有し、この軸（ピッチ軸）の軸回りにおいて前腕５４Ｒおよび前腕５４Ｌの角度を制御できる。
【００４７】
前腕５４Ｒおよび前腕５４Ｌのそれぞれの先端には、人の手に相当するハンド５６Ｒおよびハンド５６Ｌがそれぞれ設けられる。これらのハンド５６Ｒおよび５６Ｌは、詳細な図示は省略するが、開閉可能に構成され、それによってロボット１０は、ハンド５６Ｒおよび５６Ｌを用いて物体を把持または挟持することができる。ただし、ハンド５６Ｒ、５６Ｌの形状は実施例の形状に限らず、人の手に酷似した形状や機能を持たせるようにしてもよい。
【００４８】
また、図示は省略するが、台車３０の前面、肩関節４８Ｒと肩関節４８Ｌとを含む肩に相当する部位、上腕５０Ｒ、上腕５０Ｌ、前腕５４Ｒ、前腕５４Ｌ、ハンド５６Ｒおよびハンド５６Ｌには、それぞれ、接触センサ５８（図３で包括的に示す）が設けられる。台車３０の前面の接触センサ５８は、台車３０への人間１６や他の障害物の接触を検知する。したがって、ロボット１０は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪３２の駆動を停止してロボット１０の移動を急停止させることができる。また、その他の接触センサ５８は、当該各部位に触れたかどうかを検知する。
【００４９】
胴体４２の中央上部（人の首に相当する位置）には首関節６０が設けられ、さらにその上には頭部６２が設けられる。図示は省略するが、首関節６０は、３軸の自由度を有し、３軸の各軸廻りに角度制御可能である。或る軸（ヨー軸）はロボット１０の真上（鉛直上向き）に向かう軸であり、他の２軸（ピッチ軸、ロール軸）は、それぞれ、それと異なる方向で直交する軸である。
【００５０】
頭部６２には、人の口に相当する位置に、スピーカ６４が設けられる。スピーカ６４は、ロボット１０が、それの周辺の人に対して音声によってコミュニケーションをとるために用いられる。また、人の耳に相当する位置には、マイク６６Ｒおよびマイク６６Ｌが設けられる。以下、右のマイク６６Ｒと左のマイク６６Ｌとをまとめてマイク６６ということがある。マイク６６は、周囲の音、とりわけコミュニケーションを実行する対象である人間１６の音声を取り込む。さらに、人の目に相当する位置には、右の眼球部６８Ｒおよび左の眼球部６８Ｌが設けられる。右の眼球部６８Ｒおよび左の眼球部６８Ｌは、それぞれ右の眼カメラ７０Ｒおよび左の眼カメラ７０Ｌを含む。以下、右の眼球部６８Ｒと左の眼球部６８Ｌとをまとめて眼球部６８ということがある。また、右の眼カメラ７０Ｒと左の眼カメラ７０Ｌとをまとめて眼カメラ７０ということがある。
【００５１】
眼カメラ７０は、ロボット１０に接近した人の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。この実施例では、ロボット１０は、この眼カメラ７０からの映像信号によって、人の左右両目のそれぞれの視線方向（ベクトル）を検出する。
【００５２】
また、眼カメラ７０は、上述した全方位カメラ４６と同様のカメラを用いることができる。たとえば、眼カメラ７０は、眼球部６８内に固定され、眼球部６８は、眼球支持部（図示せず）を介して頭部６２内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、２軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この２軸の一方は、頭部６２の上に向かう方向の軸（ヨー軸）であり、他方は、一方の軸に直交しかつ頭部６２の正面側（顔）が向く方向に直行する方向の軸（ピッチ軸）である。眼球支持部がこの２軸の各軸廻りに回転されることによって、眼球部６８ないし眼カメラ７０の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ６４、マイク６６および眼カメラ７０の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
【００５３】
このように、この実施例のロボット１０は、車輪３２の独立２軸駆動、肩関節４８の３自由度（左右で６自由度）、肘関節５２の１自由度（左右で２自由度）、首関節６０の３自由度および眼球支持部の２自由度（左右で４自由度）の合計１７自由度を有する。
【００５４】
図３はロボット１０の電気的な構成を示すブロック図である。この図３を参照して、ロボット１０は、ＣＰＵ８０を含む。ＣＰＵ８０は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス８２を介して、メモリ８４、モータ制御ボード８６、センサ入力／出力ボード８８および音声入力／出力ボード９０に接続される。
【００５５】
メモリ８４は、図示は省略をするが、ＲＯＭ、ＨＤＤおよびＲＡＭを含む。ＲＯＭおよびＨＤＤには、後述の各種プログラムが予め記憶される。
【００５６】
モータ制御ボード８６は、たとえばＤＳＰで構成され、各腕や首関節６０および眼球部６８などの各軸モータの駆動を制御する。すなわち、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、右眼球部６８Ｒの２軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「右眼球モータ９２」と示す）の回転角度を制御する。同様にして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、左眼球部６８Ｌの２軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「左眼球モータ９４」と示す）の回転角度を制御する。
【００５７】
また、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、肩関節４８Ｒの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節５２Ｒの角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「右腕モータ９６」と示す）の回転角度を制御する。同様にして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、肩関節４８Ｌの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節５２Ｌの角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「左腕モータ９８」と示す）の回転角度を制御する。
【００５８】
さらに、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、首関節６０の直交する３軸のそれぞれの角度を制御する３つのモータ（図３では、まとめて「頭部モータ１００」と示す）の回転角度を制御する。そして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、車輪３２を駆動する２つのモータ（図３では、まとめて「車輪モータ３６」と示す）の回転角度を制御する。
【００５９】
モータ制御ボード８６にはさらにハンドアクチュエータ１０８が結合され、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、ハンド５６Ｒ、５６Ｌの開閉を制御する。
【００６０】
センサ入力／出力ボード８８は、モータ制御ボード８６と同様に、ＤＳＰで構成され、各センサからの信号を取り込んでＣＰＵ８０に与える。すなわち、距離センサ４０のそれぞれからの反射時間に関するデータがこのセンサ入力／出力ボード８８を通じてＣＰＵ８０に入力される。また、全方位カメラ４６からの映像信号が、必要に応じてセンサ入力／出力ボード８８で所定の処理を施してからＣＰＵ８０に入力される。眼カメラ７０からの映像信号も、同様にして、ＣＰＵ８０に入力される。また、上述した複数の接触センサ５８（図３では、まとめて「接触センサ５８」と示す）からの信号がセンサ入力／出力ボード８８を介してＣＰＵ８０に与えられる。音声入力／出力ボード９０もまた、同様に、ＤＳＰで構成され、ＣＰＵ８０から与えられる音声合成データに従った音声または声がスピーカ６４から出力される。また、マイク６６からの音声入力が、音声入力／出力ボード９０を介してＣＰＵ８０に与えられる。
【００６１】
また、ＣＰＵ８０は、バス８２を介して通信ＬＡＮボード１０２に接続される。通信ＬＡＮボード１０２は、たとえばＤＳＰで構成され、ＣＰＵ８０から与えられた送信データを無線通信モジュール１０４に与え、無線通信モジュール１０４は送信データを、ネットワークを介してサーバ（図示せず）等に送信する。また、通信ＬＡＮボード１０２は、無線通信モジュール１０４を介してデータを受信し、受信したデータをＣＰＵ８０に与える。
【００６２】
図５は図２に示すコンピュータ１４におけるメモリ１６のメモリマップの一例を示す図解図であり、メモリ１６はプログラム記憶領域２０２およびデータ記憶領域２０４を含む。プログラム記憶領域２０２には、上で説明した特開２０１２‐２１５５５５号が開示している計測プログラム２０６が記憶されていて、この計測プログラム２０６は推定プログラムおよび解析プログラムを含む。プログラム記憶領域２０２はさらに、図６に詳しく示すサービス提供プログラム２０８を含む。
【００６３】
データ記憶領域２０４には、計測データバッファ２１０が設けられると共に、地図データ２１２が記憶される。計測データバッファ２１０には、上で説明したような人追跡システムによる計測結果、各対象の状態や属性／プロファイルを示す情報であり、状態としての位置、移動方向、３次元形状および姿勢、ならびに属性／プロファイルとしての身長、性別および大人／子供の区別がストアされる。さらに、対象が「１人」であるかグループに属するか、グループだとしたら「友達同士」、「家族連れ」、「カップル」のどのカテゴリに属するかなどのデータを含む。地図データ２１２は、このサービス提供ロボットシステム１００が適用される場所、イベント会場、ショッピングセンタなどの商業施設などの地図であり、ロボット１０や人の位置を判別するためなどに使用される。
【００６４】
データ記憶領域２０４の各種リストデータ領域２１４には、いずれも後述するサービス提供済みリストＬserved、サービス待ちリストＬwait、停止している人のリストＬstopなどが、更新可能に記憶されている。
【００６５】
なお、データ記憶領域２０４には、上述のような計測データを得るために必要な種々のデータ、たとえばパーティクルフィルタ、３次元形状モデルデータベース（ＤＢ）などが記憶されるのであるが、ここでは特開２０１２‐２１５５５５号を引用することによって、省略する。
【００６６】
図６を参照して、サービス提供処理の最初のステップＳ１では、コンピュータ１４は、サービス提供済みリストＬservedを初期化する。このサービス提供済みリストＬservedは、ロボット１０によって既にサービスの提供を受けた人のリストであり、上述のデータ記憶領域２０４（図５）に記憶されている。
【００６７】
そして、次のステップＳ３において、コンピュータ１４は、図５に示す計測データバッファ２１０から、現時刻からΔｔ秒前までの、すべての人の位置情報（ｉｄ，ｘ，ｙ，ｚ）を取得する。ただし、ｉｄは各人の識別番号であり、ｘはｘ座標、ｙはｙ座標であり、ｚは人の背の高さである。なお、図１のショッピングモールにおいて、紙面の幅方向がｘ軸（ｘ座標）であり、紙面の奥行方向がＹ軸（ｙ座標）である。
【００６８】
次のステップＳ５において、コンピュータ１４は、サービス待ちリストＬwaitを作成する。このサービス待ちリストＬwaitは、ロボット１０によるサービスの提供を待っている人々のリストであり、具体的には図７に示す方法で作成される。サービス待ちリストＬwaitは、人とロボットの位置関係に基づいて作成するが、リストＬwaitでは、優先度の高い人ｉｄが先頭にリストアップされる。
【００６９】
サービス待ちリストＬwaitの作成方法を説明する前に、ここで、優先度について、図８‐図１１を参照して説明する。
【００７０】
図８の例は、ロボット１０の周囲に人々（塗りつぶした円で示す。）が弧を作るケースであり、このケースの場合、人同士の距離が十分近く、全体として弧を形成する。正面の一番近い人の優先度が最も高く、正面からの角度が大きくなるにつれて優先度が小さくなる。なお、図８‐図１１における数字は、そのような優先度を表している。数値が小さいほど優先度が高い。
【００７１】
図９の例は、該当する人（塗りつぶした円で示す。）がロボット１０から離れて待っているケースである。つまり、ロボット１０の一番正面近くにいる人（図９において塗りつぶしていない円「１」、「２」で示す。）とは、弧は形成しないが、少し離れた場所で待っているケースである。このケースに当てはまる人々は，ロボット１０を直接見通せる（ロボットと人の間に別の人を挟まない）位置に立ち、最初の弧にいる人々よりも離れた位置へ立っている。この位置にいる人々同士が、弧を形成する場合もある(図９中の「３」、「４」を繋ぐ１点鎖線)。
【００７２】
図１０の例は、該当する人（塗りつぶした円で示す。）がロボット１０が見えない位置に立っているケースである。このケースでは、その人は弧状には存在せず、ロボット１０を直接見通すことができない（図１０において塗りつぶしていない円で示す他の人々の存在によって）。図１０の人は、ロボット１０によるサービスを待っている人には含まれず、したがって優先度を持つことがない。
【００７３】
図１１の例は、図９の例が複数存在するケースである。このケースの場合、まず弧の検出を行い、近い弧から順に順番を決定する。次の弧は、ロボット１０に近い順に決定される。この場合も、ロボット１０から見て弧（図１１で塗りつぶしていない円で示す「１」、「２」で形成される。）の影にいる人（塗りつぶした円で示す人の内左端の人）に対して優先度は付与されない。
【００７４】
図８‐図１１を前提にして、ここで、図７を参照して、ステップＳ５におけるサービス待ちリストＬwaitの作成方法を説明する。
【００７５】
図７の最初のステップＳ２１では、コンピュータ１４は、サービス待ちリストＬwaitを初期化する。
【００７６】
次のステップＳ２３で、コンピュータ１４は、ステップＳ３（図６）で取得した現時刻からΔｔ秒前までの各人の位置情報（ｔ，ｉｄ，ｘ，ｙ，ｚ）に基づいて、各人の移動速度（Δｔ秒間に移動した距離／ｔ）を求め、Δｔ秒の間停止している（移動していない）人々のリストＬstop（＝｛ｉｄ１、ｉｄ２、…｝）を作成する。
【００７７】
ステップＳ２５では、コンピュータ１４は、ステップＳ２３で作成した停止している人のリストＬstopの内、ロボット１０から所定距離ｄ以上離れている人のｉｄを削除する。つまり、ロボット１０から所定距離以内に存在する人のみをリストＬstopにリストアップする。ロボット１０から遠いと、ロボット１０によるサービスを待っている人とは思えないからである。
【００７８】
そして、ステップＳ２７でコンピュータ１４は、リストＬstopの内、ロボット１０の正面でかつ最も近い人Ｐseed（図８でいえば「１」で示す人）を算出する。
【００７９】
次のステップＳ２９では、コンピュータ１４は、人Ｐseedを中心として弧を形成する人（図８の例でいえば、「２」‐「７」で示す塗りつぶした円で表わす人）をリストＬstopから抜き出して、リストＬstopから削除する。
【００８０】
そして、ステップＳ３１において、コンピュータ１４は、ステップＳ２９で抜き出した人を、弧の優先度に従って、待ちリストＬwaitに追加する（図８の例）。
【００８１】
ただし、弧によってロボット１０が見えなくなる人、図１０において「４」で示す人の後ろにいる人や図１１において「１」および「２」で作るこの後ろにいる人を、停止している人のリストＬstopから削除する（ステップＳ３３）。これらの人は、先に説明したように、ロボット１０によるサービス提供に対して優先度を持たないからである。
【００８２】
ステップＳ３５でリストＬstopに未だ処理すべき人が存在すると判断したときは、先のステップＳ２７に戻り、そうでなければ、この図７のサブルーチンは終了する。
【００８３】
図６に戻って、ステップＳ７では、コンピュータ１４は、ステップＳ５で作成した待ちリストＬwaitにリストアップされていてかつ済みリストＬservedにリストアップされていない人の内、最も高い優先度を保有している人を、サービス提供対象者Ｐtargetとして選択する。つまり、既にサービスの提供を受けた人を除いて、待ちリストＬwait中で最も高い優先度の人を対象者Ｐtargetとして特定する。
【００８４】
もし、ステップＳ７で対象者Ｐtargetが決められない場合、つまり、ステップＳ７で適用する条件に該当する人がいない場合、たとえば待ちリストＬwaitにリストアップされている人がいない場合など、ステップＳ１１において、コンピュータ１４は、ステップＳ７とは別に、ロボット１０が提供するサービスに固有の方法で対象者Ｐtargetを決定する。この場合には、済リストＬservedに載っている人を除外しなくてもよい。つまり、ステップＳ７で対象者Ｐtargetを決められなかったときには、ステップＳ１１で自由に対象者Ｐtargetを決める。それによって、ロボット１０が動作していない状態を可及的防止するようにした。
【００８５】
そして、ステップＳ１３でコンピュータ１４は、再び、対象者Ｐtargetが存在するかどうか、つまり、ステップＳ１１で対象者を決定できたかどうか、判断する。
【００８６】
ステップＳ１３で“ＹＥＳ”を判断したときは、先のステップＳ９で“ＹＥＳ”と反したときと同様に、ステップＳ１５において、ロボット１０によって、対象者Ｐtargetに対してサービスを提供させる。ロボット１０は、たとえば、ちらしを配ったり、イベント情報を提供したり、道案内をしたり、店舗や商品の宣伝をしたり、種々のサービスを提供することができる。
【００８７】
ステップＳ１５でロボット１０によるサービスの提供を受けた人のｉｄを済リストＬservedに追加する。
【００８８】
そして、ステップＳ１９においてサービスの終了（たとえば、待ちリストＬwait中のすべての人に対してロボット１０がサービスを提供したときなど）を判断したとき、サービス提供処理を終了する。さもなければ、ステップＳ３に戻って上述の動作を繰り返す。
【００８９】
なお、この発明に利用できるコミニュケーションロボットは、図３および図４の実施例で説明したロボット１０に限定されるものではない。他の形式や構造のロボットが利用できる。
【００９０】
さらに、ロボット１０の周囲の人の位置や姿勢などを検出するための人追跡システムも、実施例で説明したシステムに限定されるものではない。他の構成の人追跡システムが利用されてもよい。
【００９１】
さらに、実施例では遠隔操作コンピュータ１４がロボット１０に命令を与えてサービスを提供させるようにしたが、コンピュータ１４に代わって、ロボット１０たとえば図４のＣＰＵ８０が図６のサービス提供処理や図７の待ちリスト作成の動作を制御するようにしてもよい。
【符号の説明】
【００９２】
１０  …ロボット
１２  …距離画像センサ
１４  …コンピュータ
１００  …サービス提供ロボットシステム
【図１】
2017170568.tif 000003
【図２】
2017170568.tif 000004
【図３】
2017170568.tif 000005
【図４】
2017170568.tif 000006
【図５】
2017170568.tif 000007
【図６】
2017170568.tif 000008
【図７】
2017170568.tif 000009
【図８】
2017170568.tif 000010
【図９】
2017170568.tif 000011
【図１０】
2017170568.tif 000012
【図１１】
2017170568.tif 000013