図1を参照して、この実施例のコミュニケーションロボット(以下、単に「ロボット」とも言う。)10は、主として人間のようなコミュニケーションの対象とコミュニケーションすることを目的とした相互作用指向のもので、身振り手振りのような身体動作を用いてコミュニケーション行動を行う機能を備えている。ただし、コミュニケーション行動には音声が含まれる場合もある。
ロボット10は、たとえば或る会社(組織)の建物内や或るイベント会場のような現実空間に配置される。詳細な構成は後述するが、ロボット10は、自律移動するための機構を備え、現実空間に存在する人間(図1では、人間A,B,C)と出会ったり、当該人間とコミュニケーションを図ったりする。
なお、図1では、簡単のため、3人の人間を示してあるが、これに限定される必要はなく、2人以上であれば何人でも構わない。
また、図1に示すように、人間A、B、Cは、それぞれ、無線タグ14を装着ないし所持しており、無線タグ14から送信される識別情報がロボット10によって検出される。
無線タグ14としては、たとえばRFID(Radio Frequency Identification)タグを用いることができる。図示は省略するが、RFIDタグは、識別情報を記憶するためのメモリや通信用の制御回路等を備えるICチップおよびアンテナ等を含む。この実施例では、後述するように、ロボット10は出会った人間の行動の履歴を記録したり、出会った人間に噂を流したりするので、たとえば、交信距離の比較的長い電磁誘導方式(最大1m程度)またはマイクロ波方式(最大5m程度)のRFIDタグを使用することが望ましい。
なお、通信距離の比較的短い静電結合方式(数mm程度)や電磁結合方式(数cm程度)のRFIDタグなどを使用することもできるが、これらの場合にはロボット10は人間に接近して、無線タグ読取装置18(図3参照)を当該人間(厳密には無線タグ14)に近づけさせる必要がある。
また、無線タグ14は電池内蔵の能動型(アクティブタイプ)および電池無しの受動型(パッシブタイプ)のどちらでもよい。
図2はロボット10の外観を示す正面図であり、この図2を参照して、ロボット10のハードウェアの構成について説明する。ロボット10は台車22を含み、この台車22の下面にはロボット10を自律移動させる車輪24が設けられる。車輪24は車輪モータ26(図3参照)によって駆動され、台車22すなわちロボット10を前後左右任意の方向に動かすことができる。このように、ロボット10は組織の空間内を移動可能なものであるが、場合によっては空間内の所定位置に固定的に設けられてもよい。
なお、図2においては省略するが、台車22の前面には、衝突センサ28(図3参照)が取り付けられ、この衝突センサ28は台車22への人や他の障害物の接触を検知する。つまり、ロボット10の移動中に障害物との接触を検知すると、直ちに車輪24の駆動を停止してロボット10の移動を急停止させる。
また、この実施例では、ロボット10の背の高さは、人、特に子供に威圧感を与えることのないように、100cm程度とされる。ただし、この背の高さは変更可能である。
台車22の上には、多角形柱のセンサ取付パネル30が設けられ、このセンサ取付パネル30の各面には、超音波距離センサ32が取り付けられる。この超音波距離センサ32は、センサ取付パネル30すなわちロボット10の周囲の主として人との距離を計測するものである。
また、台車22の上には、さらに、その下部がセンサ取付パネル30に囲まれて、ロボット10の胴体が直立するように設けられる。この胴体は、下部胴体34と上部胴体36とによって構成され、下部胴体34および上部胴体36は、連結部38によって互いに連結される。図示は省略するが、連結部38には昇降機構が内蔵されていて、この昇降機構を用いることによって、上部胴体36の高さすなわちロボット10の背の高さを変化させることができる。昇降機構は、後述するように、腰モータ40(図3参照)によって駆動される。
なお、上述したロボット10の背の高さは、上部胴体36をそれの最下位置にしたときのものである。したがって、ロボット10の背の高さは、100cm以上にすることも可能である。
上部胴体36のほぼ中央には、1つの全方位カメラ42と1つのマイク46とが設けられる。全方位カメラ42は、ロボット10の周囲を撮影するものであり、後述する眼カメラ48とは区別される。この全方位カメラ42としては、たとえばCCDやCMOSのような固体撮像素子を用いるカメラを採用することができる。また、マイク46は、周囲の音、とりわけコミュニケーション対象である人の声を取り込む。なお、これら全方位カメラ42およびマイク46の設置位置は上部胴体36に限られず適宜変更され得る。
上部胴体36の両肩には、それぞれ、肩関節50Rおよび50Lによって、上腕52Rおよび52Lが設けられる。肩関節50Rおよび50Lは、それぞれ、3軸の自由度を有する。すなわち、肩関節50Rは、X軸、Y軸およびZ軸のそれぞれの軸廻りにおいて上腕52Rの角度を制御できる。Y軸は、上腕52Rの長手方向(または軸)に平行な軸であり、X軸およびZ軸は、そのY軸に対して、それぞれ異なる方向から直交する軸である。他方、肩関節50Lは、A軸、B軸およびC軸のそれぞれの軸廻りにおいて上腕52Lの角度を制御できる。B軸は、上腕52Lの長手方向(または軸)に平行な軸であり、A軸およびC軸は、そのB軸に対して、それぞれ異なる方向から直交する軸である。
また、上腕52Rおよび52Lのそれぞれの先端には、肘関節54Rおよび54Lを介して、前腕56Rおよび56Lが設けられる。肘関節54Rおよび54Lは、それぞれ、W軸およびD軸の軸廻りにおいて、前腕56Rおよび56Lの角度を制御できる。
なお、上腕52Rおよび52Lならびに前腕56Rおよび56Lの変位を制御するX軸,Y軸,Z軸,W軸およびA軸,B軸,C軸,D軸では、それぞれ、「0度」がホームポジションであり、このホームポジションでは、図2に示すように、上腕52Rおよび52Lならびに前腕56Rおよび56Lは下方に向けられる。
また、図示は省略するが、上部胴体36の肩関節50Rおよび50Lを含む肩の部分や上述の上腕52Rおよび52Lならびに前腕56Rおよび56Lには、それぞれ、タッチセンサ(図3で包括的に示す。:58)が設けられていて、これらのタッチセンサ58は、人がロボット10の当該各部位に触れたかどうかを検知する。
前腕56Rおよび56Lのそれぞれの先端には、手に相当する球体60Rおよび60Lがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人の手の形をした「手」を用いることも可能である。
なお、ロボット10の形状・寸法等は適宜設定されるが、他の実施例では、上部胴体36は、前面、背面、右側面、左側面、上面および底面を含み、右側面および左側面は表面が斜め前方に向くように形成してもよい。つまり、前面の横幅が背面の横幅よりも短く、上部胴体36を上から見た形状が台形になるように形成されてもよい。
このような場合、肩関節50Rおよび50Lは、右側面および左側面に、その表面が左右両側面とそれぞれ平行である左右の支持部を介して設けられる。そして、上腕52Rおよび上腕52Lの回動範囲は、これら左右側面または支持部の表面(取り付け面)によって規制され、上腕52Rおよび52Lは取り付け面を超えて回動することはない。
しかし、左右側面の傾斜角、B軸とY軸との間隔、上腕52Rおよび52Lの長さ、ならびに前腕56Rおよび56Lの長さ等を適宜に設定すれば、上腕52Rおよび52Lは前方を超えてより内側まで回動できるので、たとえW軸およびD軸による腕の自由度がなくてもロボット10の腕は前方で交差できる。したがって、腕の自由度が少ない場合でも正面に位置する人と抱き合うなどの密接で親密なコミュニケーション行動を実行することができる。
上部胴体36の中央上方には、首関節62を介して頭部64が設けられる。首関節62は、3軸の自由度を有し、S軸、T軸およびU軸の各軸廻りに角度制御可能である。S軸は首から真上(鉛直上向き)に向かう軸であり、T軸およびU軸は、それぞれ、そのS軸に対して異なる方向で直交する軸である。頭部64には、人の口に相当する位置に、スピーカ66が設けられる。スピーカ66は、ロボット10が、それの周辺の人に対して音声ないし音によってコミュニケーションを取るために用いられる。ただし、スピーカ66は、ロボット10の他の部位、たとえば胴体などに設けられてもよい。
また、頭部64には、目に相当する位置に眼球部68Rおよび68Lが設けられる。眼球部68Rおよび68Lは、それぞれ眼カメラ48Rおよび48Lを含む。以下、右の眼球部68Rと左の眼球部68Lとをまとめて眼球部68ということがあり、また、右の眼カメラ48Rと左の眼カメラ48Lとをまとめて眼カメラ48ということもある。
眼カメラ48は、ロボット10に接近した人の顔や他の部分ないし物体等を撮影して、それに対応する映像信号を取り込む。眼カメラ48としては、上述した全方位カメラ42と同様のカメラを用いることができる。
たとえば、眼カメラ48は眼球部68内に固定され、眼球部68は眼球支持部(図示せず)を介して頭部64内の所定位置に取り付けられる。眼球支持部は、2軸の自由度を有し、α軸およびβ軸の各軸廻りに角度制御可能である。α軸およびβ軸は頭部64に対して設けられる軸であり、α軸は頭部64の上へ向かう方向の軸であり、β軸はα軸に直交しかつ頭部64の正面側(顔)が向く方向に直交する方向の軸である。この実施例では、頭部64がホームポジションにあるとき、α軸はS軸と平行であり、β軸はU軸と平行であるように設定される。このような頭部64において、眼球支持部がα軸およびβ軸の各軸廻りに回転されることによって、眼球部68ないし眼カメラ48の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。
なお、眼カメラ48の変位を制御するα軸およびβ軸では、「0度」がホームポジションであり、このホームポジションでは、図2に示すように、眼カメラ48のカメラ軸は頭部64の正面側(顔)が向く方向に向けられ、視線は正視状態となる。
さらに、たとえば頭部64の横の右肩部には、無線タグ読取装置18のアンテナ70が設けられる。アンテナ70は無線タグ14から送信される識別情報が重畳された電磁波ないし電波を受信する。
図3はロボット10の電気的な構成を示すブロック図であり、この図3を参照して、ロボット10は、全体を制御するCPU72を含む。CPU72は、マイクロコンピュータ或いはプロセサとも呼ばれ、バス74を介して、メモリ76、モータ制御ボード78、センサ入力/出力ボード80および音声入力/出力ボード82に接続される。
メモリ76は、図示は省略するが、ROMやRAMを含み、ROMにはロボット10の制御プログラムが予め記憶されるとともに、コミュニケーション行動を実行する際にスピーカ66から発生すべき音声または声の音声データ(音声合成データ)および所定の身振りを提示するための角度データ等も記憶される。RAMは、ワークメモリやバッファメモリとして用いられる。また、メモリ76には、無線タグ14の識別情報を取得して人間の行動履歴を記録するための記録プログラム、噂を作成するための作成プログラム、噂を伝達するための伝達プログラムおよび外部コンピュータ20と通信するための通信プログラム等が記録される。さらに、メモリ76にはまた、ロボットが存在する建物や会場の床、壁、天井を撮影した画像の画像データが各場所の名称(識別情報)に対応して記憶される。
モータ制御ボード78は、たとえばDSPで構成され、各腕や頭部および眼球部等の各軸モータの駆動を制御する。すなわち、モータ制御ボード78は、CPU72からの制御データを受け、右眼球部68Rのα軸およびβ軸のそれぞれの角度を制御する2つのモータ(図3では、まとめて「右眼球モータ」と示す。)84の回転角度を制御する。同様に、モータ制御ボード78は、CPU72からの制御データを受け、左眼球部68Lのα軸およびβ軸のそれぞれの角度を制御する2つのモータ(図3では、まとめて「左眼球モータ」と示す。)86の回転角度を制御する。
また、モータ制御ボード78は、CPU72からの制御データを受け、右肩関節50RのX軸、Y軸およびZ軸のそれぞれの角度を制御する3つのモータと右肘関節54RのW軸の角度を制御する1つのモータとの計4つのモータ(図3では、まとめて「右腕モータ」と示す。)88の回転角度を調節する。同様に、モータ制御ボード78は、CPU72からの制御データを受け、左肩関節50LのA軸、B軸およびC軸のそれぞれの角度を制御する3つのモータと左肘関節54LのD軸の角度を制御する1つのモータとの計4つのモータ(図3では、まとめて「左腕モータ」と示す。)90の回転角度を調整する。
さらに、モータ制御ボード78は、CPU72からの制御データを受け、頭部64のS軸、T軸およびU軸のそれぞれの角度を制御する3つのモータ(図3では、まとめて「頭部モータ」と示す。)92の回転角度を制御する。さらにまた、モータ制御ボード78は、CPU72からの制御データを受け、腰モータ40および車輪24を駆動する2つのモータ(図3では、まとめて「車輪モータ」と示す。)26の回転角度を制御する。
なお、この実施例では、車輪モータ26を除くモータは、制御を簡素化するために、ステッピングモータ或いはパルスモータを用いるようにしてある。ただし、車輪モータ26と同様に、直流モータを用いるようにしてもよい。
センサ入力/出力ボード80もまた、同様に、DSPで構成され、各センサからの信号を取り込んでCPU72に与える。すなわち、超音波距離センサ32のそれぞれからの反射時間に関するデータがこのセンサ入力/出力ボード80を通してCPU72に入力される。また、全方位カメラ42からの映像信号が、必要に応じてこのセンサ入力/出力ボード80で所定の処理を施された後、CPU72に入力される。眼カメラ48からの映像信号も、同様にして、CPU72に入力される。また、上述した複数のタッチセンサ(図3では、まとめて「タッチセンサ58」と示す。)からの信号がセンサ入力/出力ボード80を介してCPU72に与えられる。さらに、上述した衝突センサ28からの信号も、同様にして、CPU72に与えられる。
音声入力/出力ボード82もまた、同様に、DSPで構成され、CPU72から与えられる音声合成データに従った音声または声がスピーカ66から出力される。すなわち、噂が音声または声としてスピーカ60から発せられる。また、マイク46からの音声入力が、音声入力/出力ボード82を介してCPU72に取り込まれる。
また、CPU72は、バス74を介して通信LANボード94および無線タグ読取装置18に接続される。通信LANボード94は、DSPで構成され、CPU72から送られる送信データを無線通信装置96に与え、無線通信装置96から送信データを、図示は省略するが、たとえば、無線LANのようなネットワークを介して外部コンピュータ20に送信させる。また、通信LANボード94は、無線通信装置96を介してデータを受信し、受信したデータをCPU72に与える。つまり、この通信LANボード94および無線通信装置96によって、ロボット10は外部コンピュータ20等と無線通信を行うことができる。
無線タグ読取装置18は、無線タグ14から送信される識別情報の重畳された電波を、アンテナ70を介して受信し、電波信号を増幅し、当該電波信号から識別情報を分離し、当該情報を復調(デコード)してCPU72に与える。ただし、RFIDの情報は、外部コンピュータでデコードして、CPU72に与えるようにしてもよい。
さらに、CPU72は、バス74を介して複数(この実施例では3つ)のデータベース(DB)が接続される。具体的には、ユーザ情報データベース(以下「ユーザDB」という。)98、行動履歴データベース(以下「履歴DB」という。)100および噂情報データベース(以下「噂DB」という。)102に接続される。ただし、これらのデータベースは、ロボット10に内蔵する必要はなく、ネットワークを介してアクセス可能に接続するようにしてもよい。
ユーザDB98は、図4に示すようなユーザ情報を記録するデータベースである。図4に示すように、ユーザ情報は、人間(A,B,C・・・)の名前に対応付けて、該当する人間に装着される無線タグ14の識別情報(RFID)が記載される。説明の便宜上、図4(図5および図6も同じ。)では、人間の参照符号を名前として記載してある。たとえば、図4に示すユーザ情報では、人間Aの名前に対応して、識別情報“AAAA”が記載される。また、人間Bの名前に対応して、識別情報“BBBB”が記載される。さらに、人間Cの名前に対応して、識別情報“CCCC”が記載される。
履歴DB100は、図5に示すような履歴情報を記憶するデータベースである。この履歴情報には、日時に対応して、名前および検知場所が記載される。日時の欄には、ロボット10が名前の欄に記載された人間と出会った日付と時刻が記載される。名前の欄には、ロボット10が出会った人間の名前が記載される。ただし、名前に代えて、人間の識別情報を記載するようにしてもよい。検知場所の欄には、ロボット10と人間とが出会った場所が記載される。この履歴情報を参照することにより、ロボット10が出会った人間が、いつ、どこに居たのかを知ることができる。たとえば、図5に示す履歴情報からは、人間Aは時刻t1に玄関に居た、つまり、玄関を通ったことが分かる。また、人間Bおよび人間Cは時刻t2に公衆電話の前に居たことが分かる。さらには、人間A、人間Bおよび人間Cは時刻t3に食堂に居たことが分かる。
噂DB102は、図6に示すような噂に関する情報(以下、「噂情報」という。)を記録するデータベースであり、図示は省略するが、さらに、噂を作成するための条件(噂作成条件)および噂を伝達するための条件(噂伝達条件)を記憶する。図6に示すように、噂情報は、作成された噂に対応して、噂の当事者の名前、および当該噂を伝達した人間(伝達済の人間)の名前が記載される。作成された噂の欄には、後述する噂作成条件に従って作成された噂のテキストデータが記載される。噂の当事者の欄には、該当する噂の当事者の名前が記載される。図6からも分かるように、当事者が複数人である場合には、各人間の名前が記載される。伝達済の欄には、該当する噂を伝達した人間の名前が記載される。図6からも分かるように、伝達済の人間が複数人である場合には、各人間の名前が記載される。ただし、噂の当事者および伝達済の欄には、名前に代えて、人間の識別情報を記載するようにしてもよい。たとえば、図6に示す識別情報からは、「Aは時間に正確である」という噂が作成され、この噂の当事者は人間Aであり、この噂は人間Bに伝達済であることが分かる。また、「BとCとは仲良し」という噂が作成され、この噂の当事者は人間Bと人間Cとであり、この噂は人間Aと人間Bとに伝達済であることが分かる。さらに、「Cはよく電話している」という噂が作成され、この噂の当事者は人間Cであり、この噂は人間A、人間Bおよび人間Cに伝達済であることが分かる。
噂作成条件は、或る噂を作成するか否かを判断するための条件である。たとえば、「□はいつも遅くまで働いている」という噂を作成するか否かは、或る人間(□)が、遅い時刻(たとえば、21時以降)に特定の場所(たとえば、或る部署)に存在することが頻繁である(たとえば、週に3日以上)かどうかで判断される。また、「○は時間に正確である」という噂を作成するか否かは、或る人間が、一定日数(たとえば、10日)以上、同じあるいはほぼ同じ時刻に特定の場所(たとえば、玄関)に存在するかどうかで判断される。また、「△と×は仲良し」という噂を作成するか否かは、或る2人の人間(△と×)が同時に同じ場所に存在することが頻繁である(たとえば、1日に3回以上)かどうかで判断される。ただし、これらは単なる例示であり、作成する噂に応じて噂作成条件は予め定められている。また、図示は省略したが、上述したような噂の元となるテキスト(テキストデータ)は、各噂作成条件に対応して、それぞれ、噂DB102に記憶されている。
噂伝達条件は、出会った人間に噂を伝達するか否かを判断するための条件である。たとえば、噂の当事者以外の人間に当該噂を伝達する、という条件を設定することができる。また、噂の当事者か否かにかかわらず全ての人間に当該噂を伝達する、という条件を設定することもできる。また、一度に複数の人間と出会った場合には、いずれか1人でも噂を伝達していなければ、他の人間に当該噂を伝達していたとしても、その複数の人間に当該噂を伝達する、という条件を設定することもできる。これらは単なる例示であり、いずれかの条件を設定することができる。ただし、作成した噂毎に異なる条件を設定してもよい。また、1つの噂に対して、2以上の条件を複合的に設定することもできる。
このような構成のロボット10は、上述したように、組織の建物やイベント会場のような現実空間を自律移動する。ロボット10は、人間と出会うと、当該人間の行動履歴を履歴情報として履歴DB100に記憶(登録)する。具体的には、ロボット10は、人間に装着された無線タグ14の識別情報を検出すると、当該人間に出会ったと判断する。このとき、ロボット10は、内部タイマ(図3では省略)から日時を取得する。次にロボット10は、ユーザDB98を参照して、検出した識別情報に対応する人間の名前を取得する。そして、ロボット10は、全方位カメラ42または/および眼カメラ48で、現在位置の周囲(天井、壁、床)を撮影し、撮影した画像の画像データと、メモリ76に記憶された画像データとを比較し、現在位置(検出場所)を特定(同定)する。そして、履歴情報として、日時、人間の名前、および検出場所を履歴DB100に登録する。つまり、履歴DB100が更新される。
なお、この実施例では、予め撮影しておいた天井、壁、床等の画像データと、現在撮影した周囲の画像データとを比較することにより、現在位置すなわち人間の検出場所を特定するようにしてある。ただし、他の方法により、検出場所を特定することも可能である。たとえば、各場所に無線タグを配置しておき、場所と無線タグの識別情報とを対応させたデータベースを設けておけば、簡単に検出場所を特定することができる。
履歴DB100が更新されると、ロボット10は、当該履歴DB100を参照して、履歴情報が噂作成条件を満たす(充足する)かどうかを判断する。具体的には、今回履歴情報が記憶された人間についてのすべての履歴情報が読み出され、当該履歴情報が噂作成条件を充足するか否かが判断される。ただし、複数の人間についての履歴情報が更新された場合には、各人間の履歴情報が読み出され、各人間についての履歴情報が噂作成条件を充足するか否かが判断される。
また、2人以上の履歴情報を参照することにより、複数の人間に関する噂についての噂作成条件を充足するか否かが判断される。たとえば、人間A,B,Cの履歴情報が登録(更新)された場合には、人間A,B,Cの履歴情報を読み出し、各人の履歴情報が噂作成条件を充足するかどうかを判断する。また、人間Aおよび人間B,人間Bおよび人間C、人間Aおよび人間C、そして、人間A,BおよびCについての履歴情報が噂作成条件を充足するか否かが判断されるのである。
噂作成条件を充足しない場合は、噂は作成されない。一方、噂作成情報を充足する場合には、履歴情報に基づいて、噂が作成される。噂が作成されると、当該噂が噂DB102に登録される。つまり、噂情報が更新される。具体的には、作成された噂のテキストデータが噂情報のテーブルに登録されるとともに、当該テキストデータに対応して噂の当事者が登録される。なお、噂が作成された当初では、当該噂は誰にも伝達されていないため、伝達済の欄は空欄である。
また、ロボット10は、人間と出会うと、当該人間が噂伝達条件を満たすかどうかを判断する。具体的には、噂DB102を参照して、登録された噂に設定された噂伝達条件を当該人間が満たす(充足する)かどうかを判断する。複数の噂が存在する場合には、各々の噂について噂伝達条件を満たすか否かが判断される。噂伝達条件を充足しない場合には、噂を伝達すべきでないと判断し、噂は伝達されない。一方、噂伝達条件を充足する場合には、当該噂伝達条件に対応する噂を当該人間に伝達する。具体的には、ロボット10は、音声により人間に噂を伝える。そして、噂情報の伝達済の欄に、今回噂を伝達した人間の名前を登録する。つまり、噂DB102が更新される。
なお、詳細な説明は省略するが、この実施例では、ロボット10が出会った人間が噂伝達条件を満たす噂が複数存在する場合には、所定のルールに従って選択した1の噂を伝達するようにしてある。たとえば、作成された噂に優先順位をつけておき(作成された順番等)、優先順位の最も高い噂を伝達するようにしてもよいし、ランダムに選択した噂を伝達するようにしてもよい。ただし、これに限定される必要はなく、すべての噂を伝達するようにしてもよい。
具体的には、図3に示したCPU72が図7に示すフロー図に従って全体処理を実行する。なお、図7では、簡単のため、ロボット10が人間(厳密には、RFID)を検出した後の処理を示してあるが、人間を検出する以前においては、ロボット10は組織の建物内やイベント会場を移動(巡回)したり、一定時間或る場所に留まったりしている。
図7を参照して、CPU72は、全体処理を開始すると、ステップS1で、ユーザ(人間)を特定する。つまり、ユーザDB98を参照して、検出したRFID(識別情報)に対応する人間の名前を取得する。ただし、複数の識別情報を検出した場合には、各識別情報に対応する人間の名前が取得される。続くステップS3では、履歴DB100を更新する。具体的には、上述したように、人間(RFID)を検出したときの日時を内部タイマから取得する。また、現在位置(検出場所)において周囲を撮影さいた画像の画像データとメモリ76に記憶された画像データとを比較することにより、当該検出場所を特定する。そして、日時、出会った人間の名前および検出場所を履歴情報に登録する。ただし、上述したように、複数の人間(識別情報)を検出した場合には、ステップS3において、各人間についての履歴情報が記憶される。
続いて、ステップS5では、出会った人間ないしは履歴情報を登録した人間(以下、「当該人間」という。)についての履歴情報を履歴DB100から読み出す。ここで、当該人間についての履歴情報が履歴DB100に複数記憶されている場合には、それらすべての履歴情報が読み出される。また、出会った人間が複数である場合には、それらすべての人間についての履歴情報が読み出される。そして、ステップS7で、当該人間の履歴情報が噂DB102に記憶された噂作成条件を充足するかどうかを判断する。ステップS7で“NO”であれば、つまり噂作成条件を充足しない場合には、そのままステップS13に進む。一方、ステップS7で“YES”であれば、つまり噂作成条件を充足すれば、ステップS9において、当該人間についての噂を噂作成条件に従って作成する。そして、ステップS11で、噂DB102を更新して、ステップS13に進む。つまり、ステップS11では、ステップS9において作成した噂のテキストデータおよび当該噂の当事者(ここでは、当該人間)の名前が噂情報として記憶される。
なお、上述したとおり、噂を作成した当初では、当該噂は誰にも伝達されていないため、当該噂に対応する伝達済の欄には何ら名前は記載されない。
このように、CPU72は、検出した人間毎の行動履歴(履歴情報)を記録し、この行動履歴が噂作成条件を充足すると、噂を作成する。つまり、客観的事実に基づいた各人間についての様々な噂が作成され、噂DB102には多くの噂が蓄積されるのである。
ステップS13では、当該人間が噂伝達条件を充足するかどうかを判断する。ただし、作成された噂が噂DB102に複数記憶されている場合には、各噂について、当該人間が噂伝達条件を充足するかどうかを判断する。ただし、上述したように、複数の人間と出会った場合には、各人間が噂伝達条件を充足するか否かを判断したり、それらすべての人間が噂伝達条件を充足するか否かを判断したりする。これは、噂伝達条件によって様々である。ステップS13で“NO”であれば、つまり当該人間が噂伝達条件を充足しない場合には、そのまま全体処理を終了する。一方、ステップS13で“YES”であれば、つまり当該人間が噂伝達条件を充足する場合には、ステップS15で、当該噂伝達条件に対応する噂を音声により伝達する。つまり、CPU72は、噂に対応する音声合成データを再生して、音声入力/出力ボード82を介してスピーカ66から出力する。ただし、上述したように、伝達条件を満たす噂が複数ある場合には、たとえば、作成した噂に設定しておいた優先順位の最も高い噂が伝達される。または、ランダムに選択した1の噂を伝達するようにしてもよい。
このようにして、CPU72は、噂伝達条件に従って噂を伝達するようにしてあるため、たとえば、同じ噂を何度も聞かされるというような不快さを人間に与えることがなく、適切に噂を伝達することができる。また、たとえば、噂を伝達された人間は、今まであまり知らなかった人間のことを知るきっかけを得ることができ、さらには、自分と一緒に居るときにあまり見せない友人(他人)の新たな一面ないし隠れた一面を知ることもできる。一方、噂の当事者が当該噂を聞いた場合、自分の知らない間に噂だけが広まる不安を解消できる。そして、他人と自分の噂を比較したり、自分の行動を客観的に知ったりすることにより、行動を改善することもできる。
この実施例によれば、人間の行動履歴を記憶し、当該行動履歴のような客観的事実に基づく噂を作成して、作成した噂を当該噂の当事者やその他の人間に伝達するので、人間同士が会話したり、人間同士が互いを認識したりするきっかけを作ることができる。つまり、人間関係を形成していく上で重要な機能を果たすので、人間関係の構築を支援することができるのである。
なお、この実施例では、出会った人間が噂伝達条件を充足する場合には、簡単のため、噂のみを伝達するようにした。噂の伝達に加えて、ロボットは、他のコミュニケーション行動を実行するようにしてもよい。たとえば、「こんにちは」と話しかけて、返事があった場合に、「握手しよう」と言って一方の腕52(または60)を前方に差し出し、握手をしてから、噂を伝達する。ただし、「こんにちは」と話しかけたにも拘わらず、返事がなかった場合には、噂を伝達せずに、「ばいばい」と言ってその場を立ち去る。このようにすれば、ロボットは人間と自然な会話が可能であり、人間界に解けこみ易く、極自然に噂を伝達することができるのである。さらに、無線タグによって各人間を識別可能であるため、人間の行動履歴のみならず、人間に対するロボットの行動履歴を記憶しておけば、次回以降のコミュニケーション行動を適切に行うことができ、より人間界に解けこみ易くなると考えられる。たとえば、或る人間に「はじめまして」と声を掛けた後では、当該人間に遭遇したとき、「こんにちは」や「お久しぶりです」などと声を掛けることができる。
また、この実施例では、履歴情報の記録処理、噂の作成処理および噂を伝達するか否かの判断処理をロボットで行うようにしてあるが、少なくとも1つの処理は、外部コンピュータで実行するようにしてもよい。かかる場合には、ロボットで検出した情報(識別情報)を外部コンピュータに送信し、外部コンピュータは各DBにアクセスして、上述したような処理を実行する。
さらに、この実施例では、無線タグを用いて人間を識別するようにしたが、これに限定される必要はない。たとえば、予め人間の顔画像をデータベース(顔画像データベース)に記憶しておき、ロボットが遭遇した(出会った)人間の顔画像を撮影して、顔画像データベースと照合することにより、当該人間を特定することもできる。ただし、かかる画像処理は膨大であるため、各人間に異なるマーク(記号、模様、図形、数値など)を付した衣服を着させておき、当該マークを撮影して、ロボットが遭遇した人間を特定するようにしてもよい。
さらにまた、この実施例では、ロボットが出会った人間の行動履歴を記録して、行動の履歴情報に基づいて噂を作成するようにしたが、これに限定されるべきではない。たとえば、ロボット10は、人間との対話が可能であるため、対話履歴を記録しておき、対話の履歴情報に基づいて噂を作成するようにしてもよい。たとえば、ロボット10が人間Pおよび人間Qと異なる場所で対話することにより、人間Pと人間Qとが同じプロ野球チームZのファンであることが分かれば、「PさんとQさんとは、チームZが好きらしい」という噂を作成する。また、行動の履歴情報と対話の履歴情報との組み合わせに基づいて噂を作成することも可能である。
また、この実施例では、ロボットが噂を生成し、生成した噂を伝達するようにしてある。したがって、ロボットを或る組織における人間関係の構築を行う場合には、ロボットを配置(存在)させる期間を長く設定し、多くの履歴情報を記憶し、多くの噂を作成して、多くの噂を流すようにすれば、その効果を増大させることができるのは言うまでもない。