(57)【要約】      （修正有）【課題】人間同士のコミュニケーションのように、自然なコミュニケーションを実現することができるロボットを提案する。【解決手段】コミュニケーションロボット１２はＣＰＵを含み、ＣＰＵはロボット１２の全体処理を司る。ロボット１２は、モーションキャプチャシステム２０から入力される座標データから、自身の位置、人間１４の位置およびオブジェクトＯＢの位置を検出する。ロボット１２は、人間１４との距離、ロボット１２と人間１４とを結ぶ基線に対するロボット１２の視線および人間１４の視線に基づいて指示語決定モデルを決定する。ロボット１２は、所望のオブジェクトＯＢを指示するように、指差し動作を実行するとともに、指示語決定モデルに従って決定された指示語（「これ」、「それ」、「あれ」）を発話する。  【選択図】図１
2006231497.tif 000002
【特許請求の範囲】
【請求項１】
人間との間でコミュニケーション行動を実行するコミュニケーションロボットであって、
前記人間との距離を検出する人間距離検出手段、
少なくとも前記人間距離検出手段の検出結果に基づいて指示語決定領域を設定する指示語決定領域設定手段、
少なくとも所望のオブジェクトの位置を検出するオブジェクト位置検出手段、
前記指示語決定領域と、前記オブジェクト位置検出手段によって検出された前記所望のオブジェクトの位置とから前記所望のオブジェクトを指示するための指示語を決定する指示語決定手段、および
前記指示語決定手段によって決定された指示語を発話するとともに、前記所望のオブジェクトを指差し動作により指示する、コミュニケーション行動を実行するコミュニケーション行動実行手段を備える、コミュニケーションロボット。
【請求項２】
前記人間の視線方向および自身の視線方向を検出する視線方向検出手段をさらに備え、
前記指示語決定領域設定手段は、前記人間距離検出手段および前記視線方向検出手段の検出結果に基づいて前記指示語決定領域を設定する、請求項１記載のコミュニケーションロボット。
【請求項３】
前記所望のオブジェクトと他の前記オブジェクトとの距離を検出するオブジェクト距離検出手段をさらに備え、
コミュニケーション行動実行手段は、前記距離検出手段によって検出された距離が所定の閾値以下であるとき、前記指示語に加えて、前記他のオブジェクトの属性情報とは異なる前記所望のオブジェクトの属性情報を発話する、請求項１または２記載のコミュニケーションロボット。
【請求項４】
前記属性情報は、前記オブジェクトの色、形状および大きさの少なくとも１つを含む、請求項３記載のコミュニケーションロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はコミュニケーションロボットに関し、特にたとえば、人間との間でコミュニケーション行動を行う、コミュニケーションロボットに関する。
【背景技術】
【０００２】
背景技術の一例が特許文献１に開示される。この特許文献１によれば、ロボットは、ユーザの発話を音声認識し、その認識結果に基づいて動作する。たとえば、ロボットは、ユーザの発話に対する応答としての応答文を発話する。この場合、ロボットは、「これ」や、「あれ」、「それ」などの言葉を、ロボットとユーザ、ロボットと対象物、またはユーザと対象物との位置関係に対応して適切に使い分けて、自然なコミュニケーションを図っている。
【特許文献１】特開２００１−１８８５５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、この背景技術では、２つ以上の物体が存在する環境については何ら考慮されておらず、指示語を発話するだけではいずれの物体を指示しているのかが不明確である。たとえば、２つの物体が異なる位置に存在し、一方の物体とロボットとの距離が他方の物体と人間との距離とほぼ同じである場合には、指示語を発話するだけではいずれの物体を指しているのか判別できない。これでは、自然なコミュニケーションを実現できているとは言えない。
【０００４】
それゆえに、この発明の主たる目的は、新規な、コミュニケーションロボットを提供することである。
【０００５】
この発明の他の目的は、指示語を使った自然なコミュニケーションを実現できる、コミュニケーションロボットを提供することである。
【課題を解決するための手段】
【０００６】
請求項１の発明は、人間との間でコミュニケーション行動を実行するコミュニケーションロボットであって、人間との距離を検出する人間距離検出手段、少なくとも人間距離検出手段の検出結果に基づいて指示語決定領域を設定する指示語決定領域設定手段、少なくとも所望のオブジェクトの位置を検出するオブジェクト位置検出手段、指示語決定領域と、オブジェクト位置検出手段によって検出された所望のオブジェクトの位置とから所望のオブジェクトを指示するための指示語を決定する指示語決定手段、および指示語決定手段によって決定された指示語を発話するとともに、所望のオブジェクトを指差し動作により指示する、コミュニケーション行動を実行するコミュニケーション行動実行手段を備える、コミュニケーションロボットである。
【０００７】
請求項１の発明では、コミュニケーションロボットは、身振り手振りのようなジェスチャおよび発話の少なくとも一方によるコミュニケーション行動を実行することにより、人間との間でコミュニケーションを図る。このようなコミュニケーションロボットでは、距離検出手段は、コミュニケーションする人間との距離を検出する。指示語決定領域設定手段は、少なくとも人間距離検出手段によって検出された距離に基づいて指示語決定領域を設定する。実施例においては、話者（指示者）としてのコミュニケーションロボットを基準とする、「これ」、「それ」、「あれ」のような指示を決定するための領域（指示語決定モデル）を設定する。オブジェクト位置検出手段は、少なくとも所望のオブジェクト位置を検出する。指示語決定手段は、指示語決定領域と、所望のオブジェクトの位置とから当該所望のオブジェクトを指示するための指示語を決定する。つまり、所望のオブジェクトが指示語決定領域のいずれの位置に存在するかで、指示語を決定するのである。そして、コミュニケーション行動実行手段は、指示語決定手段によって決定された指示語を発話するとともに、所望のオブジェクトを指差し動作により指示する、コミュニケーション行動を実行する。つまり、コミュニケーションロボットは、所望のオブジェクトに人間の注意を向ける。
【０００８】
請求項１の発明によれば、指示語を発話するとともに、指差し動作を実行するので、所望のオブジェクトを確実に指示することができる。つまり、指示語を用いた簡単な言動により、人間同士のような自然なコミュニケーションを実現することができる。
【０００９】
請求項２の発明は請求項１に従属し、人間の視線方向および自身の視線方向を検出する視線方向検出手段をさらに備え、指示語決定領域設定手段は、人間距離検出手段および視線方向検出手段の検出結果に基づいて指示語決定領域を設定する。
【００１０】
請求項２の発明では、コミュニケーションロボットは、視線方向検出手段をさらに備える。視線方向検出手段は、人間の視線方向とロボット自身の視線方向を検出する。指示語決定領域設定手段は、人間とロボットとの距離のみならず、人間の視線方向およびロットの視線方向を考慮して、指示語決定領域を設定する。
【００１１】
請求項２の発明によれば、人間とコミュニケーションロボットとの視線方向も考慮して指示語決定領域を設定するので、より的確な指示語を決定することができる。つまり、不自然な指示語が発話されるのを防止することができる。
【００１２】
請求項３の発明は請求項１または２に従属し、所望のオブジェクトと他のオブジェクトとの距離を検出するオブジェクト距離検出手段をさらに備え、コミュニケーション行動実行手段は、オブジェクト距離検出手段によって検出された距離が所定の閾値以下であるとき、指示語に加えて、他のオブジェクトの属性情報とは異なる所望のオブジェクトの属性情報を発話する。
【００１３】
請求項３の発明では、コミュニケーションロボットは、所望のオブジェクトと他のオブジェクトとの距離を検出するオブジェクト距離検出手段をさらに備える。コミュニケーション行動実行手段は、所望のオブジェクトと他のオブジェクトとが所定の閾値以上接近している場合には、指示語に加えて、他のオブジェクトの属性情報とは異なる所望のオブジェクトの属性情報を発話する。
【００１４】
請求項３の発明によれば、オブジェクト同士が接近している場合には、指示語に加えて、他のオブジェクトの属性情報とは異なる所望のオブジェクトについての属性情報を発話するので、指差し動作と指示語とでは判別できない場合であっても、属性情報により、所望のオブジェクトを判別させることができる。つまり、人間の注意を所望のオブジェクトに確実に誘導することができる。
【００１５】
請求項４の発明は請求項３に従属し、属性情報は、オブジェクトの色、形状および大きさの少なくとも１つを含む。
【００１６】
請求項４の発明では、属性情報は、オブジェクトの色、形状および大きさの少なくとも１つを含む。したがって、所望のオブジェクトと他のオブジェクトとが接近し過ぎている場合には、互いに異なるいずれか１つ以上の属性情報を検出して、指示語に加えて発話すれば、所望のオブジェクトが判別される。
【００１７】
請求項４の発明によれば、オブジェクトの色、形状および大きさのような見た目で容易に判断できる属性情報を発話するので、人間同士のように、自然なコミュニケーションが可能である。
【発明の効果】
【００１８】
この発明によれば、所望のオブジェクトを指差し動作と指示語の発話とで指示するので、指示語を用いて人間同士のような自然なコミュニケーションを実現することができる。
【００１９】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００２０】
図１を参照して、この実施例のコミュニケーションロボットシステム（以下、単に「システム」という。）１０は、コミュニケーションロボット（以下、単に「ロボット」という。）１２を含む。このロボット１２は、たとえば人間１４のようなコミュニケーションの対象とコミュニケーションすることを目的とした相互作用指向のものであり、身振り（手振り）および発話（音声）の少なくとも一方を用いたコミュニケーションの行動（以下、「コミュニケーション行動」ということがある。）を行う機能を備えている。
【００２１】
ロボット１２は、人間のような身体を有し、その身体を用いてコミュニケーションのために必要な複雑な身体動作を生成する。具体的には、図２を参照して、ロボット１２は台車３２を含み、この台車３２の下面には、このロボット１２を自律移動させる車輪３４が設けられる。この車輪３４は、車輪モータ（ロボット１２の内部構成を示す図３において参照番号「３６」で示す。）によって駆動され、台車３２すなわちロボット１２を前後左右任意の方向に動かすことができる。
【００２２】
なお、図２では示さないが、この台車３２の前面には、衝突センサ（図３において参照番号「３８」で示す。）が取り付けられ、この衝突センサ３８は、台車３２への人や他の障害物の接触を検知する。そして、ロボット１２の移動中に障害物との接触を検知すると、直ちに車輪３４の駆動を停止してロボット１２の移動を急停止させる。
【００２３】
また、ロボット１２の背の高さは、この実施例では、人、特に子供に威圧感を与えることがないように、１００ｃｍ程度とされている。ただし、この背の高さは任意に変更可能である。
【００２４】
台車３２の上には、多角形柱のセンサ取付パネル４０が設けられ、このセンサ取付パネル４０の各面には、超音波距離センサ４２が取り付けられる。この超音波距離センサ４２は、取付パネル４０すなわちロボット１２の周囲の主として人との間の距離を計測するものである。
【００２５】
台車３２の上には、さらに、ロボット１２の胴体が、その下部が上述の取付パネル４０に囲まれて、直立するように取り付けられる。この胴体は下部胴体４４と上部胴体４６とから構成され、これら下部胴体４４および上部胴体４６は、連結部４８によって連結される。連結部４８には、図示しないが、昇降機構が内蔵されていて、この昇降機構を用いることによって、上部胴体４６の高さすなわちロボット１２の高さを変化させることができる。昇降機構は、後述のように、腰モータ（図３において参照番号「５０」で示す。）によって駆動される。上で述べたロボット１２の身長１００ｃｍは、上部胴体４６をそれの最下位置にしたときの値である。したがって、ロボット１２の身長は１００ｃｍ以上にすることができる。
【００２６】
上部胴体４６のほぼ中央には、１つの全方位カメラ５２と、１つのマイク１６とが設けられる。全方位カメラ５２は、ロボット１２の周囲を撮影するもので、後述の眼カメラ５４と区別される。マイク１６は、周囲の音、とりわけ人の声を取り込む。
【００２７】
上部胴体４６の両肩には、それぞれ、肩関節５６Ｒおよび５６Ｌによって、上腕５８Ｒおよび５８Ｌが取り付けられる。肩関節５６Ｒおよび５６Ｌは、それぞれ３軸の自由度を有する。すなわち、右肩関節５６Ｒは、Ｘ軸，Ｙ軸およびＺ軸の各軸廻りにおいて上腕５８Ｒの角度を制御できる。Ｙ軸は、上腕５８Ｒの長手方向（または軸）に平行な軸であり、Ｘ軸およびＺ軸は、そのＹ軸に、それぞれ異なる方向から直交する軸である。左肩関節５６Ｌは、Ａ軸，Ｂ軸およびＣ軸の各軸廻りにおいて上腕５８Ｌの角度を制御できる。Ｂ軸は、上腕５８Ｌの長手方向（または軸）に平行な軸であり、Ａ軸およびＣ軸は、そのＢ軸に、それぞれ異なる方向から直交する軸である。
【００２８】
上腕５８Ｒおよび５８Ｌのそれぞれの先端には、肘関節６０Ｒおよび６０Ｌを介して、前腕６２Ｒおよび６２Ｌが取り付けられる。肘関節６０Ｒおよび６０Ｌは、それぞれ、Ｗ軸およびＤ軸の軸廻りにおいて、前腕６２Ｒおよび６２Ｌの角度を制御できる。
【００２９】
なお、上腕５８Ｒおよび５８Ｌならびに前腕６２Ｒおよび６２Ｌ（いずれも図２）の変位を制御するＸ，Ｙ，Ｚ，Ｗ軸およびＡ，Ｂ，Ｃ，Ｄ軸では、「０度」がホームポジションであり、このホームポジションでは、上腕５８Ｒおよび５８Ｌならびに前腕６２Ｒおよび６２Ｌは下方向に向けられる。
【００３０】
また、図２では示さないが、上部胴体４６の肩関節５６Ｒおよび５６Ｌを含む肩の部分や上述の上腕５８Ｒおよび５８Ｌならびに前腕６２Ｒおよび６２Ｌを含む腕の部分には、それぞれ、タッチセンサ（図３において参照番号６４で包括的に示す。）が設けられていて、これらのタッチセンサ６４は、人がロボット１２のこれらの部位に接触したかどうかを検知する。
【００３１】
前腕６２Ｒおよび６２Ｌのそれぞれの先端には、手に相当する球体６６Ｒおよび６６Ｌがそれぞれ固定的に取り付けられる。ただし、指の機能（握る、掴む、摘むなど）が必要な場合には、球体６６Ｒおよび６６Ｌに代えて、人の手の形をした「手」を用いることも可能である。
【００３２】
上部胴体４６の中央上方には、首関節６８を介して、頭部７０が取り付けられる。この首関節６８は、３軸の自由度を有し、Ｓ軸，Ｔ軸およびＵ軸の各軸廻りに角度制御可能である。Ｓ軸は首から真上に向かう軸であり、Ｔ軸およびＵ軸は、それぞれ、このＳ軸に対して異なる方向で直交する軸である。頭部７０には、人の口に相当する位置に、スピーカ７２が設けられる。スピーカ７２は、ロボット１２が、それの周囲の人に対して音声または声によってコミュニケーションを図るために用いられる。ただし、スピーカ７２は、ロボット１２の他の部位たとえば胴体に設けられてもよい。
【００３３】
また、頭部７０には、目に相当する位置に眼球部７４Ｒおよび７４Ｌが設けられる。眼球部７４Ｒおよび７４Ｌは、それぞれ眼カメラ５４Ｒおよび５４Ｌを含む。なお、右の眼球部７４Ｒおよび左の眼球部７４Ｌをまとめて眼球部７４といい、右の眼カメラ５４Ｒおよび左の眼カメラ５４Ｌをまとめて眼カメラ５４ということもある。眼カメラ５４は、ロボット１２に接近した人の顔や他の部分ないし物体等を撮影してその映像信号を取り込む。
【００３４】
なお、上述の全方位カメラ５２および眼カメラ５４のいずれも、たとえばＣＣＤやＣＭＯＳのような固体撮像素子を用いるカメラであってよい。
【００３５】
たとえば、眼カメラ５４は眼球部７４内に固定され、眼球部７４は眼球支持部（図示せず）を介して頭部７０内の所定位置に取り付けられる。眼球支持部は、２軸の自由度を有し、α軸およびβ軸の各軸廻りに角度制御可能である。α軸およびβ軸は頭部７０に対して設定される軸であり、α軸は頭部７０の上へ向かう方向の軸であり、β軸はα軸に直交しかつ頭部７０の正面側（顔）が向く方向に直交する方向の軸である。この実施例では、頭部７０がホームポジションにあるとき、α軸はＳ軸に平行し、β軸はＵ軸に平行するように設定されている。このような頭部７０において、眼球支持部がα軸およびβ軸の各軸廻りに回転されることによって、眼球部７４ないし眼カメラ５４の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。
【００３６】
なお、眼カメラ５４の変位を制御するα軸およびβ軸では、「０度」がホームポジションであり、このホームポジションでは、図２に示すように、眼カメラ５４のカメラ軸は頭部７０の正面側（顔）が向く方向に向けられ、視線は正視状態となる。
【００３７】
図３には、ロボット１２の内部構成を示すブロック図が示される。この図３に示すように、ロボット１２は、全体の制御のためにマイクロコンピュータまたはＣＰＵ７６を含み、このＣＰＵ７６には、バス７８を通して、メモリ８０，モータ制御ボード８２，センサ入力／出力ボード８４および音声入力／出力ボード８６が接続される。
【００３８】
メモリ８０は、図示しないが、ＲＯＭやＨＤＤ、ＲＡＭ等を含み、ＲＯＭまたはＨＤＤにはこのロボット１２の制御プログラムおよびデータ等が予め格納されている。ＣＰＵ７６は、このプログラムに従って処理を実行する。具体的には、ロボット１２の身体動作を制御するための複数のプログラム（行動モジュールと呼ばれる。）が記憶される。たとえば、行動モジュールが示す身体動作としては、「握手」、「抱っこ」、「指差し」…などがある。行動モジュールが示す身体動作が「握手」である場合には、当該行動モジュールを実行すると、ロボット１２は、たとえば、右手を前に差し出す。また、行動モジュールが示す身体動作が「抱っこ」である場合には、当該行動モジュールを実行すると、ロボット１２は、たとえば、両手を前に差し出す。さらに、行動モジュールが示す身体動作が「指差し」である場合には、当該行動モジュールを実行すると、ロボット１２は、たとえば、右手（右腕）または左手（左腕）で所望の方向を指示する。また、ＲＡＭは、一時記憶メモリとして用いられるとともに、ワーキングメモリとして利用され得る。
【００３９】
モータ制御ボード８２は、たとえばＤＳＰ(Digital Signal Processor)で構成され、右腕、左腕、頭および眼等の身体部位を駆動するためのモータを制御する。すなわち、モータ制御ボード８２は、ＣＰＵ７６からの制御データを受け、右肩関節５６ＲのＸ，ＹおよびＺ軸のそれぞれの角度を制御する３つのモータと右肘関節６０Ｒの軸Ｗの角度を制御する１つのモータを含む計４つのモータ（図３ではまとめて、「右腕モータ」として示す。）８８の回転角度を調節する。また、モータ制御ボード８２は、左肩関節５６ＬのＡ，ＢおよびＣ軸のそれぞれの角度を制御する３つのモータと左肘関節６０ＬのＤ軸の角度を制御する１つのモータとを含む計４つのモータ（図３ではまとめて、「左腕モータ」として示す。）９０の回転角度を調節する。モータ制御ボード８２は、また、首関節６８のＳ，ＴおよびＵ軸のそれぞれの角度を制御する３つのモータ（図３ではまとめて、「頭部モータ」として示す。）９２の回転角度を調節する。モータ制御ボード８２は、また、腰モータ５０、および車輪３４を駆動する２つのモータ（図３ではまとめて、「車輪モータ」として示す。）３６を制御する。さらに、モータ制御ボード８２は、右眼球部７４Ｒのα軸およびβ軸のそれぞれの角度を制御する２つのモータ（図３ではまとめて、「右眼球モータ」として示す。）９４の回転角度を調節し、また、左眼球部７４Ｌのα軸およびβ軸のそれぞれの角度を制御する２つのモータ（図３ではまとめて、「左眼球モータ」として示す。）９６の回転角度を調節する。
【００４０】
なお、この実施例の上述のモータは、車輪モータ３６を除いて、制御を簡単化するためにそれぞれステッピングモータまたはパルスモータであるが、車輪モータ３６と同様に、直流モータであってよい。
【００４１】
センサ入力／出力ボード８４も、同様に、ＤＳＰで構成され、各センサやカメラからの信号を取り込んでＣＰＵ７６に与える。すなわち、超音波距離センサ４２の各々からの反射時間に関するデータがこのセンサ入力／出力ボード８４を通して、ＣＰＵ７６に入力される。また、全方位カメラ５２からの映像信号が、必要に応じてこのセンサ入力／出力ボード８４で所定の処理が施された後、ＣＰＵ７６に入力される。眼カメラ５４からの映像信号も、同様にして、ＣＰＵ７６に与えられる。また、タッチセンサ６４からの信号がセンサ入力／出力ボード８４を介してＣＰＵ７６に与えられる。
【００４２】
スピーカ７２には音声入力／出力ボード８６を介して、ＣＰＵ７６から、合成音声データが与えられ、それに応じて、スピーカ７２からはそのデータに従った音声または声が出力される。また、マイク２４からの音声入力が、音声入力／出力ボード８６を介してＣＰＵ７６に取り込まれる。
【００４３】
また、ＣＰＵ７６には、バス７８を通して、通信ＬＡＮボード９８が接続される。この通信ＬＡＮボード９８も、同様に、ＤＳＰで構成され、ＣＰＵ７６から与えられた送信データを無線通信装置１００に与え、無線通信装置１００から送信データを送信させる。また、通信ＬＡＮボード９８は無線通信装置１００を介してデータを受信し、受信データをＣＰＵ７６に与える。
【００４４】
図１に戻って、システム１０はモーションキャプチャシステム２０を含む。モーションキャプチャシステム（３次元動作計測装置）２０としては、公知のモーションキャプチャシステムが適用される。たとえば、ＶＩＣＯＮ社(http://www.vicon.com/)の光学式のモーションキャプチャシステムを用いることができる。図示は省略するが、モーションキャプチャシステム２０は、ＰＣ或いはＷＳのようなコンピュータを含み、このコンピュータとロボット２０とが、有線または無線ＬＡＮ（図示せず）によって互いに接続される。
【００４５】
図４を用いて具体的に説明すると、モーションキャプチャシステム２０においては、複数（少なくとも３つ）の赤外線照射機能を有するカメラ２０ａが、空間ないし環境に存在するロボット１２、人間１４、オブジェクトＯＢに対して異なる方向に配置される。ロボット１２および人間１４には、複数（この実施例では、３個）の赤外線反射マーカ３０が取り付けられる。具体的には、図４からも分かるように、赤外線反射マーカ３０は、ロボット１２および人間１４共に、頭頂および眼の上（額）に取り付けられる。これは、この実施例では、ロボット１２および人間１４の位置（３次元位置）および顔（視線）方向を検出するためである。ただし、位置や視線方向を正確に検出するために、さらに他の部位に赤外線反射マーカ３０を取り付けるようにしてもよい。また、ロボット１２および人間１４が存在する環境（空間）に存在する物（オブジェクトＯＢ）にも赤外線反射マーカ３０が取り付けられる。これは、オブジェクトＯＢの位置（３次元位置）もモーションキャプチャシステム２０によって検出するようにしてあるためである。ただし、オブジェクトＯＢをステレオカメラ等の他のセンサによって検出する場合には、赤外線反射マーカ３０を取り付ける必要はない。たとえば、ステレオカメラとしては、上述したロボット１２の眼カメラ５４を用いることができる。かかる場合には、ロボット１２が同じ場所で３６０°旋回し、そのとき取得される画像データに基づいて、ロボット１２を中心とするオブジェクトＯＢの相対位置（距離）を検出（算出）することができる。
【００４６】
モーションキャプチャシステム２０のコンピュータは、カメラ２０ａから画像データをたとえば６０Hz（１秒間に６０フレーム）で取得し、画像データを画像処理することによって、その計測時の全ての画像データにおける各マーカ３０の２次元位置を抽出する。そして、コンピュータは、画像データにおける各マーカ３０の２次元位置に基づいて、実空間における各マーカ３０の３次元位置を算出し、算出した３次元位置の座標データ（数値データ）を、ロボット１２（ＣＰＵ７６）からの要求に応じてロボット１２に送信する。
【００４７】
ロボット１２は、モーションキャプチャシステム２０から送信される座標データを取得し、自身、人間１４および環境内に存在するすべてのオブジェクトＯＢについての３次元位置を取得する。そして、ロボット１２は、自身を中心（原点）とした場合（ロボット座標）における、人間１４の位置（距離）および各オブジェクトＯＢの位置（距離）を検出（算出）する。また、このとき、ロボット１２は、人間１４と各オブジェクトＯＢとの距離も検出（算出）する。
【００４８】
このような構成のロボット１２は、上述したように、人間１４との間でコミュニケーションする場合には、身振り（ジェスチャ）および音声（発話）の少なくとも一方を用いたコミュニケーション行動を行う。たとえば、ロボット１２は、自身に対する人間１４のジェスチャや発話を検出して、そのようなコミュニケーション行動を決定する。
【００４９】
ここで、人間同士が環境内の物体（オブジェクト）について話すとき、指差し動作とともに、「これ」、「それ」、「あれ」といったような指示語を使用（発話）し、相手の注意（たとえば、視線や意識）をそのオブジェクトに向けている（誘導している）。このような指示動作を含む発話は、少ない語句で瞬時に相手の注意を誘導できるという点で、人間同士の自然なインタラクションにおいて重要な役割を担っていると言える。この指示語の役割は、ロボット１２と人間１４との間のインタラクションにおいても同様に重要であると考えられる。
【００５０】
しかし、従来のロボットでは、人間との間でインタラクションを行う場合には、単に指示語を発話するだけである。したがって、たとえば、ロボット、人間、オブジェクトがそれぞれ１つ存在するような単純な環境においては、指示語の発話だけで、人間の注意を当該オブジェクトに誘導することはできるが、オブジェクトが複数存在し、環境が複雑化すると、指示すべき１のオブジェクトを特定（判別）することができない。
【００５１】
これを回避するため、この実施例では、上述したような指差し動作を加えるようにしてある。ただし、オブジェクトＯＢが複数存在する複雑な環境下では、オブジェクトＯＢ同士が接近し過ぎた場合に、単なる指差し動作と指示語の発話とでは、１のオブジェクトＯＢを判別するのが困難である。
【００５２】
そこで、この実施例では、指差し動作と指示語のみでは所望のオブジェクトＯＢを判別できなくなる距離を限界距離ｄLIMとして定義し、当該限界距離ｄLIM以上所望のオブジェクトＯＢに接近する他のオブジェクトＯＢが存在する場合には、所望のオブジェクトの属性（色（色彩，模様など）、形状、大きさなど）などの言葉を指示語に加えて発話することにより、人間１４の注意を所望のオブジェクトＯＢに確実に誘導するようにしてある。
【００５３】
簡単に説明すると、（１）注意を誘導する物体（オブジェクトＯＢ）から限界距離ｄLIM以内に他のオブジェクトＯＢが存在しない場合には、指差し動作と指示語の発話とにより注意の誘導を行う。（２）限界距離ｄLIM以内に他のオブジェクトＯＢが存在し、注意を誘導すべきオブジェクトＯＢ（注目オブジェクトＯＢ）と他のオブジェクトＯＢとの属性が異なる場合には、指差し動作と指示語に加えて注目オブジェクトＯＢの属性を発話して注意の誘導を行う。なお、他のオブジェクＯＢが２以上存在する場合には、異なる属性を２つ以上発話する必要がある場合もある。（３）ただし、この実施例では、上記（１）および（２）の両方に当てはまらない場合には、指差し動作とその注目オブジェクトＯＢを一意に決定（判別）できる言葉を発話して注意の誘導を行う。ここで、注目オブジェクトＯＢを一意に決定できる言葉は、たとえば、各オブジェクトＯＢに予め付された記号（文字，数字）または図形或いはそれらの組み合わせによる図記号を表現する言葉である。また、ロボット１２や人間１４からの距離や他のオブジェクトＯＢとの位置関係などを表現する言葉などで一意に決定できる場合もある。
【００５４】
図５は、この実施例における指示語を決定するためのモデル（指示語決定モデル）１５０の一例を示す図解図である。この図５において、白丸は指示者ないし話し手（この実施例では、ロボット１２（Ｒ））を示し、黒丸は被指示者ないし受け手（この実施例では、人間１４（Ｈ））を示している。ただし、図５に示す指示語決定モデル１５０は、話し手、聞き手、オブジェクトが単体で（１つずつ）存在する単純な環境において、指示語（この実施例では、「これ」、「それ」、「あれ」）が変化する境界を発明者等の実験により得られた結果から決定し、モデル化したものである。
【００５５】
この図５を参照して分かるように、指示語決定モデル１５０は、ロボット１２が発話する指示語として「これ」が決定される領域（以下、「これ領域」という。）１５２およびロボット１２が発話する指示語として「それ」が決定される領域（以下、「それ領域」という。）１５４を含む。これ領域１５２およびそれ領域１５４は、それぞれ、ほぼ楕円形の曲線で規定される（仕切られる）。以下、これ領域１５２を規定する曲線を「これ・それ境界曲線」といい、それ領域１５４を規定する曲線を「それ・あれ境界曲線」という場合がある。
【００５６】
また、図５に示すように、指示語決定モデル１５０は、ロボット１２が発話する指示語として「あれ」が決定される領域（以下、「あれ領域」という。）１５６を含む。このあれ領域１５６は、上述したこれ領域１５２やそれ領域１５４とは異なり、四角形の直線で仕切られるが、これは環境（実験環境）の外枠であり、当該形状に限定されるべきではない。実際には、あれ領域１５６は、これ領域１５２およびそれ領域１５４以外の領域であり、それ領域１５４の外側の領域である。
【００５７】
また、図５に示すように、指示者と被指示者とを横方向に並べて記載した場合には、これ・それ境界曲線（これ領域１５２）は、指示者を中心とし、縦方向が長軸で横方向が短軸となる楕円形のような形状となる。一方、それ・あれ境界曲線（それ領域１５４）は、指示者と被指示者とを結ぶ線分の中点を中心とし、横方向が長軸で縦方向が短軸となる楕円形のような形状となる。
【００５８】
ただし、図５に示す指示語決定モデル１５０は、指示者と被指示者とがコミュニケーションする際に、一般的に取り得る距離（約１．２ｍ〜１．５ｍ）である場合の例であり、指示者と被指示者との距離に応じて適宜変化される（図６（Ａ）、図６（Ｂ）参照）。
【００５９】
具体的には、図６（Ａ）に示すように、指示者と被指示者とが近い（２者間の距離ｄSLが小）場合には、これ領域１５２を規定する楕円の短軸が短くされる。また、それ領域１５４を規定する楕円の長軸も短くされる。つまり、かかる場合には、これ領域１５２およびそれ領域が小さくされる。
【００６０】
逆に、図６（Ｂ）に示すように、指示者と被指示者とが遠い（２者間の距離ｄSLが大）場合には、これ領域１５２を規定する楕円の短軸が長くされる。また、それ領域１５４を規定する楕円の長軸が長くされる。ただし、指示者から遠くなるにつれて、短軸の長さが短くされる。また、指示者から見て被指示者とは反対側の曲線は変化されない。
【００６１】
このように、これ領域１５２およびそれ領域１５４を規定する楕円形の形状は、主として、指示者と被指示者との距離ｄSLに応じて変化される。このこともまた、発明者等の実験により得られた結果や経験則に基づいて決定し、後述するように、算出可能（図１２〜図１５に示す指示語決定処理のフロー図を参照）にしてある。
【００６２】
また、図６（Ａ）では表現することができないが（後述する図６（Ｂ）においても同じ。）、これ領域１５２およびそれ領域１５４では、その楕円の軸の長さを変化させるのみならず、指示者および被指示者の顔（視線）方向に応じて、楕円を形成する曲線の曲がり具合（歪曲）も変化させるようにしてある。これは、指示語を決定する際には、指示者および被指示者の顔（視線）方向も重要な要素と考えられるからである。
【００６３】
具体的には、指示者（話し手）側についての楕円形の近似式（極座標）は極座標を（ｘ，θ）とすると、数１で表される。
【００６４】
【数１】
2006231497.tif 000003
【００６５】
ここで、rは仮想円（図７（Ａ）参照）の半径であり、max_subtractは最大減算値（θ＝０°のとき最大）の変数であり、curve_adjustは楕円曲線の歪曲調整値の変数である。また、数１を概念図で示すと図７（Ａ）のように示される。つまり、指示者（ロボット１２）側では、これ領域１５２を規定する楕円の曲線およびそれ領域１５４を規定する楕円の曲線が数１に従って変化されるのである。
【００６６】
ただし、数１におけるmax_subtract × ｜cosθ｜curve_adjustは、θ＝０°の時に変数max_subtractそのものの値となり、θ＝９０°の時に０になる。これにより、仮想円の半径rから減算する値を角度毎に変化させて、楕円のような曲線を描く。なお、｜・｜は絶対値を意味する。
【００６７】
また、図７（Ｂ）に示すように、変数curve_adjustの値によって、上述した楕円のような曲線の歪曲が変化（調整）される。これは、上述したように、指示者と被指示者と接近している場合には、指示者と被指示者との間における、これ・それ境界曲線を厳格に決定する必要があるからである。図７（Ｂ）から分かるように、変数curve_adjustの値が大きくなれば、境界曲線（図７（Ｂ）では楕円の一部）の曲がり具合（歪曲）は緩やかになる。
【００６８】
また、被指示側（人間１４側）では、楕円形の近似式（極座標）は、極座標を（ｘ，θ）とすると、数２のように示される。
【００６９】
【数２】
2006231497.tif 000004
【００７０】
ここで、rは仮想円（図８参照）の半径であり、max_additionは最大加算値（θ＝９０°の時最大）の変数であり、curve_adjustは楕円曲線の歪曲調整値の変数である。また、数２を概念図で示すと図８のように示される。つまり、被指示者（人間１４）側では、これ領域１５２を規定する楕円の曲線およびそれ領域１５４を規定する楕円の曲線が数２に従って変化されるのである。
【００７１】
ただし、数２におけるmax_addition × (sinθ)curve_adjustは、θ＝９０°の時に変数max_additionそのものの値となり、θ＝０°の時に０になる。これにより、仮想円の半径rから加算する値を角度毎に変えて、楕円のような曲線を描く。図示は省略するが、変数curve_adjustについては、図７（Ｂ）を用いて説明した内容と同じである。
【００７２】
このようにして、指示語決定モデル１５０における、これ領域１５２およびそれ領域１５４が設定され、さらには、あれ領域１５６も設定される。そして、指示語決定モデル１５０上における注目オブジェクトＯＢの位置に応じて、指示語が決定される。
【００７３】
また、限界距離ｄLIMは、図９に示すように定義される。具体的には、オブジェクトＯＢ１およびオブジェクトＯＢ２が存在し、オブジェクトＯＢ２を注目オブジェクトとした場合、指差しの方向Ｌから角度θPの範囲にオブジェクトＯＢ１の端がかかった場合、人間はいずれのオブジェクト（ＯＢ１またはＯＢ２）を指差ししているかを判断することができない。すなわち、角度θPの範囲に他のオブジェクト（ここでは、ＯＢ１）の中心から端までの距離を指差しで判断することができない限界距離ｄLIMとして定義している。
【００７４】
上述したように、注目オブジェクトＯＢと他のオブジェクトＯＢとが、限界距離ｄLIMを超えて接近した場合には、注目オブジェクトＯＢの属性を現す言葉を指示語に付加して発話することで判別するようにしてある。この実施例では、オブジェクトＯＢの属性は、画像を解析することにより、取得するようにしてある。したがって、注目オブジェクトＯＢの色が緑色であり、他のオブジェクトＯＢの色が白色である場合には、つまり属性としての色彩が異なる場合には、たとえば、「その緑色を見て」のような言葉を発することができる。このようにして、注目オブジェクトＯＢが判別可能に指示されるのである。
【００７５】
具体的には、ロボット１２（ＣＰＵ７６）が人間１４の注意を誘導するためのコミュニケーション行動すなわち誘導動作を図１０および図１１に示すフロー図に従って処理する。図１０に示すように、ＣＰＵ７６は、誘導動作の処理を開始すると、ステップＳ１で、初期化する。具体的には、メモリ８０の作業領域やバッファ領域をクリアする。次のステップＳ３では、自身に対する人間１４の位置（距離ｄSL）、自身に対するすべてのオブジェクトＯＢの位置（角度θSOおよび距離ｄSO）を検出する。ただし、ロボット１２が中心（原点）である。また、このとき、自身と人間１４とを結ぶ基線に対する、自身の視線方向（θS）および人間１４の視線方向（θL）も検出する。さらに、各オブジェクトＯＢと人間１４との位置関係（角度θLOおよび距離ｄLO）も把握（検出）する。続くステップＳ５では、後述するオブジェクトＯＢの指示語決定処理（図１２〜図１５参照）を実行する。ただし、この指示語決定処理は、すべてのオブジェクトＯＢについて個別に実行される。
【００７６】
次のステップＳ７では、注目オブジェクトＯＢ（注意を誘導すべきオブジェクトＯＢ）を決定する。たとえば、注目オブジェクトＯＢは、人間１４とのインタラクションにおいて決定されたり、ＣＰＵ７６がランダムに（所定のルールに従って）決定したりする。ここで、人間１４とのインタラクションで注目オブジェクトＯＢを決定する方法としては、人間１４がロボット１２に対して発話する際に、指差ししたオブジェクトＯＢを注目オブジェクトＯＢとして決定することができる。かかる場合には、人間１４の動作を検出する必要がある。したがって、たとえば、人間１４の手（指）、肘、肩、胸のような特徴部位（特徴点）にもマーカ３０を装着しておき、モーションキャプチャシステム２０の出力に基づいて、当該人間１４の動作（ジェスチャ）を検出するようにしておけばよい。
【００７７】
続くステップＳ９では、指差しするための腕の角度を算出する。つまり、ロボット１２と注目オブジェクトＯＢとの位置と、ロボット１２から見た注目オブジェクトＯＢの方向とに基づいて、ロボット１２の右腕モータ８８または左腕モータ９０の回転（回転数もしくは回転角度）を算出する。次に、ステップＳ１１で、注目オブジェクトＯＢと他のオブジェクトＯＢとの距離を算出する。ただし、注目オブジェクトＯＢ以外のオブジェクトＯＢがロボット１２の存在する空間に存在しない場合やロボット１２の視野範囲内に注目オブジェクトＯＢ以外のオブジェクトＯＢが存在しない場合には、ステップＳ１１の処理を実行せずに、そのままステップＳ１３に進む。なお、ロボット１２の開発者ないしプログラマ等が当該ロボット１２の視野範囲を予め設定してメモリ８０に記憶しておけば、注目オブジェクトＯＢを決定したときに、当該注目オブジェクトＯＢを中心とする視野範囲に他のオブジェクトＯＢが存在するか否かを、オブジェクトＯＢの位置に基づいて容易に知ることができる。
【００７８】
ステップＳ１３では、限界距離ｄLIM以内に他のオブジェクトＯＢが存在するかどうかを判断する。ステップＳ１３で“ＮＯ”であれば、つまり限界距離ｄLIM以内に他のオブジェクトＯＢが存在しなければ、そのままステップＳ１９に進む。一方、ステップＳ１３で“ＹＥＳ”であれば、つまり限界距離ｄLIM以内に他のオブジェクトＯＢが存在すれば、ステップＳ１５で、当該他のオブジェクトＯＢは１つであり、かつ注目オブジェクトＯＢよりも遠方に存在するかどうかを判断する。
【００７９】
ステップＳ１５で“ＮＯ”であれば、つまり限界距離ｄLIM以内に存在する他のオブジェクトＯＢが２つ以上存在したり、他のオブジェクトＯＢが注目オブジェクトＯＢよりも手前に（ロボット１２側に）存在したりする場合には、発話内容は指示語のみでは足りないと判断して、図１１に示すステップＳ２１に進む。しかし、ステップＳ１５で“ＹＥＳ”であれば、つまり当該他のオブジェクトＯＢが１つであり、かつ注目オブジェクトＯＢよりも遠方に存在する場合には、ステップＳ１７で、指差し角度を下方に修正して、ステップＳ１９で、指差し動作を実行するとともに、指示語を発話して、誘導動作の処理を終了する。具体的には、ステップＳ９において算出した腕の角度またはステップＳ１７で修正された腕の角度になるように、右腕モータ８８または左腕モータ９０を駆動制御する。つまり、腕の角度に応じた駆動パルスがＣＰＵ７６からモータ制御ボードを介して右腕モータ８８または左腕モータ９０に与えられる。以下、指差し動作を実行する場合において同じ。また、ステップＳ３において注目オブジェクトＯＢに対して決定された指示語を発話する。つまり、ＣＰＵ７６は、メモリ８０に記憶された指示語（「これ」、「それ」または「あれ」）に対応する音声合成データを読み出し、音声入力／出力ボード８６を介してスピーカ７２から出力する。以下、指示語を発話する場合において同じ。
【００８０】
なお、ステップＳ１７において、指差し角度を下方に修正するので、発話内容は指示語のみで足り、したがって、ステップＳ１５で“ＹＥＳ”と判断されるのである。
【００８１】
図１１に示すように、ステップＳ２１では、注目オブジェクトＯＢを判別可能な属性があるかどうかを判断する。たとえば、注目オブジェクトＯＢと他のオブジェクトＯＢとの間で、色、形状または大きさに違いがあるかどうかを判断する。ここで、注目オブジェクトＯＢは、眼カメラ５４で取得された画像データを解析することにより得られる。ステップＳ２１で“ＹＥＳ”であれば、つまり注目オブジェクトＯＢを判別可能な属性があれば、ステップＳ２３で、指差し動作を実行するとともに、指示語に当該属性を加えて発話して、誘導動作の処理を終了する。しかし、ステップＳ２１で“ＮＯ”であれば、つまり注目オブジェクトＯＢを判別可能な属性がなければ、ステップＳ２５で、指差し動作を実行するとともに、注目オブジェクトを一意に決定できる言葉を発話して、誘導動作の処理を終了する。たとえば、上述したように、各オブジェクトＯＢに記号（文字，数字）を付しておき、画像解析により特定して、記号（文字，数字）を発話するようにすればよい。ただし、記号（文字，数字）は必ずしも画像を解析することにより特定する必要はない。たとえば、各オブジェクト０Ｂに、自身の識別情報（識別番号）を送信できるタグ（周波数タグ，赤外タグなど）を設けるとともに、異なる配置パターンで複数の赤外線反射マーカ３０を装着しておく。一方、ロボット１２にタグの受信機を設けておき、また、ロボット１２内部に、或いはロボット１２と通信可能なデータベースに、タグの識別情報（識別番号）に対応して、各オブジェクト０Ｂについての赤外線マーカ３０の配列パターンおよび各オブクトＯＢについて自身を一意に決定できる言葉を記憶しておく。このようにすれば、ロボット１２しておけば、モーションキャプチャシステム２２の出力から注目オブジェクトＯＢの位置を認識するとともに、受信したタグの識別情報と赤外線マーカ３０の配列パターンとに基づいて、データベースから当該注目オブジェクトＯＢを一意に決定できる言葉を取得することができる。
【００８２】
図１２〜図１５は、図１０に示したステップＳ５の指示語決定処理を示すフロー図である。上述したように、指示語決定処理は、オブジェクトＯＢのそれぞれについて実行される。ただし、ここでは、簡単のため、該当する１のオブジェクトＯＢについての指示語決定処理について説明することにする。
【００８３】
また、以下に説明する数式に使用される記号ないし変数は、図１６で示されるように、指示者（ロボット１２（Ｒ））と被指示者（人間１４（Ｈ））とオブジェクトＯＢとの位置関係（距離、方向）を定義したものである。なお、一部の変数については、上述したとおりである。図１６に示すように、ｄSLは指示者（ロボット１２（Ｒ））と被指示者（人間１４（Ｈ））との距離であり、ｄSOは指示者とオブジェクトＯＢ（Ｏ）との距離であり、ｄLOは被指示者とオブジェクトＯＢとの距離である。また、θSOは、指示者と被指示者とを結ぶ線分（以下、「基線」という。）に対して、指示者とオブジェクトＯＢとを結ぶ線分（直線）がなす角度である。一方、θLOは、基線に対して、被指示者とオブジェクトＯＢとを結ぶ線分（直線）がなす角度である。さらに、θSは、基線に対して指示者の視線方向がなす角度である。また、θLは、基線に対して被指示者の視線方向がなす角度である。
【００８４】
図１２に戻って、ＣＰＵ７６は、指示語決定処理を開始すると、ステップＳ３１で、オブジェクトＯＢが話し手（ここでは、ロボット１２自身）に近いかどうかを判断する。つまり、このオブジェクトＯＢとロボット１２との距離ｄSOが、当該オブジェクトＯＢと人間１４との距離ｄLO以下（ｄSO≦ｄLO）であるかどうかを判断する。ステップＳ３１で“ＮＯ”であれば、つまり距離ｄSOが距離ｄLOよりも長ければ（ｄSO＞ｄLO）、オブジェクトＯＢは聞き手（ここでは、人間１４）に近いと判断して、図１４に示すステップＳ６１にそのまま進む。一方、ステップＳ３１で“ＹＥＳ”であれば、つまり距離ｄSOが距離ｄLO以下であれば、オブジェクトＯＢは話し手（ロボット１２）に近いと判断し、ステップＳ３３で、角度θSOが９０°以上であるかどうかを判断する。つまり、オブジェクトＯＢが話し手の後ろ側にあるかどうかを判断する。
【００８５】
ステップＳ３３で“ＮＯ”であれば、つまり角度θSOが９０°未満であれば、オブジェクトＯＢが話し手の前にあると判断して、図１３に示すステップＳ５３に進む。一方、ステップＳ３３で“ＹＥＳ”であれば、つまり角度θSOが９０°以上であれば、オブジェクトＯＢが話し手の後ろ側にあると判断して、ステップＳ３５で、これ・それ境界KSborderと、それ・あれ境界SAborderとを数３に従って算出する。
【００８６】
【数３】
2006231497.tif 000005
【００８７】
ただし、変数max_subtractおよび変数curve_adjustは、後述する数４または数５に従って算出される。
【００８８】
次のステップＳ３７では、距離ｄSLが１ｍ以上であるかどうかを判断する。つまり、話し手（ロボット１２）と聞き手（人間１４）との距離が或る程度離れているかどうかを判断するのである。ステップＳ３７で“ＹＥＳ”であれば、つまり距離ｄSLが１ｍ以上であれば、ロボット１２と人間１４とが或る程度離れていると判断して、ステップＳ３９で、数４に従って、変数max_subtractおよび変数curve_adjustを算出して、ステップＳ４３に進む。一方、ステップＳ３７で“ＮＯ”であれば、つまり距離ｄSLが１ｍ未満であれば、ロボット１２と人間１４とは比較的接近していると判断して、ステップＳ４１で、数５に従って、変数max_subtractおよび変数curve_adjustを算出して、ステップＳ４３に進む。
【００８９】
【数４】
2006231497.tif 000006
【００９０】
【数５】
2006231497.tif 000007
【００９１】
ステップＳ４３では、これ・それ境界KSborderの内側にオブジェクトＯＢが存在するかどうかを判断する。具体的には、距離ｄSOがこれ・それ境界KSborder以下（ｄSO≦KSborder）であるかどうかを判断する。ステップＳ４３で“ＹＥＳ”であれば、つまり距離ｄSOがこれ・それ境界KSborder以下（ｄSO≦KSborder）であれば、これ・それ境界KSborderの内側にオブジェクトＯＢが存在すると判断して、指示語を「これ」に決定して、指示語決定処理をリターンする。つまり、ステップＳ４５では、今回指示語決定処理を実行したオブジェクトＯＢに関連付けて、決定された指示語（「これ」）がメモリ８０のバッファ領域等に記憶される。以下、指示語を決定する場合において同様である。
【００９２】
一方、ステップＳ４３で“ＮＯ”であれば、つまり距離ｄSOがこれ・それ境界KSborderを超えていれば（ｄSO＞KSborder）、これ・それ境界KSborderの外側にオブジェクトＯＢが存在すると判断して、ステップＳ４７で、それ・あれ境界SAborderの内側にオブジェクトＯＢが存在するかどうかを判断する。具体的には、距離ｄSOがそれ・あれ境界SAborder以下（ｄSO≦SAborder）であるかどうかを判断する。ステップＳ４７で“ＹＥＳ”であれば、つまり距離ｄSOがそれ・あれ境界SAborder以下（ｄSO≦SAborder）であれば、それ・あれ境界SAborderの内側にオブジェクトＯＢが存在すると判断して、ステップＳ４９で、指示語を「それ」に決定して、指示語決定処理をリターンする。一方、ステップＳ４７で“ＮＯ”であれば、つまり距離ｄSOがそれ・あれ境界SAborderを超えていれば（ｄSO＞SAborder）、それ・あれ境界SAborderの外側にオブジェクトＯＢが存在すると判断して、ステップＳ５１で、指示語を「あれ」に決定して、指示語決定処理をリターンする。
【００９３】
また、上述したように、ステップＳ３３で“ＮＯ”と判断されると、図１３のステップＳ５３で、数６に従って、これ・それ境界KSborderとそれ・あれ境界SAborderとを算出する。
【００９４】
【数６】
2006231497.tif 000008
【００９５】
続くステップＳ５５では、距離ｄSLが１ｍ以上あるかどうかを判断する。このステップＳ５５の処理は、上述したステップＳ３７の処理と同じであるため、簡単に説明することにする。以下、ステップＳ６５およびステップＳ７９についても同様である。ステップＳ５５で“ＹＥＳ”であれば、ステップＳ５７で、数７に従って、変数max_subtractおよび変数curve_adjustを算出して、図１２に示したステップＳ４３に進む。一方、ステップＳ５５で“ＮＯ”であれば、ステップＳ５９で、数８に従って、変数max_subtractおよび変数curve_adjustを算出して、ステップＳ４３に進む。
【００９６】
【数７】
2006231497.tif 000009
【００９７】
【数８】
2006231497.tif 000010
【００９８】
また、上述したように、ステップＳ３１で“ＮＯ”と判断すると、図１４に示すように、ステップＳ６１で、角度θLOが９０°以上であるかどうかを判断する。つまり、オブジェクトＯＢが聞き手（人間１４）の後ろ側にあるかどうかを判断する。ステップ６１で“ＮＯ”であれば、つまり角度θLOが９０°未満であれば、オブジェクトＯＢが聞き手の前側にあると判断して、図１５に示すステップＳ７７に進む。一方、ステップＳ６１で“ＹＥＳ”であれば、つまり角度θLOが９０°以上であれば、オブジェクトＯＢが聞き手の後ろ側にあると判断して、ステップＳ６３で、数９に従って、それ・あれ境界SAborderを算出する。
【００９９】
【数９】
2006231497.tif 000011
【０１００】
次のステップＳ６５では、距離ｄSLが１ｍ以上であるかどうかを判断する。ステップＳ６５で“ＹＥＳ”であれば、ステップＳ６７で、数１０に従って、変数ｒ、変数max_additionおよび変数curve_adjustを算出して、ステップＳ７１に進む。しかし、ステップＳ６５で“ＮＯ”であれば、ステップＳ６９で、数１１に従って、変数ｒ、変数max_additionおよび変数curve_adjustを算出して、ステップＳ７１に進む。
【０１０１】
【数１０】
2006231497.tif 000012
【０１０２】
【数１１】
2006231497.tif 000013
【０１０３】
ステップＳ７１では、それ・あれ境界SAborderの内側にオブジェクトＯＢが存在するかどうかを判断する。このステップＳ７１の処理は、上述したステップＳ４７の処理と同じであるため、簡単に説明することにする。ステップＳ７１で“ＹＥＳ”であれば、ステップＳ７３で、指示語を「それ」に決定し、指示語決定処理をリターンする。一方、ステップＳ７１で“ＮＯ”であれば、ステップＳ７５で、指示語を「あれ」に決定し、指示語決定処理をリターンする。
【０１０４】
また、上述したように、ステップＳ６１で“ＮＯ”であれば、図１５に示すステップＳ７７で、それ・あれ境界SAborderを数１２に従って算出する。
【０１０５】
【数１２】
2006231497.tif 000014
【０１０６】
次のステップＳ７９では、距離ｄSLが１ｍ以上であるかどうかを判断する。ステップＳ７９で“ＹＥＳ”であれば、ステップＳ８１で、数１３に従って、変数ｒ、変数max_additionおよび変数curve_adjustを算出して、図１４に示したステップＳ７１に進む。しかし、ステップＳ７９で“ＮＯ”であれば、ステップＳ８３で、数１４に従って、変数ｒ、変数max_additionおよび変数curve_adjustを算出して、ステップＳ７１に進む。
【０１０７】
【数１３】
2006231497.tif 000015
【０１０８】
【数１４】
2006231497.tif 000016
【０１０９】
なお、この実施例では、指示者と被指示者との距離ｄSLが０．５ｍ〜２．０ｍの範囲である場合を想定して、これ領域１５２（これ・それ境界）およびそれ領域１５４（それ・あれ境界）を算出するようにした。ただし、数１３からよく分かるように、距離ｄSLが大きくなり過ぎると、変数（半径）ｒの値が負となり、適切ではない。したがって、距離ｄSLが上述した範囲外である場合には、これ領域１５２（これ・それ境界）およびそれ領域１５４（それ・あれ境界）を算出する方法（数式）を適宜検討する必要がある。
【０１１０】
この実施例によれば、指差し動作と指示語の発話とを実行するので、指示語を用いて人間同士のような自然なコミュニケーションを実現することができる。
【０１１１】
また、この実施例によれば、指差し動作と指示語の発話のみではオブジェクトの判別ができない場合には、オブジェクトの属性を指示語に加えて発話するので、所望のオブジェクトに確実に人間の注意を誘導することができる。
【０１１２】
さらに、この実施例によれば、ロボットと人間との距離のみならず、両者の視線方向をも考慮して指示語決定モデルを設定するようにしてあるので、的確な指示語を決定することができる。つまり、不自然な指示語が発話されるのを防止することができる。
【０１１３】
他の実施例のシステム１０は、ロボット１２が指差し動作をできない場合を考慮した以外は、上述の実施例と同じであるため、重複した説明は省略する。具体的には、上述した誘導動作の処理の一部が異なる。他の実施例における誘導動作の処理のフロー図は、図１７および図１８のように示される。以下に、他の実施例における誘導動作の処理について説明するが、上述の実施例で図１０および図１１を用いて説明した内容と同じ内容については、簡単に説明することにする。
【０１１４】
図１７に示すように、ＣＰＵ７６は、誘導動作の処理を開始すると、ステップＳ９１で、初期化する。続くステップＳ９３では、自身に対する人間１４の位置（距離ｄSL）、自身に対するすべてのオブジェクトＯＢの位置（角度θSOおよび距離ｄSO）を検出する。また、このとき、自身と人間１４とを結ぶ基線に対する、自身の視線方向（θS）および人間１４の視線方向（θL）も検出する。さらに、各オブジェクトＯＢと人間１４との位置関係（角度θLOおよび距離ｄLO）も検出する。次のステップＳ９５では、オブジェクトＯＢの指示語決定処理を実行する。この指示語決定処理は、上述の実施例で図１２〜図１５を用いて説明した内容と同じである。したがって、その詳細な説明は省略する。
【０１１５】
続いて、ステップＳ９７では、注目オブジェクトＯＢ（注意を誘導すべきオブジェクトＯＢ）を決定し、ステップＳ９９では、指差しするための腕の角度を算出し、ステップＳ１０１では、注目オブジェクトＯＢと他のオブジェクトＯＢとの距離を算出する。
【０１１６】
次のステップＳ１０３では、現在指差し可能な状況であるかどうかを判断する。たとえば、ロボット１２が何らかのオブジェクトＯＢを手に持っている場合や障害物の存在により手を動かすことができない場合には、指差し動作することができない。ステップＳ１０３で“ＮＯ”であれば、つまり指差し不能であれば、図１８に示すステップＳ１０９に進む。一方、ステップＳ１０３で“ＹＥＳ”であれば、つまり指差し可能であれば、ステップＳ１０５で、限界距離ｄLIM以内に他のオブジェクトＯＢが存在するかどうかを判断する。つまり、ステップＳ１０１で算出した距離が限界距離ｄLIM以内となる他のオブジェクトＯＢが存在するかどうかを判断する。
【０１１７】
ステップＳ１０５で“ＹＥＳ”であれば、つまり限界距離ｄLIM以内の他のオブジェクトＯＢが存在すれば、指差し動作と指示語の発話のみでは注目オブジェクトＯＢを指示（誘導）できないと判断して、ステップＳ１０８で、指差し動作するとともに、指示語と属性とを発話して、誘導動作の処理を終了する。一方、ステップＳ１０５で“ＮＯ”であれば、つまり限界距離ｄLIM以内の他のオブジェクトＯＢが存在しなければ、指差し動作と指示語の発話のみで注目オブジェクトＯＢを指示（誘導）できると判断して、ステップＳ１０７で、指差し動作を実行するとともに、指示語を発話して、誘導動作の処理を終了する。
【０１１８】
図１８に示すように、ステップＳ１０９では、注目オブジェクトＯＢと同じ指示語が決定された他のオブジェクトＯＢが存在するかどうかを判断する。ステップＳ１０９で“ＹＥＳ”であれば、つまり注目オブジェクトＯＢと同じ指示語が決定された他のオブジェクトＯＢが存在すれば、ステップＳ１１５で、指示語と属性とを発話して、図１７に示したように、誘導動作の処理を終了する。一方、ステップＳ１０９で“ＮＯ”であれば、つまり注目オブジェクトＯＢと同じ指示語が決定された他のオブジェクトＯＢが存在しなければ、ステップＳ１１１で、同じ指示語ではないが、指示語境界付近に存在するオブジェクトＯＢが有るかどうかを判断する。ステップＳ１１１で“ＹＥＳ”であれば、つまり同じ指示語ではないが、指示語境界付近に存在するオブジェクトＯＢが有れば、ステップＳ１１５に進む。一方、ステップＳ１１１で“ＮＯ”であれば、つまり同じ指示語ではないが、指示語境界付近に存在するオブジェクトＯＢが無ければ、ステップＳ１１３で、指示語を発話して、誘導処理を終了する。
【０１１９】
他の実施例によれば、通常は所望のオブジェクトを指差し動作と指示語の発話とにより、人間の注意をそのオブジェクトに誘導するようにしてあるが、指差しできず、そのオブジェクトの判別が困難な場合には、指示語と属性とを発話するので、所望のオブジェクトに確実に注意を誘導することができる。また、指示語を用いて人間同士にような自然なコミュニケーションを実行できる点は、上述の実施例と同様である。
【０１２０】
なお、これらの実施例では、モーションキャプチャシステムを用いて、ロボット、人間およびオブジェクトの３次元位置およびロボットおよび人間の視線方向を検出するようにしたが、これは他のセンサを用いて検出することも可能である。たとえば、カメラ（イメージセンサ）と超音波センサとをロボットに搭載する。そして、カメラで撮影された画像を処理することにより、人間とオブジェクトとを検出する。また、超音波センサの出力によってロボットに対する人間およびオブジェクトの位置（距離、方向）を検出することができる。かかる場には、ロボットの全方位カメラや眼カメラおよび超音波センサを用いることができる。
【図面の簡単な説明】
【０１２１】
【図１】図１はこの発明のコミュニケーションロボットシステムの一例を示す図解図である。
【図２】図２は図１実施例に示すロボットの外観を説明するための図解図である。
【図３】図３は図１および図２に示すロボットの電気的な構成を示す図解図である。
【図４】図４はモーションキャプチャシステムで検出するマーカのロボット、人間およびオブジェクトへの装着状態を示す図解図である。
【図５】図５は図１実施例における指示語決定モデルの一例を示す図解図である。
【図６】図６は図１実施例における指示語決定モデルの他の例を示す図解図である。
【図７】図７は図５および図６に示す指示語決定モデルにおけるこれ・それ領域（境界）の決定方法およびその調整方法を説明するための図解図である。
【図８】図８は図５および図６に示す指示語決定モデルにおけるそれ・あれ領域（境界）の決定方法を説明するための図解図である。
【図９】図９は２つのオブジェクトが接近して存在する場合において指差しによるオブジェクトの判別が可能な限界距離を説明するための図解図である。
【図１０】図１０は図３に示すＣＰＵの誘導行動の処理の一部を示すフロー図である。
【図１１】図１１は図３に示すＣＰＵの誘導行動の処理の他の一部を示すフロー図である。
【図１２】図１２は図３に示すＣＰＵの指示語決定処理の一部を示すフロー図である。
【図１３】図１３は図３に示すＣＰＵの指示語決定処理の他の一部を示すフロー図である。
【図１４】図１４は図３に示すＣＰＵの指示語決定処理のその他の一部を示すフロー図である。
【図１５】図１５は図３に示すＣＰＵの指示語決定処理のさらに他の一部を示すフロー図である。
【図１６】図１６は図５および図６に示したような指示語決定モデルの各領域（境界）の決定または調整に用いる数式における変数を定義した図解図である。
【図１７】図１７はこの発明の他の実施例におけるＣＰＵの誘導行動の処理の一部を示すフロー図である。
【図１８】図１８はこの発明の他の実施例におけるＣＰＵの誘導行動の処理に他の一部を示すフロー図である。
【符号の説明】
【０１２２】
１０  …コミュニケーションロボットシステム
１２  …コミュニケーションロボット
２０  …モーションキャプチャシステム
３８  …衝突センサ
４２  …超音波距離センサ
５２  …全方位カメラ
５４  …眼カメラ
６４  …タッチセンサ
７６  …ＣＰＵ
８０  …メモリ
８２  …モータ制御ボード
８４  …センサ入力／出力ボード
８６  …音声入力／出力ボード
８８−９６  …モータ
９８  …通信ＬＡＮボード
１００  …無線通信装置
【図１】
2006231497.tif 000017
【図２】
2006231497.tif 000018
【図３】
2006231497.tif 000019
【図４】
2006231497.tif 000020
【図５】
2006231497.tif 000021
【図６】
2006231497.tif 000022
【図７】
2006231497.tif 000023
【図８】
2006231497.tif 000024
【図９】
2006231497.tif 000025
【図１０】
2006231497.tif 000026
【図１１】
2006231497.tif 000027
【図１２】
2006231497.tif 000028
【図１３】
2006231497.tif 000029
【図１４】
2006231497.tif 000030
【図１５】
2006231497.tif 000031
【図１６】
2006231497.tif 000032
【図１７】
2006231497.tif 000033
【図１８】
2006231497.tif 000034