以下、図面に基づいて、本願の開示する制御プログラム、制御方法および制御装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
図1は、実施例の接客ロボットの配置の一例を示す図である。まず、図1を用いて接客ロボット(以下、単にロボットともいう。)100の配置について説明する。図1に示すように、接客ロボット100は、例えば、展示会場のブースに配置される。接客ロボット100の周囲には、接客ロボット100によってサービスの提供を行うことができるサービス提供空間20が設定される。また、当該ブースには、テーブル21、壁22、および、映像投影用のスクリーン23が配置されている。接客ロボット100は、サービス提供空間20に対して座標系を設定し、例えば1cm3単位の空間ブロック群を設定する。接客ロボット100は、空間ブロック群を用いて、来訪者の関心領域を特定する等の各種の処理を行う。
図2は、実施例の接客ロボットの構成の一例を示すブロック図である。接客ロボット100は、例えばブース内に設置された外部センサ10から取得したセンサ情報に基づいて、第1の来訪者と第2の来訪者とを検出する。接客ロボット100は、第1の来訪者と第2の来訪者とを検出すると、第1の来訪者と第2の来訪者とが撮像されている撮像画像、または、センサにより検出された第1の来訪者の特定のいずれかの部位の向きおよび第2の来訪者のいずれかの部位の向きに基づき、第1の来訪者と第2の来訪者とのそれぞれの関心領域を特定する。接客ロボット100は、特定した第1の来訪者の関心領域と、第2の来訪者の関心領域とが異なるか否かを判定する。接客ロボット100は、第1の来訪者の関心領域と、第2の来訪者の関心領域とが異なる場合、情報提供装置が有する複数の情報提供リソースのうち、第1の来訪者の関心領域に応じた情報提供リソースを用いて、第1の来訪者に対する情報提供処理を実行する。また、接客ロボット100は、複数の情報提供リソースのうち、第2の来訪者の関心領域に応じた情報提供リソースを用いて、第2の来訪者に対する情報提供処理を実行する。これにより、接客ロボット100は、複数の来訪者に対する接客効率を向上できる。
次に、図2を用いて接客ロボット100の機能構成について説明する。図2に示すように、接客ロボット100は、通信部110と、頭部111と、眼部112と、右腕部113と、左腕部114と、対話部115と、表示部116と、記憶部120と、制御部130とを有する。なお、以下の説明では、頭部111と、眼部112と、右腕部113と、左腕部114と、対話部115と、表示部116とを纏めて表す場合、ロボット資源117と表す。すなわち、本実施例では、情報提供装置は、例えば接客ロボット100であり、情報提供リソースは、ロボット資源117である。また、接客ロボット100は、図2に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイス等の機能部を有することとしてもかまわない。なお、以下の説明では、関心領域を関心空間とも表現する。
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、図示しないネットワークを介して外部センサ10や他の情報処理装置と有線または無線で接続され、外部センサ10や他の情報処理装置との間で情報の通信を司る通信インタフェースである。
なお、外部センサ10には、例えば、カメラ、赤外線センサ、超音波センサ、レーダー、LIDAR(Laser Imaging Detection and Ranging)、歪みゲージ、音声定位マイク、押圧マット、接触センサ等を用いることができる。また、外部センサ10には、例えば、来訪者にビーコン発振器、GPS(Global Positioning System)受信機、加速度センサ、方位センサ等を内蔵したヘッドセット等のウェアラブル端末を装着してもらい、これらの各種センサのセンサ情報を用いてもよい。外部センサ10は、これらの各種センサのセンサ情報を、例えば、1秒ごとのように、所定間隔で接客ロボット100に対して送信する。
頭部111は、接客ロボット100の頭であり、例えば、眼部112と、対話部115とを有する。頭部111は、制御部130からの指示に従って、例えば上下左右に頭を動かす動作を行うことができる。
眼部112は、接客ロボット100の眼であり、例えば、制御部130からの指示に従って、所定の範囲で動くことによって表情や視線を表現することができる。なお、眼部112は、カメラを内蔵して撮像画像を取得するようにしてもよい。
右腕部113および左腕部114は、それぞれ接客ロボット100の右腕および左腕である。右腕部113および左腕部114は、例えば、制御部130からの指示に従って、腕を上げる、方向を指し示す等の各種の動作を行うことができる。
対話部115は、マイクとスピーカとを有し、来訪者との対話を実現する。対話部115は、例えばマイクによって入力された来訪者の音声を制御部130に出力し、制御部130から入力された音声信号を、スピーカを用いて出力する。なお、対話部115は、頭部111だけではなく、その他の場所、例えば接客ロボット100の胴体に設けられてもよい。
表示部116は、各種情報を表示するための表示デバイスである。表示部116は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部116は、制御部130から入力された表示画面等の各種画面を表示する。表示部116は、例えば、接客ロボット100の胴体に設けることができる。また、これらのロボット資源117の各資源は、各資源に対する来訪者の接触を検知すると、接触情報を制御部130に出力する。なお、以下の説明では、ロボット資源117および各資源を接客資源と表現する場合がある。
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部120は、サービス提供空間記憶部121と、関心空間情報記憶部122と、来訪者空間情報記憶部123と、資源活用情報記憶部124と、サービスシナリオ記憶部125とを有する。また、記憶部120は、制御部130での処理に用いる情報を記憶する。
サービス提供空間記憶部121は、接客ロボット100の周囲に設定されるサービス提供空間20の座標系の空間ブロック群(以下、ブロック群ともいう。)の情報を記憶する。サービス提供空間記憶部121では、例えば、机や壁等の遮蔽物がある場合、対象のブロックに対して遮蔽情報が設定される。
ここで、図3を用いてサービス提供空間20に設定するブロックについて説明する。図3は、サービス提供空間に設定するブロックの座標の一例を示す図である。図3に示すように、ブロックは、例えば1cm3の立方体であり、ブロックの各頂点(以下、各端点ともいう。)の座標をブロックID(Identifier)と対応付けてサービス提供空間記憶部121に記憶する。
図2の説明に戻って、関心空間情報記憶部122は、来訪者ごとの関心空間情報を記憶する。図4は、関心空間情報記憶部の一例を示す図である。図4に示すように、関心空間情報記憶部122は、例えば、来訪者(ユーザ)ごとに1つの関心空間テーブルを有する。関心空間テーブルは、「ユーザID」、「関心空間判定」、「関心対象判定」、「関心対象種別」、「開始時刻」、「終了時刻」、「ブロックID」、「端点座標値」、「関心フラグ値」、「判定フラグ」といった項目を有する。
「ユーザID」は、来訪者(ユーザ)を識別する識別子である。「関心空間判定」は、来訪者に対応する関心空間があるか否かを示す情報である。「関心対象判定」は、来訪者が関心を寄せている関心対象があるか否かを示す情報である。「関心対象種別」は、関心対象の種別、例えば、ロボット、スクリーン等の情報を示す情報である。「開始時刻」は、関心空間テーブルの生成開始時刻を示す情報である。「終了時刻」は、関心空間テーブルの生成終了時刻を示す情報である。「ブロックID」は、関心空間内の各ブロックを識別する識別子である。「端点座標値」は、ブロックの各端点のサービス提供空間20における座標値を示す情報である。「関心フラグ値」は、来訪者が関心を寄せている場合に数値が加算される情報である。「判定フラグ」は、関心フラグ値が閾値以上である場合に関心空間と設定される情報である。
ここで、図5および図6を用いて関心空間について説明する。図5は、関心空間の一例を示す図である。図5の例では、来訪者Aがスクリーン24を見ているとすると、来訪者Aの視線がスクリーン24の方向で静止しており、視線方向の延長線上にスクリーン24があるので、関心空間はスクリーン24とその近傍の空間となる。
図6は、関心空間の他の一例を示す図である。図6の例では、スクリーン24と接客ロボット100とが並んで配置されており、来訪者Aが接客ロボット100を見ている。この場合は、来訪者Aの視線が接客ロボット100の方向で静止しており、視線方向の延長線上に接客ロボット100があるので、関心空間は接客ロボット100とその近傍の空間となる。
図2の説明に戻って、来訪者空間情報記憶部123は、来訪者の眼や耳等の感覚器ごとに、サービス開始時およびサービス終了時に来訪者が気付く確率を記憶する。図7は、来訪者空間情報記憶部の一例を示す図である。図7に示すように、来訪者空間情報記憶部123は、例えば、眼に対応する来訪者空間テーブル123aと、耳に対応する来訪者空間テーブル123bとを有する。来訪者空間テーブル123aは、「ユーザID」、「ユーザ感覚器」、「ロボット資源」、「サービス開始時に気付く確率」、「サービス終了時に気付く確率」、「開始時刻」、「終了時刻」といった項目を有する。また、来訪者空間テーブル123aは、「感覚器近傍ブロックID」、「端点座標値」、「ロボット資源が示す視差」、「開始に気付く確率」、「終了に気付く確率」といった項目を有する。
「ユーザID」は、来訪者(ユーザ)を識別する識別子である。「ユーザ感覚器」は、来訪者の眼や耳といった感覚器を識別する情報である。「ロボット資源」は、来訪者の感覚器に対して接客ロボット100がアクションを起こす際に用いるロボット資源117、例えば、右腕部113および左腕部114を示す腕、頭部111を示す頭といった情報である。「サービス開始時に気付く確率」は、来訪者に対してロボット資源117を用いて起こしたアクションに、来訪者が気付く確率を示す情報である。「サービス終了時に気付く確率」は、来訪者に対してロボット資源117を用いて起こしていたアクションを終了した場合に、来訪者が気付く確率を示す情報である。「開始時刻」は、来訪者空間テーブル123aの生成開始時刻を示す情報である。「終了時刻」は、来訪者空間テーブル123aの生成終了時刻を示す情報である。
「感覚器近傍ブロックID」は、ユーザ感覚器の近傍に存在する各ブロックを識別する識別子である。「端点座標値」は、ブロックの各端点のサービス提供空間20における座標値を示す情報である。「ロボット資源が示す視差」は、例えば、腕を振る動作を行った場合における腕の動く範囲に対応する視差を示す情報である。なお、視差の単位はラジアン(rad)を用いることができる。「開始に気付く確率」は、各ブロックにおいて、来訪者に対してロボット資源117を用いて起こしたアクションに、来訪者が気付く確率を示す情報である。「終了に気付く確率」は、各ブロックにおいて、来訪者に対してロボット資源117を用いて起こしていたアクションを終了した場合に、来訪者が気付く確率を示す情報である。
なお、来訪者空間テーブル123bは、来訪者空間テーブル123aと比較して、「ロボット資源」が「音声」となり、「ロボット資源が示す視差」が「ロボット資源が示す音圧レベル」となるが、その他の項目については同様であるので説明を省略する。
ここで、図8を用いて来訪者への働きかけが気付かれる範囲、すなわち、来訪者空間テーブル123aおよび来訪者空間テーブル123bの「感覚器近傍ブロックID」に対応する範囲について説明する。図8は、来訪者への働きかけが気付かれる範囲の一例を示す図である。図8に示すように、来訪者Aの視野に含まれる各ブロックは、眼に対応する来訪者空間テーブル123aの「感覚器近傍ブロックID」に設定される。また、来訪者Aの可聴範囲に含まれる各ブロックは、耳に対応する来訪者空間テーブル123bの「感覚器近傍ブロックID」に設定される。これにより、来訪者空間情報記憶部123には、来訪者の感覚器ごとに気付かれる範囲を設定することができる。
図2の説明に戻って、資源活用情報記憶部124は、ロボット資源117を各来訪者にどの様に配分するかの情報を記憶する。図9から図13は、資源活用情報記憶部の一例を示す図である。資源活用情報記憶部124は、例えば、複数の来訪者の状況に応じたロボット資源117(接客資源)の配分を示す資源活用テーブル124a~124eを有する。なお、以下の説明では、簡単のために来訪者はAとBの2人の場合について説明するが、これに限定されず、資源活用情報記憶部124は、3人以上の来訪者に対応するようにしてもよい。また、資源活用情報記憶部124の各資源活用テーブル124a等は、来訪者に応じて、動的に配分が算出されるようにしてもよい。なお、以下の説明では、資源活用テーブル124aを一例として項目を説明し、接客ロボット100の右側に来訪者A、左側に来訪者Bが居るものとする。
図9に示すように、資源活用テーブル124aは、「状況」、「ロボット資源」、「現状の配分」、「単位」、各アクションに対応する来訪者AまたはBが気付く確率「(1)」~「(4)」といった項目を有する。また、資源活用テーブル124aは、「B向けに変更する場合の効用を示す値」、「資源割り当ての見直し後の配分」といった項目を有する。
「状況」は、来訪者AとBの状況を示す情報である。また、「状況」は、配分を変更する状況を示す情報も含む。資源活用テーブル124aの例では、先行者である来訪者Aは、例えば図1に示すスクリーン23のみに関心があり、後から訪れた来訪者Bは、接客ロボット100を凝視している状況である。資源活用テーブル124aは、この状況において、来訪者Aが先行サービス受益者で(来訪者Aは接客ロボット100から目を離してほとんどスクリーン23を見ていて)、後から現れた来訪者Bにロボット資源117の付け替えを検討する場合である。
「ロボット資源」は、来訪者に対して接客ロボット100がアクションを起こす際に用いるロボット資源117を示す情報である。「現状の配分」は、ロボット資源117の現状の配分を示す情報である。図9の例では、ロボット資源117のうち、頭部111~対話部115は来訪者Aに配分され、表示部116は、来訪者A,Bいずれにも配分されていないことを示す。「単位」は、ロボット資源117の各資源を配分する場合における単位である。
「(1)」は、ロボット資源117の各資源が来訪者A向けのアクションを開始し、来訪者Aが便益を受ける場合、つまり、接客ロボット100が来訪者A向けアクションを開始して(右側に居る)来訪者Aが気付く確率を示す。「(2)」は、ロボット資源117の各資源が既存の来訪者A向けのアクションを停止し、来訪者Aが阻害を受ける場合、つまり、接客ロボット100が既存の来訪者A向けアクションを停止して(右側に居る)来訪者Aが気付く確率を示す。「(3)」は、ロボット資源117の各資源が新規の来訪者B向けのアクションを開始し、来訪者Bが便益を受ける場合、つまり、接客ロボット100が新規の来訪者B向けアクションを開始して(左側に居る)来訪者Bが気付く確率を示す。「(4)」は、ロボット資源117の各資源が新規の来訪者B向けのアクションを開始し、来訪者Aが阻害を受ける場合、つまり、接客ロボット100が新規の来訪者B向けアクションを開始して(右側に居る)来訪者Aが気付く確率を示す。
「B向けに変更する場合の効用を示す値」は、例えば、正の値であれば、ロボット資源117の配分を来訪者Bに変更することで、接客ロボット100がアクションを起こす効用が期待される場合を示す。負の値であれば、ロボット資源117の配分を来訪者Bに変更しない方が、来訪者A,Bの接客対応の満足度の低下を抑制できる場合を示す。すなわち、「B向けに変更する場合の効用を示す値」は、正の値であれば、ロボット資源117の配分を来訪者Bに変更し、負の値であれば、ロボット資源117の配分を来訪者Aのままとする。「B向けに変更する場合の効用を示す値」は、例えば、各アクションに対応する来訪者AまたはBが気付く確率「(1)」~「(4)」に基づいて算出できる。ロボット資源117の頭部111~対話部115は、「(3)-(2)-(4)」で「B向けに変更する場合の効用を示す値」を算出できる。ロボット資源117の表示部116は、「現状の配分」で来訪者A,Bのいずれにも配分されていないので、「(3)-(1)-(4)」で「B向けに変更する場合の効用を示す値」を算出できる。
「資源割り当ての見直し後の配分」は、「B向けに変更する場合の効用を示す値」に基づいて、ロボット資源117の各資源を来訪者A,Bのいずれかに配分した値を示す。図9の例では、ロボット資源117の各資源は、全て来訪者Bに配分されている。すなわち、図9の例では、来訪者Aが接客ロボット100に無関心なので、ロボット資源117の全部の資源を来訪者Bに割り当てることができる。
図10に示す資源活用テーブル124bは、「状況」が、先行者である来訪者Aは、接客ロボット100にも関心を持ちつつスクリーン23にも関心を示す状況である。資源活用テーブル124bは、この状況において、来訪者Aが先行サービス受益者で(接客ロボット100とスクリーン23とを半々くらいに見ていて)、後から現れた来訪者Bにロボット資源117の付け替えを検討する場合である。資源活用テーブル124bでは、「現状の配分」は、ロボット資源117が全て来訪者Aに配分されている。資源活用テーブル124bでは、資源活用テーブル124aと同様に「B向けに変更する場合の効用を示す値」を算出すると、左腕部114が正の値で残りが負の値となる。従って、資源活用テーブル124bでは、資源割り当ての見直し後の配分は、左腕部114が来訪者Aから来訪者Bに配分が変更される。すなわち、図10の例では、来訪者Aが接客ロボット100にも関心を残しているため、来訪者Bに割り当てられるロボット資源117の資源は左腕部114のみとなる。
図11に示す資源活用テーブル124cは、「状況」が、先行者である来訪者Aは、接客ロボット100をほとんど占有している状況である。資源活用テーブル124cは、この状況において、来訪者Aが先行サービス受益者で(接客ロボット100をほとんど占有していて)、後から現れた来訪者Bにロボット資源117の付け替えを検討する場合である。資源活用テーブル124cでは、「現状の配分」は、ロボット資源117が全て来訪者Aに配分されている。資源活用テーブル124cでは、資源活用テーブル124aと同様に「B向けに変更する場合の効用を示す値」を算出すると、ロボット資源117の全ての資源が負の値となる。従って、資源活用テーブル124cでは、資源割り当ての見直し後の配分は、ロボット資源117の全ての資源が来訪者Aに配分されたままとなり、来訪者Bに配分されるロボット資源117はないことになる。すなわち、図11の例では、来訪者Aが接客ロボット100を占有しているため、来訪者Bに割り当てられるロボット資源117の資源はない状態となる。
図12に示す資源活用テーブル124dは、「状況」が、来訪者Aが先行者ではなく、来訪者Aも来訪者Bも同時に接客ロボット100にアクセスする状況である。資源活用テーブル124dは、この状況において、来訪者Aも来訪者Bも同時に現れて、ロボット資源117をどちらに割り当てるかを検討する場合である。資源活用テーブル124dでは、「現状の配分」は、ロボット資源117が来訪者A,Bのいずれにも配分されていない。資源活用テーブル124dでは、各アクションに対応する来訪者AまたはBが気付く確率「(1)」~「(4)」のうち、「(2)」~「(4)」が資源活用テーブル124aと異なる。
「(2)」は、ロボット資源117の各資源が来訪者A向けのアクションを開始し、来訪者Bが阻害を受ける場合、つまり、接客ロボット100が来訪者A向けアクションを開始して(左側に居る)来訪者Bが気付く確率を示す。「(3)」は、ロボット資源117の各資源が来訪者B向けのアクションを開始し、来訪者Bが便益を受ける場合、つまり、接客ロボット100が来訪者B向けアクションを開始して(左側に居る)来訪者Bが気付く確率を示す。「(4)」は、ロボット資源117の各資源が来訪者B向けのアクションを開始し、来訪者Aが阻害を受ける場合、つまり、接客ロボット100が来訪者B向けアクションを開始して(右側に居る)来訪者Aが気付く確率を示す。
「A向けを基準とした場合の効用を示す値」は、例えば、正の値であれば、ロボット資源117の配分を来訪者Aに変更することで、接客ロボット100がアクションを起こす効用が期待される場合を示す。負の値であれば、ロボット資源117の配分を来訪者Bに変更することで、接客ロボット100がアクションを起こす効用が期待される場合を示す。すなわち、「A向けを基準とした場合の効用を示す値」は、正の値であれば、ロボット資源117の配分を来訪者Aに変更し、負の値であれば、ロボット資源117の配分を来訪者Bに変更する。「A向けを基準とした場合の効用を示す値」は、上述の「B向けに変更する場合の効用を示す値」と同様に、例えば、各アクションに対応する来訪者AまたはBが気付く確率「(1)」~「(4)」に基づいて算出できる。ロボット資源117の各資源は、「((1)-(2))-((3)-(4))」で「A向けを基準とした場合の効用を示す値」を算出できる。
「資源割り当ての見直し後の配分」は、「A向けを基準とした場合の効用を示す値」に基づいて、ロボット資源117の各資源を来訪者A,Bのいずれかに配分した値を示す。
資源活用テーブル124dでは、「A向けを基準とした場合の効用を示す値」が算出されると、ロボット資源117の各資源のうち、頭部111および眼部112、右腕部113、ならびに、対話部115が正の値となり、来訪者Aに配分される。また、資源活用テーブル124dでは、左腕部114および表示部116が負の値となり、来訪者Bに配分される。すなわち、図12の例では、来訪者Aが先行者ではなく、来訪者A,Bが同時にサービスを受けるため、来訪者A,Bの位置や関心度に応じてロボット資源117の各資源の割り当てが変わる。図12の例では、来訪者Aが3つの資源、来訪者Bが2つの資源を割り当てられている。
図13に示す資源活用テーブル124eは、接客ロボット100が、例えばイルカロボットの様に、左右の眼を同時に別々に使用可能な場合における資源活用テーブルの例である。資源活用テーブル124eは、「状況」が、来訪者Aも来訪者Bも同時に接客ロボット100にアクセスし、接客ロボット100が左右の眼を同時に別々に使用する状況である。資源活用テーブル124eは、この状況において、来訪者Aと来訪者Bが左右から同時に現れ、接客ロボット100が最終的には胸の表示部116に誘導するが、それまでの間は同時並行接客である場合である。なお、資源活用テーブル124eでは、ロボット資源117の各資源うち、眼部112を右眼部と左眼部とに分割している。
資源活用テーブル124eでは、「現状の配分」は、ロボット資源117が来訪者A,Bのいずれにも配分されていない。資源活用テーブル124eでは、資源活用テーブル124dと同様に「A向けを基準とした場合の効用を示す値」が算出されると、頭部111、対話部115および表示部116はゼロとなり、これらの資源は来訪者A,Bいずれにも配分されない。右眼部および右腕部113は、正の値となり、来訪者Aに配分される。また、左眼部および左腕部114は、負の値となり、来訪者Bに配分される。すなわち、図13の例では、来訪者Aが先行者ではなく、来訪者A,Bが同時にサービスを受けるため、来訪者A,Bの位置や関心度に応じてロボット資源117の各資源の割り当てが変わる。図13の例では、来訪者A,Bに対して左右対称にロボット資源117の各資源が割り当てられる。
図2の説明に戻って、サービスシナリオ記憶部125は、接客ロボット100が提供するサービスのシナリオに応じた動作等を記憶する。図14は、サービスシナリオ記憶部の一例を示す図である。図14に示すように、サービスシナリオ記憶部125は、「フェーズ」、「サービス展開空間」、「発話」、「動作(標準)」といった項目を有する。サービスシナリオ記憶部125は、例えば、フェーズごとに1レコードとして記憶する。
「フェーズ」は、サービスのシナリオの局面を示す情報である。「サービス展開空間」は、接客ロボット100が当該フェーズにてサービスを提供する空間を示す情報である。「発話」は、接客ロボット100が当該フェーズにて発話する内容を示す情報である。なお、フェーズが「コア価値の提供」である場合には、発話内容はコア価値のコンテンツに応じた内容となるため、図14では大項目の一例を表している。「動作(標準)」は、接客ロボット100が当該フェーズにて頭部111、右腕部113および左腕部114等を動作させる標準的な内容を示す情報である。なお、フェーズによっては接客ロボット100の動きがない場合があり、例えば発話のみである場合には動作としての内容を省略している。
図2の説明に戻って、制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。
制御部130は、検出部131と、特定部132と、判定部133と、情報提供部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
検出部131は、まず、初期設定として、接客ロボット100が接客を行うためのサービス提供空間20を設定する。つまり、検出部131は、サービス提供空間20の座標系およびブロック群を設定する。次に、検出部131は、サービス提供空間20に配置されたテーブル21、壁22およびスクリーン23等の遮蔽物について、サービス提供空間20の遮蔽情報を設定する。
検出部131は、通信部110を介して、例えばブース内に設置された外部センサ10からセンサ情報を取得する。検出部131は、取得したセンサ情報に基づいて、来訪者を検出する。すなわち、検出部131は、取得したセンサ情報に基づいて、サービス提供空間20に来訪者がいるか否かを判定する。検出部131は、サービス提供空間20に来訪者がいないと判定した場合には、引き続き、取得したセンサ情報に基づいて、サービス提供空間20に来訪者がいるか否かの判定を行う。
検出部131は、サービス提供空間20に来訪者がいると判定した場合には、来訪者が複数であるか否かを判定する。検出部131は、来訪者が複数でない場合には、情報提供部134に来訪者が単独である旨の来訪者情報を出力する。検出部131は、来訪者が複数である場合には、センサ情報のうち、来訪者が撮像されている撮像画像と、来訪者数Nとを含む特定指示を特定部132に出力する。また、検出部131は、来訪者が複数である場合には、音声、撮像画像および来訪者数Nを含む検出情報を判定部133に出力する。言い換えると、検出部131は、センサ情報に基づいて、第1の来訪者と第2の来訪者とを検出する。
特定部132は、検出部131から特定指示が入力されると、関心空間特定処理を実行する。まず、特定部132は、関心空間特定処理を開始すると、複数の来訪者を識別するための変数iを、例えばi=1と初期化する。特定部132は、特定指示に基づいて、サービス提供空間20内の来訪者数Nを検出する。特定部132は、来訪者数Nを検出すると、N人分の関心空間テーブルを生成する。特定部132は、関心空間テーブルの生成開始時刻を、当該関心空間テーブルに記憶する。なお、N人分の関心空間テーブルは、{(N×ブロック数×フラグ種類数)+(N×テーブル種別判断用フラグ)}といった式で表すことができる。
特定部132は、未処理の来訪者がいるか否かを判定する。特定部132は、未処理の来訪者がいると判定した場合には、来訪者iを特定対象に設定する。特定部132は、来訪者iに対する特定処理を実行する。
特定部132は、特定処理を開始すると、まず、特定指示に含まれる撮像画像に基づいて、来訪者iの位置、頭部の向きおよび視線を取得する。なお、特定部132は、特定指示に含まれるレーダー、歪みゲージ、音声定位マイク等の情報に基づいて、来訪者iの位置、頭部の向きおよび視線を取得するようにしてもよい。特定部132は、来訪者iの位置、頭部の向きおよび視線を取得すると、第1推定処理を実行する。
特定部132は、第1推定処理を開始すると、来訪者iの位置、頭部の向きまたは視線の方向ベクトルが同じ方向で静止しているか否かを判定する。特定部132は、方向ベクトルが同じ方向で静止していないと判定した場合には、関心空間非特定として特定処理を終了し、関心空間特定処理へ戻る。特定部132は、方向ベクトルが同じ方向で静止していると判定した場合には、来訪者iの静止している位置、頭部の向きおよび視線の方向ベクトルに基づいて、関心空間情報記憶部122の関心空間テーブルの対応するブロック群に関心フラグ値を加算する。関心フラグ値を加算するブロック群は、例えば、来訪者iの位置の方向ベクトルの前方160度、頭部の方向ベクトルの前方160度の円周、眼球(視線)の方向ベクトルに基づく視野方向等が挙げられる。なお、以下の説明では、関心フラグ値の加算は、関心空間情報記憶部122の関心空間テーブルに行うものとする。また、特定部132は、静止時間の信頼性の指標値、例えば、平均値、偏差値等を関心空間テーブルに記憶するようにしてもよい。
特定部132は、方向ベクトルに基づいて関心フラグ値を加算すると、サービス提供空間記憶部121を参照し、各方向ベクトルの延長線上に関心対象候補があるか否かを判定する。特定部132は、各方向ベクトルの延長線上に関心対象候補がないと判定した場合には、関心対象非特定として特定処理を終了し、関心空間特定処理へ戻る。特定部132は、各方向ベクトルの延長線上に関心対象候補があると判定した場合には、来訪者iの視野角ベクトル空間と、関心対象候補の外縁に基づく空間とのうち、小さい方の空間内のブロック群に関心フラグ値を加算する。なお、特定部132は、関心対象候補の近傍ブロック群の関心フラグ値を重点的に加算するようにしてもよい。また、特定部132は、関心対象候補の近傍のブロック群に関心フラグ値を加算し、第1推定処理を終了して特定処理に戻る。
特定部132は、第1推定処理が終了すると、例えば、外部センサ10や情報提供部134から、関心対象候補の情報提示、動作および対話等のタイミングと、来訪者iの動作情報とを取得する。すなわち、特定部132は、関心対象候補および来訪者iの動作情報を取得する。特定部132は、関心対象候補および来訪者iの動作情報を取得すると、第2推定処理を実行する。
特定部132は、第2推定処理を開始すると、取得した動作情報に基づいて、来訪者iの反応動作タイミングが関心対象候補からの働きかけタイミングと合っているか否かを判定する。特定部132は、来訪者iの反応動作タイミングが関心対象候補からの働きかけタイミングと合っている場合には、関心対象候補の近傍のブロック群に関心フラグ値を加算する。特定部132は、来訪者iの反応動作タイミングが関心対象候補からの働きかけタイミングと合っていない場合には、関心フラグ値を加算せずに次の処理に進む。
特定部132は、取得した動作情報に基づいて、来訪者iの反応動作内容が関心対象候補からの働きかけ内容と合っているか否かを判定する。特定部132は、来訪者iの反応動作内容が関心対象候補からの働きかけ内容と合っている場合には、関心対象候補の近傍のブロック群に関心フラグ値を加算する。特定部132は、来訪者iの反応動作内容が関心対象候補からの働きかけ内容と合っていない場合には、関心フラグ値を加算せずに次の処理に進む。
特定部132は、例えば、情報提供部134から、関心対象候補の情報提示ログと、来訪者iの操作ログとを取得する。なお、特定部132は、通信部110を介して、外部センサ10や他の情報処理装置から情報提示ログと、操作ログとを取得するようにしてもよい。特定部132は、取得した情報提示ログと操作ログとに基づいて、来訪者iの操作タイミングが関心対象候補からの情報提示タイミングと合っているか否かを判定する。特定部132は、来訪者iの操作タイミングが関心対象候補からの情報提示タイミングと合っている場合には、関心対象候補の近傍のブロック群に関心フラグ値を加算する。特定部132は、来訪者iの操作タイミングが関心対象候補からの情報提示タイミングと合っていない場合には、関心フラグ値を加算せずに次の処理に進む。
特定部132は、取得した情報提示ログと操作ログとに基づいて、来訪者iの操作内容が関心対象候補からの情報提示内容と合っているか否かを判定する。特定部132は、来訪者iの操作内容が関心対象候補からの情報提示内容と合っている場合には、関心対象候補の近傍のブロック群に関心フラグ値を加算して元の処理に戻る。特定部132は、来訪者iの操作内容が関心対象候補からの情報提示内容と合っていない場合には、関心フラグ値を加算せずに元の処理に戻る。
特定部132は、第2推定処理が終了すると、例えば、情報提供部134から、関心対象候補および来訪者iの対話情報を取得する。特定部132は、関心対象候補および来訪者iの対話情報を取得すると、第3推定処理を実行する。
特定部132は、第3推定処理を開始すると、取得した対話情報に基づいて、来訪者iの対話タイミングが関心対象候補からの対話タイミングと合っているか否かを判定する。特定部132は、来訪者iの対話タイミングが関心対象候補からの対話タイミングと合っている場合には、関心対象候補の近傍のブロック群に関心フラグ値を加算する。特定部132は、来訪者iの対話タイミングが関心対象候補からの対話タイミングと合っていない場合には、関心フラグ値を加算せずに次の処理に進む。
特定部132は、取得した対話情報に基づいて、来訪者iの対話情報が関心対象候補からの対話情報と合っているか否かを判定する。特定部132は、来訪者iの対話情報が関心対象候補からの対話情報と合っている場合には、関心対象候補の近傍のブロック群に関心フラグ値を加算して元の処理に戻る。特定部132は、来訪者iの対話情報が関心対象候補からの対話情報と合っていない場合には、関心フラグ値を加算せずに元の処理に戻る。
特定部132は、第3推定処理が終了すると、例えば、通信部110を介して外部センサ10から人物である関心対象候補および来訪者iの撮像画像と音声情報とを取得する。すなわち、特定部132は、人物である関心対象候補および来訪者iの行動情報を取得する。特定部132は、人物である関心対象候補および来訪者iの行動情報を取得すると、第4推定処理を実行する。
特定部132は、第4推定処理を開始すると、取得した行動情報に基づいて、来訪者iと、人物である関心対象候補との行動が、展示ブース等の所定空間内で、所定期間、例えば1分間継続して同調しているか否かを判定する。すなわち、特定部132は、来訪者iと、人物である関心対象候補とのインタラクション履歴(動作同調、発話交替同調、音声意味同調)が、一定期間、固定空間内で継続発生しているか否かを判定する。特定部132は、来訪者iと関心対象候補との行動が所定空間内で所定期間継続して同調していると判定した場合には、来訪者iと関心対象候補との間の空間のブロック群に関心フラグ値を加算して元の処理に戻る。特定部132は、来訪者iと関心対象候補との行動が所定空間内で所定期間継続して同調していないと判定した場合には、関心フラグ値を加算せずに元の処理に戻る。
特定部132は、第4推定処理が終了すると、例えば、関心対象候補が接客ロボット100である場合に、ロボット資源117の各資源から接触情報を取得する。すなわち、特定部132は、関心対象候補への接触情報(接触部位および接触継続時間を含む。)を取得する。特定部132は、関心対象候補への接触情報を取得すると、第5推定処理を実行する。
特定部132は、第5推定処理を開始すると、取得した接触情報に基づいて、来訪者iと関心対象候補との接触が所定期間継続しているか否かを判定する。特定部132は、来訪者iと関心対象候補との接触が所定期間継続していると判定した場合には、関心対象候補の接触部位の近傍のブロック群に関心フラグ値を加算して元の処理に戻る。特定部132は、来訪者iと関心対象候補との接触が所定期間継続していないと判定した場合には、関心フラグ値を加算せずに元の処理に戻る。
特定部132は、第5推定処理が終了すると、関心空間情報記憶部122の関心空間テーブルの各ブロックについて、関心フラグ値が閾値以上のブロックに関心空間フラグを設定する。なお、閾値は、例えば「6」以上とすることができる。特定部132は、関心空間フラグの設定が完了すると、特定処理を終了して関心空間特定処理に戻る。
特定部132は、特定処理が終了すると、来訪者を特定するための変数iをインクリメントし、未処理の来訪者がいるか否かの判定に戻る。特定部132は、未処理の来訪者がいないと判定した場合には、関心空間テーブルの生成終了時刻を、当該関心空間テーブルに記憶して、関心空間特定処理を終了する。特定部132は、関心空間特定処理を終了すると、判定部133に算出指示を出力する。
言い換えると、特定部132は、センサ情報に含まれる第1の来訪者と第2の来訪者とが撮像されている撮像画像に基づき、第1の来訪者と第2の来訪者とのそれぞれの関心領域(関心空間)を特定する。または、特定部132は、センサ情報に含まれるセンサにより検出された第1の来訪者の特定のいずれかの部位の向きおよび第2の来訪者のいずれかの部位の向きに基づき、第1の来訪者と第2の来訪者とのそれぞれの関心領域(関心空間)を特定する。
判定部133には、検出部131から検出情報が入力される。判定部133は、特定部132から算出指示が入力されると、資源活用係数算出処理を実行する。
判定部133は、資源活用係数算出処理を開始すると、検出情報に基づいて、サービス提供空間20内の来訪者数Nを検出する。判定部133は、検出した来訪者数Nに基づいて、N人分の来訪者空間テーブルを来訪者空間情報記憶部123に生成する。なお、判定部133は、1人分の来訪者空間テーブルとして、ロボット資源117の資源の数である接客資源数Mの数に応じたテーブルを生成する。また、判定部133は、1つの資源に対応する来訪者の感覚器の数が複数ある場合には、感覚器の数に応じたテーブルを生成するようにしてもよい。来訪者空間テーブルのサイズは、例えば、来訪者数N人×接客資源数M個×{Σ(感覚器官数K個×感覚器官近傍ブロックL個)}といった式で表すことができる。また、来訪者空間テーブルごとの代表値の個数は、例えば、{来訪者数N人×接客資源数M個×感覚器官数K個}といった式で表すことができる。さらに、判定部133は、来訪者空間テーブルの生成開始時刻を、当該来訪者空間テーブルに記憶する。
判定部133は、未処理の来訪者がいるか否かを判定する。判定部133は、未処理の来訪者がいると判定した場合には、来訪者iを算出対象に設定する。判定部133は、来訪者iに対する算出処理を実行する。
判定部133は、算出処理を開始すると、まず、検出情報に含まれる撮像画像に基づいて、来訪者iの眼および耳の位置を取得する。なお、判定部133は、検出情報に含まれるレーダー、歪みゲージ、音声定位マイク等の情報に基づいて、来訪者iの眼および耳の位置を取得するようにしてもよい。判定部133は、取得した眼および耳の位置に基づいて、関心空間情報記憶部122を参照し、来訪者iの関心空間を取得する。判定部133は、取得した来訪者iの関心空間に基づいて、来訪者iの周辺空間における視差および音圧レベルを推定する。すなわち、判定部133は、接客ロボット100と来訪者iとの位置関係に基づいて、来訪者iの可視性および可聴性を推定する。ここで、判定部133は、来訪者iの関心空間が特定できている場合、来訪者iの視野および頭部の方向を固定して、視差および音圧レベルを推定する。判定部133は、来訪者iの関心空間が特定できていない場合、来訪者iの視野を頭部前方に旋回可能、つまり空間を広げて、視差および音圧レベルを推定する。判定部133は、推定した来訪者iの周辺空間における視差および音圧レベルを、来訪者空間情報記憶部123の各来訪者空間テーブルに、ブロックごとに記憶する。
判定部133は、サービス提供空間記憶部121、および、予め設定されたロボット資源117の各接客資源の可動範囲の情報を参照し、各接客資源の動作空間を算出する。判定部133は、算出した各接客資源の動作空間と、来訪者iに対応する来訪者空間テーブルとに基づいて、来訪者iの眼の位置における各接客資源の動作空間での動作による視差を算出する。
判定部133は、予め設定されたロボット資源117の各接客資源の音源の情報を参照し、各接客資源が出す音の音圧レベル(dB)を算出する。判定部133は、算出した音圧レベルと、来訪者iに対応する来訪者空間テーブルとに基づいて、来訪者iの耳の位置における各接客資源の音の音圧レベルを算出する。
判定部133は、算出した来訪者iの眼および耳の位置に対応する視差および音圧レベルと、推定した来訪者iの周辺空間における視差および音圧レベルとを比較して、来訪者iが各接客資源の動作および音に対して、気付く確率および気付かない確率を算出する。判定部133は、算出結果、つまり、来訪者iの眼および耳の位置に対応する視差および音圧レベルと、各接客資源の動作および音に対して気付く確率および気付かない確率とを、来訪者iに対応する来訪者空間テーブルに記憶して元の処理に戻る。
判定部133は、算出処理が終了すると、来訪者を特定するための変数iをインクリメントし、未処理の来訪者がいるか否かの判定に戻る。判定部133は、未処理の来訪者がいないと判定した場合には、来訪者空間テーブルの生成終了時刻を、当該来訪者空間テーブルに記憶する。判定部133は、対象となる来訪者全ての来訪者空間テーブルを参照し、資源活用情報記憶部124の資源活用テーブルを生成して元の処理に戻る。なお、生成する資源活用テーブルは、ロボット資源117の接客資源(M個)を基準に、来訪者数(N人)への影響を記載した係数表(M×N)を含むものとなる。資源活用テーブルは、例えば、図9から図13に示すように、複数の来訪者の状況に応じたテーブルとなる。なお、本実施例では、資源活用テーブルは、来訪者の視覚と聴覚とに働きかける資源について説明したが、これに限定されない。例えば、資源活用テーブルに、匂いに対応するための嗅覚、風等に対応するための触覚、味覚等の他の感覚器官への影響(到達係数)を含むようにしてもよい。
判定部133は、資源活用係数算出処理が終了すると、資源配分処理を実行する。判定部133は、資源配分処理を開始すると、資源活用情報記憶部124を参照し、来訪者数Nおよび接客資源数Mに対応する資源活用テーブルを取得する。判定部133は、取得した資源活用テーブルに基づいて、一部の来訪者N1にサービス提供中であるか否かを判定する。すなわち、判定部133は、資源活用テーブルの「現状の配分」欄を参照して、一部の来訪者N1にサービス提供中であるか否かを判定する。判定部133は、一部の来訪者N1にサービス提供中でないと判定した場合には、来訪者数Nに対して接客資源数Mを配分する。判定部133は、当該配分では、N人に対して接客資源数Mの割り当てを算出するので、MのN乗通りの割り当てを算出する。判定部133は、資源活用テーブルの各資源について、例えば、効用を示す値の合計値が最も高い組み合わせの配分を採用する。判定部133は、配分した結果を資源活用情報記憶部124の対応する資源活用テーブルに記憶する。判定部133は、配分した結果を資源活用テーブルに記憶すると、配分完了情報を情報提供部134に出力して元の処理に戻る。
判定部133は、一部の来訪者N1にサービス提供中であると判定した場合には、来訪者N1のうち来訪者N2が適切にサービスを受けていないか否かを判定する。判定部133は、来訪者N1のうち来訪者N2が適切にサービスを受けていると判定した場合には、来訪者N1の1群と、来訪者(N-N1)とに対して、接客資源数Mを配分する。すなわち、この場合では、来訪者N2は、来訪者N1に対して遅れてきた人物であり、来訪者N1と同一のサービスを適切に受けている状態である。判定部133は、当該配分では、(1+(N-N1))人に対して接客資源数Mの割り当てを算出するので、Mの(1+(N-N1))乗通りの割り当てを算出する。判定部133は、資源活用テーブルの各資源について、例えば、効用を示す値の合計値が最も高い組み合わせの配分を採用する。この場合、判定部133は、来訪者N1に対してサービスを提供中であるので、来訪者N1に気付かれる場合も考慮する。判定部133は、配分した結果を資源活用情報記憶部124の対応する資源活用テーブルに記憶する。判定部133は、配分した結果を資源活用テーブルに記憶すると、配分完了情報を情報提供部134に出力して元の処理に戻る。
判定部133は、来訪者N1のうち来訪者N2が適切にサービスを受けていないと判定した場合には、来訪者(N1-N2)の1群と、来訪者(N-N1+N2)とに対して、接客資源数Mを配分する。すなわち、この場合では、例えば、来訪者N2は、来訪者N1と同一のグループであるが、既存のサービスとは異なるもの、例えば展示物等に興味を示している状態である。判定部133は、当該配分では、(1+(N-N1+N2))人に対して接客資源数Mの割り当てを算出するので、Mの(1+(N-N1+N2))乗通りの割り当てを算出する。判定部133は、資源活用テーブルの各資源について、例えば、効用を示す値の合計値が最も高い組み合わせの配分を採用する。この場合、判定部133は、来訪者(N1-N2)に対してサービスを提供中であるので、来訪者(N1-N2)に気付かれる場合も考慮する。判定部133は、配分した結果を資源活用情報記憶部124の対応する資源活用テーブルに記憶する。判定部133は、配分した結果を資源活用テーブルに記憶すると、配分完了情報を情報提供部134に出力して元の処理に戻る。
言い換えると、判定部133は、特定した第1の来訪者の関心領域(関心空間)と、第2の来訪者の関心領域(関心空間)とが異なるか否かを判定する。また、判定部133は、特定した第1の来訪者の関心領域(関心空間)と、第2の来訪者の関心領域(関心空間)とについて共通する関心領域がある否かを判定する。
また、判定部133は、第1の来訪者または第2の来訪者の位置、頭部の向きおよび視線に基づいて、関心領域(関心空間)を特定する。また、判定部133は、第1の来訪者または第2の来訪者に対する働きかけへの反応行動、対話、他の人物との関係性、情報提供装置への接触のうち、1つまたは複数に基づいて、関心領域(関心空間)を特定する。
情報提供部134には、検出部131から来訪者情報が入力され、判定部133から配分完了情報が入力される。情報提供部134は、来訪者情報が入力された場合には、来訪者が1人であるので、当該来訪者にロボット資源117の全ての資源を配分する。情報提供部134は、配分完了情報が入力された場合には、資源活用情報記憶部124を参照し、各資源の配分の情報(見直し後の配分)に応じて複数の来訪者に対してロボット資源117の各資源を配分する。情報提供部134は、サービスシナリオ記憶部125を参照し、資源配分に基づいて、サービスシナリオを実行する。なお、資源配分によっては、サービスが提供されない来訪者も存在する場合がある。
情報提供部134は、サービスシナリオを実行すると、再判定イベントが発生したか否かを判定する。再判定イベントは、例えば、一定時間の経過、来訪者が立ち去る等の来訪者の状態変化、来訪者に対する問いかけに応答がない等の接客ロボット100の状態変化等が挙げられる。情報提供部134は、再判定イベントが発生していないと判定した場合には、引き続き再判定イベントの判定を行う。
情報提供部134は、再判定イベントが発生したと判定した場合には、例えば、接客ロボット100の管理者等の操作によって、サービスを終了するか否かを判定する。情報提供部134は、サービスを終了しないと判定した場合には、サービス提供空間に来訪者がいるか否かの判定を行うように、検出部131に指示を出力する。情報提供部134は、サービスを終了すると判定した場合には、接客ロボット100によるサービスの提供を終了する。
言い換えると、情報提供部134は、第1の来訪者の関心領域と、第2の来訪者の関心領域とが異なる場合、情報提供装置(接客ロボット100)が有する複数の情報提供リソース(ロボット資源117)を用いて、情報提供処理を実行する。すなわち、情報提供部134は、複数の情報提供リソースのうち、第1の来訪者の関心領域に応じた情報提供リソースを用いて、第1の来訪者に対する情報提供処理を実行する。また、情報提供部134は、複数の情報提供リソースのうち、第2の来訪者の関心領域に応じた情報提供リソースを用いて、第2の来訪者に対する情報提供処理を実行する。
また、情報提供部134は、複数の情報提供リソースのそれぞれの情報提供リソースが情報提供処理を実行した際に、第1の来訪者と第2の来訪者とが該情報提供処理の実行に気付く確率を求める。情報提供部134は、求めた気付く確率に基づいて、複数の情報提供リソースを第1の来訪者および第2の来訪者に配分する。
また、情報提供部134は、第1の来訪者に対する情報提供処理を実行中に、第2の来訪者の関心領域が特定されると、情報提供リソースの配分を変更する。すなわち、情報提供部134は、第1の来訪者に対する情報提供処理を実行中の情報提供リソースの配分を減じて、第2の来訪者の関心領域に応じた情報提供リソースの配分を増加させる。
また、情報提供部134は、第1の来訪者の関心領域と、第2の来訪者の関心領域とについて共通する関心領域がある場合、該共通する関心領域に対する情報提供リソースを、第1の来訪者と第2の来訪者とで共用して情報提供処理を実行する。
また、情報提供部134は、第1の来訪者の関心領域と、第2の来訪者の関心領域とについて共通する関心領域があるか否かを判定する。情報提供部134は、共通する関心領域がある場合、情報提供装置が有する複数の情報提供リソースのうち、共通する関心領域に応じた情報提供リソースを用いて、第1の来訪者および第2の来訪者に対する情報提供処理を実行する。
次に、実施例の接客ロボット100の動作について説明する。図15は、実施例の制御処理の一例を示すフローチャートである。
接客ロボット100の検出部131は、サービス提供空間20の座標系およびブロック群を設定する(ステップS1)。次に、検出部131は、サービス提供空間20に配置された遮蔽物について、サービス提供空間20の遮蔽情報を設定する(ステップS2)。
検出部131は、外部センサ10からセンサ情報を取得する。検出部131は、取得したセンサ情報に基づいて、サービス提供空間20に来訪者がいるか否かを判定する(ステップS3)。検出部131は、サービス提供空間20に来訪者がいないと判定した場合には(ステップS3:否定)、ステップS3の判定を繰り返す。
検出部131は、サービス提供空間20に来訪者がいると判定した場合には(ステップS3:肯定)、来訪者が複数であるか否かを判定する(ステップS4)。検出部131は、来訪者が複数でない場合には(ステップS4:否定)、情報提供部134に来訪者が単独である旨の来訪者情報を出力し、ステップS8に進む。検出部131は、来訪者が複数である場合には(ステップS4:肯定)、特定指示を特定部132に出力する。また、検出部131は、検出情報を判定部133に出力する。
特定部132は、検出部131から特定指示が入力されると、関心空間特定処理を実行する(ステップS5)。ここで、図16を用いて関心空間特定処理について説明する。図16は、関心空間特定処理の一例を示すフローチャートである。
特定部132は、複数の来訪者を識別するための変数iを初期化する。特定部132は、特定指示に基づいて、サービス提供空間20内の来訪者数Nを検出する(ステップS51)。特定部132は、来訪者数Nを検出すると、N人分の関心空間テーブルを生成する(ステップS52)。特定部132は、関心空間テーブルの生成開始時刻を、当該関心空間テーブルに記憶する(ステップS53)。
特定部132は、未処理の来訪者がいるか否かを判定する(ステップS54)。特定部132は、未処理の来訪者がいると判定した場合には(ステップS54:肯定)、来訪者iを特定対象に設定する(ステップS55)。特定部132は、来訪者iに対する特定処理を実行する(ステップS56)。
ここで、図17を用いて特定処理について説明する。図17は、特定処理の一例を示すフローチャートである。特定部132は、特定指示に含まれる撮像画像に基づいて、来訪者iの位置、頭部の向きおよび視線を取得する(ステップS561)。特定部132は、来訪者iの位置、頭部の向きおよび視線を取得すると、第1推定処理を実行する(ステップS562)。
ここで、図18を用いて第1推定処理について説明する。図18は、第1推定処理の一例を示すフローチャートである。特定部132は、来訪者iの位置、頭部の向きまたは視線の方向ベクトルが同じ方向で静止しているか否かを判定する(ステップS101)。特定部132は、方向ベクトルが同じ方向で静止していないと判定した場合には(ステップS101:否定)、関心空間非特定として特定処理を終了し(ステップS102)、関心空間特定処理へ戻る。
特定部132は、方向ベクトルが同じ方向で静止していると判定した場合には(ステップS101:肯定)、来訪者iの静止している位置、頭部の向きおよび視線の方向ベクトルに基づいて、対応するブロック群に関心フラグ値を加算する(ステップS103)。特定部132は、サービス提供空間記憶部121を参照し、各方向ベクトルの延長線上に関心対象候補があるか否かを判定する(ステップS104)。特定部132は、延長線上に関心対象候補がないと判定した場合には(ステップS104:否定)、関心対象非特定として特定処理を終了し(ステップS105)、関心空間特定処理へ戻る。
特定部132は、延長線上に関心対象候補があると判定した場合には(ステップS104:肯定)、来訪者iの視野角ベクトル空間と、関心対象候補の外縁に基づく空間とのうち、小さい方の空間内のブロック群に関心フラグ値を加算する(ステップS106)。また、特定部132は、関心対象候補の近傍のブロック群に関心フラグ値を加算し(ステップS107)、第1推定処理を終了して特定処理に戻る。
図17の説明に戻って、特定部132は、第1推定処理が終了すると、関心対象候補および来訪者iの動作情報を取得する(ステップS563)。特定部132は、関心対象候補および来訪者iの動作情報を取得すると、第2推定処理を実行する(ステップS564)。
ここで、図19を用いて第2推定処理について説明する。図19は、第2推定処理の一例を示すフローチャートである。特定部132は、取得した動作情報に基づいて、来訪者iの反応動作タイミングが関心対象候補からの働きかけタイミングと合っているか否かを判定する(ステップS111)。特定部132は、来訪者iの反応動作タイミングが関心対象候補からの働きかけタイミングと合っている場合には(ステップS111:肯定)、関心対象候補の近傍のブロック群に関心フラグ値を加算する(ステップS112)。
特定部132は、来訪者iの反応動作タイミングが関心対象候補からの働きかけタイミングと合っていない場合には(ステップS111:否定)、関心フラグ値を加算せずにステップS113に進む。
特定部132は、取得した動作情報に基づいて、来訪者iの反応動作内容が関心対象候補からの働きかけ内容と合っているか否かを判定する(ステップS113)。特定部132は、来訪者iの反応動作内容が関心対象候補からの働きかけ内容と合っている場合には(ステップS113:肯定)、関心対象候補の近傍のブロック群に関心フラグ値を加算する(ステップS114)。
特定部132は、来訪者iの反応動作内容が関心対象候補からの働きかけ内容と合っていない場合には(ステップS113:否定)、関心フラグ値を加算せずにステップS115に進む。
特定部132は、関心対象候補の情報提示ログと、来訪者iの操作ログとを取得する(ステップS115)。特定部132は、取得した情報提示ログと操作ログとに基づいて、来訪者iの操作タイミングが関心対象候補からの情報提示タイミングと合っているか否かを判定する(ステップS116)。特定部132は、来訪者iの操作タイミングが関心対象候補からの情報提示タイミングと合っている場合には(ステップS116:肯定)、関心対象候補の近傍のブロック群に関心フラグ値を加算する(ステップS117)。
特定部132は、来訪者iの操作タイミングが関心対象候補からの情報提示タイミングと合っていない場合には(ステップS116:否定)、関心フラグ値を加算せずにステップS118に進む。
特定部132は、取得した情報提示ログと操作ログとに基づいて、来訪者iの操作内容が関心対象候補からの情報提示内容と合っているか否かを判定する(ステップS118)。特定部132は、来訪者iの操作内容が関心対象候補からの情報提示内容と合っている場合には(ステップS118:肯定)、関心対象候補の近傍のブロック群に関心フラグ値を加算し(ステップS119)、元の処理に戻る。
特定部132は、来訪者iの操作内容が関心対象候補からの情報提示内容と合っていない場合には(ステップS118:否定)、関心フラグ値を加算せずに元の処理に戻る。
図17の説明に戻って、特定部132は、第2推定処理が終了すると、関心対象候補および来訪者iの対話情報を取得する(ステップS565)。特定部132は、関心対象候補および来訪者iの対話情報を取得すると、第3推定処理を実行する(ステップS566)。
ここで、図20を用いて第3推定処理について説明する。図20は、第3推定処理の一例を示すフローチャートである。特定部132は、取得した対話情報に基づいて、来訪者iの対話タイミングが関心対象候補からの対話タイミングと合っているか否かを判定する(ステップS121)。特定部132は、来訪者iの対話タイミングが関心対象候補からの対話タイミングと合っている場合には(ステップS121:肯定)、関心対象候補の近傍のブロック群に関心フラグ値を加算する(ステップS122)。
特定部132は、来訪者iの対話タイミングが関心対象候補からの対話タイミングと合っていない場合には(ステップS121:否定)、関心フラグ値を加算せずにステップS123に進む。
特定部132は、取得した対話情報に基づいて、来訪者iの対話情報が関心対象候補からの対話情報と合っているか否かを判定する(ステップS123)。特定部132は、来訪者iの対話情報が関心対象候補からの対話情報と合っている場合には(ステップS123:肯定)、関心対象候補の近傍のブロック群に関心フラグ値を加算し(ステップS124)、元の処理に戻る。
特定部132は、来訪者iの対話情報が関心対象候補からの対話情報と合っていない場合には(ステップS123:否定)、関心フラグ値を加算せずに元の処理に戻る。
図17の説明に戻って、特定部132は、第3推定処理が終了すると、人物である関心対象候補および来訪者iの行動情報を取得する(ステップS567)。特定部132は、人物である関心対象候補および来訪者iの行動情報を取得すると、第4推定処理を実行する(ステップS568)。
ここで、図21を用いて第4推定処理について説明する。図21は、第4推定処理の一例を示すフローチャートである。特定部132は、取得した行動情報に基づいて、来訪者iと関心対象候補との行動が所定空間内で所定期間継続して同調しているか否かを判定する(ステップS131)。特定部132は、来訪者iと関心対象候補との行動が所定空間内で所定期間継続して同調していると判定した場合には(ステップS131:肯定)、来訪者iと関心対象候補との間の空間のブロック群に関心フラグ値を加算し(ステップS132)、元の処理に戻る。
特定部132は、来訪者iと関心対象候補との行動が所定空間内で所定期間継続して同調していないと判定した場合には(ステップS131:否定)、関心フラグ値を加算せずに元の処理に戻る。
図17の説明に戻って、特定部132は、第4推定処理が終了すると、関心対象候補への接触情報を取得する(ステップS569)。特定部132は、関心対象候補への接触情報を取得すると、第5推定処理を実行する(ステップS570)。
ここで、図22を用いて第5推定処理について説明する。図22は、第5推定処理の一例を示すフローチャートである。特定部132は、取得した接触情報に基づいて、来訪者iと関心対象候補との接触が所定期間継続しているか否かを判定する(ステップS141)。特定部132は、来訪者iと関心対象候補との接触が所定期間継続していると判定した場合には(ステップS141:肯定)、関心対象候補の接触部位の近傍のブロック群に関心フラグ値を加算し(ステップS142)、元の処理に戻る。
特定部132は、来訪者iと関心対象候補との接触が所定期間継続していないと判定した場合には(ステップS141:否定)、関心フラグ値を加算せずに元の処理に戻る。
図17の説明に戻って、特定部132は、第5推定処理が終了すると、関心空間情報記憶部122の関心空間テーブルの各ブロックについて、関心フラグ値が閾値以上のブロックに関心空間フラグを設定する(ステップS571)。特定部132は、関心空間フラグの設定が完了すると、特定処理を終了して関心空間特定処理に戻る。
図16の説明に戻って、特定部132は、特定処理が終了すると、来訪者を特定するための変数iをインクリメントし(ステップS57)、ステップS54に戻る。特定部132は、未処理の来訪者がいないと判定した場合には(ステップS54:否定)、関心空間テーブルの生成終了時刻を記憶し(ステップS58)、関心空間特定処理を終了する。特定部132は、関心空間特定処理を終了すると、判定部133に算出指示を出力する。
図15の説明に戻って、判定部133は、特定部132から算出指示が入力されると、資源活用係数算出処理を実行する(ステップS6)。
ここで、図23を用いて資源活用係数算出処理について説明する。図23は、資源活用係数算出処理の一例を示すフローチャートである。判定部133は、検出情報に基づいて、サービス提供空間20内の来訪者数Nを検出する(ステップS61)。判定部133は、検出した来訪者数Nに基づいて、N人分の来訪者空間テーブルを来訪者空間情報記憶部123に生成する(ステップS62)。判定部133は、来訪者空間テーブルの生成開始時刻を記憶する(ステップS63)。
判定部133は、未処理の来訪者がいるか否かを判定する(ステップS64)。判定部133は、未処理の来訪者がいると判定した場合には(ステップS64:肯定)、来訪者iを算出対象に設定する(ステップS65)。判定部133は、来訪者iに対する算出処理を実行する(ステップS66)。
ここで、図24を用いて算出処理を説明する。図24は、算出処理の一例を示すフローチャートである。判定部133は、検出情報に含まれる撮像画像に基づいて、来訪者iの眼および耳の位置を取得する(ステップS661)。判定部133は、取得した眼および耳の位置に基づいて、関心空間情報記憶部122を参照し、来訪者iの関心空間を取得する(ステップS662)。判定部133は、取得した来訪者iの関心空間に基づいて、来訪者iの周辺空間における視差および音圧レベルを推定する(ステップS663)。判定部133は、推定した来訪者iの周辺空間における視差および音圧レベルを来訪者空間情報記憶部123に記憶する。
判定部133は、サービス提供空間記憶部121、および、予め設定されたロボット資源117の各接客資源の可動範囲の情報を参照し、各接客資源の動作空間を算出する(ステップS664)。判定部133は、算出した各接客資源の動作空間と、来訪者iに対応する来訪者空間テーブルとに基づいて、来訪者iの眼の位置における各接客資源の動作空間での動作による視差を算出する(ステップS665)。
判定部133は、予め設定されたロボット資源117の各接客資源の音源の情報を参照し、各接客資源が出す音の音圧レベルを算出する(ステップS666)。判定部133は、算出した音圧レベルと、来訪者iに対応する来訪者空間テーブルとに基づいて、来訪者iの耳の位置における各接客資源の音の音圧レベルを算出する(ステップS667)。
判定部133は、来訪者iの眼および耳の位置における視差および音圧レベルと、来訪者iの周辺空間における視差および音圧レベルとを比較して、来訪者iが各接客資源の動作および音に対して、気付く確率および気付かない確率を算出する(ステップS668)。判定部133は、算出結果を来訪者空間テーブルに記憶し(ステップS669)、元の処理に戻る。
図23の説明に戻って、判定部133は、算出処理が終了すると、来訪者を特定するための変数iをインクリメントし(ステップS67)、ステップS64に戻る。判定部133は、未処理の来訪者がいないと判定した場合には(ステップS64:否定)、来訪者空間テーブルの生成終了時刻を記憶する(ステップS68)。判定部133は、対象となる来訪者全ての来訪者空間テーブルを参照し、資源活用情報記憶部124の資源活用テーブルを生成し(ステップS69)、元の処理に戻る。
図15の説明に戻って、判定部133は、資源活用係数算出処理が終了すると、資源配分処理を実行する(ステップS7)。ここで、図25を用いて資源配分処理を説明する。図25は、資源配分処理の一例を示すフローチャートである。判定部133は、資源活用情報記憶部124を参照し、来訪者数Nおよび接客資源数Mに対応する資源活用テーブルを取得する(ステップS71)。
判定部133は、取得した資源活用テーブルに基づいて、一部の来訪者N1にサービス提供中であるか否かを判定する(ステップS72)。判定部133は、一部の来訪者N1にサービス提供中でないと判定した場合には(ステップS72:否定)、来訪者数Nに対して接客資源数Mを配分する(ステップS73)。判定部133は、配分した結果を資源活用テーブルに記憶し、配分完了情報を情報提供部134に出力して元の処理に戻る。
判定部133は、一部の来訪者N1にサービス提供中であると判定した場合には(ステップS72:肯定)、来訪者N1のうち来訪者N2が適切にサービスを受けていないか否かを判定する(ステップS74)。判定部133は、来訪者N1のうち来訪者N2が適切にサービスを受けていると判定した場合には(ステップS74:否定)、来訪者N1の1群と、来訪者(N-N1)とに対して、接客資源数Mを配分する(ステップS75)。判定部133は、配分した結果を資源活用テーブルに記憶し、配分完了情報を情報提供部134に出力して元の処理に戻る。
判定部133は、来訪者N1のうち来訪者N2が適切にサービスを受けていないと判定した場合には(ステップS74:肯定)、来訪者(N1-N2)の1群と、来訪者(N-N1+N2)とに対して、接客資源数Mを配分する(ステップS76)。判定部133は、配分した結果を資源活用テーブルに記憶し、配分完了情報を情報提供部134に出力して元の処理に戻る。
図15の説明に戻って、情報提供部134は、来訪者情報が入力された場合には、当該来訪者にロボット資源117の全ての資源を配分する。情報提供部134は、配分完了情報が入力された場合には、資源活用情報記憶部124を参照し、各資源の配分の情報に応じて複数の来訪者に対してロボット資源117の各資源を配分する。情報提供部134は、サービスシナリオ記憶部125を参照し、資源配分に基づいて、サービスシナリオを実行する(ステップS8)。
情報提供部134は、サービスシナリオを実行すると、再判定イベントが発生したか否かを判定する(ステップS9)。情報提供部134は、再判定イベントが発生していないと判定した場合には(ステップS9:否定)、ステップS9の判定を繰り返す。情報提供部134は、再判定イベントが発生したと判定した場合には(ステップS9:肯定)、サービスを終了するか否かを判定する(ステップS10)。
情報提供部134は、サービスを終了しないと判定した場合には(ステップS10:否定)、検出部131に対してステップS3の判定を行うように指示を出力し、ステップS3に戻る。情報提供部134は、サービスを終了すると判定した場合には(ステップS10:肯定)、接客ロボット100によるサービスの提供を終了する。これにより、接客ロボット100は、複数の来訪者に対する接客効率を向上できる。また、接客ロボット100は、第1の来訪者(A)が不満を抱きにくい範囲で接客の質を下げて資源を確保し、第2の来訪者(B)が効果を得やすい範囲で、確保した資源を第2の来訪者(B)への接客に回すので、トータルで接客の品質を保つことができる。また、接客ロボット100は、来訪者のインタラクション不全を改善することができる。
続いて、図26から図38を用いて接客の具体例について説明する。
図26は、複数の来訪者に対する接客の具体的な一例を示す図である。図26に示すように、接客ロボット100は、例えば、展示会場のブースに設置され、来訪者Aを受け付ける。接客ロボット100は、来訪者Aを受け付けると、来訪者Aに対して場所を誘導する。接客ロボット100は、例えば、プレゼンテーション画面が表示されているスクリーン25が見やすい位置に来訪者Aを誘導する。接客ロボット100は、来訪者Aにコア価値を提供、つまり、スクリーン25に表示されるプレゼンテーション画面を用いて説明を開始する。このとき、ブースに来訪者Bが遅れて現れ、接客ロボット100を見続けているとする。すると、接客ロボット100は、来訪者Bの出現を検出し、来訪者Bの関心空間が自身に向いていると判定する。
また、接客ロボット100は、来訪者Aがスクリーン25を向いており、接客ロボット100を見ていない状態を検出する。すなわち、接客ロボット100は、来訪者Aの関心空間がスクリーン25に長期間固定されていると判定する。接客ロボット100は、来訪者A,Bに対して、並行してサービスを提供するために、来訪者A,Bの各関心空間の相互非干渉性が高いか否かを判定する。すなわち、接客ロボット100は、来訪者Aがスクリーン25を見ており、来訪者Bが接客ロボット100を見ているため、相互非干渉性が高いと判定する。つまり、接客ロボット100は、ロボット資源117の各資源を来訪者A,Bに配分可能と判定する。
接客ロボット100は、来訪者A,Bのそれぞれに対して接客効果が上がるように、ロボット資源117の各資源を配分する。接客ロボット100は、来訪者Aに右腕部113および対話部115を配分し、来訪者Bに頭部111、左腕部114および表示部116を配分する。接客ロボット100は、配分に応じて複数のサービスを並行して実行する。このとき、接客ロボット100は、スクリーン25で行っているプレゼンテーションについて、可制御性を増強する。つまり、接客ロボット100は、プレゼンテーションのうち、動画サービスを前倒しして質問受付は後回しとすることで、並行してサービスを行う時間を確保する。接客ロボット100は、来訪者Aに右腕部113を用いてスクリーン25を指し示して音声で説明しつつ、来訪者Bに頭部111を向けて左腕部114を振り、表示部116に予告情報26を表示する。接客ロボット100は、このようにロボット資源117の各資源を配分することで、動画に見入る来訪者Aと、対応待ちの来訪者Bとの双方に対して接客でき、接客効率を向上することができる。
図27から図30は、サービスシナリオの具体的な一例を示す図である。図27から図30は、図26に示すプレゼンテーションサービスの具体例におけるサービスシナリオの一例である。図27から図30のサービスシナリオは、図26の例において、サービスシナリオ記憶部125に記憶される。当該サービスシナリオでは、例えば、プレゼンテーションを行うフェーズ「コア価値提供」について、さらに7つのサブフェーズが設定されている。当該サービスシナリオでは、サブフェーズ単位で資源配分を行うことで、複数の来訪者(来訪者A,B)に対して並行してサービスを提供できる機会を増加させることができる。
図31は、複数の来訪者に対する接客の具体的な一例を示す図である。図31に示すように、接客ロボット100aは、例えば、F市役所の窓口に設置され、来訪者Aを受け付ける。接客ロボット100aは、来訪者Aを受け付けると、来訪者Aに対して場所を誘導する。接客ロボット100aは、例えば、申請書の記入指導ができるロボット資源117が設置された机に来訪者Aを誘導する。接客ロボット100aは、来訪者Aにコア価値を提供、つまり、申請書に対して説明27を表示する等して記入指導を開始する。このとき、ブースに来訪者Bが遅れて現れ、接客ロボット100aの前に立ったとする。すると、接客ロボット100aは、来訪者Bの出現を検出し、来訪者Bの関心空間が自身に向いていると判定する。
また、接客ロボット100aは、来訪者Aが机上を凝視しており、接客ロボット100aを見ていない状態を検出する。すなわち、接客ロボット100aは、来訪者Aの関心空間が机上に長期間固定されていると判定する。接客ロボット100aは、来訪者A,Bに対して、並行してサービスを提供するために、来訪者A,Bの各関心空間の相互非干渉性が高いか否かを判定する。すなわち、接客ロボット100aは、来訪者Aが机上を見ており、来訪者Bが接客ロボット100aを見ているため、相互非干渉性が高いと判定する。つまり、接客ロボット100aは、ロボット資源117の各資源を来訪者A,Bに配分可能と判定する。なお、接客ロボット100aは、来訪者Aの関心空間を確認するために、来訪者A側の左腕部114を用いて手振り動作をしてもよい。
接客ロボット100aは、来訪者A,Bのそれぞれに対して接客効果が上がるように、ロボット資源117の各資源を再配分する。接客ロボット100aは、来訪者Aに左腕部114を配分し、来訪者Bに頭部111、右腕部113および対話部115を配分する。接客ロボット100aは、配分に応じて複数のサービスを並行して実行する。このとき、接客ロボット100aは、机上で行っている記入指導について、可制御性を増強する。つまり、接客ロボット100aは、記入指導のうち、記入内容の自己確認依頼を前倒しして質問受付は後回しとすることで、並行してサービスを行う時間を確保する。接客ロボット100aは、来訪者Aに左腕部114で指し示し、来訪者Bに頭部111を向けてお辞儀をし、「受付の発話」の後、右腕部113を用いて来訪者Bを他の机に誘導して申請書記入を指示する。接客ロボット100aは、このようにロボット資源117の各資源を配分することで、先に申請書に記入を始めている来訪者Aと、後から来た来訪者Bとの双方に対して接客でき、接客効率を向上することができる。
図32から図36は、サービスシナリオの具体的な一例を示す図である。図32から図36は、図31に示す申請書記入支援サービスの具体例におけるサービスシナリオの一例である。図32から図36のサービスシナリオは、図31の例において、サービスシナリオ記憶部125に記憶される。当該サービスシナリオでは、例えば、申請書記入支援を行うフェーズ「コア価値提供」について、さらに7つのサブフェーズが設定されている。当該サービスシナリオでは、サブフェーズ単位で資源配分を行うことで、複数の来訪者(来訪者A,B)に対して並行してサービスを提供できる機会を増加させることができる。
図37は、複数の来訪者に対する接客の具体的な一例を示す図である。図37に示すように、接客ロボット100bは、例えば、水族館等に設置され、複数の来訪者に対して案内サービスを提供する。まず、例えば、ある時刻t0に接客ロボット100bの左右に同時に来訪者A,Bが現れたとする。このとき、接客ロボット100bは、来訪者A,Bを検出すると、例えば、図13に示す資源活用テーブル124eを参照し、接客ロボット100bに向かって左側から現れた来訪者Aに対して、右腕部113および眼部112のうち右眼部を配分する。また、接客ロボット100bは、接客ロボット100bに向かって右側から現れた来訪者Bに対して、左腕部114および眼部112のうち左眼部を配分する。
つまり、接客ロボット100bの頭部111を左右のどちらかの来訪者に向けると、逆側の来訪者も(自分が相手にされていない状態として)気付きやすいが、眼は左右別々に来訪者A,Bに向けても逆側の来訪者は気付きにくい。また、対話部115(例えば、口。)や表示部116は、左右のどちらかの来訪者に向けると、逆側の来訪者も(自分が相手にされていない状態として)気付きやすい。
接客ロボット100bは、配分に応じてロボット資源117の各資源を動かし、手振りやアイコンタクト等によって、来訪者A,Bを自身の正面方向へと誘導する。接客ロボット100bは、自身の正面方向に誘導された来訪者A,Bに対して、コア価値である情報表示サービスを開始する。接客ロボット100bは、このようにロボット資源117の各資源を配分することで、同時に現れた来訪者A,Bをそれぞれ誘導し、接客効率を向上することができる。
図38は、複数の園児を誘導する場合の一例を示す図である。図38に示すように、ある幼稚園では、接客ロボット100cを導入しているとする。園児C,Dは、接客ロボット100cから遠い場所で遊んでいる。園児E,Fは、接客ロボット100cの近傍で遊んでいる。接客ロボット100cは、所定の時間になると、お話の先生32の方向へ園児C~Fを誘導するものとする。
接客ロボット100cは、園児C~Fの4人への手振りのリーチ28,29と、視線のリーチ30,31との可能性を確認する。接客ロボット100cは、確認結果に基づいて、右腕部113を園児C,Dに配分し、左腕部114および表示部116を園児E,Fに配分する。また、対話部115は、園児C~Fに対して誘導メッセージを発声するので、両方に配分する。
接客ロボット100cは、配分に応じて、右腕部113を動かしつつ、対話部115を用いて誘導メッセージを発声し、園児C,Dをお話の先生32の方向へ誘導する。また、接客ロボット100cは、配分に応じて、左腕部114を動かしつつ、表示部116に誘導用の矢印33を表示し、対話部115を用いて誘導メッセージを発声して、園児E,Fをお話の先生32の方向へ誘導する。接客ロボット100cは、このようにロボット資源117の各資源を配分することで、方向指示という同一種別のサービスであっても、指示先の異なるタスクを並行して実行することができ、接客効率を向上することができる。
このように、接客ロボット100は、第1の来訪者と第2の来訪者とを検出すると、第1の来訪者と第2の来訪者とが撮像されている撮像画像、または、センサにより検出された第1の来訪者の特定のいずれかの部位の向きおよび第2の来訪者のいずれかの部位の向きに基づき、第1の来訪者と第2の来訪者とのそれぞれの関心領域を特定する。また、接客ロボット100は、特定した第1の来訪者の関心領域と、第2の来訪者の関心領域とが異なるか否かを判定する。また、接客ロボット100は、第1の来訪者の関心領域と、第2の来訪者の関心領域とが異なる場合、情報提供装置が有する複数の情報提供リソースのうち、第1の来訪者の関心領域に応じた情報提供リソースを用いて、第1の来訪者に対する情報提供処理を実行する。また、接客ロボット100は、複数の情報提供リソースのうち、第2の来訪者の関心領域に応じた情報提供リソースを用いて、第2の来訪者に対する情報提供処理を実行する。その結果、接客ロボット100は、複数の来訪者に対する接客効率を向上できる。
また、接客ロボット100は、複数の情報提供リソースのそれぞれの情報提供リソースが情報提供処理を実行した際に、第1の来訪者と第2の来訪者とが該情報提供処理の実行に気付く確率を求める。また、接客ロボット100は、求めた気付く確率に基づいて、複数の情報提供リソースを第1の来訪者および第2の来訪者に配分する。その結果、接客ロボット100は、第1の来訪者が不満を抱きにくい範囲で接客の質を下げて資源を確保し、第2の来訪者が効果を得やすい範囲で、確保した資源を第2の来訪者への接客に回すので、トータルで接客の品質を保つことができる。
また、接客ロボット100は、第1の来訪者に対する情報提供処理を実行中に、第2の来訪者の関心領域が特定されると、情報提供リソースの配分を変更する。すなわち、接客ロボット100は、第1の来訪者に対する情報提供処理を実行中の情報提供リソースの配分を減じて、第2の来訪者の関心領域に応じた情報提供リソースの配分を増加させる。その結果、接客ロボット100は、第1の来訪者が不満を抱きにくい範囲で接客の質を下げて資源を確保し、第2の来訪者が効果を得やすい範囲で、確保した資源を第2の来訪者への接客に回すので、トータルで接客の品質を保つことができる。
また、接客ロボット100は、第1の来訪者または第2の来訪者の位置、頭部の向きおよび視線に基づいて、関心領域を特定する。その結果、接客ロボット100は、関心領域(関心空間)に応じたサービスを提供できる。
また、接客ロボット100は、第1の来訪者または第2の来訪者に対する働きかけへの反応行動、対話、他の人物との関係性、情報提供装置への接触のうち、1つまたは複数に基づいて、関心領域を特定する。その結果、接客ロボット100は、関心領域(関心空間)に応じたサービスを提供できる。
また、接客ロボット100は、第1の来訪者の関心領域と、第2の来訪者の関心領域とについて共通する関心領域がある場合、該共通する関心領域に対する情報提供リソースを、第1の来訪者と第2の来訪者とで共用して情報提供処理を実行する。その結果、接客ロボット100は、複数の来訪者に対する接客効率を向上できる。
また、接客ロボット100は、第1の来訪者と第2の来訪者とを検出すると、第1の来訪者と第2の来訪者とが撮像されている撮像画像、または、センサにより検出された第1の来訪者の特定のいずれかの部位の向きおよび第2の来訪者のいずれかの部位の向きに基づき、第1の来訪者と第2の来訪者とのそれぞれの関心領域を特定する。また、接客ロボット100は、特定した第1の来訪者の関心領域と、第2の来訪者の関心領域とについて共通する関心領域がある否かを判定する。また、接客ロボット100は、共通する関心領域がある場合、情報提供装置が有する複数の情報提供リソースのうち、共通する関心領域に応じた情報提供リソースを用いて、第1の来訪者および第2の来訪者に対する情報提供処理を実行する。その結果、接客ロボット100は、複数の来訪者に対する接客効率を向上できる。
なお、上記実施例では、来訪者の検出に外部センサ10を用いたが、これに限定されない。例えば、接客ロボット100にカメラ、赤外線センサ、超音波センサ、レーダー、LIDAR、音声定位マイク等を設け、来訪者を検出してもよい。また、これらの各種センサを用いて来訪者の関心空間等を検出するようにしてもよい。
また、上記実施例では、撮像画像を用いて第1の来訪者と第2の来訪者とのそれぞれの関心領域を特定したが、これに限定されない。例えば、各種センサにより検出された第1の来訪者の特定のいずれかの部位の向きおよび第2の来訪者のいずれかの部位の向きに基づき、第1の来訪者と第2の来訪者とのそれぞれの関心領域を特定してもよい。ここで、来訪者の向き等は、例えば、来訪者にGPSの受信機と加速度センサとを内蔵したヘッドセットを装着してもらい、GPSの位置情報と、加速度情報の積算とに基づいて、来訪者の位置と頭の方向を特定することができる。また、来訪者の向き等は、例えば、床に押圧マットを敷いて、来訪者の足型がどの方向を向いているかを検出することで、来訪者の位置と足型の方向を特定することができる。さらに、来訪者の向き等は、例えば、来訪者に方位センサを内蔵したヘッドセットを装着してもらい、押圧マットと組み合わせることで、来訪者の位置と足型および頭の方向を特定することができる。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、特定部132と判定部133とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものでなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
さらに、各装置で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
ところで、上記の各実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の各実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図39は、制御プログラムを実行するコンピュータの一例を示す図である。
図39に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、データ入力を受け付ける入力装置202と、モニタ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置204と、各種装置と接続するためのインタフェース装置205と、外部センサ10や、他の情報処理装置等と有線または無線により接続するための通信装置206とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM207と、ハードディスク装置208とを有する。また、各装置201~208は、バス209に接続される。
ハードディスク装置208には、図2に示した検出部131、特定部132、判定部133および情報提供部134の各処理部と同様の機能を有する制御プログラムが記憶される。また、ハードディスク装置208には、サービス提供空間記憶部121、関心空間情報記憶部122、来訪者空間情報記憶部123、資源活用情報記憶部124、サービスシナリオ記憶部125、および、制御プログラムを実現するための各種データが記憶される。入力装置202は、例えば、コンピュータ200が制御する情報提供装置が対応する来訪者から操作情報等の各種情報の入力を受け付ける。モニタ203は、例えば、コンピュータ200が制御する情報提供装置が対応する来訪者に対して表示画面等の各種画面を表示する。インタフェース装置205は、例えば情報提供装置や印刷装置等が接続される。通信装置206は、例えば、図2に示した通信部110と同様の機能を有し外部センサ10や図示しないネットワークと接続され、外部センサ10や図示しない他の情報処理装置等と各種情報をやりとりする。
CPU201は、ハードディスク装置208に記憶された各プログラムを読み出して、RAM207に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ200を図2に示した検出部131、特定部132、判定部133および情報提供部134として機能させることができる。
なお、上記の制御プログラムは、必ずしもハードディスク装置208に記憶されている必要はない。例えば、コンピュータ200が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ200が読み出して実行するようにしてもよい。コンピュータ200が読み取り可能な記憶媒体は、例えば、CD-ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこの制御プログラムを記憶させておき、コンピュータ200がこれらから制御プログラムを読み出して実行するようにしてもよい。