(58)【調査した分野】(Int.Cl.,DB名)
前記推定手段は、前記ユーザに対して前記発話コンテンツを出力した回数に基づいて、前記ユーザと前記ロボットとの親密度を推定する、請求項2記載のロボット制御システム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところが、非特許文献1では、同じ場所を訪れた複数のユーザが同じものに興味を持っているとは限らないため、ロボットがユーザに対して誤ったサービスを提供してしまうことが考えられる。また、特許文献1では、同じ大局行動が予測された複数の人間が同じものに興味を持っているとは限らないため、ロボットは誤ったリコメンド情報を提供してしまうことが考えられる。したがって、非特許文献1および特許文献1のロボットでは、展示物が置かれた展示会場で、展示物に興味を持った人に適した情報を提供することができない。
【0005】
それゆえに、この発明の主たる目的は、新規な、ロボット制御システム、ロボット、出力制御プログラムおよび出力制御方法を提供することである。
【0006】
この発明の他の目的は、発話コンテンツを適切に提供することが出来る、ロボット制御システム、ロボット、出力制御プログラムおよび出力制御方法を提供することである。
【課題を解決するための手段】
【0007】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【0008】
第1の発明は、展示物が置かれた空間において自律移動可能なロボットを含む、ロボット制御システムであって、空間内においてユーザの位置および向きを取得する取得手段、ユーザが展示物と対応する
第1所定範囲に入っているかを判断する第1判断手段、ユーザの向きが展示物に向いているかを判断する第2判断手段
、ユーザが
第1所定範囲に入っており、かつユーザの向きが展示物に向いていると判断されたとき、ロボットから当該展示物に関する発話コンテンツを出力させる出力手段
、ユーザが第2所定範囲の外にいるかを判断する第3判断手段、およびユーザが第2所定範囲の外にいると判断されたとき、発話コンテンツの出力を停止させる停止手段を備える、ロボット制御システムである。
【0009】
第1の発明では、ロボット制御システム(100:実施例において対応する部分を例示する参照符号。以下、同じ。)のロボット(10)は、展示物(E)が置かれた空間の中を自律移動する。取得手段(16,S3,S15)は、たとえば空間の天井に設置された距離画像センサ(12)によって検出されたユーザの位置および向きを取得する。第1判断手段(16,S5)は、たとえば展示物の中心点(C)と対応する
第1所定範囲の中で、ユーザの位置が検出されているかを判断する。第2判断手段(16,S7)は、たとえばユーザの体の向きが、展示物の中心点の方を向いているかを判断する。ユーザが展示物に近づいて
第1所定範囲に入り、展示物の方を向くと、出力手段(16,S11,S45)は、ロボットに対して発話コンテンツを与え、ロボットは当該展示物に関する発話コンテンツをユーザに対して出力する。
そして、第3判断手段(16,S17)は、たとえば発話コンテンツが出力されているユーザが第2所定範囲の外にいるかを判断する。そして、停止手段(16,S19)は、たとえば発話コンテンツを出力されているユーザが第2所定範囲の外に移動すると、発話コンテンツの出力を停止させる。
【0010】
第1の発明によれば、ユーザが展示物に興味を持ったときに、展示物に関する発話コンテンツを適切に提供することが出来
、ユーザが展示物に興味を持っていないと考えられるため、発話コンテンツの提供を停止することが出来る。
【0014】
第
2の発明は、第1の発
明に従属し、ユーザとロボットとの親密度を推定する推定手段、および推定された親密度に基づいてロボットの行動を決める決定手段をさらに備える。
【0015】
第
2の発明では、推定手段(16,S39,S45)は、たとえばユーザとロボットとの親密度の深さ(高さ)をレベル別に推定する。決定手段(16,S41,S43)は、たとえば親密度に基づいて、移動速度などの行動を決める。たとえば、ロボットは親密度に基づいて決められた移動速度でユーザの元に移動し、ユーザに発話コンテンツを出力する。
【0016】
第
2の発明によれば、推定された親密度に応じてロボットの行動が変化するため、ユーザはロボットとの親密度の深まり方を実感することが出来る。
【0017】
第
3の発明は、第
2の発明に従属し、推定手段は、ユーザに対して発話コンテンツを出力した回数に基づいて、ユーザとロボットとの親密度を推定する。
【0018】
第
3の発明では、ユーザに対して発話コンテンツを出力した回数、たとえばロボットがユーザと会話した回数に基づいて、ユーザとロボットとの親密度が推定される。
【0019】
第
3の発明によれば、親密度を推定するときの処理時間を短くすることが出来る。
【0020】
第4の発明は、第1の発明ないし第3の発明のいずれかに従属し、ユーザに対して発話コンテンツを出力したことを記憶する記憶手段をさらに備え、出力手段は、発話コンテンツを出力したことを記憶したユーザが
第1所定範囲に入っており、かつユーザの向きが展示物に向いていると判断されたとき、前回とは異なる発話コンテンツを出力する。
【0021】
第
4の発明では、記憶手段(16,S47,S49,S53)は、たとえば複数のユーザが空間にいる場合、ユーザ毎に発話コンテンツが出力されたことを記憶する。たとえば、発話コンテンツが出力されたことがあるユーザに対しては、前回と異なる発話コンテンツを出力する。
【0022】
第
4の発明によれば、ロボットが同じユーザに対して何度も同じ説明をしないようにすることが出来る。そのため、ユーザは、展示物を見る度に異なる知識を得ることが出来る。
【0023】
第5の発明は、第4の発明に従属し、記憶手段は、発話コンテンツの出力を停止したことを記憶する停止記憶手段を含み、出力手段は、発話コンテンツの出力を停止したことを記憶したユーザが
第1所定範囲に入っており、かつユーザの向きが展示物に向いていると判断されたとき、前回とは異なる発話コンテンツを出力する。
【0024】
第5の発明では、ユーザが
第2所定範囲の外に出て発話コンテンツの出力が停止すると、停止記憶手段(16,S49)は、発話コンテンツの出力が停止したことを記憶する。たとえば、発話コンテンツが出力されているときに立ち去ったユーザに対して再び発話コンテンツを出力するときは、展示物から派生した内容の発話コンテンツが出力される。
【0025】
第
5の発明によれば、前回の発話コンテンツを最後まで聞かなかったユーザは、展示物から派生した知識を得ることが出来る。
【0026】
第6の発明は、第4の発明に従属し、記憶手段は、発話コンテンツの出力が終了したことを記憶する終了記憶手段を含み、出力手段は、発話コンテンツの出力が終了したことを記憶したユーザが
第1所定範囲に入っており、かつユーザの向きが展示物に向いていると判断されたとき、前回とは異なる発話コンテンツを出力する。
【0027】
第
6の発明では、ユーザに対する発話コンテンツの出力が終了すると、終了記憶手段(16,S47)は発話コンテンツの出力が終了したことを記憶する。たとえば、ロボットからの説明を最後まで聞いたユーザには、展示物に対してより深い内容を説明した発話コンテンツが出力される。
【0028】
第
6の発明によれば、前回の発話コンテンツを最後まで聞いたユーザは、展示物に対する知識をより深めることが出来る。
【0029】
第
7の発明は、第
4の発明ないし第
6の発明のいずれかに従属し、発話コンテンツが出力されたとき、周囲に他のユーザがいるかを判断する第4判断手段をさらに備え、記憶手段は、周辺に他のユーザがいると判断されたとき、他のユーザに対して発話コンテンツが出力されたと記憶する。
【0030】
第
7の発明では、第4判断手段(16,S51)は、たとえば発話コンテンツが出力されているユーザの周囲に他のユーザがいるかを判断する。周辺に他のユーザがいると判断されると、他のユーザに対しても発話コンテンツが出力されたと考えられるため、記憶手段は他のユーザに対しても、発話コンテンツが出力されたと記憶する。
【0031】
第
7の発明によれば、多くのユーザがいる空間において、ユーザが同じ発話コンテンツの提供を何度も受けずに済むようになる。
【0035】
第
8の発明は、第1の発明ないし第
7の発明のいずれかに従属し、ロボットは、ポインティング手段を含み、ロボットは、ポインティング手段によって展示物を指した状態で発話コンテンツを出力する。
【0036】
第
8の発明では、ロボットのポインティング手段(60,64,66)は、たとえば、ロボットの手や腕などである。たとえば、ロボットは、手などで展示物を指した状態で、発話コンテンツを出力する。
【0037】
第
8の発明によれば、展示物に関する発話コンテンツをロボットの体を利用して効果的に提供することが出来る。
【0038】
第
9の発明は、展示物(E)が置かれた空間において自律移動可能なロボット(14)を含む、ロボット制御システム(100)のプロセッサ(16)を、空間内においてユーザの位置および向きを取得する取得手段(S3,S15)、ユーザが展示物と対応する
第1所定範囲に入っているかを判断する第1判断手段(S5)、ユーザの向きが展示物に向いているかを判断する第2判断手段(S7)
、ユーザが
第1所定範囲に入っており、かつユーザの向きが展示物に向いていると判断されたとき、ロボットから当該展示物に関する発話コンテンツを出力させる出力手段(S11,S45)
、ユーザが第2所定範囲の外にいるかを判断する第3判断手段(16,S17)、およびユーザが第2所定範囲の外にいると判断されたとき、発話コンテンツの出力を停止する停止手段(16,S19)として機能させる、出力制御プログラムである。
【0039】
第
9の発明でも、第1の発明と同様、ユーザが展示物に興味を持ったときに、展示物に関する発話コンテンツを適切に提供することが出来
、ユーザが展示物に興味を持っていないと考えられるため、発話コンテンツの提供を停止することが出来る。
【0040】
第
10の発明は、展示物(E)が置かれた空間において自律移動可能なロボット(10)を含む、ロボット制御システム(100)における出力制御方法であって、ロボット制御システムのプロセッサ(16)が、空間内においてユーザの位置および向きを取得する取得ステップ(S3,S15)、ユーザが展示物と対応する
第1所定範囲に入っているかを判断する第1判断ステップ(S5)、ユーザの向きが展示物に向いているかを判断する第2判断ステップ(S7)
、ユーザが
第1所定範囲に入っており、かつユーザの向きが展示物に向いていると判断されたとき、ロボットから当該展示物に関する発話コンテンツを出力させる出力ステップ(S11,S45)
、ユーザが第2所定範囲の外にいるかを判断する第3判断ステップ(16,S17)、およびユーザが第2所定範囲の外にいると判断されたとき、発話コンテンツの出力を停止する停止ステップ(16,S19)を実行する、出力制御方法である。
【0041】
第
10の発明でも、第1の発明と同様、ユーザが展示物に興味を持ったときに、展示物に関する発話コンテンツを適切に提供することが出来
、ユーザが展示物に興味を持っていないと考えられるため、発話コンテンツの提供を停止することが出来る。
【0042】
第
11の発明は、展示物(E)が置かれた空間において自律移動可能なロボット(10)であって、空間内においてユーザの位置および向きを取得する取得手段(90,S3,S15)、ユーザが展示物と対応する
第1所定範囲に入っているかを判断する第1判断手段(90,S5)、ユーザの向きが展示物に向いているかを判断する第2判断手段(90,S7)
、ユーザが
第1所定範囲に入っており、かつユーザの向きが展示物に向いていると判断されたとき
、当該展示物に関する発話コンテンツを出力
する出力手段(90,S11,S45)
、ユーザが第2所定範囲の外にいるかを判断する第3判断手段(16,S17)、およびユーザが第2所定範囲の外にいると判断されたとき、発話コンテンツの出力を停止する停止手段(16,S19)を備える、ロボットである。
【0043】
第
11の発明でも、第1の発明と同様、ユーザが展示物に興味を持ったときに、展示物に関する発話コンテンツを適切に提供することが出来
、ユーザが展示物に興味を持っていないと考えられるため、発話コンテンツの提供を停止することが出来る。
【0044】
第
12の発明は、展示物(E)が置かれた空間において自律移動可能なロボット(10)のプロセッサ(90)を、空間内においてユーザの位置および向きを取得する取得手段(S3,S15)、ユーザが展示物と対応する
第1所定範囲に入っているかを判断する第1判断手段(S5)、ユーザの向きが展示物に向いているかを判断する第2判断手段(S7)
、ユーザが
第1所定範囲に入っており、かつユーザの向きが展示物に向いていると判断されたとき、ロボットから当該展示物に関する発話コンテンツを出力させる出力手段(S11,S45)
、ユーザが第2所定範囲の外にいるかを判断する第3判断手段(16,S17)、およびユーザが第2所定範囲の外にいると判断されたとき、発話コンテンツの出力を停止させる停止手段(16,S19)として機能させる、出力制御プログラムである。
【0045】
第
12の発明でも、第1の発明と同様、ユーザが展示物に興味を持ったときに、展示物に関する発話コンテンツを適切に提供することが出来
、ユーザが展示物に興味を持っていないと考えられるため、発話コンテンツの提供を停止することが出来る。
【0046】
第
13の発明は、展示物(E)が置かれた空間において自律移動可能なロボット(10)における出力制御方法であって、ロボットのプロセッサ(90)が、空間内においてユーザの位置および向きを取得する取得ステップ(S3,S15)、ユーザが展示物と対応する
第1所定範囲に入っているかを判断する第1判断ステップ(S5)、ユーザの向きが展示物に向いているかを判断する第2判断ステップ(S7)
、ユーザが
第1所定範囲に入っており、かつユーザの向きが展示物に向いていると判断されたとき、ロボットから当該展示物に関する発話コンテンツを出力させる出力ステップ(S11,S45)
、ユーザが第2所定範囲の外にいるかを判断する第3判断ステップ(16,S17)、およびユーザが第2所定範囲の外にいると判断されたとき、発話コンテンツの出力を停止する停止ステップ(16,S19)を実行する、出力制御方法である。
【0047】
第
13の発明でも、第1の発明と同様、ユーザが展示物に興味を持ったときに、展示物に関する発話コンテンツを適切に提供することが出来
、ユーザが展示物に興味を持っていないと考えられるため、発話コンテンツの提供を停止することが出来る。
【発明の効果】
【0048】
この発明によれば、発話コンテンツを適切に提供することが出来る。
【0049】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための形態】
【0051】
<第1実施例>
図1を参照して、この実施例のロボット制御システム100は、展示物Eが置かれた展示会場などの空間(環境)で利用される。展示会場の中では、人(ユーザまたは来場者)およびロボット10が任意に移動することができ、天井には複数の距離画像センサ12(12a,12b,…)が設けられている。
【0052】
ロボット10は、相互作用指向のロボット(コミュニケーションロボット)でもあり、ユーザのようなコミュニケーションの対象との間で、音声を含むコミュニケーション行動を実行する機能を備えている。また、ロボット10はコミュニケーションの一環として、展示物Eについての説明(発話コンテンツ)をユーザに対して出力したり、展示会場を案内したりするサービスを行う。ロボット10は、サービスを行う上で必要であれば、展示会場内を自律的に移動したり、中央制御装置14が付与する行動命令に基づいて動作したりする。
【0053】
また、実施例の空間は展示物Eが置かれた展示会場であるが、これに限らずショッピングモール、会社のフロア、博物館またはアトラクション会場などでも、ロボット制御システム100は利用可能である。
【0054】
なお、
図1では簡単のため、ユーザは1人しか示していないが、展示会場にはさらに多くのユーザがいてもよい。同様にロボット10も1台しか示していないが、ロボット制御システム100は2台より多くのロボット10を同時に制御することができる。
【0055】
また、ロボット10は、音声に加えて、身振り手振りのような身体動作を含むコミュニケーション行動を行うこともある。
【0056】
図2を参照して、ロボット制御システム100の中央制御装置14は、一定時間(たとえば、1秒)毎に距離画像センサ12a,12bによって、任意に移動するユーザの位置を検出すると共に、ユーザの向きを検出する。また、中央制御装置14は、ネットワーク1000を介してロボット10と無線通信を行い、必要であればロボット10の行動を制御する。空間の中で位置が検出されたユーザには、ユーザIDが付与される。
【0057】
図3は中央制御装置14の電気的な構成を示すブロック図である。
図3を参照して、中央制御装置14は、距離画像センサ12a,12bおよびプロセッサ16などを含む。プロセッサ16は、マイクロコンピュータ或いはCPUと呼ばれることもある。プロセッサ16には、先述した距離画像センサ12aおよび距離画像センサ12bに加えて、他の距離画像センサ12が接続される。なお、距離画像センサ12a,12bを区別する必要がない場合、単に「距離画像センサ12」と言う。
【0058】
プロセッサ16にはメモリ18、通信LANボード20が接続されると共に、発話コンテンツデータベース(DB:Database)24およびユーザDB26も接続される。
【0059】
距離画像センサ12は、赤外光またはレーザーなどの光を照射し、対象物から反射した光(反射光)をCCDセンサなどの光学センサによって捉える。距離画像センサ12は、光が戻るまでの時間を画素ごとに計測することで、対象物までの実際の距離を測距する。実施例の距離画像センサ12には、ASUS(登録商標)社製のXtionと呼ばれる製品が採用されている。なお、他の実施例では、距離画像センサ12は、Microsoft(登録商標)社製のKinect(登録商標)センサ、パナソニック(登録商標)社製の3次元距離画像センサD−IMager(登録商標)などを使用することも可能である。この種のセンサは、3次元距離計測センサ、3Dスキャナなどと呼ばれる場合もある。
【0060】
プロセッサ16は、このような距離画像センサ12を通じて対象の3次元情報を取得する。距離画像センサ12からの3次元情報には、対象物の形状および対象物までの距離が含まれている。たとえば、ユーザが天井に設けられた距離画像センサ12によってセンシングされると、人を上から見た状態の頭部および両肩の形状と、頭部および両肩までの距離が3次元情報として得られる。
【0061】
たとえば、空間には35個の距離画像センサ12が所定の位置(既知)に設置されており、プロセッサ16は、各々から3次元情報を取得して、3次元空間(ワールド座標系)における位置(たとえば、重心など特徴点の位置座標(x,y,z))およびユーザの向き(たとえば、頭部および両肩など特徴部位の向き)を計算することが出来る。
【0062】
なお、他の実施例では、距離画像センサ12にではなく、2次元または3次元のLRFを利用して、ユーザの位置および向きが検出されてもよい。
【0063】
メモリ18はROM,HDDおよびRAMを含む。ROMおよびHDDには、中央制御装置14の動作を制御するための制御プログラムが予め記憶される。また、RAMは、プロセッサ16のワークメモリやバッファメモリとして用いられる。
【0064】
通信LANボード20は、たとえばDSPで構成され、プロセッサ16から与えられた送信データを無線通信装置22に与え、無線通信装置22は送信データを、ネットワーク1000を介してロボット10に送信する。たとえば、送信データは、ロボット10の自立移動に必要なデータや、サービスを行うために必要なデータおよびロボット10に指示する行動命令の信号(コマンド)などである。また、通信LANボード20は、無線通信装置22を介してデータを受信し、受信したデータをプロセッサ16に与える。
【0065】
発話コンテンツDB24は、ロボット10がユーザに対して出力する発話コンテンツが記憶されている。ユーザDB26は、空間内にいるユーザの情報が上述したユーザIDと対応付けて記憶されている。なお、これらのDBについては後述するため、ここでの詳細な説明は省略する。
【0066】
なお、他の実施例では、中央制御装置14は、ディスプレイなどの出力装置と、マウスおよびキーボードなどの入力装置とを備えていてもよい。
【0067】
図4はこの実施例のロボット10の外観を示す正面図である。
図4を参照して、ロボット10は台車40を含み、台車40の下面にはロボット10を自律移動させる2つの車輪42および1つの従輪44が設けられる。2つの車輪42は車輪モータ46(
図5参照)によってそれぞれ独立に駆動され、台車40すなわちロボット10を前後左右の任意方向に動かすことができる。また、従輪44は車輪42を補助する補助輪である。したがって、ロボット10は、配置された空間内を自律制御によって移動可能である。
【0068】
台車40の上には、円柱形のセンサ取り付けパネル48が設けられ、このセンサ取り付けパネル48には、多数の赤外線距離センサ50が取り付けられる。これらの赤外線距離センサ50は、センサ取り付けパネル48すなわちロボット10の周囲の物体(ユーザや障害物など)との距離を測定するものである。
【0069】
なお、この実施例では、距離センサとして、赤外線距離センサを用いるようにしてあるが、赤外線距離センサに代えて、LRFや、超音波距離センサおよびミリ波レーダなどを用いることもできる。
【0070】
センサ取り付けパネル48の上には、胴体52が直立するように設けられる。また、胴体52の前方中央上部(人の胸に相当する位置)には、上述した赤外線距離センサ50がさらに設けられ、ロボット10の前方の主としてユーザとの距離を計測する。また、胴体52には、その側面側上端部のほぼ中央から伸びる支柱54が設けられ、支柱54の上には、全方位カメラ56が設けられる。全方位カメラ56は、ロボット10の周囲を撮影するものであり、後述する眼カメラ80とは区別される。この全方位カメラ56としては、たとえばCCDやCMOSのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ50および全方位カメラ56の設置位置は、当該部位に限定されず適宜変更され得る。
【0071】
胴体52の両側上端部(人の肩に相当する位置)には、それぞれ、肩関節58Rおよび肩関節58Lによって、上腕60Rおよび上腕60Lが設けられる。図示は省略するが、肩関節58Rおよび肩関節58Lは、それぞれ、直交する3軸の自由度を有する。すなわち、肩関節58Rは、直交する3軸のそれぞれの軸廻りにおいて上腕60Rの角度を制御できる。肩関節58Rの或る軸(ヨー軸)は、上腕60Rの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節58Lは、直交する3軸のそれぞれの軸廻りにおいて上腕60Lの角度を制御できる。肩関節58Lの或る軸(ヨー軸)は、上腕60Lの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。
【0072】
また、上腕60Rおよび上腕60Lのそれぞれの先端には、肘関節62Rおよび肘関節62Lが設けられる。図示は省略するが、肘関節62Rおよび肘関節62Lは、それぞれ1軸の自由度を有し、この軸(ピッチ軸)の軸回りにおいて前腕64Rおよび前腕64Lの角度を制御できる。
【0073】
前腕64Rおよび前腕64Lのそれぞれの先端には、手66Rおよび手66Lがそれぞれ設けられる。各手66には、人と同じように親指、人差し指、中指、薬指および小指が設けられている。手66の親指および人差し指の根本には指関節(図示せず)が設けられており、それぞれを独立して動かすことができる。また、中指、薬指および小指は一体成型され、親指および人差し指と同様、根元に指関節が設けられている。そして、中指、薬指および小指はまとめて動かすことが出来る。
【0074】
また、手66Rおよび手66Lのそれぞれ根元には、手首が設けられる。図示は省略するが、左右の手首は、それぞれ1軸の自由度を有し、この軸(ヨー軸)の軸回りにおいて手66Rおよび手66Lの角度を制御できる。また、図示は省略するが手66Rおよび手66Lの親指、人差し指および残りの3本の指(中指、薬指および小指)の指関節は、それぞれ1自由度を有し、この軸の軸回りにおいて指の角度を制御できる。
【0075】
従って、ロボット10は、親指、中指、薬指および小指が折り曲げられた指さしの状態の手66で任意の対象を指したり、手を開いた状態で上腕60、前腕64および手66の全体を使って任意の対象を指したりすることが可能となる。そのため、上腕60、前腕64および手66はポインティング手段と呼ばれることもある。
【0076】
なお、他の実施例では、人と同じようにそれぞれの指が独立し、かつ人の指と同じ数の指関節を持つ手66が採用されてもよい。この場合、ロボット10は、ポインティングだけでなく、物を指で掴んだり、手話によるコミュニケーションを行ったりすることが可能となる。
【0077】
また、図示は省略するが、台車40の前面、肩関節58Rと肩関節58Lとを含む肩に相当する部位、上腕60R、上腕60L、前腕64R、前腕64L、手66Rおよび手66Lには、それぞれ、接触センサ68(
図5で包括的に示す)が設けられる。台車40の前面の接触センサ68は、台車40へのユーザや他の障害物の接触を検知する。したがって、ロボット10は、自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪42の駆動を停止してロボット10の移動を急停止させることができる。また、その他の接触センサ68は、当該各部位に触れたかどうかを検知する。なお、接触センサ68の設置位置は、当該部位に限定されず、適宜な位置(人の胸、腹、脇、背中および腰に相当する位置)に設けられてもよい。
【0078】
胴体52の中央上部(人の首に相当する位置)には首関節70が設けられ、さらにその上には頭部72が設けられる。図示は省略するが、首関節70は、3軸の自由度を有し、3軸の各軸廻りに角度制御可能である。或る軸(ヨー軸)はロボット10の真上(鉛直上向き)に向かう軸であり、他の2軸(ピッチ軸、ロール軸)は、それぞれ、それと異なる方向で直交する軸である。
【0079】
頭部72には、人の口に相当する位置に、スピーカ74が設けられる。スピーカ74は、ロボット10が、それの周辺のユーザに対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク76Rおよびマイク76Lが設けられる。以下、右のマイク76Rと左のマイク76Lとをまとめてマイク76と言うことがある。マイク76は、周囲の音、とりわけコミュニケーションを実行する対象であるユーザの音声を取り込む。さらに、人の目に相当する位置には、眼球部78Rおよび眼球部78Lが設けられる。眼球部78Rおよび眼球部78Lは、それぞれ眼カメラ80Rおよび眼カメラ80Lを含む。以下、右の眼球部78Rと左の眼球部78Lとをまとめて眼球部78と言うことがある。また、右の眼カメラ80Rと左の眼カメラ80Lとをまとめて眼カメラ80と言うことがある。
【0080】
眼カメラ80は、ロボット10に接近したユーザの顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。また、眼カメラ80は、上述した全方位カメラ56と同様のカメラを用いることができる。たとえば、眼カメラ80は、眼球部78内に固定され、眼球部78は、眼球支持部(図示せず)を介して頭部72内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、2軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この2軸の一方は、頭部72の上に向かう方向の軸(ヨー軸)であり、他方は、一方の軸に直交しかつ頭部72の正面側(顔)が向く方向に直行する方向の軸(ピッチ軸)である。眼球支持部がこの2軸の各軸廻りに回転されることによって、眼球部78ないし眼カメラ80の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ74、マイク76および眼カメラ80の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
【0081】
このように、この実施例のロボット10は、車輪42の独立2軸駆動、肩関節58の3自由度(左右で6自由度)、肘関節62の1自由度(左右で2自由度)、手首の1自由度(左右で2自由度)、指関節の1自由度(左右の各指で6自由度)、首関節70の3自由度および眼球支持部の2自由度(左右で4自由度)の合計25自由度を有する。
【0082】
図5はロボット10の電気的な構成を示すブロック図である。この
図5を参照して、ロボット10は、プロセッサ90を含む。プロセッサ90は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス92を介して、メモリ94、モータ制御ボード96、センサ入力/出力ボード98、音声入力/出力ボード110および通信LANボード130に接続される。
【0083】
メモリ94はROMおよびRAMを含む。ROMには、ロボット10の動作を制御するための制御プログラムが予め記憶される。たとえば、各センサの出力(センサ情報)を検知するための検知プログラムや、外部コンピュータ(中央制御装置14)との間で必要なデータやコマンドを送受信するための通信プログラムなどが記憶される。また、RAMは、プロセッサ90のワークメモリやバッファメモリとして用いられる。
【0084】
モータ制御ボード96は、たとえばDSPで構成され、各腕や首関節および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード96は、プロセッサ90からの制御データを受け、右眼球部78Rの2軸のそれぞれの角度を制御する2つのモータ(
図5では、まとめて「右眼球モータ112」と示す)の回転角度を制御する。同様に、モータ制御ボード96は、プロセッサ90からの制御データを受け、左眼球部78Lの2軸のそれぞれの角度を制御する2つのモータ(
図5では、まとめて「左眼球モータ114」と示す)の回転角度を制御する。
【0085】
また、モータ制御ボード96は、プロセッサ90からの制御データを受け、肩関節58Rの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節62Rの角度を制御する1つのモータとの計4つのモータ(
図5では、まとめて「右腕モータ116」と示す)の回転角度を制御する。同様に、モータ制御ボード96は、プロセッサ90からの制御データを受け、肩関節58Lの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節62Lの角度を制御する1つのモータとの計4つのモータ(
図5では、まとめて「左腕モータ118」と示す)の回転角度を制御する。
【0086】
また、モータ制御ボード96は、プロセッサ90からの制御データを受け、右の手首の1軸の角度を制御する1つのモータと右手66Rの3つの指関節のそれぞれの角度を制御する3つのモータとの4つのモータ(
図5では、まとめて「右手モータ120」と示す)の回転角度を制御する。同様に、モータ制御ボード96は、プロセッサ90からの制御データを受け、左手の手首の1軸の角度を制御する1つのモータと左手66Lの3つの指関節のそれぞれの角度を制御する3つのモータとの4つのモータ(
図5では、まとめて「左手モータ122」と示す)の回転角度を制御する。
【0087】
ここで、指関節の角度は、モータの回転がそのまま反映されるわけではなく、モータの回転によって動作する流体圧シリンダによって制御される。具体的には、流体圧シリンダには、動作流体を移動させるピストンが移動自在に収容されており、このピストンの位置がモータの回転によって変化する。そして、流体圧シリンダの動きに応じて指関節の角度が変化する。なお、流体圧シリンダを用いたロボットの手については、たとえば特開2013−96514号公報に詳しく説明されているので、ここでは、その公開公報を参照することによって、詳細な説明を省略する。
【0088】
さらに、モータ制御ボード96は、プロセッサ90からの制御データを受け、首関節70の直交する3軸のそれぞれの角度を制御する3つのモータ(
図5では、まとめて「頭部モータ124」と示す)の回転角度を制御する。
【0089】
そして、モータ制御ボード96は、プロセッサ90からの制御データを受け、車輪42を駆動する2つのモータ(
図5では、まとめて「車輪モータ46」と示す)の回転角度を制御する。なお、この実施例では、車輪モータ46を除くモータは、制御を簡素化するためにステッピングモータ(すなわち、パルスモータ)を用いる。ただし、車輪モータ46と同様に直流モータを用いるようにしてもよい。また、ロボット10の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更されてもよい。たとえば、他の実施例では、エアアクチュエータなどが適用されてもよい。
【0090】
センサ入力/出力ボード98は、モータ制御ボード96と同様に、DSPで構成され、各センサからの信号を取り込んでプロセッサ90に与える。すなわち、赤外線距離センサ50のそれぞれからの反射時間に関するデータがこのセンサ入力/出力ボード98を通じてプロセッサ90に入力される。また、全方位カメラ56からの映像信号が、必要に応じてセンサ入力/出力ボード98で所定の処理を施してからプロセッサ90に入力される。眼カメラ80からの映像信号も、同様に、プロセッサ90に入力される。また、上述した複数の接触センサ68(
図5では、まとめて「接触センサ68」と示す)からの信号がセンサ入力/出力ボード98を介してプロセッサ90に与えられる。
【0091】
音声入力/出力ボード110もまた、同様に、DSPで構成され、プロセッサ90から与えられる音声合成データに従った音声または声がスピーカ74から出力される。また、マイク76からの音声入力が、音声入力/出力ボード110を介してプロセッサ90に与えられる。
【0092】
通信LANボード130は、たとえばDSPで構成され、プロセッサ90から与えられた送信データを無線通信装置132に与え、無線通信装置132は送信データを、ネットワーク1000を介して外部コンピュータ(中央制御装置14)に送信する。また、通信LANボード130は、無線通信装置132を介してデータを受信し、受信したデータをプロセッサ90に与える。たとえば、送信データとしては、全方位カメラ56および目カメラ80によって撮影された周囲の映像データなどである。
【0093】
図6は展示会場(空間)の地図である。
図6を参照して、展示会場には、入り口および3つの展示物E(E1,E2,E3)が含まれる。入口にはIRIDタグのリーダが設置されている。たとえば、ユーザは自身が持つRFIDタグをリーダに読み取らせることによって、展示会場に入場可能になる。RFIDタグにはユーザIDが記憶されており、リーダはRFIDタグからユーザIDを読み取る。中央制御装置14には、リーダによって読み取られたユーザIDが送信される。そのため、中央制御装置14は、入り口で検出されたユーザの位置と受信したユーザIDとを対応付けることで、展示会場内にいる複数のユーザをそれぞれ識別することが出来る。
【0094】
ここで、中心点Cを含む展示物E1には、2つの説明開始範囲Aと、説明開始範囲Aをそれぞれ含む2つの説明中止範囲A’とが対応付けられる。説明開始範囲A1および説明中止範囲A1’は展示物Eの左側に対応付けられている。また、説明開始範囲A2および説明中止範囲A2’は展示物E1の下側に対応付けられている。そして、各説明開始範囲Aは、ユーザに対して出力する発話コンテンツ(説明する内容)が対応している。なお、説明中止範囲A’は説明開始範囲Aよりも広く設定されている。また、説明開始範囲Aおよび説明中止範囲A’はそれぞれ第1所定範囲および第2所定範囲と呼ばれることもある。そして、これらの範囲を区別しない場合は、所定範囲と呼ばれることもある。
【0095】
図7を参照して、発話コンテンツDB24は、たとえばテーブルで構成されており、そのテーブルは番号、中心点、説明開始範囲、説明中止範囲および内容の列を含む。そして、1つの発話コンテンツが1つの行で示される。たとえば、番号の欄に「1」が記憶されている発話コンテンツでは、中心点の欄には「C1」が記憶され、説明開始範囲の欄には「A1」が記憶され、説明中止範囲の欄には「A1’」が記憶され、内容の欄には「これ(指さし)はコンセントです」および「電気をここ(指さし)から充電します」などが記憶される。また、番号の欄に「2」が記憶されている発話コンテンツでは、中心点の欄には「C1」が記憶され、説明開始範囲の欄には「A2」が記憶され、説明中止範囲の欄には「A2’」が記憶され、内容の欄には「この(指さし)モータは冷却も担っています」などが記憶される。
【0096】
たとえば、ユーザの位置と向きが検出されたときに、ユーザの位置が説明開始範囲A1に含まれており、かつユーザの向きが中心点C1の方に向くと、ロボット10はユーザの近傍に移動し、中央制御装置14から「1」番の発話コンテンツがロボット10に送信される。そして、ロボット10は、受信した「1」番の発話コンテンツをユーザに対して出力する。つまり、ロボット10は、ユーザに近づいてから、ユーザに対して挨拶をした後に、「これはコンセントです。」と展示物Eについて説明(発話)する。また、発話コンテンツの内容の中に「指さし」と指示されている場合は、ロボット10は手66で中心点Cの方を指しながら説明する。なお、発話コンテンツなどに基づく音声は、ロボット10のスピーカ74から出力される。
【0097】
このとき、ユーザの位置が説明中止範囲A1’の外でなければ、つまりユーザが説明中止範囲A1’の外に出なければ、ロボット10は番号が「1」番の発話コンテンツの続きを出力する。つまり、ロボット10は、ユーザに対して「電気をここから充電します。」と、説明を続ける。そして、発話コンテンツの出力が終了すると、ロボット10は別れの挨拶をユーザに行った後、別の場所または別のユーザの所へ移動する。
【0098】
このように、ユーザが展示物Eに近づき、かつ展示物Eの方を向いていると判断できれば、ロボット10はその展示物Eに関する発話コンテンツを出力する。つまり、ユーザが展示物Eに興味を持ったときに、展示物Eに関する発話コンテンツを適切に提供することが出来る。また、発話コンテンツを出力するときに展示物Eがロボット10の指さしによって指されるため、展示物Eに関する発話コンテンツをロボット10の体を利用して効果的に提供することが出来る。
【0099】
また、ユーザの位置が説明中止範囲A1’の外であれば、つまりユーザが説明中止範囲A1’の外に出ると、ロボット10は発話コンテンツの出力を停止する。つまり、ユーザが展示物Eに興味を持っていないと考えられるため、発話コンテンツの提供を停止することが出来る。特に、説明開始範囲A1と、その範囲よりも広い第2説明中止範囲A1’を設定することで、ユーザが説明開始範囲A1の周辺にいるときに、ロボット10に対して発話コンテンツの出力と停止との命令が繰り返して出されないようにすることが出来る。つまり、2つの所定範囲によって、ロボット10の動作を安定化させることが出来る。
【0100】
なお、図示は省略しているが、展示物E2および展示物E3に対しても、中心点C、説明開始範囲A、説明中止範囲A’および発話コンテンツが対応付けられる。
【0101】
また、ユーザの位置が説明開始範囲Aの中で検出され続けると、ロボット10から複数の発話コンテンツを連続して出力されることになる。つまり、ユーザは、興味を持った展示物Eの周辺で留まることで、ロボット10から複数の発話コンテンツの提供を受けることが出来る。
【0102】
上述では第1実施例の特徴を概説した。以下では、
図8に示すメモリマップ、
図9に示すフロー図を用いて、第1実施例について詳細に説明する。
【0103】
図8は
図2に示す中央制御装置14におけるメモリ18のメモリマップの一例を示す図解図である。
図8で示すように、メモリ18はプログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、中央制御装置14を動作させるためのプログラムとして、発話コンテンツの出力を制御する出力制御プログラム310などが記憶される。なお、図示は省略するが、中央制御装置14を動作させるためのプログラムには、距離画像センサ12からユーザの位置および向きを検出するためのプログラムなども含まれる。
【0104】
データ記憶領域304には、ユーザ情報バッファ330が設けられると共に、地図データ332が記憶される。たとえば、ユーザ情報バッファ330には、3次元情報に基づいて計算された、ユーザの位置およびユーザの向きがユーザ情報として一時的に記憶される。
【0105】
地図データ332には、空間に置かれている展示物Eおよびその展示物Eと対応する所定範囲の情報(座標)が含まれる。なお、図示は省略するが、データ記憶領域304には、様々な計算の結果を一時的に格納するバッファや、中央制御装置14の動作に必要な他のカウンタやフラグなども設けられる。
【0106】
中央制御装置14のプロセッサ16は、Linux(登録商標)ベースのOSや、その他のOSの制御下で、
図9に示す出力制御処理などを含む、複数のタスクを処理する。
【0107】
図9は出力制御処理のフロー図である。中央制御装置14の電源がオンにされると、中央制御装置14のプロセッサ16は、ステップS1で終了命令か否かを判断する。たとえば、中央制御装置14を終了させる操作が管理人によって行われたかが判断される。ステップS1で“NO”であれば、つまり終了命令を受け付けていなければ、ステップS3でプロセッサ16は、ユーザ情報を取得する。つまり、ユーザ情報バッファ330から、ユーザの位置および向きが読み出される。
【0108】
続いて、ステップS5でプロセッサ16は、ユーザが説明開始範囲Aに入っているか否かを判断する。たとえば、プロセッサ16は、地図データ332を読み出して、ユーザの位置が展示物E1の説明開始範囲A1に含まれているかを判断する。ステップS5で“NO”であれば、たとえばユーザの位置が入口の周囲であれば、プロセッサ16はステップS1の処理に戻る。また、ステップS5で“YES”であれば、たとえばユーザの位置が説明開始範囲A1に含まれていれば、ステップS7でプロセッサ16は、ユーザが中心点Cの方を向いているか否かを判断する。たとえば、ユーザが説明開始範囲A1にいる場合は、ユーザの向きが展示物E1の中心点C1の方に向いているかが判断される。なお、ユーザの向きが中心点Cを向いているかを判断する場合、±5度は許容範囲とされる。つまり、ステップS7では、ユーザの向きに対して±5度の許容範囲に中心点Cが含まれているかが判断される。ステップS7で“NO”であれば、つまりユーザが中心点Cの方を向いていなければ、プロセッサ16はステップS1の処理に戻る。なお、ステップS5の処理を実行するプロセッサ16は第1判断手段として機能し、ステップS7の処理を実行するプロセッサ16は第2判断手段として機能する。
【0109】
また、ステップS7で“YES”であれば、つまりユーザが中心点Cの方を向いていれば、ステップS9でプロセッサ16は、ロボット10をユーザの近傍へ移動させる。つまり、プロセッサ16は、ユーザの位置を示す座標と、その座標への移動命令をロボット10に対して出す。その結果、ロボット10はユーザに近づくことになる。
【0110】
続いて、ステップS11でプロセッサ16は、発話コンテンツを出力する。つまり、ユーザが入っている説明開始範囲Aと対応する発話コンテンツが、発話コンテンツDB24が読み出され、ロボット10に送信される。ロボット10は、受信した発話コンテンツに基づいて、ポインティングを行うとともに、ユーザに対して展示物Eに関する説明を行う。なお、ステップS11の処理を実行するプロセッサ16は出力手段として機能する。
【0111】
続いて、ステップS13でプロセッサ16は、出力終了か否かを判断する。つまり、プロセッサ16は、発話コンテンツの出力が終了したことがロボット10から通知されたかを判断する。ステップS13で“YES”であれば、つまり発話コンテンツの出力が終了すると、プロセッサ16はステップS1の処理に戻る。
【0112】
一方、ステップS13で“NO”であれば、つまり発話コンテンツの出力が続いていれば、ステップS15でプロセッサ16は、ユーザ情報を取得する。たとえば、ユーザ情報バッファ330からユーザの位置が読み出される。続いて、ステップS17でプロセッサ16は、ユーザが説明中止範囲A’の外にいるかが判断される。つまり、ユーザが展示物Eに関する説明に興味を失ったかが判断される。なお、ステップS17の処理を実行するプロセッサ16は第3判断手段として機能する。
【0113】
ステップS17で“NO”であれば、つまりユーザの位置が説明中止範囲A’の中であれば、プロセッサ16はステップS11の処理に戻る。つまり、ロボット10は発話コンテンツの出力を継続する。一方、ステップS17で“YES”であれば、つまりユーザが説明中止範囲A’の外に出ていれば、ステップS19でプロセッサ16は、出力を停止する。つまり、ロボット10に対して発話コンテンツの出力を停止する命令を発行する。そして、プロセッサ16はステップS19の処理が終了すれば、ステップS1の処理に戻る。なお、ステップS19の処理を実行するプロセッサ16は停止手段として機能する。
【0114】
そして、ステップS1で“YES”であれば、たとえばユーザが中央制御装置14を終了させる操作を行うと、プロセッサ16は出力制御処理を終了する。
【0115】
なお、ステップS3またはステップS15の処理を実行するプロセッサ30は取得手段として機能する。
【0116】
<第2実施例>
第2実施例では、ユーザとロボット10との親密度を推定し、推定された親密度に基づいて、発話コンテンツを出力するロボット10の行動を変化させる。なお、第2実施例のロボット制御システム100は、第1実施例と略同じであるため、システムの構成、ロボット10の外観および電気的な構成、中央制御装置14の電気的な構成などの説明は省略する。
【0117】
ユーザとロボット10との親密度は、ユーザに対して発話コンテンツを出力した回数に基づいて推定される。また、回数をカウントする際には、発話コンテンツの出力が終了したか、停止したかに分けてカウントされる。
【0118】
図10を参照して、ユーザDB26にはユーザIDに対応付けて、発話コンテンツが出力された展示物Eと、その展示物Eの発話コンテンツがユーザに対して出力された回数とが記録される。また、発話コンテンツを聞いた回数は、発話コンテンツを最後まで聞いた、つまり発話コンテンツの出力が終了したことを示す「深まり(専門性)」と、発話コンテンツを聞いている途中に立ち去った、つまり発話コンテンツの出力が停止したことを示す「拡がり」とに分けてカウントされる。たとえば、ユーザIDが「001」のユーザに着目して、展示物E1についてはロボット10から説明を3回受けており、ユーザは3回の説明を最後まで聞いたことが分かる。また、展示物E2についてロボット10から2回の説明を受けているが、2回とも途中で聞くのを止めていることが分かる。同様に、ユーザIDが「002」のユーザの場合は、展示物E1に対して説明を受けたが、途中で聞くのを止めていることが分かる。なお、ユーザDB26では、1つのユーザIDと対応する複数または1つの行が1つのユーザデータとして扱われる。
【0119】
続いて、
図11を参照して、第2実施例の発話コンテンツDB24は、第1実施例の発話コンテンツDB24に対して「深まり(専門性)」および「拡がり」の列が追加される。これらの欄には、数値が記憶されている。たとえば、発話コンテンツDB24において、「深まり」および「拡がり」の欄にそれぞれ「0」が記憶されている場合、「内容」の欄には展示物Eを簡単に紹介するメッセージ(たとえば、「これはコンセントです」)が記憶される。これに対して、「深まり」の欄に「1」が記憶されている場合、「内容」の欄には展示物Eをより詳しく紹介するメッセージ(たとえば、「電気はここからバッテリーに流れます バッテリーはリチウムイオン型です」)が記憶される。また、「拡がり」の欄に「1」が記憶されている場合、「内容」の欄には展示物Eと関連するメッセージ(たとえば、「同じように家庭で充電できる電気自転車の方が売られているみたいです」)が記憶される。
【0120】
そして、ユーザが説明開始範囲Aに入ってロボット10がユーザに近づくと、ユーザDB26からそのユーザの「深まり」および「拡がり」の数値、つまり発話コンテンツが出力された回数に基づいて親密度が推定される。たとえば、ユーザに対して発話コンテンツを出力した回数が1回であれば、ユーザとロボット10は既に面識がある状態であるため、低レベルの親密度が推定される。また、ユーザに対して発話コンテンツが出力されたが何度も立ち去られている回数が多ければ、中レベルの親密度が推定される。そして、ユーザに対して最後まで発話コンテンツが出力された回数が多ければ、高レベルの親密度が推定される。なお、一度も発話コンテンツを出力したことが無いユーザに対しては、親密度は「無し」とされる。
【0121】
このように、ユーザは、ロボット10から説明を受ける度に、ロボット10との親密度を高くすることが出来る。
【0122】
たとえば、ユーザが展示会場を訪れると、推定された親密度によってロボット10の行動が変化する。第2実施例では、ロボット10が動き始めるまでの反応時間、接近するときの移動速度、ユーザとの距離および立ち位置、待機場所を変化させる。親密度が設定されていない状態を基準とした場合に、推定された親密度が中レベルより大きければ、ロボット10はユーザの視界に入る位置で予め待機する。また、親密度のレベルが高くなるにつれて、ロボット10が動き始めるまでの反応時間を短くし、接近するときの移動速度を速くし、ユーザとの距離を短くし横並びとなるように移動する。このように、第2実施例では、言語を利用しない行動によって、ユーザとロボット10との親密度を変化させる。
【0123】
次に、このような行動によってロボット10がユーザに近づき、低レベルの親密度が推定されている場合は、ロボット10は「また来ましたね」などの挨拶を行った後に、発話コンテンツを出力する。中レベルの親密度が推定された場合は、ロボット10は「もうすっかり仲良しですね」と挨拶を行った後に、発話コンテンツを出力する。高レベルの親密度が推定された場合は、ロボット10は「また会えてうれしいです」と発話した後に握手などを求めてから、発話コンテンツを出力する。
【0124】
また、親密度が低レベル以上であれば、発話コンテンツを出力する前には、既に出力した発話コンテンツの要約がユーザに出力される。たとえば、ユーザDB26のユーザデータの状態から出力済みの発話コンテンツを特定することが可能である。そのため、
図11に示す発話コンテンツDB24のうち上2行について発話コンテンツが出力済みであれば、「これがコンセントでしたね」、「リチウムイオンのバッテリーに充電されるのでしね」および「さてもう少し説明しますね」といった内容の要約がロボット10から発話(出力)される。
【0125】
次に、展示物Eに対するユーザにおいて、ユーザDB26の「深まり」の欄の数値に対応して、発話コンテンツDB24から発話コンテンツが読み出され、ロボット10から出力される。たとえば、展示物E1(中心点C1)の説明開始範囲A1にユーザが入り、そのユーザにおいて展示物E1に対する「深まり」として「1」が記憶されている場合、発話コンテンツDB24からは展示物E1の「深まり」が「1」の発話コンテンツが読み出され、ロボット10に発話コンテンツが送信される。その結果、ロボット10は「電気はここからバッテリーに流れます バッテリーはリチウムイオン型です」という展示物E1に関する説明を、ユーザに対して行う。つまり、前回の発話コンテンツを最後まで聞いたユーザは、展示物Eに対する知識をより深めることが出来る。
【0126】
一方、展示物E1(中心点C1)の説明開始範囲A1にユーザが入り、そのユーザにおいて展示物E1に対する「拡がり」として「1」が記憶されている場合、発話コンテンツDB24からは展示物E1の「拡がり」が「1」の発話コンテンツが読み出され、ロボット10に発話コンテンツが送信される。その結果、ロボット10は、「同じように家庭で充電できる電気自転車の方が売られているみたいです」という展示物Eに関する説明を、ユーザに対して行う。つまり、前回の発話コンテンツを最後まで聞かなかったユーザは、展示物Eから派生した知識を得ることが出来る。
【0127】
このように、ロボット10が同じユーザに対して何度も同じ説明をしないようにすることが出来る。そのため、ユーザは、展示物Eを見る度に異なる知識を得ることが出来る。
【0128】
また、推定された親密度に応じてロボット10の行動が変化するため、ユーザはロボット10との親密度の深まり方を実感することが出来る。また、実施例では、ユーザに対して発話コンテンツを出力した回数、つまりユーザとのコミュニケーション回数によって親密度を推定することが出来る。これにより、親密度を推定するときの処理時間を短くすることが出来る。
【0129】
なお、ユーザに対して発話コンテンツを出力しているときに、他のユーザが周囲(たとえば、1−2m)にいる場合は、他のユーザに対しても同じように発話コンテンツが出力された、つまり他のユーザが説明を又聞きしたと判断される。そして、他のユーザのユーザデータは、ユーザのユーザデータと同じように更新される。これにより、多くのユーザがいる空間において、ユーザが同じ発話コンテンツの提供を何度も受けずに済むようになる。
【0130】
また、他の実施例では、親密度に応じてロボット10がユーザに対して説明を行う頻度を変化させてもよい。たとえば、推定された親密度が低くなるにつれて、ロボット10はユーザに対して発話コンテンツを出力しないようにする。具体的には、親密度が高レベルのユーザには必ず発話コンテンツを出力するようにし、親密度が低レベルのユーザには高レベルのユーザに対して半分の割合で発話コンテンツを出力するようにする。ただし、親密度が無いユーザ、つまり初めて展示会場を訪れたユーザには必ずは発話コンテンツを出力するようにする。
【0131】
上述では第2実施例の特徴を概説した。以下では、
図12−13に示すフロー図を用いて、第2実施例について詳細に説明する。
【0132】
図12−13は、第2実施例の出力制御処理のフロー図である。なお、第2実施例の出力制御処理では、ステップS1−S19の処理は略同じであるため、詳細な説明は省略する。
【0133】
中央制御装置14の電源がオンにされると、プロセッサ16は、ステップS1で終了命令か否かを判断する。ステップS1で“NO”であれば、つまり終了命令でなければ、ステップS31でプロセッサ16は、ユーザが入ってきたか否かを判断する。つまり、空間の入り口で新たなユーザが検出されたかが判断される。ステップS31で“NO”であれば、つまり新たなユーザが検出されていなければ、プロセッサ16はステップS35の処理に進む。一方、ステップS31で“YES”であれば、つまり新たなユーザが検出されると、ステップS33でプロセッサ16は、ユーザを識別する。つまり、空間の入り口に置かれたRFIDリーダがRFIDタグからユーザのユーザIDを読み取ると、ユーザDB26からユーザIDが特定される。このとき、読み取ったユーザIDがユーザDB26に登録されていなければ、そのユーザIDを含むユーザデータがユーザDB26に登録される。そして、ユーザIDが特定または登録されると、入り口で検出されたユーザの位置とユーザIDとが対応付けられる。
【0134】
続いて、ステップS35でプロセッサ16は、空間にユーザがいるか否かを判断する。空間内で、ユーザの位置が検出されているかが判断される。ステップS35で“NO”であれば、つまり空間内にユーザがいなければ、プロセッサ16はステップS1の処理に戻る。一方、ステップS35で“YES”であれば、つまり空間内でユーザが検出されると、プロセッサ16は、ステップS3でユーザ情報を取得する。
【0135】
続いて、ステップS37でプロセッサ16は、ユーザデータを読み出す。つまり、上記のユーザと対応するユーザデータがユーザDB26から読み出される。続いて、ステップS39でプロセッサ16は、ユーザデータに基づいて親密度を推定する。つまり、ユーザデータにおける「深まり」および「拡がり」の欄に記憶される数値に基づいて親密度が推定される。続いて、ステップS41でプロセッサ16は、親密度に基づいてロボット10の待機位置を決定する。たとえば、推定された親密度が中レベルより大きければ、ロボット10はユーザの視界に入る位置に移動する。
【0136】
続いて、ステップS16は、ステップS5でユーザが説明開始範囲に入っているか否かを判断する。プロセッサ16は、ステップS5で“NO”であればステップS1の処理に戻り、ステップS5で“YES”であれば、ステップS7でユーザが中心点Cの方を向いているか否かを判断する。プロセッサ16は、ステップS7で“NO”であれば、ステップS1の処理に戻る。
【0137】
また、ステップS7で“YES”であれば、つまりユーザが説明開始範囲Aに入っており、対応する中心点Cの方を向いていれば、ステップS43でプロセッサ16は、親密度に基づいてロボット10の行動を決定する。つまり、推定された親密度のレベルに応じて、ロボット10が動き始めるまでの反応時間、接近するときの移動速度、ユーザとの距離および立ち位置を決定する。
【0138】
続いて、ステップS45でプロセッサ16は、ユーザデータに基づいて発話コンテンツを出力する。つまり、ユーザデータにおける「深まり」、「拡がり」の欄に記憶されている数値に基づいて、発話コンテンツDB24から発話コンテンツが特定される。そして、得された発話コンテンツがロボット10に送信され、ユーザに対して発話コンテンツが出力される。なお、ステップS45の処理を実行するプロセッサ16は出力手段として機能する。
【0139】
続いて、ステップS13でプロセッサ16は、出力終了か否かを判断する。ステップS13で“YES”であれば、つまり発話コンテンツの出力が終了すれば、ステップS47でプロセッサ16は、ユーザデータの「深まり」の欄を更新する。つまり、ユーザはロボット10の説明を最後まで聞いたため、「深まり」の欄の数値がインクリメントされ、値が1つ増える。ステップS47の処理が終了すれば、プロセッサ16はステップS51の処理に進む。
【0140】
また、ステップS13で“NO”であれば、つまり発話コンテンツの出力が終了していなければ、プロセッサ16は、ステップS15でユーザ情報を取得し、ステップS17でユーザが説明中止範囲A’の外にいるか否かを判断する。プロセッサ16は、ステップS17で“NO”であればステップS45の処理に戻り、ステップS17で“YES”であればステップS19で出力を停止する。
【0141】
続いて、ステップS49でプロセッサ16は、ユーザデータの「拡がり」の欄を更新する。つまり、ユーザはロボット10の説明を最後まで聞かずに立ち去ったため、「拡がり」の欄の数値がインクリメントされ、値が1つ増える。
【0142】
続いて、ステップS51でプロセッサ16は、周囲に他のユーザがいるか否かを判断する。つまり、ユーザに対して出力された発話コンテンツが、他のユーザも聞いていたかが判断される。ステップS51で“NO”であれば、周囲に他のユーザがいなければ、プロセッサ16はステップS1の処理に戻る。一方、ステップS51で“YES”であれば、周囲に他のユーザがいれば、ステップS53でプロセッサ16は、他のユーザのユーザデータを更新する。たとえば、ユーザのユーザデータにおいて「深まり」の欄の値が更新されていれば、他のユーザのユーザテーブルでも「深まり」の欄の値が更新される。そして、ステップS53の処理が終了すれば、プロセッサ16はステップS1の処理に戻る。そして、ステップS1で“YES”であれば、プロセッサ16は出力制御処理を終了する。
【0143】
また、ステップS39またはステップS45の処理を実行するプロセッサ16は推定手段として機能する。また、ステップS41またはステップS43の処理を実行するプロセッサ16は決定手段として機能する。ステップS47,S49,S53の処理を実行するプロセッサ16は記憶手段として機能する。特に、ステップS47の処理を実行するプロセッサ16は終了記憶手段として機能し、ステップS49の処理を実行するプロセッサ16は停止記憶手段として機能する。そして、ステップS51の処理を実行するプロセッサ16は第4判断手段として機能する。
【0144】
なお、第1実施例および第2実施例については、任意に組み合わせることが可能である。そして、その組み合わせについては容易に想像できるため、ここでの詳細な説明は省略する。
【0145】
また、展示物Eに対するポインティングは、ロボット10の顔の動きや、視線などによって行われてもよい。また、ロボット10は、レーザポインタや指し棒などのポインティング手段を備えていてもよい。
【0146】
また、他の実施例では、ロボット10が中央制御装置14を有し、ロボット10が距離画像センサ12から無線接続または有線接続によって3次元情報を直接取得できてもよい。この場合、ロボット10単独で、ユーザに出力する発話コンテンツを決めて、出力することが出来る。たとえば、第1実施例の出力制御処理を実行するロボット10のプロセッ90は、ステップS9の処理ではユーザ情報に基づいてユーザの近傍に移動し、ステップS11の処理では展示物Eと対応する発話コンテンツを発話コンテンツDB24から読み出して出力する。また、第2実施例の出力制御処理を実行するロボット10のプロセッサ90は、ステップS41の処理では親密度に基づいて決めた待機場所へ移動し、ステップS43では親密度に基づいて決めた行動を行い、ステップS45ではユーザデータに基づいて発話コンテンツDB24から発話コンテンツを読み出して、その発話コンテンツを出力する。このように、他の実施例では、ロボット10は、展示会場内を自律的に移動したり、動作したりすることによって、ユーザに展示物の説明を行うことが出来る。
【0147】
また、その他の実施例では、ロボット10がユーザまたはユーザの入場を検出したときに、ロボット10が発話コンテンツを出力するために、中央制御装置14に対して出力制御処理の実行命令を出してもよい。このように、ロボット10の自律行動をサポートするために、中央制御装置14がロボット10によって利用されてもよい。
【0148】
また、さらにその他の実施例では、説明開始範囲Aと説明中止範囲A’とが同じ座標範囲であってもよい。
【0149】
また、他の実施例では、ロボット10がディスプレイを有している場合は、発話コンテンツは音声だけでなく、映像を利用して出力されてもよい。たとえば、発話コンテンツを出力するロボット10は、自身のディスプレイに映像を表示しながら、展示物Eの説明を行う。
【0150】
また、ロボット10は、実施例のような車輪移動型のロボットだけでなく、2足歩行型のロボットであってもよい。
【0151】
また、空間に入ったユーザは、RFIDタグではなく、顔認識によって識別されてもよい。
【0152】
また、本実施例では、閾値などに対して「より大きい」との言葉を用いたが、「より大きい」という表現には「以上」の意味も含まれる。
【0153】
また、本実施例で説明した複数のプログラムは、データ配信用のサーバのHDDに記憶され、ネットワークを介して本実施例と同等の構成のシステムに配信されてもよい。また、CD, DVD, BD (Blu-ray(登録商標) Disc)などの光学ディスク、USBメモリおよびメモリカードなどの記憶媒体にこれらのプログラムを記憶させた状態で、その記憶媒体が販売または配布されてもよい。そして、上記したサーバや記憶媒体などを通じてダウンロードされた、上記複数のプログラムが、本実施例と同等の構成のシステムに適用された場合、本実施例と同等の効果が得られる。
【0154】
そして、本明細書中で挙げた、具体的な数値は、いずれも単なる一例であり、製品の仕様変更などに応じて適宜変更可能である。また、本明細書中で挙げた、具体的な発話コンテンツは、展示会場や展示物の種類に応じて適宜変更可能である。