情報提供システム
【構成】情報提供システム100は、中央制御装置10、LRF12およびロボット14を含む。中央制御装置10が備えるメモリ(18)には、ショッピングモール内の店舗などに関するリコメンド情報であるトピックスと、店舗などに向かう大局行動を表わす移動軌跡(P_Tx)が記憶される。ショッピングモール内の人間は、LRF12によって移動軌跡(P)が検出され、最も類似する移動軌跡(P_Tx)が特定される。そして、中央制御装置10は、特定された移動軌跡(P_Tx)に対応するトピックスの発話内容を読み出し、人間の位置と共にロボット14に付与する。ロボット14は、付与されたトピックスの発話内容を発話することで、人間にリコメンド情報を提供する。
【効果】人間は、検出された移動軌跡から大局行動が予測され、予測された大局行動に基づいて、リコメンド情報が提供される。
【効果】人間は、検出された移動軌跡から大局行動が予測され、予測された大局行動に基づいて、リコメンド情報が提供される。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報提供システムに関し、特にたとえば任意に移動する人間にリコメンド情報を提供する、情報提供システムに関する。
【背景技術】
【0002】
特許文献1に開示されている、カーナビゲーションシステムでは、運転の誘導処理を行うことで、目的地設定時刻と到着時刻と到着地特定情報を対応付けて運転履歴として蓄える。そして、運転履歴を分析することで、運転者にリコメンド(情報のお勧め)などのサービスを提供する。
【0003】
また、特許文献2に開示されている、自律移動型ロボットは、ステレオ画像として観測するための左右一対のCCDカメラを備え、随伴する特定人物を順次撮影することで、特定人物の進路を予測する。そして、自律移動型ロボットは、特定人物の進路に不特定人物がいる場合に、特定人物を退避させるため、歩行案内の音声を出力する。
【0004】
また、非特許文献1に開示されている、環境情報構造化システムには、自律行動によって人間に近づきサービスを開始することができるロボットが含まれ、そのロボットの活動範囲内に設けられるLRF(レーザーレンジファインダ)を利用して人間の移動軌跡を計測し、その移動軌跡から、人間の大局行動を予測する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−250879号公報[G01C 21/00, G08G 1/0969]
【特許文献2】特開2007−229816号公報[B25J 13/08, B25J 5/00]
【非特許文献】
【0006】
【非特許文献1】Takayuki Kanda, Dylan F. Glas, Masahiro Shiomi, Hiroshi Ishiguro and Norihiro Hagita, Who will be the customer?: A social robot that anticipates people’s behavior from their trajectories, Tenth International Conference on Ubiquitous Computing (UbiComp 2008), pp.380-389, 2008
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に開示されるカーナビゲーションシステムは、運転履歴がなければリコメンドのサービスを提供することができない。また、特許文献2に開示される自律移動ロボットでは、特定人物に対する数秒以内の進路しか予測できず、予測した結果を利用してサービスを提供するシステムには不向きである。そして、非特許文献1のように、人間の移動軌跡から大局行動を予測することができるが、そのような予測技術をリコメンドなどの情報提供サービスと組み合わせる技術はこれまでに実現されていない。
【0008】
それゆえに、この発明の主たる目的は、新規な、情報提供システムを提供することである。
【0009】
この発明の他の目的は、人間の行動を予測して情報提供を行うことができる、情報提供システムである。
【課題を解決するための手段】
【0010】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【0011】
第1の発明は、任意に移動する人間にリコメンド情報を提供する情報提供システムであって、リコメンド情報とリコメンド情報に関係する第1移動軌跡とを対応付けて記憶する記憶手段、人間の第2移動軌跡を検出する検出手段、および第1移動軌跡と第2移動軌跡とが所定値以上の類似度を有するとき、第1移動軌跡に対応するリコメンド情報を人間に提供する情報提供手段を備える、情報提供システムである。
【0012】
第1の発明では、情報提供システム(100)は、たとえば、ショッピングモール内に居る人間に対して、ショッピングモール周囲にある駅などの状況をリコメンド情報として提供する。記憶手段(18)は、たとえばRAMやHDDで構成されるメモリであり、リコメンド情報と、大局行動を表わす第1移動軌跡とを対応付けて記憶する。たとえば、駅の状況を表わすリコメンド情報には、駅に向かう大局行動を表わす第1移動軌跡が対応付けられる。
【0013】
ショッピングモール内には、LRF(12)が設置されており、LRFは移動する人間の位置を検出する。そして、検出手段(12,16,S1)は、人間の位置の変化を第2移動軌跡として検出する。また、第1移動軌跡と第2移動軌跡とは、状態列(S)に変換され、DPマッチングによって類似度(R)が算出される。そして、情報提供手段(10,14,16,S33,80,S95)は、算出した類似度が所定値以上であれば、第2移動軌跡が検出された人間に対して、駅の状況を表わすリコメンド情報を提供する。
【0014】
第1の発明によれば、人間の移動軌跡を検出することで、その人間が行う大局行動を予測することができるため、その大局行動に応じたリコメンド情報を提供することができる。
【0015】
第2の発明は、第1の発明に従属し、リコメンド情報が受け入れられたかを判断する判断手段、および判断手段によって受け入れられたと判断されたとき、第2移動軌跡に基づいて第1移動軌跡を更新する更新手段をさらに備える。
【0016】
第2の発明では、判断手段(10,14,16,S35,80,S97)は、リコメンド情報を提供した人間の音声や、表情などからそのリコメンド情報が受け入れられたかを判断する。そして、更新手段(16,S37)は、リコメンド情報を受け入れた人間の第2移動軌跡と、記憶手段にすでに記憶されている第1移動軌跡とから新たな移動軌跡を算出することで、第1移動軌跡を更新する。
【0017】
第2の発明によれば、提供されるリコメンド情報に対応する第1移動軌跡を更新することで、大局行動を予測する精度を向上させることができる。
【0018】
第3の発明は、第1の発明または第2の発明に従属し、記憶手段は、複数のリコメンド情報と、複数のリコメンド情報のそれぞれに対応する複数の第1移動軌跡とから構成されるリストデータを記憶し、リストデータから第2移動軌跡との類似度が最も大きい第1移動軌跡を特定する特定手段をさらに備え、情報提供手段は、特定手段によって特定された第1移動軌跡に対応するリコメンド情報を人間に提供する。
【0019】
第3の発明では、メモリなどの記憶手段は、ショッピングモール内の店舗などのリコメンド情報も記憶している。また、記憶手段は、各リコメンド情報に対応する複数の第1移動軌跡も記憶しており、複数のリコメンド情報と複数の第1移動軌跡とをリストデータ(334)として記憶する。第2移動軌跡は複数の第1移動軌跡のそれぞれと類似度が算出され、特定手段(16,S29,S31)は、類似度が最も大きい第1移動軌跡を特定し、特定された第1移動軌跡に対応するリコメンド情報を選択する。そして、情報提供手段は、たとえば、店舗に向かっている人間には店舗のリコメンド情報を提供し、駅に向かっている人間には、駅の状況を表わすリコメンド情報を提供する。
【0020】
第3の発明によれば、複数の人間から異なる移動軌跡を検出したとしても、複数の人間のそれぞれに適したリコメンド情報を提供できる。
【0021】
第4の発明は、第1の発明ないし第3の発明のいずれかに従属し、情報提供手段は、人間に対してコミュニケーション行動を行うコミュニケーションロボットを含む。
【0022】
第4の発明では、コミュニケーションロボット(14)は、自律行動によって人間に近づくことができ、人間は、コミュニケーションロボットとのコミュニケーション行動の一環としてリコメンド情報を提供される。
【0023】
第4の発明によれば、コミュニケーションロボットを利用して、リコメンド情報を提供できる。
【発明の効果】
【0024】
この発明によれば、人間の移動軌跡を検出することで、その人間が行う大局行動を予測できるため、予測された大局行動に応じたリコメンド情報を人間に提供することができる。
【0025】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0026】
【図1】図1はこの発明の情報提供システムの概要を示す図解図である。
【図2】図2は図1に示す中央制御装置の電気的な構成を示すブロック図である。
【図3】図3は図2に示すメモリに記憶されるトピックスリストおよび移動軌跡リストの一例を示す図解図である。
【図4】図4は図1に示すロボットの外観を正面から見た図解図である。
【図5】図5は図1に示すロボットの電気的な構成を示すブロック図である。
【図6】図6は図1および図2に示すLRFの計測領域を示す図解図である。
【図7】図7は図1および図2に示すLRFを利用して検出された人間の移動軌跡の一例を示す図解図である。
【図8】図8は図1に示すLRFおよびロボットが設置される或る場所の地図を示す図解図である。
【図9】図9は図3に示すトピックスリストに記録される移動軌跡の一例を示す図解図である。
【図10】図10は図2に示す中央制御装置のCPUによって変換される移動軌跡と変換された状態列との関係を示す図解図である。
【図11】図11は図2に示す中央制御装置のCPUによって実行されるDPマッチングの処理の一例を示す図解図である。
【図12】図12は図1および図2に示すLRFによって検出される或る人間の移動軌跡の一例を示す図解図である。
【図13】図13は図2に示す中央制御装置のメモリのメモリマップの一例を示す図解図である。
【図14】図14は図2に示す中央制御装置のCPUの位置記録処理を示すフロー図である。
【図15】図15は図2に示す中央制御装置のCPUの情報提供処理を示すフロー図である。
【図16】図16は図2に示す中央制御装置のCPUの類似移動軌跡特定処理を示すフロー図である。
【図17】図17は図5に示すロボットのCPUの全体処理を示すフロー図である。
【発明を実施するための形態】
【0027】
図1を参照して、この実施例の情報提供システム100は、LRF12a,12bを含む数台のLRFを有する中央制御装置10および自律移動ロボット(以下、単に「ロボット」と言う。)14を備える。LRF12,12bは、人間が任意に移動することができる場所に設置され、中央制御装置10は、LRF12a,12bによって、任意に移動する人間Aの移動軌跡(第2移動軌跡)を検出する。たとえば、人間Aが任意に行動する場所は、会社のフロア、博物館、ショッピングモールまたはアトラクション会場などであり、LRF12a,12bは様々な場所(環境)に設置される。
【0028】
また、中央制御装置10は、ネットワーク400を介して、リコメンド情報を人間Aに提供させる動作命令をロボット14に付与する。そして、ロボット14は、付与された動作命令に従って、人間Aに対してリコメンド情報を提供する。つまり、情報提供システム100は、検出した人間Aに対してリコメンド情報を提供する。
【0029】
なお、ここでは簡単のため人間は1人しか示していないが、中央制御装置10は2人以上の位置を同時に検出することができる。さらに、ロボット14も同様に1台しか示していないが、中央制御装置10は2台以上のロボット14を同時に管理することができる。また、ロボット14は、相互作用指向のロボット(コミュニケーションロボット)でもあり、人間Aのようなコミュニケーションの対象(コミュニケーション対象)との間で、身振り手振りのような身体動作および音声の少なくとも一方を含むコミュニケーション行動を実行する機能を備えている。
【0030】
図2は中央制御装置10の電気的な構成を示すブロック図である。この図2を参照して、中央制御装置10は、LRF12a−12fおよびCPU16などを含む。このCPU16は、マイクロコンピュータ或いはプロセサとも呼ばれ、先述したLRF12aおよびLRF12bに加えて、LRF12c,LRF12d,LRF12eおよびLRF12fともそれぞれ接続される。さらに、CPU16は、メモリ18および通信LANボード20ともそれぞれ接続される。なお、LRF12a−12fを区別する必要がない場合には、まとめて「LRF12」と言う。
【0031】
LRF12は、レーザーを照射し、物体(人間も含む)に反射して戻ってくるまでの時間から当該物体ための距離を計測するものである。たとえば、トランスミッタ(図示せず)から照射したレーザーを回転ミラー(図示せず)で反射させて、前方を扇状に一定角度(たとえば、0.5度)ずつスキャンする。ここで、LRF12としては、SICK社製のレーザーレンジファインダ(型式 LMS200)を用いることができる。このレーザーレンジファインダを用いた場合には、距離8mを±15mm程度の誤差で計測可能である。
【0032】
記憶手段であるメモリ18は、図示は省略をするが、ROM,HDDおよびRAMを含み、ROMおよびHDDには、中央制御装置10の動作を制御するための制御プログラムが予め記憶される。たとえば、LRF12による人間の検出に必要なプログラムなどが記録される。また、RAMは、ワークメモリやバッファメモリとして用いられる。
【0033】
また、CPU16は、通信LANボード20に接続される。通信LANボード20は、たとえばDSPで構成され、CPU16から与えられた送信データを無線通信装置22に与え、無線通信装置22は送信データを、ネットワーク400を介してロボット14に送信する。たとえば、送信データとしては、リコメンド情報や、ロボット14に付与する動作命令の信号(コマンド)であったりする。また、通信LANボード20は、無線通信装置22を介してデータを受信し、受信したデータをCPU16に与える。
【0034】
また、メモリ18には、リコメンド情報である複数のトピックスが記録されるトピックスリストと、各トピックスに関係する移動軌跡(第1移動軌跡)を決定するための移動軌跡リストが記録される。
【0035】
図3(A)を参照して、トピックスリストは、「トピックス」の列、「移動軌跡」の列および「発話内容」の列から構成される。「トピックス」の列には、複数のトピックスを識別するためのIDが記録されており、ここではトピックスT1−T6がそれぞれ記録される。「移動軌跡」の列には、「トピックス」の列に対応して、各トピックスに関係する移動軌跡P_T1〜移動軌跡P_T6が記録される。
【0036】
そして、「発話内容」の列には、「トピックス」の列に対応して、各トピックスに応じてロボット14に発話させる発話内容が記録されており、各発話内容は、人間に提供されるリコメンド情報を具体的に表わすものである。たとえば、トピックスT1、トピックスT2、トピックスT3、トピックスT4、トピックスT5およびトピックスT6のそれぞれに対応して、「電車の発車時刻は12時だよ」、「お勧めのメニューはカレーだよ」、「15時からパレードがあるよ」、「休憩所には自動販売機があるよ」、「休憩所は向こうにもあるよ」および「案内図はあっちだよ」がそれぞれ記録される。なお、この発話内容は、時間が経過するにつれて随時更新される。
【0037】
図3(B)を参照して、たとえば移動軌跡P_T1の移動軌跡リストは、移動軌跡P1_T1および移動軌跡P2_T1などが記録される。そして、リスト内に記録される全ての移動軌跡(移動軌跡P1_T1および移動軌跡P2など_T1)に近似する軌跡(線)が算出され、その近似する軌跡が移動軌跡P_T1となる。また、移動軌跡リストに新しい移動軌跡のデータが追加されると、中央制御装置10は、移動軌跡P_T1を更新する。なお、図示はしていないが、移動軌跡P_T2〜移動軌跡P_T6のそれぞれに対応する移動軌跡リストもメモリ18に記憶される。
【0038】
以下、任意の自然数が設定される変数xを利用して、任意のトピックスTxおよび移動軌跡P_Txと表わすことがある。
【0039】
そして、詳細な説明は後述するが、中央制御装置10は、メモリ18に記憶されるトピックスリストおよび移動軌跡リストを利用して、人間に提供するリコメンド情報を決定する。
【0040】
図4はこの実施例のロボット14の外観を示す正面図である。図4を参照して、ロボット14は台車30を含み、台車30の下面にはロボット14を自律移動させる2つの車輪32および1つの従輪34が設けられる。2つの車輪32は車輪モータ36(図5参照)によってそれぞれ独立に駆動され、台車30すなわちロボット14を前後左右の任意方向に動かすことができる。また、従輪34は車輪32を補助する補助輪である。したがって、ロボット14は、配置された空間内を自律制御によって移動可能である。
【0041】
台車30の上には、円柱形のセンサ取り付けパネル38が設けられ、このセンサ取り付けパネル38には、多数の赤外線距離センサ40が取り付けられる。これらの赤外線距離センサ40は、センサ取り付けパネル38すなわちロボット14の周囲の物体(人間や障害物など)との距離を測定するものである。
【0042】
なお、この実施例では、距離センサとして、赤外線距離センサを用いるようにしてあるが、赤外線距離センサに代えて、小型のLRFや、超音波距離センサおよびミリ波レーダなどを用いることもできる。
【0043】
センサ取り付けパネル38の上には、胴体42が直立するように設けられる。また、胴体42の前方中央上部(人の胸に相当する位置)には、上述した赤外線距離センサ40がさらに設けられ、ロボット14の前方の主として人間との距離を計測する。また、胴体42には、その側面側上端部のほぼ中央から伸びる支柱44が設けられ、支柱44の上には、全方位カメラ46が設けられる。全方位カメラ46は、ロボット14の周囲を撮影するものであり、後述する眼カメラ70とは区別される。この全方位カメラ46としては、たとえばCCDやCMOSのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ40および全方位カメラ46の設置位置は、当該部位に限定されず適宜変更され得る。
【0044】
胴体42の両側面上端部(人の肩に相当する位置)には、それぞれ、肩関節48Rおよび肩関節48Lによって、上腕50Rおよび上腕50Lが設けられる。図示は省略するが、肩関節48Rおよび肩関節48Lは、それぞれ、直交する3軸の自由度を有する。すなわち、肩関節48Rは、直交する3軸のそれぞれの軸廻りにおいて上腕50Rの角度を制御できる。肩関節48Rの或る軸(ヨー軸)は、上腕50Rの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節48Lは、直交する3軸のそれぞれの軸廻りにおいて上腕50Lの角度を制御できる。肩関節48Lの或る軸(ヨー軸)は、上腕50Lの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。
【0045】
また、上腕50Rおよび上腕50Lのそれぞれの先端には、肘関節52Rおよび肘関節52Lが設けられる。図示は省略するが、肘関節52Rおよび肘関節52Lは、それぞれ1軸の自由度を有し、この軸(ピッチ軸)の軸回りにおいて前腕54Rおよび前腕54Lの角度を制御できる。
【0046】
前腕54Rおよび前腕54Lのそれぞれの先端には、人の手に相当する球体56Rおよび球体56Lがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人間の手の形をした「手」を用いることも可能である。また、図示は省略するが、台車30の前面、肩関節48Rと肩関節48Lとを含む肩に相当する部位、上腕50R、上腕50L、前腕54R、前腕54L、球体56Rおよび球体56Lには、それぞれ、接触センサ58(図5で包括的に示す)が設けられる。台車30の前面の接触センサ58は、台車30への人間や他の障害物の接触を検知する。したがって、ロボット14は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪32の駆動を停止してロボット14の移動を急停止させることができる。また、その他の接触センサ58は、当該各部位に触れたかどうかを検知する。なお、接触センサ58の設置位置は、当該部位に限定されず、適宜な位置(人の胸、腹、脇、背中および腰に相当する位置)に設けられてもよい。
【0047】
胴体42の中央上部(人の首に相当する位置)には首関節60が設けられ、さらにその上には頭部62が設けられる。図示は省略するが、首関節60は、3軸の自由度を有し、3軸の各軸廻りに角度制御可能である。或る軸(ヨー軸)はロボット14の真上(鉛直上向き)に向かう軸であり、他の2軸(ピッチ軸、ロール軸)は、それぞれ、それと異なる方向で直交する軸である。
【0048】
頭部62には、人の口に相当する位置に、スピーカ64が設けられる。スピーカ64は、ロボット14が、それの周辺の人間に対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク66Rおよびマイク66Lが設けられる。以下、右のマイク66Rと左のマイク66Lとをまとめてマイク66と言うことがある。マイク66は、周囲の音、とりわけコミュニケーションを実行する対象である人間の音声を取り込む。さらに、人の目に相当する位置には、眼球部68Rおよび眼球部68Lが設けられる。眼球部68Rおよび眼球部68Lは、それぞれ眼カメラ70Rおよび眼カメラ70Lを含む。以下、右の眼球部68Rと左の眼球部68Lとをまとめて眼球部68と言うことがある。また、右の眼カメラ70Rと左の眼カメラ70Lとをまとめて眼カメラ70と言うことがある。
【0049】
眼カメラ70は、ロボット14に接近した人間の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。また、眼カメラ70は、上述した全方位カメラ46と同様のカメラを用いることができる。たとえば、眼カメラ70は、眼球部68内に固定され、眼球部68は、眼球支持部(図示せず)を介して頭部62内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、2軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この2軸の一方は、頭部62の上に向かう方向の軸(ヨー軸)であり、他方は、一方の軸に直交しかつ頭部62の正面側(顔)が向く方向に直行する方向の軸(ピッチ軸)である。眼球支持部がこの2軸の各軸廻りに回転されることによって、眼球部68ないし眼カメラ70の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ64、マイク66および眼カメラ70の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
【0050】
このように、この実施例のロボット14は、車輪32の独立2軸駆動、肩関節48の3自由度(左右で6自由度)、肘関節52の1自由度(左右で2自由度)、首関節60の3自由度および眼球支持部の2自由度(左右で4自由度)の合計17自由度を有する。
【0051】
図5はロボット14の電気的な構成を示すブロック図である。この図5を参照して、ロボット14は、CPU80を含む。CPU80は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス82を介して、メモリ84、モータ制御ボード86、センサ入力/出力ボード88および音声入力/出力ボード90に接続される。
【0052】
メモリ84は、図示は省略をするが、ROMおよびRAMを含む。ROMには、ロボット14の動作を制御するための制御プログラムが予め記憶される。たとえば、各センサの出力(センサ情報)を検知するための検知プログラムや、外部コンピュータ(中央制御装置10)との間で必要なデータやコマンドを送受信するための通信プログラムなどが記録される。また、RAMは、ワークメモリやバッファメモリとして用いられる。
【0053】
モータ制御ボード86は、たとえばDSPで構成され、各腕や首関節および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード86は、CPU80からの制御データを受け、右眼球部68Rの2軸のそれぞれの角度を制御する2つのモータ(図5では、まとめて「右眼球モータ92」と示す)の回転角度を制御する。同様に、モータ制御ボード86は、CPU80からの制御データを受け、左眼球部68Lの2軸のそれぞれの角度を制御する2つのモータ(図5では、まとめて「左眼球モータ94」と示す)の回転角度を制御する。
【0054】
また、モータ制御ボード86は、CPU80からの制御データを受け、肩関節48Rの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節52Rの角度を制御する1つのモータとの計4つのモータ(図5では、まとめて「右腕モータ96」と示す)の回転角度を制御する。同様に、モータ制御ボード86は、CPU80からの制御データを受け、肩関節48Lの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節52Lの角度を制御する1つのモータとの計4つのモータ(図5では、まとめて「左腕モータ98」と示す)の回転角度を制御する。
【0055】
さらに、モータ制御ボード86は、CPU80からの制御データを受け、首関節60の直交する3軸のそれぞれの角度を制御する3つのモータ(図5では、まとめて「頭部モータ110」と示す)の回転角度を制御する。そして、モータ制御ボード86は、CPU80からの制御データを受け、車輪32を駆動する2つのモータ(図5では、まとめて「車輪モータ36」と示す)の回転角度を制御する。なお、この実施例では、車輪モータ36を除くモータは、制御を簡素化するためにステッピングモータ(すなわち、パルスモータ)を用いる。ただし、車輪モータ36と同様に直流モータを用いるようにしてもよい。また、ロボット14の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更されてもよい。たとえば、他の実施例では、エアアクチュエータなどが適用されてもよい。
【0056】
センサ入力/出力ボード88は、モータ制御ボード86と同様に、DSPで構成され、各センサからの信号を取り込んでCPU80に与える。すなわち、赤外線距離センサ40のそれぞれからの反射時間に関するデータがこのセンサ入力/出力ボード88を通じてCPU80に入力される。また、全方位カメラ46からの映像信号が、必要に応じてセンサ入力/出力ボード88で所定の処理を施してからCPU80に入力される。眼カメラ70からの映像信号も、同様に、CPU80に入力される。また、上述した複数の接触センサ58(図5では、まとめて「接触センサ58」と示す)からの信号がセンサ入力/出力ボード88を介してCPU80に与えられる。音声入力/出力ボード90もまた、同様に、DSPで構成され、CPU80から与えられる音声合成データに従った音声または声がスピーカ64から出力される。また、マイク66からの音声入力が、音声入力/出力ボード90を介してCPU80に与えられる。
【0057】
また、CPU80は、バス82を介して通信LANボード112に接続される。通信LANボード112は、たとえばDSPで構成され、CPU80から与えられた送信データを無線通信装置114に与え、無線通信装置114は送信データを、ネットワーク400を介して外部コンピュータ(中央制御装置10)に送信する。また、通信LANボード112は、無線通信装置114を介してデータを受信し、受信したデータをCPU80に与える。たとえば、送信データとしては、全方位カメラ46および目カメラ70によって撮影された周囲の映像データや、提供したリコメンド情報に対する人間の反応を示すデータであったりする。
【0058】
次にLRF12について詳細に説明する。図6を参照して、LRF12の計測範囲は、半径r(r≒8m)の半円形状(扇形)で示される。つまり、LRF12は、その正面方向を中心とした場合に、左右90度の方向を所定の距離(r)以内で計測可能である。
【0059】
また、使用しているレーザーは、日本工業規格 JIS C 6802「レーザー製品の安全基準」におけるクラス1レーザーであり、人の眼に対して影響を及ぼさない安全なレベルである。また、この実施例では、LRF12のサンプリングレートを37Hzとした。これは、歩行するなどにより移動する人間の位置を連続して検出するためである。
【0060】
さらに、先述したように、LRF12は、様々な場所に配置される。具体的には、LRF12a,12bの各々は、検出領域が重なるように配置され、図示は省略するが、床面から約90cmの高さに固定される。この高さは、被験者の胴体と腕(両腕)とを検出可能とするためであり、たとえば、日本人の成人の平均身長から算出される。したがって、中央制御装置10を設ける場所(地域ないし国)や被験者の年齢ないし年代(たとえば、子供,大人)に応じて、LRF12を固定する高さを適宜変更するようにしてよい。なお、本実施例では、設定されるLRF12は6台としたが、2台以上であれば、任意の台数のLRF12を設置してもよい。
【0061】
このような構成の中央制御装置10では、CPU16がLRF12からの出力(距離データ)に基づいて、パーティクルフィルタを用いて、人間の現在位置の変化を推定する。そして、推定された現在位置の変化は移動軌跡として記録される。
【0062】
たとえば、図7を参照して、LRF12a,12bは互いに向い合せに設置され、LRF12a,12bの計測範囲が重なる範囲は斜線が付されて示される。斜線が付された範囲は検出領域Eとされ、この検出領域E内では人間の現在位置が連続的に検出される。そして、連続的に検出された現在位置の変化が移動軌跡として示される。たとえば、移動軌跡Paおよび移動軌跡Pbのように示される。なお、検出領域E内は、X−Y座標が設定され、人間の位置は(X,Y)の座標で示すことができる。
【0063】
図8(A)はLRF12が設置される場所を示す地図を示す図解図であり、図8(B)は検出領域Eが分割されて示される分割地図を示す図解図である。図8(A)を参照して、地図が対応する場所は或るショッピングモールである。また、地図の左下側には飲食店である店舗が示され、地図の右上中央寄りにはショッピングモール内を案内するための案内図が示される。また、図示はしていないが、地図の右下には休憩スペースが設けられている。さらに、地図で図示しない左側には駅があり、図示しない右側にはアトラクション会場がある。
【0064】
図8(B)を参照して、検出領域Eがk-means法に基づいて50個のグリッドに分割される。分割の手順としては、検出領域Eは25cm四方で空間グリッド化され、さらに「k=50」で空間グリッドがクラスタリングされる。
【0065】
以下、本実施例では、任意の空間グリッドは、空間グリッドiとする。さらに、分割されたクラスタリングされた各グリッドをグリッドAとし、任意のグリッドAはグリッドAmとする。
【0066】
なお、グリッドの数は50ではなく、50以下または50より大きい値であってもよい。また、検出領域Eを分割する手法は、k-means法ではなく、本システムの管理者などによって手動で分割されてもよい。
【0067】
また、本実施例では、ショッピングモール内に居る人間の移動軌跡Pを蓄積することで、人間の局所的な行動(局所行動)と大局的な行動(大局行動)とを分析し、6種類の大局行動を抽出した。そして、6種類のトピックスT1−T6と6つの移動軌跡P_T1〜移動軌跡P_T6とのそれぞれは、抽出された6種類の大局行動に基づいて設定された。
【0068】
なお、大局行動を抽出する際にはk-means法を利用し、結果として「k=6」となった。また、局所行動を分析する際には、4種類の局所行動を判別するSVM(Support Vector Machine)を利用した。
【0069】
図9(A)−図9(F)は、移動軌跡P_T1〜移動軌跡P_T6それぞれの一例を示す図解図である。図9(A)を参照して、移動軌跡P_T1は、「右から左へ通り過ぎる」の大局行動の一例を示している。また、地図の左側には駅があるため、移動軌跡P_T1と類似する移動軌跡Pが検出される人間は駅に向かっている可能性が高い。図9(B)を参照して、移動軌跡P_T2は、「右から来て、店舗の前に向かう」の大局行動の一例を示している。また、移動軌跡P_T2と類似する移動軌跡Pが検出される人間は店舗に入る可能性が高い。図9(C)を参照して、「左から右へ通り過ぎる」の大局行動の一例を示している。また、地図の右側にはアトラクション会場があるため、移動軌跡P_T3と類似する移動軌跡Pが検出される人間はアトラクション会場に向かっている可能性が高い。
【0070】
図9(D)を参照して、移動軌跡P_T4は「休憩している」の大局行動の一例を示している。また、移動軌跡P_T4は、休憩スペースの所でほとんど変化していないため、移動軌跡P_T4と類似する移動軌跡Pが検出される人間は休憩スペースを利用して休憩している可能性が高い。図9(E)を参照して、移動軌跡P_T5は「休憩スペースの周りを歩いている」の大局行動の一例を示している。また、移動軌跡P_T5と類似する移動軌跡Pが検出される人間は休憩スペースが使用できる状態になるのを待っている可能性が高い。図9(F)を参照して、移動軌跡P_T6は「歩き回っている」の大局行動の一例を示している。そして、移動軌跡P_T6と類似する移動軌跡Pが検出される人間は、ショッピングモール内で迷っていたり、行き先を決めかねていたりする可能性が高い。
【0071】
ここで、本実施例の中央制御装置10は、分割地図に含まれる各グリッドAmを利用して、移動軌跡P_T1〜移動軌跡P_T6の中から、或る人間に対応する移動軌跡Pと類似する移動軌跡P_Txを特定し、或る人間に提供するリコメンド情報(トピックスTx)を選択する。
【0072】
具体的には、中央制御装置10は、検出された移動軌跡Pおよび各トピックスと対応する移動軌跡P_T1〜移動軌跡P_T6のそれぞれを、状態列Sおよび状態列S_T1〜状態列S_T6のそれぞれに変換する。そして、中央制御装置10は、DPマッチングによって、状態列Sと、状態列S_T1〜状態列S_T6とのそれぞれの類似度Rを算出し、算出された類似度Rに基づいて、移動軌跡Pが検出された人間に提供するリコメンド情報(トピックスT)を選択する。
【0073】
まず、移動軌跡Pを状態列Sに変換する手順について詳細に説明する。たとえば、検出される或る人間をn、移動軌跡Pを構成する或る点をp(X,Y)、状態列Sを構成する或る状態をst、或る人間nに対応する移動軌跡をPn、移動軌跡Pnが変換された状態列をSnとしたときに、或る人間nに対応する移動軌跡Pnは数1に示す式によって変換される。なお、数1の式では「m=50」となる。
【0074】
【数1】
【0075】
なお、トピックスリストに記録される移動軌跡P_T1〜移動軌跡P_T6のそれぞれも、数1に示す式によって状態列S_T1〜状態列S_T6のそれぞれに変換される。
【0076】
たとえば、図10を参照して、或る人間nがグリッドA1、グリッドA2およびグリッドA3を任意に歩行したとき、移動軌跡Pnを構成する点pの変化が、グリッドA1→グリッドA2→グリッドA1→グリッドA2→グリッドA2→グリッドA3であれば、状態列Snは数2に示す式のようになる。
【0077】
[数2]
Sn={A1,A2,A1,A2,A2,A3}
次に、DPマッチングによって類似度Rを算出する手順について説明する。図11を参照して、移動軌跡P1および移動軌跡P2のそれぞれは、状態列S1および状態列S2のそれぞれに変換される。また、状態列S1に含まれる状態stの数は10であり、状態列S2に含まれる状態stの数は12であるため、2つの状態列Sの長さは異なる。そこで、DPマッチングの処理では、2つの状態列Sの長さをそろえるため、2つの状態列Sに対して挿入と削除の処理を施して同じ長さにした後に、2つの状態列の距離、つまり類似度Rを算出する。
【0078】
なお、DPマッチングの削除と挿入の操作コストは、1操作につき距離1mとなるように設定した。また、2つの状態列Sの距離が近いほど類似度Rが大きくなり、2つの状態列Sの距離が遠くなるほど類似度Rが小さくなる。
【0079】
このように、移動軌跡Pを状態列Sに変換してから類似度Rを算出すると、中央制御装置10の処理が早くなる。たとえば、移動軌跡Pの各点pから類似度を算出したときの処理時間は、状態列Sに変換することで類似度Rを算出する処理時間の10倍以上の値になる。
【0080】
また、本実施例では、DPマッチングによって類似度Rを算出する際には、約20秒の間に計測された移動軌跡Pとする。なお、この「20秒」という数値は、予備実験から求められたものであり、予測の正解率は80%以上であった。
【0081】
図12を参照して、たとえば、検出領域E内で、20秒の間に移動軌跡P3が検出されると、中央制御装置10は移動軌跡P_T1〜移動軌跡P_T6との類似度Rを算出し、最も似ている移動軌跡P_Txを特定する。そして、中央制御装置10は、特定された移動軌跡P_Txに対応するトピックスTxの発話内容と、移動軌跡P3と対応する人間の位置とをロボット14に付与する。そして、ロボット14は、付与されたトピックTxの発話内容と人間の位置とに基づいて、移動軌跡P3と対応する人間に接近して、コミュニケーション行動の一環としてリコメンド情報を提供する。
【0082】
たとえば、移動軌跡P3と最も類似するのが移動軌跡P_T1であれば、ロボット14は、移動軌跡P3に対応する人間に接近して、「こんにちは」と話しかけた後に、「電車の発車時刻は12時だよ」と発話する。
【0083】
さらに、話しかけた人間が「ありがとう」や「了解です」などの肯定的な反応をした場合には、ロボット14は提供したリコメンド情報が受け入れられたとして、中央制御装置10に通知する。そして、中央制御装置10は、リコメンド情報を受け入れた人間の移動軌跡P3を、移動軌跡P_T1の移動軌跡リストに追加することで、移動軌跡P_T1を更新(再計算)する。
【0084】
一方、話しかけた人間が「いりません」などの否定的な反応をした場合には、ロボット14は提供したリコメンド情報が受け入れられなかったとして、中央制御装置10に通知する。この場合、中央制御装置10は、別のトピックスをランダムに選択して、ランダムに選択されたトピックスTxの発話内容をロボット14に付与する。ロボット14は、新たに付与されたトピックスTxの発話内容に対応して、もう一度、リコメンド情報を提供する。
【0085】
そして、中央制御装置10は、2回目のリコメンド情報が受け入れられれば、移動軌跡P3を移動軌跡リストに追加するが、受け入れられなければロボット14にコミュニケーション行動を終了するように動作命令を付与する。
【0086】
このように、情報提供システム100は、人間の移動軌跡Pと類似する、移動軌跡P_Txを特定することで、人間の大局行動を予測することができる。そして、予測した大局行動に基づいて、リコメンド情報をロボット14によって提供することができる。
【0087】
図13は、図2に示す中央制御装置10におけるメモリ18のメモリマップ300の一例を示す図解図である。図13に示すように、メモリ18はプログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、位置記録プログラム312および情報提供プログラム314が記憶される。ただし、情報提供プログラム314は、類似移動軌跡特定プログラム314aをサブルーチンとして含む。
【0088】
位置記録プログラム312は、たとえばショッピングモール内に居る人間の位置を逐次記録するためのプログラムである。情報提供プログラム314は、リコメンド情報を提供する人間を選択して、ロボット14に動作命令を付与するためのプログラムである。類似移動軌跡特定プログラム314aは、検出された移動軌跡Pと類似する移動軌跡P_Txと特定するためのプログラムである。
【0089】
なお、図示は省略するが、中央制御装置10を動作させるためのプログラムは、ネットワーク400を介してデータ通信を行うプログラムなどを含む。
【0090】
また、データ記憶領域304には、移動軌跡バッファ330および特定バッファ332が設けられる共に、トピックスデータ334、移動軌跡データ336および地図データ338が記憶される。また、データ記憶領域304には成功フラグ340が設けられる。
【0091】
移動軌跡バッファ330は、位置記録プログラム312によって記録される人間の位置を一時的に記憶するためのバッファである。特定バッファ332は、類似移動軌跡特定プログラム314aの処理で、特定される移動軌跡P_Txを一時的に記憶するためのバッファである。トピックスデータ334は、図3(A)に示すトピックスリストのデータであり、特定された移動軌跡P_Txに対応して発話内容が読み出される。
【0092】
移動軌跡データ336は、たとえば図3(B)に示す移動軌跡リストを含むデータであり、移動軌跡P_T1〜移動軌跡P_T6に対応する移動軌跡リストから構成される。地図データ338は、図8(A)および図8(B)に示す、ショッピングモールの地図および分割地図のデータを含み、分割地図のデータは、移動軌跡Pを状態列Sに変換する際に用いられる。
【0093】
成功フラグ340は、リコメンド情報が受け入れられたか否かを判断するためのフラグである。たとえば、成功フラグ340は1ビットのレジスタで構成される。成功フラグ340がオン(成立)されると、レジスタにはデータ値「1」が設定される。一方、成功フラグ340がオフ(不成立)されると、レジスタにはデータ値「0」が設定される。また、成功フラグ340は、ロボット14からリコメンド情報が受け入れられたと通知されるとオンになり、ロボット14からリコメンド情報が受け入れられなかったと通知されるとオフになる。
【0094】
なお、図示は省略するが、データ記憶領域304には、様々な計算の結果を一時的に格納するバッファなどが設けられると共に、中央制御装置10の動作に必要な他のカウンタやフラグも設けられる。
【0095】
具体的には、中央制御装置10のCPU16は、図14、図15および図16に示す処理を含む、複数の処理を並列的に実行する。
【0096】
図14に示すように、中央制御装置10のCPU16は、位置記録処理を実行すると、ステップS1では、各人間の位置を検出する。つまり、検出領域E内にいる各人間の位置をLRF12によって検出する。続いて、ステップS3では、各人間の位置を移動軌跡Pnとして移動軌跡バッファ330に記憶させ、ステップS1に戻る。たとえば、人間の位置を移動軌跡P3(図11参照)とし、移動軌跡バッファ330は移動軌跡P3を記憶する。なお、ステップS1を実行するCPU16は検出手段として機能する。
【0097】
図15は情報提供処理のフロー図である。図15で示すように、中央制御装置10のCPU16は、ステップS21で、終了操作か否かを判断する。たとえば、図示しない入力装置などに対して、情報提供処理を終了する操作がされたか否かを判断する。ステップS21で“YES”であれば、つまり終了操作がされれば、情報提供処理を終了する。一方、ステップS21で“NO”であば、つまり終了操作がされていなければ、ステップS23で情報提供可能な人間を選択する。つまり、リコメンド情報が提供されていない人間を選択する。たとえば、移動軌跡Pが、ロボット14の移動経路と同時刻で交差していない人間を抽出し、抽出された人間の中から、一定の距離以下で、かつ最もロボット14に近い人間を選択する。
【0098】
続いて、ステップS25では、選択できたか否かを判断する。つまり、ステップS23の処理でリコメンド情報を提供できる人間が選択されたか否かを判断する。ステップS25で“NO”であれば、つまり選択されてなければステップS21に戻る。一方、ステップS25で“YES”であれば、ステップS27で変数Cを初期化する。つまり、選択された人間に対してリコメンド情報を提供した回数をカウントする変数Cの値を1に設定する。
【0099】
続いて、ステップS29では、類似移動軌跡特定処理を実行する。このステップS29の処理については後述するため、ここでの詳細な説明は省略する。なお、ステップS29の処理を実行するCPU16は特定手段として機能する。続いて、ステップS31では、特定された移動軌跡P_Txに対応するトピックスTxを選択する。たとえば、移動軌跡P_T1が特定されていれば、トピックスT1が選択され、トピックスT1に対応する発話内容「電車の発車時刻は12時だよ」が読み出される。
【0100】
なお、移動軌跡P_T2が特定されていればトピックスT2が選択され、「お勧めのメニューはカレーだよ」の発話内容が読み出される。また、移動軌跡P_T3が特定されていればトピックスT3が選択され、「15時からパレードがあるよ」の発話内容が読み出される。また、移動軌跡P_T4が特定されていればトピックスT4が選択され、「休憩所には自動販売機があるよ」の発話内容が読み出される。また、移動軌跡P_T5が特定されていればトピックスT5が選択され、「休憩所は向こうにもあるよ」の発話内容が読み出される。そして、移動軌跡P_T6が特定されていればトピックスT6が選択され、「案内図はあっちだよ」の発話内容が読み出される。
【0101】
続いて、ステップS33では、選択された人間に近づき、リコメンド情報を提供する動作命令をロボットに付与する。つまり、選択されたトピックスTxの発話内容を発話するコミュニケーション行動を、選択された人間に対して実行するように、ロボット14に動作命令を付与する。たとえば、ロボット14には、移動軌跡P3と対応する人間に接近して、「電車の発車時刻は12時だよ」の発話を行うコミュニケーション行動の動作命令が付与される。
【0102】
続いて、ステップS35では、受け入れられたか否かを判断する。つまり、ロボット14によって提供されたリコメンド情報が受け入れられたか否かを判断する。具体的には、ロボット14から通知されるデータに基づいてオン/オフが切り替わる成功フラグ340によって判断する。ステップS35で“NO”であれば、つまりリコメンド情報が受け入れられなければ、ステップS39に進む。一方、ステップS35で“YES”であれば、つまりリコメンド情報が受け入れられれば、ステップS37で選択された人間の移動軌跡Pを移動軌跡リストに記憶させ、ステップS21に戻る。つまり、選択した人間の位置をさらに20秒間検出して、移動軌跡P_Txに対応する移動軌跡リストに、移動軌跡Pを記録する。さらに、新たな移動軌跡Pが記録されると、移動軌跡P_Txを再計算する。
【0103】
たとえば、CPU16は、移動軌跡P3と対応する人間の位置をさらに検出して移動軌跡P3’を検出する。そして、CPU16は、移動軌跡P_T1に対応する移動軌跡リストに、移動軌跡P3’を記録(追加)し、さらに移動軌跡P_T1を再計算(更新)する。なお、ステップS37の処理を実行するCPU16は更新手段として機能する。
【0104】
ステップS39では、変数Cの値が2より小さいか否かを判断する。つまり、ロボット14がリコメンド情報を提供した回数が2回を超えていないか否かを判断する。ステップS39で“NO”であれば、つまりロボット14がリコメンド情報を2回提供していれば、ステップS41で情報提供の終了をロボット14に通知する。つまり、選択された人間に対するリコメンド情報の提供を終了する。
【0105】
一方、ステップS39で“YES”であれば、つまりロボット14がリコメンド情報を2回提供していなければ、ステップS43で変数Cをインクリメントする。つまり、ロボット14によってリコメンド情報が提供された回数がカウントされる。続いて、ステップS45では、トピックスをランダムに選択し、ステップS33に戻る。つまり、ステップS45では、トピックスリストから任意のトピックスのIDを選択して、選択されたトピックスのIDに対応する発話内容を読み出す。なお、トピックスのIDをランダムに選択する処理には、1〜6の範囲で疑似乱数を返す関数を利用する。さらに、すでに選択されたトピックスのIDが選択された場合は、トピックスのIDをさらに再選択する処理を行ってもよい。なお、ステップS39で判断に利用する値を3以上に設定してもよい。
【0106】
図16は図15に示したステップS29の類似移動軌跡特定処理のフロー図である。図16で示すように、中央制御装置10のCPU16は、ステップS61では、変数xおよび変数Maxを初期化する。つまり、変数xに1を設定し、変数Maxに0を設定する。なお、個の変数Maxは、算出された類似度Rの最大値が設定される変数である。続いて、ステップS63では、選択された人間の移動軌跡Pを状態列Sに変換する。たとえば、数1に示す式に基づいて、移動軌跡P3が状態列S3に変換される。
【0107】
続いて、ステップS65では、変数xが6以下であるか否かを判断する。つまり、移動軌跡Pと移動軌跡P_T1〜移動軌跡P_T6との類似度が全て算出されたか否かを判断する。ステップS65で“YES”であれば、つまり類似度が全て算出されていれば、類似移動軌跡特定処理を終了して、メインルーチンである情報提供処理に戻る。
【0108】
一方、ステップS65で“NO”であれば、つまり類似度が全て算出されていなければ、ステップS67で移動軌跡P_Txを状態列S_Txに変換する。たとえば、変数xが1であれば、移動軌跡P_T1を状態列S_T1に変換する。続いて、ステップS69では、状態列Sと状態列S_Txとの類似度Rを算出する。たとえば、DPマッチングの処理によって、状態列Sと状態列S_T1との距離を算出し、算出された距離を類似度Rとする。
【0109】
続いて、ステップS71では、類似度Rが変数Maxより大きいか否かを判断する。つまり、算出した類似度Rが、類似度の最大値が設定される変数Maxより大きいか否かを判断する。ステップS71で“NO”であれば、つまり算出された類似度Rが変数Maxより大きくなければ、ステップS77に進む。一方、ステップS71で“YES”であれば、つまり算出された類似度Rが変数Maxより大きければ、ステップS73で特定バッファ332の内容を移動軌跡P_Txに更新する。たとえば、移動軌跡P_T1を表わす座標のデータを特定バッファ332に格納する。また、特定バッファ332は、格納しているデータをリセット(消去)してから、新たなデータを格納する。続いて、ステップS75では、変数Maxに算出された類似度Rを設定する。つまり、類似度の最大値を更新する。続いて、ステップS77では、変数xをインクリメントし、ステップS65に戻る。つまり、次の移動軌跡P_Txとの類似度を算出するために、変数xがインクリメントされる。
【0110】
なお、ステップS65−S77における1回目のループでは、変数Maxが0に設定されるため、必ずステップS73,S75が実行される。つまり、変数Maxの初期値を0とすることで、リコメンド情報が必ず提供されるようになる。
【0111】
図17は、ロボット14のCPU80が実行する全体処理のフロー図である。図17に示すように、ロボット14のCPU80は、ステップS91で、終了操作か否かを判断する。たとえば、ロボット14に設定された停止スイッチが操作されたか否かを判断する。なお、遠隔操作されるロボット14であれば、処理を終了するコマンドが送信されたか否かを判断する。ステップS91で“YES”であれば、つまり終了操作であれば、全体処理を終了する。一方、ステップS91で“NO”であれば、つまり終了操作でなければ、ステップS93で動作命令を付与されたか否かを判断する。つまり、リコメンド情報を提供する動作命令を受信したか否かを判断する。ステップS93で“NO”であれば、つまり動作命令を受信していなければ、ステップS91に戻る。
【0112】
一方、ステップS93で“YES”であれば、つまり動作命令を受信すれば、ステップS95で選択された人間に対して、受信した動作命令に従ってリコメンド情報を発話する。つまり、動作命令に含まれる座標に基づいて人間に接近し、「こんにちは」と発話してコミュニケーション行動を開始する。さらに、動作命令に含まれる発話内容に基づいて、たとえば「電車の発車時刻は12時だよ」と発話することで、対話相手である人間にリコメンド情報を提供する。たとえば、「左から右に通り過ぎる」の大局行動が予測される人間は、駅に向かっていると推定されるため、電車の出発時刻がリコメンド情報として提供される。
【0113】
なお、「右から来て、店舗の前に向かう」の大局行動が予測される人間は、店舗に向かっていると推定されるため、その店舗のお勧め商品(メニュー)がリコメンド情報として提供される。また、「左から右へ通り過ぎる」の大局行動が予測される人間は、アトラクション会場に向かっていると推定されるため、アトラクション会場でのイベントがリコメンド情報として提供される。
【0114】
また、「休憩している」の大局行動が予測される人間には、休憩スペースの設備(自動販売機)がリコメンド情報として提供される。また、「休憩スペースの周りを歩いている」の大局行動が予測される人間は、休憩しようとしていると推定されるため、他の休憩スペースの場所がリコメンド情報として提供される。また、「歩き回っている」の大局行動が予測される人間は、ショッピングモール内で迷っているか、行き先を決めかねていると推定されるため、ショッピングモール内の案内図がある場所がリコメンド情報として提供される。
【0115】
続いて、ステップS97では、発話内容が受け入れられたか否かを判断する。つまり、発話したリコメンド情報が受け入れられたか否かを判断する。また、具体的には、マイク66によって、対話相手が発話する音声を認識して、発話内容が受け入れられたか否かを判断する。なお、ロボット14は、目カメラ70によって対話相手の顔を撮影することで顔のパターン認識を行い、発話内容が受け入れられたか否かを判断してもよい。ステップS97で“YES”であれば、つまりリコメンド情報が受け入れられれば、ステップS99で、受け入れられたことを中央制御装置10に通知して、ステップS91に戻る。つまり、対話相手に提供したリコメンド情報が受け入れられたことを、中央制御装置10に通知する。
【0116】
一方、ステップS97で“NO”であれば、つまりリコメンド情報が受け入れられなければ、ステップS101で受け入れられなかったことを中央制御装置10に通知する。つまり、対話相手に提供したリコメンド情報が受け入れられなかったことを、中央制御装置10に通知する。続いて、ステップS103で情報提供の終了が通知されたか否かを判断する。つまり、中央制御装置10から、リコメンド情報の提供を終了する通知がされたか否かを判断する。ステップS103で“YES”であれば、つまり終了の通知がされればステップS91に戻る。一方、ステップS103で“NO”であれば、つまり終了の通知がされなければ、ステップS95に戻る。
【0117】
なお、ステップS99の処理が終了するか、ステップS103で“YES”と判断された場合に、ロボット14は、「またね」と発話してコミュニケーション行動を終了する。また、ステップS103で“NO”と判断された場合に、ロボット14は、「じゃあ、他のお勧めを教えるね」と発話して、コミュニケーション行動を継続する。
【0118】
また、ロボット14が発話するリコメンド情報は、対話相手の人間が反応を返しやすくするために、疑問形で発話されてもよい。たとえば、「電車の発車時刻は12時だよ」は、「駅に向かうなら、電車の発車時刻は12時だけど、大丈夫?」と発話される。
【0119】
また、ステップS33の処理を実行する中央制御装置10のCPU16と、ステップS95の処理を実行するロボット14のCPU80とは情報提供手段として機能する。さらに、ステップS35の処理を実行する中央制御装置10のCPU16と、ステップS97の処理を実行するロボット14のCPU80とは判断手段として機能する。
【0120】
この実施例によれば、情報提供システム100は、中央制御装置10、ショッピングモール内に設置されるLRF12およびロボット14を含む。中央制御装置10が備えるメモリ18には、ショッピングモール内の店舗や、周辺の駅およびアトラクション会場に関するリコメンド情報であるトピックスT1−T6と、店舗、駅およびアトラクション会場に向かう大局行動を表わす移動軌跡P_T1〜移動軌跡P_T6とが記録されるトピックスリストが記憶されている。
【0121】
また、ショッピングモール内に居る人間は、LRF12によって移動軌跡Pが検出され、トピックスリストに記録されている移動軌跡P_T1〜移動軌跡P_T6との類似度Rがそれぞれ算出される。そして、中央制御装置10では、類似度の最大値Maxより大きく、かつ最も大きい類似度Rが算出された移動軌跡P_Txに対応するトピックスTxの発話内容が読み出される。ロボット14は、人間とのコミュニケーション行動を行いながら、読み出されたトピックスTxの発話内容に基づいて発話することで、リコメンド情報を提供する。
【0122】
このように、人間の移動軌跡Pを検出することで、その人間が行う大局行動を予測することができるため、その大局行動に応じたリコメンド情報を提供することができる。
【0123】
また、中央制御装置10は、リコメンド情報を受け入れた人間の移動軌跡Pに基づいて、リコメンド情報に対応する移動軌跡P_Txを更新する。このように、リコメンド情報に対応する移動軌跡P_Txを更新することで、大局行動を予測する精度が向上する。
【0124】
また、提供するリコメンド情報が複数用意されているため、複数の人間から異なる移動軌跡Pを検出したとしても、情報提供システム100は、複数の人間のそれぞれに適したリコメンド情報を提供できる。
【0125】
そして、リコメンド情報は、コミュニケーション行動を行うことができるロボット14によって提供される。
【0126】
なお、本実施例では、1つのトピックスTに対応する移動軌跡P_Tは1つだけに限らず、複数の移動軌跡P_Tが対応するようにしてもよい。また、移動軌跡リストに記録されている各移動軌跡をk-means法によってクラスタリングすることで、トピックスTxに対応する移動軌跡P_Txを算出するようにしてもよい。
【0127】
また、本実施例では、ロボット14によってリコメンド情報を提供したが、人間が所持する携帯電話などの携帯端末にリコメンド情報を発信することで、リコメンド情報を提供するようにしてもよい。この場合、携帯端末は、音声ではなく、文字列や画像によってリコメンド情報を提供する。また、人間が所持する携帯端末は、携帯端末との無線通信における電波強度を利用して特定されてもよいし、加速度センサを有する携帯端末であれば、加速度のデータを利用して特定されてもよい。
【0128】
また、さらに多くの大局行動を抽出することで、提供するリコメンド情報を増やしてもよい。
【0129】
また、人間の位置を検出するためにLRF12を用いたが、LRF12に代えて超音波距離センサやミリ波レーダなどを用いて、人間の位置を検出してもよい。
【符号の説明】
【0130】
10 …中央制御装置
12a−12f …LRF
14 …ロボット
16 …CPU
18 …メモリ
80 …CPU
400 …ネットワーク
【技術分野】
【0001】
この発明は、情報提供システムに関し、特にたとえば任意に移動する人間にリコメンド情報を提供する、情報提供システムに関する。
【背景技術】
【0002】
特許文献1に開示されている、カーナビゲーションシステムでは、運転の誘導処理を行うことで、目的地設定時刻と到着時刻と到着地特定情報を対応付けて運転履歴として蓄える。そして、運転履歴を分析することで、運転者にリコメンド(情報のお勧め)などのサービスを提供する。
【0003】
また、特許文献2に開示されている、自律移動型ロボットは、ステレオ画像として観測するための左右一対のCCDカメラを備え、随伴する特定人物を順次撮影することで、特定人物の進路を予測する。そして、自律移動型ロボットは、特定人物の進路に不特定人物がいる場合に、特定人物を退避させるため、歩行案内の音声を出力する。
【0004】
また、非特許文献1に開示されている、環境情報構造化システムには、自律行動によって人間に近づきサービスを開始することができるロボットが含まれ、そのロボットの活動範囲内に設けられるLRF(レーザーレンジファインダ)を利用して人間の移動軌跡を計測し、その移動軌跡から、人間の大局行動を予測する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−250879号公報[G01C 21/00, G08G 1/0969]
【特許文献2】特開2007−229816号公報[B25J 13/08, B25J 5/00]
【非特許文献】
【0006】
【非特許文献1】Takayuki Kanda, Dylan F. Glas, Masahiro Shiomi, Hiroshi Ishiguro and Norihiro Hagita, Who will be the customer?: A social robot that anticipates people’s behavior from their trajectories, Tenth International Conference on Ubiquitous Computing (UbiComp 2008), pp.380-389, 2008
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に開示されるカーナビゲーションシステムは、運転履歴がなければリコメンドのサービスを提供することができない。また、特許文献2に開示される自律移動ロボットでは、特定人物に対する数秒以内の進路しか予測できず、予測した結果を利用してサービスを提供するシステムには不向きである。そして、非特許文献1のように、人間の移動軌跡から大局行動を予測することができるが、そのような予測技術をリコメンドなどの情報提供サービスと組み合わせる技術はこれまでに実現されていない。
【0008】
それゆえに、この発明の主たる目的は、新規な、情報提供システムを提供することである。
【0009】
この発明の他の目的は、人間の行動を予測して情報提供を行うことができる、情報提供システムである。
【課題を解決するための手段】
【0010】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【0011】
第1の発明は、任意に移動する人間にリコメンド情報を提供する情報提供システムであって、リコメンド情報とリコメンド情報に関係する第1移動軌跡とを対応付けて記憶する記憶手段、人間の第2移動軌跡を検出する検出手段、および第1移動軌跡と第2移動軌跡とが所定値以上の類似度を有するとき、第1移動軌跡に対応するリコメンド情報を人間に提供する情報提供手段を備える、情報提供システムである。
【0012】
第1の発明では、情報提供システム(100)は、たとえば、ショッピングモール内に居る人間に対して、ショッピングモール周囲にある駅などの状況をリコメンド情報として提供する。記憶手段(18)は、たとえばRAMやHDDで構成されるメモリであり、リコメンド情報と、大局行動を表わす第1移動軌跡とを対応付けて記憶する。たとえば、駅の状況を表わすリコメンド情報には、駅に向かう大局行動を表わす第1移動軌跡が対応付けられる。
【0013】
ショッピングモール内には、LRF(12)が設置されており、LRFは移動する人間の位置を検出する。そして、検出手段(12,16,S1)は、人間の位置の変化を第2移動軌跡として検出する。また、第1移動軌跡と第2移動軌跡とは、状態列(S)に変換され、DPマッチングによって類似度(R)が算出される。そして、情報提供手段(10,14,16,S33,80,S95)は、算出した類似度が所定値以上であれば、第2移動軌跡が検出された人間に対して、駅の状況を表わすリコメンド情報を提供する。
【0014】
第1の発明によれば、人間の移動軌跡を検出することで、その人間が行う大局行動を予測することができるため、その大局行動に応じたリコメンド情報を提供することができる。
【0015】
第2の発明は、第1の発明に従属し、リコメンド情報が受け入れられたかを判断する判断手段、および判断手段によって受け入れられたと判断されたとき、第2移動軌跡に基づいて第1移動軌跡を更新する更新手段をさらに備える。
【0016】
第2の発明では、判断手段(10,14,16,S35,80,S97)は、リコメンド情報を提供した人間の音声や、表情などからそのリコメンド情報が受け入れられたかを判断する。そして、更新手段(16,S37)は、リコメンド情報を受け入れた人間の第2移動軌跡と、記憶手段にすでに記憶されている第1移動軌跡とから新たな移動軌跡を算出することで、第1移動軌跡を更新する。
【0017】
第2の発明によれば、提供されるリコメンド情報に対応する第1移動軌跡を更新することで、大局行動を予測する精度を向上させることができる。
【0018】
第3の発明は、第1の発明または第2の発明に従属し、記憶手段は、複数のリコメンド情報と、複数のリコメンド情報のそれぞれに対応する複数の第1移動軌跡とから構成されるリストデータを記憶し、リストデータから第2移動軌跡との類似度が最も大きい第1移動軌跡を特定する特定手段をさらに備え、情報提供手段は、特定手段によって特定された第1移動軌跡に対応するリコメンド情報を人間に提供する。
【0019】
第3の発明では、メモリなどの記憶手段は、ショッピングモール内の店舗などのリコメンド情報も記憶している。また、記憶手段は、各リコメンド情報に対応する複数の第1移動軌跡も記憶しており、複数のリコメンド情報と複数の第1移動軌跡とをリストデータ(334)として記憶する。第2移動軌跡は複数の第1移動軌跡のそれぞれと類似度が算出され、特定手段(16,S29,S31)は、類似度が最も大きい第1移動軌跡を特定し、特定された第1移動軌跡に対応するリコメンド情報を選択する。そして、情報提供手段は、たとえば、店舗に向かっている人間には店舗のリコメンド情報を提供し、駅に向かっている人間には、駅の状況を表わすリコメンド情報を提供する。
【0020】
第3の発明によれば、複数の人間から異なる移動軌跡を検出したとしても、複数の人間のそれぞれに適したリコメンド情報を提供できる。
【0021】
第4の発明は、第1の発明ないし第3の発明のいずれかに従属し、情報提供手段は、人間に対してコミュニケーション行動を行うコミュニケーションロボットを含む。
【0022】
第4の発明では、コミュニケーションロボット(14)は、自律行動によって人間に近づくことができ、人間は、コミュニケーションロボットとのコミュニケーション行動の一環としてリコメンド情報を提供される。
【0023】
第4の発明によれば、コミュニケーションロボットを利用して、リコメンド情報を提供できる。
【発明の効果】
【0024】
この発明によれば、人間の移動軌跡を検出することで、その人間が行う大局行動を予測できるため、予測された大局行動に応じたリコメンド情報を人間に提供することができる。
【0025】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0026】
【図1】図1はこの発明の情報提供システムの概要を示す図解図である。
【図2】図2は図1に示す中央制御装置の電気的な構成を示すブロック図である。
【図3】図3は図2に示すメモリに記憶されるトピックスリストおよび移動軌跡リストの一例を示す図解図である。
【図4】図4は図1に示すロボットの外観を正面から見た図解図である。
【図5】図5は図1に示すロボットの電気的な構成を示すブロック図である。
【図6】図6は図1および図2に示すLRFの計測領域を示す図解図である。
【図7】図7は図1および図2に示すLRFを利用して検出された人間の移動軌跡の一例を示す図解図である。
【図8】図8は図1に示すLRFおよびロボットが設置される或る場所の地図を示す図解図である。
【図9】図9は図3に示すトピックスリストに記録される移動軌跡の一例を示す図解図である。
【図10】図10は図2に示す中央制御装置のCPUによって変換される移動軌跡と変換された状態列との関係を示す図解図である。
【図11】図11は図2に示す中央制御装置のCPUによって実行されるDPマッチングの処理の一例を示す図解図である。
【図12】図12は図1および図2に示すLRFによって検出される或る人間の移動軌跡の一例を示す図解図である。
【図13】図13は図2に示す中央制御装置のメモリのメモリマップの一例を示す図解図である。
【図14】図14は図2に示す中央制御装置のCPUの位置記録処理を示すフロー図である。
【図15】図15は図2に示す中央制御装置のCPUの情報提供処理を示すフロー図である。
【図16】図16は図2に示す中央制御装置のCPUの類似移動軌跡特定処理を示すフロー図である。
【図17】図17は図5に示すロボットのCPUの全体処理を示すフロー図である。
【発明を実施するための形態】
【0027】
図1を参照して、この実施例の情報提供システム100は、LRF12a,12bを含む数台のLRFを有する中央制御装置10および自律移動ロボット(以下、単に「ロボット」と言う。)14を備える。LRF12,12bは、人間が任意に移動することができる場所に設置され、中央制御装置10は、LRF12a,12bによって、任意に移動する人間Aの移動軌跡(第2移動軌跡)を検出する。たとえば、人間Aが任意に行動する場所は、会社のフロア、博物館、ショッピングモールまたはアトラクション会場などであり、LRF12a,12bは様々な場所(環境)に設置される。
【0028】
また、中央制御装置10は、ネットワーク400を介して、リコメンド情報を人間Aに提供させる動作命令をロボット14に付与する。そして、ロボット14は、付与された動作命令に従って、人間Aに対してリコメンド情報を提供する。つまり、情報提供システム100は、検出した人間Aに対してリコメンド情報を提供する。
【0029】
なお、ここでは簡単のため人間は1人しか示していないが、中央制御装置10は2人以上の位置を同時に検出することができる。さらに、ロボット14も同様に1台しか示していないが、中央制御装置10は2台以上のロボット14を同時に管理することができる。また、ロボット14は、相互作用指向のロボット(コミュニケーションロボット)でもあり、人間Aのようなコミュニケーションの対象(コミュニケーション対象)との間で、身振り手振りのような身体動作および音声の少なくとも一方を含むコミュニケーション行動を実行する機能を備えている。
【0030】
図2は中央制御装置10の電気的な構成を示すブロック図である。この図2を参照して、中央制御装置10は、LRF12a−12fおよびCPU16などを含む。このCPU16は、マイクロコンピュータ或いはプロセサとも呼ばれ、先述したLRF12aおよびLRF12bに加えて、LRF12c,LRF12d,LRF12eおよびLRF12fともそれぞれ接続される。さらに、CPU16は、メモリ18および通信LANボード20ともそれぞれ接続される。なお、LRF12a−12fを区別する必要がない場合には、まとめて「LRF12」と言う。
【0031】
LRF12は、レーザーを照射し、物体(人間も含む)に反射して戻ってくるまでの時間から当該物体ための距離を計測するものである。たとえば、トランスミッタ(図示せず)から照射したレーザーを回転ミラー(図示せず)で反射させて、前方を扇状に一定角度(たとえば、0.5度)ずつスキャンする。ここで、LRF12としては、SICK社製のレーザーレンジファインダ(型式 LMS200)を用いることができる。このレーザーレンジファインダを用いた場合には、距離8mを±15mm程度の誤差で計測可能である。
【0032】
記憶手段であるメモリ18は、図示は省略をするが、ROM,HDDおよびRAMを含み、ROMおよびHDDには、中央制御装置10の動作を制御するための制御プログラムが予め記憶される。たとえば、LRF12による人間の検出に必要なプログラムなどが記録される。また、RAMは、ワークメモリやバッファメモリとして用いられる。
【0033】
また、CPU16は、通信LANボード20に接続される。通信LANボード20は、たとえばDSPで構成され、CPU16から与えられた送信データを無線通信装置22に与え、無線通信装置22は送信データを、ネットワーク400を介してロボット14に送信する。たとえば、送信データとしては、リコメンド情報や、ロボット14に付与する動作命令の信号(コマンド)であったりする。また、通信LANボード20は、無線通信装置22を介してデータを受信し、受信したデータをCPU16に与える。
【0034】
また、メモリ18には、リコメンド情報である複数のトピックスが記録されるトピックスリストと、各トピックスに関係する移動軌跡(第1移動軌跡)を決定するための移動軌跡リストが記録される。
【0035】
図3(A)を参照して、トピックスリストは、「トピックス」の列、「移動軌跡」の列および「発話内容」の列から構成される。「トピックス」の列には、複数のトピックスを識別するためのIDが記録されており、ここではトピックスT1−T6がそれぞれ記録される。「移動軌跡」の列には、「トピックス」の列に対応して、各トピックスに関係する移動軌跡P_T1〜移動軌跡P_T6が記録される。
【0036】
そして、「発話内容」の列には、「トピックス」の列に対応して、各トピックスに応じてロボット14に発話させる発話内容が記録されており、各発話内容は、人間に提供されるリコメンド情報を具体的に表わすものである。たとえば、トピックスT1、トピックスT2、トピックスT3、トピックスT4、トピックスT5およびトピックスT6のそれぞれに対応して、「電車の発車時刻は12時だよ」、「お勧めのメニューはカレーだよ」、「15時からパレードがあるよ」、「休憩所には自動販売機があるよ」、「休憩所は向こうにもあるよ」および「案内図はあっちだよ」がそれぞれ記録される。なお、この発話内容は、時間が経過するにつれて随時更新される。
【0037】
図3(B)を参照して、たとえば移動軌跡P_T1の移動軌跡リストは、移動軌跡P1_T1および移動軌跡P2_T1などが記録される。そして、リスト内に記録される全ての移動軌跡(移動軌跡P1_T1および移動軌跡P2など_T1)に近似する軌跡(線)が算出され、その近似する軌跡が移動軌跡P_T1となる。また、移動軌跡リストに新しい移動軌跡のデータが追加されると、中央制御装置10は、移動軌跡P_T1を更新する。なお、図示はしていないが、移動軌跡P_T2〜移動軌跡P_T6のそれぞれに対応する移動軌跡リストもメモリ18に記憶される。
【0038】
以下、任意の自然数が設定される変数xを利用して、任意のトピックスTxおよび移動軌跡P_Txと表わすことがある。
【0039】
そして、詳細な説明は後述するが、中央制御装置10は、メモリ18に記憶されるトピックスリストおよび移動軌跡リストを利用して、人間に提供するリコメンド情報を決定する。
【0040】
図4はこの実施例のロボット14の外観を示す正面図である。図4を参照して、ロボット14は台車30を含み、台車30の下面にはロボット14を自律移動させる2つの車輪32および1つの従輪34が設けられる。2つの車輪32は車輪モータ36(図5参照)によってそれぞれ独立に駆動され、台車30すなわちロボット14を前後左右の任意方向に動かすことができる。また、従輪34は車輪32を補助する補助輪である。したがって、ロボット14は、配置された空間内を自律制御によって移動可能である。
【0041】
台車30の上には、円柱形のセンサ取り付けパネル38が設けられ、このセンサ取り付けパネル38には、多数の赤外線距離センサ40が取り付けられる。これらの赤外線距離センサ40は、センサ取り付けパネル38すなわちロボット14の周囲の物体(人間や障害物など)との距離を測定するものである。
【0042】
なお、この実施例では、距離センサとして、赤外線距離センサを用いるようにしてあるが、赤外線距離センサに代えて、小型のLRFや、超音波距離センサおよびミリ波レーダなどを用いることもできる。
【0043】
センサ取り付けパネル38の上には、胴体42が直立するように設けられる。また、胴体42の前方中央上部(人の胸に相当する位置)には、上述した赤外線距離センサ40がさらに設けられ、ロボット14の前方の主として人間との距離を計測する。また、胴体42には、その側面側上端部のほぼ中央から伸びる支柱44が設けられ、支柱44の上には、全方位カメラ46が設けられる。全方位カメラ46は、ロボット14の周囲を撮影するものであり、後述する眼カメラ70とは区別される。この全方位カメラ46としては、たとえばCCDやCMOSのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ40および全方位カメラ46の設置位置は、当該部位に限定されず適宜変更され得る。
【0044】
胴体42の両側面上端部(人の肩に相当する位置)には、それぞれ、肩関節48Rおよび肩関節48Lによって、上腕50Rおよび上腕50Lが設けられる。図示は省略するが、肩関節48Rおよび肩関節48Lは、それぞれ、直交する3軸の自由度を有する。すなわち、肩関節48Rは、直交する3軸のそれぞれの軸廻りにおいて上腕50Rの角度を制御できる。肩関節48Rの或る軸(ヨー軸)は、上腕50Rの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節48Lは、直交する3軸のそれぞれの軸廻りにおいて上腕50Lの角度を制御できる。肩関節48Lの或る軸(ヨー軸)は、上腕50Lの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。
【0045】
また、上腕50Rおよび上腕50Lのそれぞれの先端には、肘関節52Rおよび肘関節52Lが設けられる。図示は省略するが、肘関節52Rおよび肘関節52Lは、それぞれ1軸の自由度を有し、この軸(ピッチ軸)の軸回りにおいて前腕54Rおよび前腕54Lの角度を制御できる。
【0046】
前腕54Rおよび前腕54Lのそれぞれの先端には、人の手に相当する球体56Rおよび球体56Lがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人間の手の形をした「手」を用いることも可能である。また、図示は省略するが、台車30の前面、肩関節48Rと肩関節48Lとを含む肩に相当する部位、上腕50R、上腕50L、前腕54R、前腕54L、球体56Rおよび球体56Lには、それぞれ、接触センサ58(図5で包括的に示す)が設けられる。台車30の前面の接触センサ58は、台車30への人間や他の障害物の接触を検知する。したがって、ロボット14は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪32の駆動を停止してロボット14の移動を急停止させることができる。また、その他の接触センサ58は、当該各部位に触れたかどうかを検知する。なお、接触センサ58の設置位置は、当該部位に限定されず、適宜な位置(人の胸、腹、脇、背中および腰に相当する位置)に設けられてもよい。
【0047】
胴体42の中央上部(人の首に相当する位置)には首関節60が設けられ、さらにその上には頭部62が設けられる。図示は省略するが、首関節60は、3軸の自由度を有し、3軸の各軸廻りに角度制御可能である。或る軸(ヨー軸)はロボット14の真上(鉛直上向き)に向かう軸であり、他の2軸(ピッチ軸、ロール軸)は、それぞれ、それと異なる方向で直交する軸である。
【0048】
頭部62には、人の口に相当する位置に、スピーカ64が設けられる。スピーカ64は、ロボット14が、それの周辺の人間に対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク66Rおよびマイク66Lが設けられる。以下、右のマイク66Rと左のマイク66Lとをまとめてマイク66と言うことがある。マイク66は、周囲の音、とりわけコミュニケーションを実行する対象である人間の音声を取り込む。さらに、人の目に相当する位置には、眼球部68Rおよび眼球部68Lが設けられる。眼球部68Rおよび眼球部68Lは、それぞれ眼カメラ70Rおよび眼カメラ70Lを含む。以下、右の眼球部68Rと左の眼球部68Lとをまとめて眼球部68と言うことがある。また、右の眼カメラ70Rと左の眼カメラ70Lとをまとめて眼カメラ70と言うことがある。
【0049】
眼カメラ70は、ロボット14に接近した人間の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。また、眼カメラ70は、上述した全方位カメラ46と同様のカメラを用いることができる。たとえば、眼カメラ70は、眼球部68内に固定され、眼球部68は、眼球支持部(図示せず)を介して頭部62内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、2軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この2軸の一方は、頭部62の上に向かう方向の軸(ヨー軸)であり、他方は、一方の軸に直交しかつ頭部62の正面側(顔)が向く方向に直行する方向の軸(ピッチ軸)である。眼球支持部がこの2軸の各軸廻りに回転されることによって、眼球部68ないし眼カメラ70の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ64、マイク66および眼カメラ70の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
【0050】
このように、この実施例のロボット14は、車輪32の独立2軸駆動、肩関節48の3自由度(左右で6自由度)、肘関節52の1自由度(左右で2自由度)、首関節60の3自由度および眼球支持部の2自由度(左右で4自由度)の合計17自由度を有する。
【0051】
図5はロボット14の電気的な構成を示すブロック図である。この図5を参照して、ロボット14は、CPU80を含む。CPU80は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス82を介して、メモリ84、モータ制御ボード86、センサ入力/出力ボード88および音声入力/出力ボード90に接続される。
【0052】
メモリ84は、図示は省略をするが、ROMおよびRAMを含む。ROMには、ロボット14の動作を制御するための制御プログラムが予め記憶される。たとえば、各センサの出力(センサ情報)を検知するための検知プログラムや、外部コンピュータ(中央制御装置10)との間で必要なデータやコマンドを送受信するための通信プログラムなどが記録される。また、RAMは、ワークメモリやバッファメモリとして用いられる。
【0053】
モータ制御ボード86は、たとえばDSPで構成され、各腕や首関節および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード86は、CPU80からの制御データを受け、右眼球部68Rの2軸のそれぞれの角度を制御する2つのモータ(図5では、まとめて「右眼球モータ92」と示す)の回転角度を制御する。同様に、モータ制御ボード86は、CPU80からの制御データを受け、左眼球部68Lの2軸のそれぞれの角度を制御する2つのモータ(図5では、まとめて「左眼球モータ94」と示す)の回転角度を制御する。
【0054】
また、モータ制御ボード86は、CPU80からの制御データを受け、肩関節48Rの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節52Rの角度を制御する1つのモータとの計4つのモータ(図5では、まとめて「右腕モータ96」と示す)の回転角度を制御する。同様に、モータ制御ボード86は、CPU80からの制御データを受け、肩関節48Lの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節52Lの角度を制御する1つのモータとの計4つのモータ(図5では、まとめて「左腕モータ98」と示す)の回転角度を制御する。
【0055】
さらに、モータ制御ボード86は、CPU80からの制御データを受け、首関節60の直交する3軸のそれぞれの角度を制御する3つのモータ(図5では、まとめて「頭部モータ110」と示す)の回転角度を制御する。そして、モータ制御ボード86は、CPU80からの制御データを受け、車輪32を駆動する2つのモータ(図5では、まとめて「車輪モータ36」と示す)の回転角度を制御する。なお、この実施例では、車輪モータ36を除くモータは、制御を簡素化するためにステッピングモータ(すなわち、パルスモータ)を用いる。ただし、車輪モータ36と同様に直流モータを用いるようにしてもよい。また、ロボット14の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更されてもよい。たとえば、他の実施例では、エアアクチュエータなどが適用されてもよい。
【0056】
センサ入力/出力ボード88は、モータ制御ボード86と同様に、DSPで構成され、各センサからの信号を取り込んでCPU80に与える。すなわち、赤外線距離センサ40のそれぞれからの反射時間に関するデータがこのセンサ入力/出力ボード88を通じてCPU80に入力される。また、全方位カメラ46からの映像信号が、必要に応じてセンサ入力/出力ボード88で所定の処理を施してからCPU80に入力される。眼カメラ70からの映像信号も、同様に、CPU80に入力される。また、上述した複数の接触センサ58(図5では、まとめて「接触センサ58」と示す)からの信号がセンサ入力/出力ボード88を介してCPU80に与えられる。音声入力/出力ボード90もまた、同様に、DSPで構成され、CPU80から与えられる音声合成データに従った音声または声がスピーカ64から出力される。また、マイク66からの音声入力が、音声入力/出力ボード90を介してCPU80に与えられる。
【0057】
また、CPU80は、バス82を介して通信LANボード112に接続される。通信LANボード112は、たとえばDSPで構成され、CPU80から与えられた送信データを無線通信装置114に与え、無線通信装置114は送信データを、ネットワーク400を介して外部コンピュータ(中央制御装置10)に送信する。また、通信LANボード112は、無線通信装置114を介してデータを受信し、受信したデータをCPU80に与える。たとえば、送信データとしては、全方位カメラ46および目カメラ70によって撮影された周囲の映像データや、提供したリコメンド情報に対する人間の反応を示すデータであったりする。
【0058】
次にLRF12について詳細に説明する。図6を参照して、LRF12の計測範囲は、半径r(r≒8m)の半円形状(扇形)で示される。つまり、LRF12は、その正面方向を中心とした場合に、左右90度の方向を所定の距離(r)以内で計測可能である。
【0059】
また、使用しているレーザーは、日本工業規格 JIS C 6802「レーザー製品の安全基準」におけるクラス1レーザーであり、人の眼に対して影響を及ぼさない安全なレベルである。また、この実施例では、LRF12のサンプリングレートを37Hzとした。これは、歩行するなどにより移動する人間の位置を連続して検出するためである。
【0060】
さらに、先述したように、LRF12は、様々な場所に配置される。具体的には、LRF12a,12bの各々は、検出領域が重なるように配置され、図示は省略するが、床面から約90cmの高さに固定される。この高さは、被験者の胴体と腕(両腕)とを検出可能とするためであり、たとえば、日本人の成人の平均身長から算出される。したがって、中央制御装置10を設ける場所(地域ないし国)や被験者の年齢ないし年代(たとえば、子供,大人)に応じて、LRF12を固定する高さを適宜変更するようにしてよい。なお、本実施例では、設定されるLRF12は6台としたが、2台以上であれば、任意の台数のLRF12を設置してもよい。
【0061】
このような構成の中央制御装置10では、CPU16がLRF12からの出力(距離データ)に基づいて、パーティクルフィルタを用いて、人間の現在位置の変化を推定する。そして、推定された現在位置の変化は移動軌跡として記録される。
【0062】
たとえば、図7を参照して、LRF12a,12bは互いに向い合せに設置され、LRF12a,12bの計測範囲が重なる範囲は斜線が付されて示される。斜線が付された範囲は検出領域Eとされ、この検出領域E内では人間の現在位置が連続的に検出される。そして、連続的に検出された現在位置の変化が移動軌跡として示される。たとえば、移動軌跡Paおよび移動軌跡Pbのように示される。なお、検出領域E内は、X−Y座標が設定され、人間の位置は(X,Y)の座標で示すことができる。
【0063】
図8(A)はLRF12が設置される場所を示す地図を示す図解図であり、図8(B)は検出領域Eが分割されて示される分割地図を示す図解図である。図8(A)を参照して、地図が対応する場所は或るショッピングモールである。また、地図の左下側には飲食店である店舗が示され、地図の右上中央寄りにはショッピングモール内を案内するための案内図が示される。また、図示はしていないが、地図の右下には休憩スペースが設けられている。さらに、地図で図示しない左側には駅があり、図示しない右側にはアトラクション会場がある。
【0064】
図8(B)を参照して、検出領域Eがk-means法に基づいて50個のグリッドに分割される。分割の手順としては、検出領域Eは25cm四方で空間グリッド化され、さらに「k=50」で空間グリッドがクラスタリングされる。
【0065】
以下、本実施例では、任意の空間グリッドは、空間グリッドiとする。さらに、分割されたクラスタリングされた各グリッドをグリッドAとし、任意のグリッドAはグリッドAmとする。
【0066】
なお、グリッドの数は50ではなく、50以下または50より大きい値であってもよい。また、検出領域Eを分割する手法は、k-means法ではなく、本システムの管理者などによって手動で分割されてもよい。
【0067】
また、本実施例では、ショッピングモール内に居る人間の移動軌跡Pを蓄積することで、人間の局所的な行動(局所行動)と大局的な行動(大局行動)とを分析し、6種類の大局行動を抽出した。そして、6種類のトピックスT1−T6と6つの移動軌跡P_T1〜移動軌跡P_T6とのそれぞれは、抽出された6種類の大局行動に基づいて設定された。
【0068】
なお、大局行動を抽出する際にはk-means法を利用し、結果として「k=6」となった。また、局所行動を分析する際には、4種類の局所行動を判別するSVM(Support Vector Machine)を利用した。
【0069】
図9(A)−図9(F)は、移動軌跡P_T1〜移動軌跡P_T6それぞれの一例を示す図解図である。図9(A)を参照して、移動軌跡P_T1は、「右から左へ通り過ぎる」の大局行動の一例を示している。また、地図の左側には駅があるため、移動軌跡P_T1と類似する移動軌跡Pが検出される人間は駅に向かっている可能性が高い。図9(B)を参照して、移動軌跡P_T2は、「右から来て、店舗の前に向かう」の大局行動の一例を示している。また、移動軌跡P_T2と類似する移動軌跡Pが検出される人間は店舗に入る可能性が高い。図9(C)を参照して、「左から右へ通り過ぎる」の大局行動の一例を示している。また、地図の右側にはアトラクション会場があるため、移動軌跡P_T3と類似する移動軌跡Pが検出される人間はアトラクション会場に向かっている可能性が高い。
【0070】
図9(D)を参照して、移動軌跡P_T4は「休憩している」の大局行動の一例を示している。また、移動軌跡P_T4は、休憩スペースの所でほとんど変化していないため、移動軌跡P_T4と類似する移動軌跡Pが検出される人間は休憩スペースを利用して休憩している可能性が高い。図9(E)を参照して、移動軌跡P_T5は「休憩スペースの周りを歩いている」の大局行動の一例を示している。また、移動軌跡P_T5と類似する移動軌跡Pが検出される人間は休憩スペースが使用できる状態になるのを待っている可能性が高い。図9(F)を参照して、移動軌跡P_T6は「歩き回っている」の大局行動の一例を示している。そして、移動軌跡P_T6と類似する移動軌跡Pが検出される人間は、ショッピングモール内で迷っていたり、行き先を決めかねていたりする可能性が高い。
【0071】
ここで、本実施例の中央制御装置10は、分割地図に含まれる各グリッドAmを利用して、移動軌跡P_T1〜移動軌跡P_T6の中から、或る人間に対応する移動軌跡Pと類似する移動軌跡P_Txを特定し、或る人間に提供するリコメンド情報(トピックスTx)を選択する。
【0072】
具体的には、中央制御装置10は、検出された移動軌跡Pおよび各トピックスと対応する移動軌跡P_T1〜移動軌跡P_T6のそれぞれを、状態列Sおよび状態列S_T1〜状態列S_T6のそれぞれに変換する。そして、中央制御装置10は、DPマッチングによって、状態列Sと、状態列S_T1〜状態列S_T6とのそれぞれの類似度Rを算出し、算出された類似度Rに基づいて、移動軌跡Pが検出された人間に提供するリコメンド情報(トピックスT)を選択する。
【0073】
まず、移動軌跡Pを状態列Sに変換する手順について詳細に説明する。たとえば、検出される或る人間をn、移動軌跡Pを構成する或る点をp(X,Y)、状態列Sを構成する或る状態をst、或る人間nに対応する移動軌跡をPn、移動軌跡Pnが変換された状態列をSnとしたときに、或る人間nに対応する移動軌跡Pnは数1に示す式によって変換される。なお、数1の式では「m=50」となる。
【0074】
【数1】
【0075】
なお、トピックスリストに記録される移動軌跡P_T1〜移動軌跡P_T6のそれぞれも、数1に示す式によって状態列S_T1〜状態列S_T6のそれぞれに変換される。
【0076】
たとえば、図10を参照して、或る人間nがグリッドA1、グリッドA2およびグリッドA3を任意に歩行したとき、移動軌跡Pnを構成する点pの変化が、グリッドA1→グリッドA2→グリッドA1→グリッドA2→グリッドA2→グリッドA3であれば、状態列Snは数2に示す式のようになる。
【0077】
[数2]
Sn={A1,A2,A1,A2,A2,A3}
次に、DPマッチングによって類似度Rを算出する手順について説明する。図11を参照して、移動軌跡P1および移動軌跡P2のそれぞれは、状態列S1および状態列S2のそれぞれに変換される。また、状態列S1に含まれる状態stの数は10であり、状態列S2に含まれる状態stの数は12であるため、2つの状態列Sの長さは異なる。そこで、DPマッチングの処理では、2つの状態列Sの長さをそろえるため、2つの状態列Sに対して挿入と削除の処理を施して同じ長さにした後に、2つの状態列の距離、つまり類似度Rを算出する。
【0078】
なお、DPマッチングの削除と挿入の操作コストは、1操作につき距離1mとなるように設定した。また、2つの状態列Sの距離が近いほど類似度Rが大きくなり、2つの状態列Sの距離が遠くなるほど類似度Rが小さくなる。
【0079】
このように、移動軌跡Pを状態列Sに変換してから類似度Rを算出すると、中央制御装置10の処理が早くなる。たとえば、移動軌跡Pの各点pから類似度を算出したときの処理時間は、状態列Sに変換することで類似度Rを算出する処理時間の10倍以上の値になる。
【0080】
また、本実施例では、DPマッチングによって類似度Rを算出する際には、約20秒の間に計測された移動軌跡Pとする。なお、この「20秒」という数値は、予備実験から求められたものであり、予測の正解率は80%以上であった。
【0081】
図12を参照して、たとえば、検出領域E内で、20秒の間に移動軌跡P3が検出されると、中央制御装置10は移動軌跡P_T1〜移動軌跡P_T6との類似度Rを算出し、最も似ている移動軌跡P_Txを特定する。そして、中央制御装置10は、特定された移動軌跡P_Txに対応するトピックスTxの発話内容と、移動軌跡P3と対応する人間の位置とをロボット14に付与する。そして、ロボット14は、付与されたトピックTxの発話内容と人間の位置とに基づいて、移動軌跡P3と対応する人間に接近して、コミュニケーション行動の一環としてリコメンド情報を提供する。
【0082】
たとえば、移動軌跡P3と最も類似するのが移動軌跡P_T1であれば、ロボット14は、移動軌跡P3に対応する人間に接近して、「こんにちは」と話しかけた後に、「電車の発車時刻は12時だよ」と発話する。
【0083】
さらに、話しかけた人間が「ありがとう」や「了解です」などの肯定的な反応をした場合には、ロボット14は提供したリコメンド情報が受け入れられたとして、中央制御装置10に通知する。そして、中央制御装置10は、リコメンド情報を受け入れた人間の移動軌跡P3を、移動軌跡P_T1の移動軌跡リストに追加することで、移動軌跡P_T1を更新(再計算)する。
【0084】
一方、話しかけた人間が「いりません」などの否定的な反応をした場合には、ロボット14は提供したリコメンド情報が受け入れられなかったとして、中央制御装置10に通知する。この場合、中央制御装置10は、別のトピックスをランダムに選択して、ランダムに選択されたトピックスTxの発話内容をロボット14に付与する。ロボット14は、新たに付与されたトピックスTxの発話内容に対応して、もう一度、リコメンド情報を提供する。
【0085】
そして、中央制御装置10は、2回目のリコメンド情報が受け入れられれば、移動軌跡P3を移動軌跡リストに追加するが、受け入れられなければロボット14にコミュニケーション行動を終了するように動作命令を付与する。
【0086】
このように、情報提供システム100は、人間の移動軌跡Pと類似する、移動軌跡P_Txを特定することで、人間の大局行動を予測することができる。そして、予測した大局行動に基づいて、リコメンド情報をロボット14によって提供することができる。
【0087】
図13は、図2に示す中央制御装置10におけるメモリ18のメモリマップ300の一例を示す図解図である。図13に示すように、メモリ18はプログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、位置記録プログラム312および情報提供プログラム314が記憶される。ただし、情報提供プログラム314は、類似移動軌跡特定プログラム314aをサブルーチンとして含む。
【0088】
位置記録プログラム312は、たとえばショッピングモール内に居る人間の位置を逐次記録するためのプログラムである。情報提供プログラム314は、リコメンド情報を提供する人間を選択して、ロボット14に動作命令を付与するためのプログラムである。類似移動軌跡特定プログラム314aは、検出された移動軌跡Pと類似する移動軌跡P_Txと特定するためのプログラムである。
【0089】
なお、図示は省略するが、中央制御装置10を動作させるためのプログラムは、ネットワーク400を介してデータ通信を行うプログラムなどを含む。
【0090】
また、データ記憶領域304には、移動軌跡バッファ330および特定バッファ332が設けられる共に、トピックスデータ334、移動軌跡データ336および地図データ338が記憶される。また、データ記憶領域304には成功フラグ340が設けられる。
【0091】
移動軌跡バッファ330は、位置記録プログラム312によって記録される人間の位置を一時的に記憶するためのバッファである。特定バッファ332は、類似移動軌跡特定プログラム314aの処理で、特定される移動軌跡P_Txを一時的に記憶するためのバッファである。トピックスデータ334は、図3(A)に示すトピックスリストのデータであり、特定された移動軌跡P_Txに対応して発話内容が読み出される。
【0092】
移動軌跡データ336は、たとえば図3(B)に示す移動軌跡リストを含むデータであり、移動軌跡P_T1〜移動軌跡P_T6に対応する移動軌跡リストから構成される。地図データ338は、図8(A)および図8(B)に示す、ショッピングモールの地図および分割地図のデータを含み、分割地図のデータは、移動軌跡Pを状態列Sに変換する際に用いられる。
【0093】
成功フラグ340は、リコメンド情報が受け入れられたか否かを判断するためのフラグである。たとえば、成功フラグ340は1ビットのレジスタで構成される。成功フラグ340がオン(成立)されると、レジスタにはデータ値「1」が設定される。一方、成功フラグ340がオフ(不成立)されると、レジスタにはデータ値「0」が設定される。また、成功フラグ340は、ロボット14からリコメンド情報が受け入れられたと通知されるとオンになり、ロボット14からリコメンド情報が受け入れられなかったと通知されるとオフになる。
【0094】
なお、図示は省略するが、データ記憶領域304には、様々な計算の結果を一時的に格納するバッファなどが設けられると共に、中央制御装置10の動作に必要な他のカウンタやフラグも設けられる。
【0095】
具体的には、中央制御装置10のCPU16は、図14、図15および図16に示す処理を含む、複数の処理を並列的に実行する。
【0096】
図14に示すように、中央制御装置10のCPU16は、位置記録処理を実行すると、ステップS1では、各人間の位置を検出する。つまり、検出領域E内にいる各人間の位置をLRF12によって検出する。続いて、ステップS3では、各人間の位置を移動軌跡Pnとして移動軌跡バッファ330に記憶させ、ステップS1に戻る。たとえば、人間の位置を移動軌跡P3(図11参照)とし、移動軌跡バッファ330は移動軌跡P3を記憶する。なお、ステップS1を実行するCPU16は検出手段として機能する。
【0097】
図15は情報提供処理のフロー図である。図15で示すように、中央制御装置10のCPU16は、ステップS21で、終了操作か否かを判断する。たとえば、図示しない入力装置などに対して、情報提供処理を終了する操作がされたか否かを判断する。ステップS21で“YES”であれば、つまり終了操作がされれば、情報提供処理を終了する。一方、ステップS21で“NO”であば、つまり終了操作がされていなければ、ステップS23で情報提供可能な人間を選択する。つまり、リコメンド情報が提供されていない人間を選択する。たとえば、移動軌跡Pが、ロボット14の移動経路と同時刻で交差していない人間を抽出し、抽出された人間の中から、一定の距離以下で、かつ最もロボット14に近い人間を選択する。
【0098】
続いて、ステップS25では、選択できたか否かを判断する。つまり、ステップS23の処理でリコメンド情報を提供できる人間が選択されたか否かを判断する。ステップS25で“NO”であれば、つまり選択されてなければステップS21に戻る。一方、ステップS25で“YES”であれば、ステップS27で変数Cを初期化する。つまり、選択された人間に対してリコメンド情報を提供した回数をカウントする変数Cの値を1に設定する。
【0099】
続いて、ステップS29では、類似移動軌跡特定処理を実行する。このステップS29の処理については後述するため、ここでの詳細な説明は省略する。なお、ステップS29の処理を実行するCPU16は特定手段として機能する。続いて、ステップS31では、特定された移動軌跡P_Txに対応するトピックスTxを選択する。たとえば、移動軌跡P_T1が特定されていれば、トピックスT1が選択され、トピックスT1に対応する発話内容「電車の発車時刻は12時だよ」が読み出される。
【0100】
なお、移動軌跡P_T2が特定されていればトピックスT2が選択され、「お勧めのメニューはカレーだよ」の発話内容が読み出される。また、移動軌跡P_T3が特定されていればトピックスT3が選択され、「15時からパレードがあるよ」の発話内容が読み出される。また、移動軌跡P_T4が特定されていればトピックスT4が選択され、「休憩所には自動販売機があるよ」の発話内容が読み出される。また、移動軌跡P_T5が特定されていればトピックスT5が選択され、「休憩所は向こうにもあるよ」の発話内容が読み出される。そして、移動軌跡P_T6が特定されていればトピックスT6が選択され、「案内図はあっちだよ」の発話内容が読み出される。
【0101】
続いて、ステップS33では、選択された人間に近づき、リコメンド情報を提供する動作命令をロボットに付与する。つまり、選択されたトピックスTxの発話内容を発話するコミュニケーション行動を、選択された人間に対して実行するように、ロボット14に動作命令を付与する。たとえば、ロボット14には、移動軌跡P3と対応する人間に接近して、「電車の発車時刻は12時だよ」の発話を行うコミュニケーション行動の動作命令が付与される。
【0102】
続いて、ステップS35では、受け入れられたか否かを判断する。つまり、ロボット14によって提供されたリコメンド情報が受け入れられたか否かを判断する。具体的には、ロボット14から通知されるデータに基づいてオン/オフが切り替わる成功フラグ340によって判断する。ステップS35で“NO”であれば、つまりリコメンド情報が受け入れられなければ、ステップS39に進む。一方、ステップS35で“YES”であれば、つまりリコメンド情報が受け入れられれば、ステップS37で選択された人間の移動軌跡Pを移動軌跡リストに記憶させ、ステップS21に戻る。つまり、選択した人間の位置をさらに20秒間検出して、移動軌跡P_Txに対応する移動軌跡リストに、移動軌跡Pを記録する。さらに、新たな移動軌跡Pが記録されると、移動軌跡P_Txを再計算する。
【0103】
たとえば、CPU16は、移動軌跡P3と対応する人間の位置をさらに検出して移動軌跡P3’を検出する。そして、CPU16は、移動軌跡P_T1に対応する移動軌跡リストに、移動軌跡P3’を記録(追加)し、さらに移動軌跡P_T1を再計算(更新)する。なお、ステップS37の処理を実行するCPU16は更新手段として機能する。
【0104】
ステップS39では、変数Cの値が2より小さいか否かを判断する。つまり、ロボット14がリコメンド情報を提供した回数が2回を超えていないか否かを判断する。ステップS39で“NO”であれば、つまりロボット14がリコメンド情報を2回提供していれば、ステップS41で情報提供の終了をロボット14に通知する。つまり、選択された人間に対するリコメンド情報の提供を終了する。
【0105】
一方、ステップS39で“YES”であれば、つまりロボット14がリコメンド情報を2回提供していなければ、ステップS43で変数Cをインクリメントする。つまり、ロボット14によってリコメンド情報が提供された回数がカウントされる。続いて、ステップS45では、トピックスをランダムに選択し、ステップS33に戻る。つまり、ステップS45では、トピックスリストから任意のトピックスのIDを選択して、選択されたトピックスのIDに対応する発話内容を読み出す。なお、トピックスのIDをランダムに選択する処理には、1〜6の範囲で疑似乱数を返す関数を利用する。さらに、すでに選択されたトピックスのIDが選択された場合は、トピックスのIDをさらに再選択する処理を行ってもよい。なお、ステップS39で判断に利用する値を3以上に設定してもよい。
【0106】
図16は図15に示したステップS29の類似移動軌跡特定処理のフロー図である。図16で示すように、中央制御装置10のCPU16は、ステップS61では、変数xおよび変数Maxを初期化する。つまり、変数xに1を設定し、変数Maxに0を設定する。なお、個の変数Maxは、算出された類似度Rの最大値が設定される変数である。続いて、ステップS63では、選択された人間の移動軌跡Pを状態列Sに変換する。たとえば、数1に示す式に基づいて、移動軌跡P3が状態列S3に変換される。
【0107】
続いて、ステップS65では、変数xが6以下であるか否かを判断する。つまり、移動軌跡Pと移動軌跡P_T1〜移動軌跡P_T6との類似度が全て算出されたか否かを判断する。ステップS65で“YES”であれば、つまり類似度が全て算出されていれば、類似移動軌跡特定処理を終了して、メインルーチンである情報提供処理に戻る。
【0108】
一方、ステップS65で“NO”であれば、つまり類似度が全て算出されていなければ、ステップS67で移動軌跡P_Txを状態列S_Txに変換する。たとえば、変数xが1であれば、移動軌跡P_T1を状態列S_T1に変換する。続いて、ステップS69では、状態列Sと状態列S_Txとの類似度Rを算出する。たとえば、DPマッチングの処理によって、状態列Sと状態列S_T1との距離を算出し、算出された距離を類似度Rとする。
【0109】
続いて、ステップS71では、類似度Rが変数Maxより大きいか否かを判断する。つまり、算出した類似度Rが、類似度の最大値が設定される変数Maxより大きいか否かを判断する。ステップS71で“NO”であれば、つまり算出された類似度Rが変数Maxより大きくなければ、ステップS77に進む。一方、ステップS71で“YES”であれば、つまり算出された類似度Rが変数Maxより大きければ、ステップS73で特定バッファ332の内容を移動軌跡P_Txに更新する。たとえば、移動軌跡P_T1を表わす座標のデータを特定バッファ332に格納する。また、特定バッファ332は、格納しているデータをリセット(消去)してから、新たなデータを格納する。続いて、ステップS75では、変数Maxに算出された類似度Rを設定する。つまり、類似度の最大値を更新する。続いて、ステップS77では、変数xをインクリメントし、ステップS65に戻る。つまり、次の移動軌跡P_Txとの類似度を算出するために、変数xがインクリメントされる。
【0110】
なお、ステップS65−S77における1回目のループでは、変数Maxが0に設定されるため、必ずステップS73,S75が実行される。つまり、変数Maxの初期値を0とすることで、リコメンド情報が必ず提供されるようになる。
【0111】
図17は、ロボット14のCPU80が実行する全体処理のフロー図である。図17に示すように、ロボット14のCPU80は、ステップS91で、終了操作か否かを判断する。たとえば、ロボット14に設定された停止スイッチが操作されたか否かを判断する。なお、遠隔操作されるロボット14であれば、処理を終了するコマンドが送信されたか否かを判断する。ステップS91で“YES”であれば、つまり終了操作であれば、全体処理を終了する。一方、ステップS91で“NO”であれば、つまり終了操作でなければ、ステップS93で動作命令を付与されたか否かを判断する。つまり、リコメンド情報を提供する動作命令を受信したか否かを判断する。ステップS93で“NO”であれば、つまり動作命令を受信していなければ、ステップS91に戻る。
【0112】
一方、ステップS93で“YES”であれば、つまり動作命令を受信すれば、ステップS95で選択された人間に対して、受信した動作命令に従ってリコメンド情報を発話する。つまり、動作命令に含まれる座標に基づいて人間に接近し、「こんにちは」と発話してコミュニケーション行動を開始する。さらに、動作命令に含まれる発話内容に基づいて、たとえば「電車の発車時刻は12時だよ」と発話することで、対話相手である人間にリコメンド情報を提供する。たとえば、「左から右に通り過ぎる」の大局行動が予測される人間は、駅に向かっていると推定されるため、電車の出発時刻がリコメンド情報として提供される。
【0113】
なお、「右から来て、店舗の前に向かう」の大局行動が予測される人間は、店舗に向かっていると推定されるため、その店舗のお勧め商品(メニュー)がリコメンド情報として提供される。また、「左から右へ通り過ぎる」の大局行動が予測される人間は、アトラクション会場に向かっていると推定されるため、アトラクション会場でのイベントがリコメンド情報として提供される。
【0114】
また、「休憩している」の大局行動が予測される人間には、休憩スペースの設備(自動販売機)がリコメンド情報として提供される。また、「休憩スペースの周りを歩いている」の大局行動が予測される人間は、休憩しようとしていると推定されるため、他の休憩スペースの場所がリコメンド情報として提供される。また、「歩き回っている」の大局行動が予測される人間は、ショッピングモール内で迷っているか、行き先を決めかねていると推定されるため、ショッピングモール内の案内図がある場所がリコメンド情報として提供される。
【0115】
続いて、ステップS97では、発話内容が受け入れられたか否かを判断する。つまり、発話したリコメンド情報が受け入れられたか否かを判断する。また、具体的には、マイク66によって、対話相手が発話する音声を認識して、発話内容が受け入れられたか否かを判断する。なお、ロボット14は、目カメラ70によって対話相手の顔を撮影することで顔のパターン認識を行い、発話内容が受け入れられたか否かを判断してもよい。ステップS97で“YES”であれば、つまりリコメンド情報が受け入れられれば、ステップS99で、受け入れられたことを中央制御装置10に通知して、ステップS91に戻る。つまり、対話相手に提供したリコメンド情報が受け入れられたことを、中央制御装置10に通知する。
【0116】
一方、ステップS97で“NO”であれば、つまりリコメンド情報が受け入れられなければ、ステップS101で受け入れられなかったことを中央制御装置10に通知する。つまり、対話相手に提供したリコメンド情報が受け入れられなかったことを、中央制御装置10に通知する。続いて、ステップS103で情報提供の終了が通知されたか否かを判断する。つまり、中央制御装置10から、リコメンド情報の提供を終了する通知がされたか否かを判断する。ステップS103で“YES”であれば、つまり終了の通知がされればステップS91に戻る。一方、ステップS103で“NO”であれば、つまり終了の通知がされなければ、ステップS95に戻る。
【0117】
なお、ステップS99の処理が終了するか、ステップS103で“YES”と判断された場合に、ロボット14は、「またね」と発話してコミュニケーション行動を終了する。また、ステップS103で“NO”と判断された場合に、ロボット14は、「じゃあ、他のお勧めを教えるね」と発話して、コミュニケーション行動を継続する。
【0118】
また、ロボット14が発話するリコメンド情報は、対話相手の人間が反応を返しやすくするために、疑問形で発話されてもよい。たとえば、「電車の発車時刻は12時だよ」は、「駅に向かうなら、電車の発車時刻は12時だけど、大丈夫?」と発話される。
【0119】
また、ステップS33の処理を実行する中央制御装置10のCPU16と、ステップS95の処理を実行するロボット14のCPU80とは情報提供手段として機能する。さらに、ステップS35の処理を実行する中央制御装置10のCPU16と、ステップS97の処理を実行するロボット14のCPU80とは判断手段として機能する。
【0120】
この実施例によれば、情報提供システム100は、中央制御装置10、ショッピングモール内に設置されるLRF12およびロボット14を含む。中央制御装置10が備えるメモリ18には、ショッピングモール内の店舗や、周辺の駅およびアトラクション会場に関するリコメンド情報であるトピックスT1−T6と、店舗、駅およびアトラクション会場に向かう大局行動を表わす移動軌跡P_T1〜移動軌跡P_T6とが記録されるトピックスリストが記憶されている。
【0121】
また、ショッピングモール内に居る人間は、LRF12によって移動軌跡Pが検出され、トピックスリストに記録されている移動軌跡P_T1〜移動軌跡P_T6との類似度Rがそれぞれ算出される。そして、中央制御装置10では、類似度の最大値Maxより大きく、かつ最も大きい類似度Rが算出された移動軌跡P_Txに対応するトピックスTxの発話内容が読み出される。ロボット14は、人間とのコミュニケーション行動を行いながら、読み出されたトピックスTxの発話内容に基づいて発話することで、リコメンド情報を提供する。
【0122】
このように、人間の移動軌跡Pを検出することで、その人間が行う大局行動を予測することができるため、その大局行動に応じたリコメンド情報を提供することができる。
【0123】
また、中央制御装置10は、リコメンド情報を受け入れた人間の移動軌跡Pに基づいて、リコメンド情報に対応する移動軌跡P_Txを更新する。このように、リコメンド情報に対応する移動軌跡P_Txを更新することで、大局行動を予測する精度が向上する。
【0124】
また、提供するリコメンド情報が複数用意されているため、複数の人間から異なる移動軌跡Pを検出したとしても、情報提供システム100は、複数の人間のそれぞれに適したリコメンド情報を提供できる。
【0125】
そして、リコメンド情報は、コミュニケーション行動を行うことができるロボット14によって提供される。
【0126】
なお、本実施例では、1つのトピックスTに対応する移動軌跡P_Tは1つだけに限らず、複数の移動軌跡P_Tが対応するようにしてもよい。また、移動軌跡リストに記録されている各移動軌跡をk-means法によってクラスタリングすることで、トピックスTxに対応する移動軌跡P_Txを算出するようにしてもよい。
【0127】
また、本実施例では、ロボット14によってリコメンド情報を提供したが、人間が所持する携帯電話などの携帯端末にリコメンド情報を発信することで、リコメンド情報を提供するようにしてもよい。この場合、携帯端末は、音声ではなく、文字列や画像によってリコメンド情報を提供する。また、人間が所持する携帯端末は、携帯端末との無線通信における電波強度を利用して特定されてもよいし、加速度センサを有する携帯端末であれば、加速度のデータを利用して特定されてもよい。
【0128】
また、さらに多くの大局行動を抽出することで、提供するリコメンド情報を増やしてもよい。
【0129】
また、人間の位置を検出するためにLRF12を用いたが、LRF12に代えて超音波距離センサやミリ波レーダなどを用いて、人間の位置を検出してもよい。
【符号の説明】
【0130】
10 …中央制御装置
12a−12f …LRF
14 …ロボット
16 …CPU
18 …メモリ
80 …CPU
400 …ネットワーク
【特許請求の範囲】
【請求項1】
任意に移動する人間にリコメンド情報を提供する情報提供システムであって、
リコメンド情報と前記リコメンド情報に関係する第1移動軌跡とを対応付けて記憶する記憶手段、
前記人間の第2移動軌跡を検出する検出手段、および
前記第1移動軌跡と前記第2移動軌跡とが所定値以上の類似度を有するとき、前記第1歩行軌跡に対応するリコメンド情報を前記人間に提供する情報提供手段を備える、情報提供システム。
【請求項2】
前記リコメンド情報が受け入れられたかを判断する判断手段、および
前記判断手段によって受け入れられたと判断されたとき、前記第2移動軌跡に基づいて前記第1移動軌跡を更新する更新手段をさらに備える、請求項1記載の情報提供システム。
【請求項3】
前記記憶手段は、複数のリコメンド情報と、前記複数のリコメンド情報のそれぞれに対応する複数の第1移動軌跡とから構成されるリストデータを記憶し、
前記リストデータから前記第2移動軌跡との類似度が最も大きい第1移動軌跡を特定する特定手段をさらに備え、
前記情報提供手段は、前記特定手段によって特定された第1移動軌跡に対応するリコメンド情報を前記人間に提供する、請求項1または2記載の情報提供システム。
【請求項4】
前記情報提供手段は、前記人間に対してコミュニケーション行動を行うコミュニケーションロボットを含む、請求項1ないし3のいずれかに記載の情報提供システム。
【請求項1】
任意に移動する人間にリコメンド情報を提供する情報提供システムであって、
リコメンド情報と前記リコメンド情報に関係する第1移動軌跡とを対応付けて記憶する記憶手段、
前記人間の第2移動軌跡を検出する検出手段、および
前記第1移動軌跡と前記第2移動軌跡とが所定値以上の類似度を有するとき、前記第1歩行軌跡に対応するリコメンド情報を前記人間に提供する情報提供手段を備える、情報提供システム。
【請求項2】
前記リコメンド情報が受け入れられたかを判断する判断手段、および
前記判断手段によって受け入れられたと判断されたとき、前記第2移動軌跡に基づいて前記第1移動軌跡を更新する更新手段をさらに備える、請求項1記載の情報提供システム。
【請求項3】
前記記憶手段は、複数のリコメンド情報と、前記複数のリコメンド情報のそれぞれに対応する複数の第1移動軌跡とから構成されるリストデータを記憶し、
前記リストデータから前記第2移動軌跡との類似度が最も大きい第1移動軌跡を特定する特定手段をさらに備え、
前記情報提供手段は、前記特定手段によって特定された第1移動軌跡に対応するリコメンド情報を前記人間に提供する、請求項1または2記載の情報提供システム。
【請求項4】
前記情報提供手段は、前記人間に対してコミュニケーション行動を行うコミュニケーションロボットを含む、請求項1ないし3のいずれかに記載の情報提供システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2010−231470(P2010−231470A)
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願番号】特願2009−77950(P2009−77950)
【出願日】平成21年3月27日(2009.3.27)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成20年4月1日付平成20年度科学技術総合研究委託事業「科学技術連携施策群の効果的・効率的な推進 施設内外の人計測と環境情報構造化の研究」、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(393031586)株式会社国際電気通信基礎技術研究所 (905)
【Fターム(参考)】
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願日】平成21年3月27日(2009.3.27)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成20年4月1日付平成20年度科学技術総合研究委託事業「科学技術連携施策群の効果的・効率的な推進 施設内外の人計測と環境情報構造化の研究」、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(393031586)株式会社国際電気通信基礎技術研究所 (905)
【Fターム(参考)】
[ Back to top ]