(57)【要約】【課題】ロボットの認識機能の認識精度を向上させることができるようにする。【解決手段】行動決定機構部１０３が決定する行動が、認識処理を必要とする場合、行動決定機構部１０３は、ロボットとユーザとの距離を、認識処理に適切な距離に調整する旨の指令を距離推定部１１１に送出する。距離判定部１１３は、距離推定部１１１が推定したロボットとユーザとの距離が、閾値設定部１１２から供給された所定の範囲内に入っているかどうかを判定する。所定の範囲に入っていないと判定された場合、距離調整部１１４は、ロボットとユーザとの距離を調整する旨の指令を行動決定機構部１０３に送出する。行動決定機構部１０３は、距離調整部１１４から出力された指令に基づいて、行動指令情報を姿勢遷移機構部１０４または音声合成部１０５に出力する。本発明は、例えば、ロボットに適用できる。【選択図】      図６
2004230480.tif 000002
【特許請求の範囲】
【請求項１】
所定の認識対象を認識する認識機能を有するロボット装置において、
前記認識対象までの距離を推定するための情報を入力する情報入力手段と、
前記情報入力手段から供給された情報に基づいて、前記認識対象までの距離を推定する距離推定手段と、
前記距離推定手段により推定された前記距離に基づいて、前記認識対象までの距離を調整する距離調整手段と
を備えることを特徴とするロボット装置。
【請求項２】
前記情報入力手段は、周囲の状況を撮像し、画像信号を出力する複数の撮像手段を少なくとも有し、
前記距離推定手段は、前記複数の撮像手段が出力する画像信号を用いてステレオ処理することにより、前記認識対象までの距離を推定する
ことを特徴とする請求項１に記載のロボット装置。
【請求項３】
前記認識対象は、ユーザであり、
前記情報入力手段は、周囲の状況を撮像し、画像信号を出力する撮像手段を少なくとも有し、
前記距離推定手段は、前記撮像手段が出力する画像信号を用いて、前記ユーザの顔領域を検出し、その顔領域に基づいて、前記ユーザまでの距離を推定する
ことを特徴とする請求項１に記載のロボット装置。
【請求項４】
前記認識対象は、ユーザであり、
前記情報入力手段は、音声を入力する音声入力手段を少なくとも有し、
前記距離推定手段は、前記音声入力手段に入力される前記ユーザが発する音声の大きさに基づいて、前記ユーザまでの距離を推定する
ことを特徴とする請求項１に記載のロボット装置。
【請求項５】
前記情報入力手段は、超音波パルスを発して前記認識対象から反射する反射波を受信する超音波出力手段を少なくとも有し、
前記距離推定手段は、前記超音波出力手段が出力する値に基づいて、前記認識対象までの距離を推定する
ことを特徴とする請求項１に記載のロボット装置。
【請求項６】
前記距離調整手段は、前記ロボット装置を移動させることにより、前記認識対象までの距離を調整する
ことを特徴とする請求項１に記載のロボット装置。
【請求項７】
前記認識対象は、ユーザであり、
前記距離調整手段は、前記ユーザが移動するように、前記ロボット装置に行動させることにより、前記ユーザまでの距離を調整する
ことを特徴とする請求項１に記載のロボット装置。
【請求項８】
音声を出力する音声出力手段をさらに備え、
前記距離調整手段は、前記ユーザが移動するように、前記音声出力手段に音声を出力させることにより、前記ユーザまでの距離を調整する
ことを特徴とする請求項７に記載のロボット装置。
【請求項９】
前記距離調整手段は、前記ユーザが移動するように前記ユーザに促す動作を、前記ロボット装置にさせることにより、前記ユーザまでの距離を調整する
ことを特徴とする請求項７に記載のロボット装置。
【請求項１０】
前記距離推定手段により推定された前記距離が、所定の範囲内であるかどうかを判定する判定手段をさらに備え、
前記距離調整手段は、前記判定手段の判定結果に基づいて、前記認識対象までの距離を調整する
ことを特徴とする請求項１に記載のロボット装置。
【請求項１１】
前記所定の範囲を設定する範囲設定手段をさらに備える
ことを特徴とする請求項１０に記載のロボット装置。
【請求項１２】
前記範囲設定手段は、前記所定の範囲を、前記情報入力手段から得られる情報に基づいて、動的に設定する
ことを特徴とする請求項１１に記載のロボット装置。
【請求項１３】
所定の認識対象を認識する認識機能を有するロボット装置を制御するロボット制御方法において、
前記認識対象までの距離を推定する距離推定ステップと、
前記距離推定ステップの処理の結果に基づいて、前記認識対象までの距離を調整する距離調整ステップと
を含むことを特徴とするロボット制御方法。
【請求項１４】
所定の認識対象を認識する認識機能を有するロボット装置の制御をコンピュータに行わせるプログラムであって、
前記認識対象までの距離を推定する距離推定ステップと、
前記距離推定ステップの処理の結果に基づいて、前記認識対象までの距離を調整する距離調整ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１５】
所定の認識対象を認識する認識機能を有するロボット装置の制御をコンピュータに行わせるプログラムにおいて、
前記認識対象までの距離を推定する距離推定ステップと、
前記距離推定ステップの処理の結果に基づいて、前記認識対象までの距離を調整する距離調整ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボット装置およびロボット制御方法、記録媒体、並びにプログラムに関し、特に、例えば、ユーザとロボットの距離を調整することにより、ロボットの認識機能の認識精度を向上させることができるようにしたロボット装置およびロボット制御方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
近年においては、玩具等として、音声認識装置や画像認識装置などの認識機能を備えたロボット（本明細書においては、ぬいぐるみ状のものを含む）が製品化されている。例えば、音声認識装置を備えたロボットでは、ユーザが発した音声を音声認識し、その音声認識結果に基づいて、ある仕草をしたり、合成音を出力する等の行動を自律的に行うようになされている。
【０００３】
音声認識装置を備えたロボットが、ユーザが発した音声を音声認識する場合、音声を発したユーザが、ロボットから遠く離れすぎているときには、ロボットに装着されているマイクロホンにより取得されるユーザの発した音声波形の信号値は減衰し、相対的に雑音レベルが高くなる。つまり、マイクロホンにより取得されたユーザの音声信号のＳ／Ｎ比（Ｓｉｇｎａｌ  ｔｏ  Ｎｏｉｓｅ  ｒａｔｉｏ）は低くなる。また、一般に、ユーザ（発話者）とロボット（に装着されているマイクロホン）の距離が大きくなるほど、音声信号の波形は、残響特性の影響を強く受ける。従って、ユーザとロボットの距離が離れすぎているときには、ロボットの音声認識装置の認識精度は悪くなる。
【０００４】
反対に、ユーザとロボットの距離が近すぎるときには、ロボットに装着されているマイクロホンにより取得されるユーザの発した音声波形の信号値は、マイクロホンの検出可能な範囲を超えてしまう。従って、マイクロホンにより取得された音声波形は、飽和したものとなり、本来の音声波形より歪んだ波形となる。ユーザとロボットの距離が近すぎる場合には、ロボットの音声認識装置は、このような歪んだ波形を音声認識することとなるので、音声認識の精度は悪くなる。
【０００５】
そこで、音声認識結果とともに、周囲雑音の影響を検知する周囲雑音検知、入力音声のパワーが特定の閾値条件を満たす状況を検知するパワー不足検知、パワー過多検知などの状況検知を行い、音声認識結果と状況検知の結果を利用して、ロボットにおける音声認識精度劣化の問題に対処する方法が提案されている（例えば、非特許文献１参照）。
【０００６】
【非特許文献１】
岩沢，大中，藤田，「状況検知を利用したロボット用音声認識インタフェースの一手法とその評価」，人工知能学会研究会資料，社団法人人工知能学会，平成１４年１１月，ｐ．３３−３８
【０００７】
【発明が解決しようとする課題】
しかしながら、非特許文献１に示される方法では、ユーザ（発話者）とロボット（に装着されているマイクロホン）の距離が考慮されていない。そのため、例えば、ユーザが大きな声でロボットに話しかけているにもかかわらず、ユーザとロボットの距離が遠く離れているために、マイクロホンに入力された音声信号が、Ｓ／Ｎの低いものとなり、ユーザの音声を認識することができない場合に、ロボットがユーザに対してより大きな声による発声を求めるというような問題が発生しうる。
【０００８】
一方、画像認識装置を備えたロボットにおいて、画像認識装置がユーザを撮像して得られる画像を用いてユーザを識別する場合、ユーザとロボットとの間の距離が遠く離れすぎているときには、画像を撮像した撮像装置の解像度などの影響により、ユーザの識別精度が劣化する。例えば、ロボットの画像認識装置が、撮像装置が撮像したユーザの顔画像からユーザを識別する場合、ロボットの撮像装置からユーザまでの距離が遠くなるほど、撮像画像における顔領域の画素数が少なくなり、その結果、画像認識装置が認識に利用することができる有効な画素が少なくなるため、画像認識装置の認識精度は悪くなることがある。
【０００９】
また、ユーザとロボットとの距離が近すぎるときには、撮像装置が出力する画像の画枠内に、ユーザの顔領域の全体が入りきらず、画像認識装置によるユーザの識別精度が悪くなることがある。
【００１０】
本発明は、このような状況に鑑みてなされたものであり、例えば、ロボットに装着された、音声や画像などの認識装置が、ユーザなど認識対象の音声や画像などを認識する場合において、ロボットとユーザとの距離が認識装置に適切な距離となるように、ロボットとユーザとの距離を調整することにより、ロボットの認識装置の認識精度を向上させることができるようにするものである。
【００１１】
【課題を解決するための手段】
本発明のロボット装置は、認識対象までの距離を推定するための情報を入力する情報入力手段と、情報入力手段から供給された情報に基づいて、認識対象までの距離を推定する距離推定手段と、距離推定手段により推定された距離に基づいて、認識対象までの距離を調整する距離調整手段とを備えることを特徴とする。
【００１２】
情報入力手段は、周囲の状況を撮像し、画像信号を出力する複数の撮像手段を少なくとも有し、距離推定手段には、複数の撮像手段が出力する画像信号を用いてステレオ処理することにより、認識対象までの距離を推定させるようにすることができる。
【００１３】
認識対象は、ユーザであり、情報入力手段は、周囲の状況を撮像し、画像信号を出力する撮像手段を少なくとも有し、距離推定手段には、撮像手段が出力する画像信号を用いて、ユーザの顔領域を検出し、その顔領域に基づいて、ユーザまでの距離を推定させるようにすることができる。
【００１４】
認識対象は、ユーザであり、情報入力手段は、音声を入力する音声入力手段を少なくとも有し、距離推定手段には、音声入力手段に入力されるユーザが発する音声の大きさに基づいて、ユーザまでの距離を推定させるようにすることができる。
【００１５】
情報入力手段は、超音波パルスを発して認識対象から反射する反射波を受信する超音波出力手段を少なくとも有し、距離推定手段には、超音波出力手段が出力する値に基づいて、認識対象までの距離を推定させるようにすることができる。
【００１６】
距離調整手段には、ロボット装置を移動させることにより、認識対象までの距離を調整させるようにすることができる。
【００１７】
認識対象は、ユーザであり、距離調整手段には、ユーザが移動するように、ロボット装置に行動させることにより、ユーザまでの距離を調整させるようにすることができる。
【００１８】
音声を出力する音声出力手段をさらに設け、距離調整手段には、ユーザが移動するように、音声出力手段に音声を出力させることにより、ユーザまでの距離を調整させるようにすることができる。
【００１９】
距離調整手段には、ユーザが移動するようにユーザに促す動作を、ロボット装置にさせることにより、ユーザまでの距離を調整させるようにすることができる。
【００２０】
距離推定手段により推定された距離が、所定の範囲内であるかどうかを判定する判定手段をさらに設け、距離調整手段には、判定手段の判定結果に基づいて、認識対象までの距離を調整させるようにすることができる。
【００２１】
所定の範囲を設定する範囲設定手段をさらに設けることができる。
【００２２】
範囲設定手段は、所定の範囲を、情報入力手段から得られる情報に基づいて、動的に設定させるようにすることができる。
【００２３】
本発明のロボット制御方法は、認識対象までの距離を推定する距離推定ステップと、距離推定ステップの処理の結果に基づいて、認識対象までの距離を調整する距離調整ステップとを含むことを特徴とする。
【００２４】
本発明の記録媒体のプログラムは、認識対象までの距離を推定する距離推定ステップと、距離推定ステップの処理の結果に基づいて、認識対象までの距離を調整する距離調整ステップとを含むことを特徴とする。
【００２５】
本発明のプログラムは、認識対象までの距離を推定する距離推定ステップと、距離推定ステップの処理の結果に基づいて、認識対象までの距離を調整する距離調整ステップとをコンピュータに実行させることを特徴とする。
【００２６】
本発明においては、認識対象までの距離が推定され、推定された距離の結果に基づいて、認識対象までの距離が調整される。
【００２７】
【発明の実施の形態】
図１は、本発明を適用した２足歩行型のロボット１の正面方向の斜視図であり、図２は、ロボット１の背面方向からの斜視図である。また、図３は、ロボット１の軸構成について説明するための斜視図である。
【００２８】
ロボット１は、胴体部ユニット１１の上部に頭部ユニット１２が配設されるとともに、胴体部ユニット１１の上部左右に、同様の構成を有する腕部ユニット１３Ａおよび１３Ｂが所定位置にそれぞれ取り付けられ、かつ、胴体部ユニット１１の下部左右に、同様の構成を有する脚部ユニット１４Ａおよび１４Ｂが所定位置にそれぞれ取り付けられることにより構成されている。頭部ユニット１２には、タッチセンサ５１が設けられている。
【００２９】
胴体部ユニット１１においては、体幹上部を形成するフレーム２１および体幹下部を形成する腰ベース２２が、腰関節機構２３を介して連結することにより構成されており、体幹下部の腰ベース２２に固定された腰関節機構２３のアクチュエータＡ１、および、アクチュエータＡ２をそれぞれ駆動することによって、体幹上部を、図３に示す直交するロール軸２４およびピッチ軸２５の回りに、それぞれ独立に回転させることができるようになされている。
【００３０】
また頭部ユニット１２は、フレーム２１の上端に固定された肩ベース２６の上面中央部に首関節機構２７を介して取り付けられており、首関節機構２７のアクチュエータＡ３およびＡ４をそれぞれ駆動することによって、図３に示す直交するピッチ軸２８およびヨー軸２９の回りに、それぞれ独立に回転させることができるようになされている。
【００３１】
更に、腕部ユニット１３Ａおよび１３Ｂは、肩関節機構３０を介して肩ベース２６の左右にそれぞれ取り付けられており、対応する肩関節機構３０のアクチュエータＡ５およびＡ６をそれぞれ駆動することによって、図３に示す、直交するピッチ軸３１およびロール軸３２の回りに、それぞれを独立に回転させることができるようになされている。
【００３２】
腕部ユニット１３Ａおよび１３Ｂは、上腕部を形成するアクチュエータＡ７の出力軸に、肘関節機構３３を介して、前腕部を形成するアクチュエータＡ８が連結され、前腕部の先端に手部３４が取り付けられることにより構成されている。
【００３３】
そして腕部ユニット１３Ａおよび１３Ｂでは、アクチュエータＡ７を駆動することによって、前腕部を図３に示すヨー軸３５に対して回転させることができ、アクチュエータＡ８を駆動することによって、前腕部を図３に示すピッチ軸３６に対して回転させることができるようになされている。
【００３４】
脚部ユニット１４Ａおよび１４Ｂは、股関節機構３７を介して、体幹下部の腰ベース２２にそれぞれ取り付けられており、対応する股関節機構３７のアクチュエータＡ９乃至Ａ１１をそれぞれ駆動することによって、図３に示す、互いに直交するヨー軸３８、ロール軸３９、およびピッチ軸４０に対して、それぞれ独立に回転させることができるようになされている。
【００３５】
脚部ユニット１４Ａおよび１４Ｂは、大腿部を形成するフレーム４１の下端が、膝関節機構４２を介して、下腿部を形成するフレーム４３に連結されるとともに、フレーム４３の下端が、足首関節機構４４を介して、足部４５に連結されることにより構成されている。
【００３６】
これにより脚部ユニット１４Ａおよび１４Ｂにおいては、膝関節機構４２を形成するアクチュエータＡ１２を駆動することによって、図３に示すピッチ軸４６に対して、下腿部を回転させることができ、また足首関節機構４４のアクチュエータＡ１３およびＡ１４をそれぞれ駆動することによって、図３に示す直交するピッチ軸４７およびロール軸４８に対して、足部４５をそれぞれ独立に回転させることができるようになされている。
【００３７】
また、胴体部ユニット１１の体幹下部を形成する腰ベース２２の背面側には、後述するメイン制御部６１や周辺回路６２（いずれも図４）などを内蔵したボックスである、制御ユニット５２が配設されている。
【００３８】
図４は、ロボット１のアクチュエータとその制御系等の構成例を示している。
【００３９】
制御ユニット５２には、ロボット１全体の動作制御をつかさどるメイン制御部６１、電源回路および通信回路などの周辺回路６２、および、バッテリ７４（図５）などが収納されている
【００４０】
そして、制御ユニット５２は、各構成ユニット（胴体部ユニット１１、頭部ユニット１２、腕部ユニット１３Ａおよび１３Ｂ、並びに、脚部ユニット１４Ａおよび１４Ｂ）内にそれぞれ配設されたサブ制御部６３Ａ乃至６３Ｄと接続されており、サブ制御部６３Ａ乃至６３Ｄに対して必要な電源電圧を供給したり、サブ制御部６３Ａ乃至６３Ｄと通信を行う。
【００４１】
また、サブ制御部６３Ａ乃至６３Ｄは、対応する構成ユニット内のアクチュエータＡ１乃至Ａ１４と、それぞれ接続されており、メイン制御部６１から供給された各種制御コマンドに基づいて、構成ユニット内のアクチュエータＡ１乃至Ａ１４を、指定された状態に駆動させるように制御する。
【００４２】
図５は、ロボット１の電気的な内部構成例を示すブロック図である。
【００４３】
頭部ユニット１２には、ロボット１の「目」として機能するＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ  ）カメラ８１Ｌおよび８１Ｒ、「耳」として機能するマイクロホン８２−１乃至８２−Ｎ、タッチセンサ５１、並びに超音波センサ８３などからなる外部センサ部７１、および、「口」として機能するスピーカ７２などがそれぞれ所定位置に配設され、制御ユニット５２内には、バッテリセンサ９１および加速度センサ９２などからなる内部センサ部７３が配設されている。
【００４４】
そして、外部センサ部７１のＣＣＤカメラ８１Ｌおよび８１Ｒは、周囲の状況を撮像し、得られた画像信号Ｓ１Ａを、メイン制御部６１に送出する。マイクロホン８２−１乃至８２−Ｎは、ユーザから音声入力として与えられる「歩け」、「とまれ」または「右手を挙げろ」等の各種命令音声や周囲の背景雑音を集音し、得られた音声信号Ｓ１Ｂを、メイン制御部６１にそれぞれ送出する。なお、以下において、Ｎ個のマイクロホン８２−１乃至８２−Ｎを特に区別する必要がない場合には、マイクロホン８２と称する。
【００４５】
また、タッチセンサ５１は、例えば、図１および図２に示されるように頭部ユニット１２の上部に設けられており、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を、圧力検出信号Ｓ１Ｃとしてメイン制御部６１に送出する。
【００４６】
超音波センサ８３は、図示せぬ音源とマイクを有し、超音波センサ８３の内部の音源から、超音波パルスを発する。さらに、超音波センサ８３は、その超音波パルスがユーザその他の物体で反射され、返ってくる反射波を、マイクで受信し、超音波パルスを発してから、反射波を受信するまでの時間（以下、適宜、ラグ時間という）Ｓ１Ｄを求め、メイン制御部６１に送出する。
【００４７】
内部センサ部７３のバッテリセンサ９１は、バッテリ７４のエネルギ残量を所定の周期で検出し、検出結果をバッテリ残量検出信号Ｓ２Ａとして、メイン制御部６１に送出する。加速度センサ９２は、ロボット１の移動について、３軸方向（ｘ軸、ｙ軸およびｚ軸）の加速度を、所定の周期で検出し、その検出結果を、加速度検出信号Ｓ２Ｂとして、メイン制御部６１に送出する。
【００４８】
外部メモリ７５は、プログラムやデータ、および制御パラメータなどを記憶しており、そのプログラムやデータを必要に応じてメイン制御部６１に内蔵されるメモリ６１Ａに供給する。また、外部メモリ７５は、データ等をメモリ６１Ａから受け取り、記憶する。なお、外部メモリ７５は、ロボット１から着脱可能となされている。
【００４９】
メイン制御部６１は、メモリ６１Ａを内蔵している。メモリ６１Ａは、プログラムやデータを記憶しており、メイン制御部６１は、メモリ６１Ａに記憶されたプログラムを実行することで、各種の処理を行う。即ち、メイン制御部６１は、外部センサ部７１のＣＣＤカメラ８１Ｌおよび８１Ｒ、マイクロホン８２、タッチセンサ５１、および超音波センサ８３からそれぞれ供給される、画像信号Ｓ１Ａ、音声信号Ｓ１Ｂ、圧力検出信号Ｓ１Ｃ、およびラグ時間Ｓ１Ｄ（以下、これらをまとめて外部センサ信号Ｓ１と称する）と、内部センサ部７３のバッテリセンサ９１および加速度センサ等からそれぞれ供給される、バッテリ残量検出信号Ｓ２Ａおよび加速度検出信号Ｓ２Ｂ（以下、これらをまとめて内部センサ信号Ｓ２と称する）に基づいて、ロボット１の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無などを判断する。
【００５０】
そして、メイン制御部６１は、ロボット１の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無の判断結果と、内部メモリ６１Ａに予め格納されている制御プログラム、あるいは、そのとき装填されている外部メモリ７５に格納されている各種制御パラメータなどに基づいて、ロボット１の行動を決定し、その決定結果に基づく制御コマンドを生成して、対応するサブ制御部６３Ａ乃至６３Ｄに送出する。サブ制御部６３Ａ乃至６３Ｄは、メイン制御部６１から供給された制御コマンドに基づいて、アクチュエータＡ１乃至Ａ１４のうち、対応するものの駆動を制御する。これにより、ロボット１は、例えば、頭部ユニット１２を上下左右に揺動かさせたり、腕部ユニット１３Ａ、あるいは、腕部ユニット１３Ｂを上に挙げたり、脚部ユニット１４Ａと１４Ｂを交互に駆動させて、歩行するなどの行動を行う。
【００５１】
また、メイン制御部６１は、必要に応じて、所定の音声信号Ｓ３をスピーカ７２に与えることにより、音声信号Ｓ３に基づく音声を外部に出力させる。更に、メイン制御部６１は、外見上の「目」として機能する、頭部ユニット１２の所定位置に設けられた、図示しないＬＥＤに対して駆動信号を出力することにより、ＬＥＤを点滅させる。
【００５２】
このようにして、ロボット１は、周囲および内部の状況（状態）や、ユーザからの指令および働きかけの有無などに基づいて、自律的に行動する。
【００５３】
図６は、図５のメイン制御部６１の機能的構成例を示している。なお、図６に示す機能的構成は、メイン制御部６１が、メモリ６１Ａに記憶された制御プログラムを実行することで実現されるようになっている。
【００５４】
メイン制御部６１は、特定の外部状態を認識する状態認識情報処理部１０１、状態認識情報処理部１０１の認識結果等に基づいて更新される、ロボット１の感情、本能、あるいは、成長の状態などのモデルを記憶するモデル記憶部１０２、状態認識情報処理部１０１の認識結果等に基づいて、ロボット１の行動を決定する行動決定機構部１０３、行動決定機構部１０３の決定結果に基づいて、実際にロボット１に行動を起こさせる姿勢遷移機構部１０４、合成音を生成する音声合成部１０５、行動決定機構部１０３からの指令に基づいて、ロボット１とユーザとの距離の調整を制御する距離制御部１１０から構成されている。
【００５５】
状態認識情報処理部１０１には、マイクロホン８２や、ＣＣＤカメラ８１Ｌおよび８１Ｒ、タッチセンサ５１等から音声信号、画像信号、圧力検出信号等が、ロボット１の電源が投入されている間、常時入力される。そして、状態認識情報処理部１０１は、マイクロホン８２や、ＣＣＤカメラ８１Ｌおよび８１Ｒ、タッチセンサ５１等から与えられる音声信号、画像信号、圧力検出信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報を、モデル記憶部１０２および行動決定機構部１０３に常時出力する。なお、ここでは、例えば、ユーザとロボット１との距離が、状態認識情報処理部１０１が音声認識や画像認識などを行ううえで、最適（適切）な距離ではなく、状態認識情報処理部１０１が精度の良い認識を行うことが困難である場合であっても、状態認識情報処理部１０１は、上述の認識結果を表す状態認識情報をモデル記憶部１０２および行動決定機構部１０３に出力するものとする。
【００５６】
状態認識情報処理部１０１は、音声認識部１０１Ａ、画像認識部１０１Ｂ、および圧力処理部１０１Ｃを有している。
【００５７】
音声認識部１０１Ａは、マイクロホン８２−１乃至８２−Ｎそれぞれから与えられる音声信号Ｓ１Ｂについて音声認識を行う。そして、音声認識部１０１Ａは、例えば、「歩け」、「止まれ」、「右手を挙げろ」等の指令、その他の音声認識結果を、状態認識情報として、モデル記憶部１０２および行動決定機構部１０３に通知する。
【００５８】
また、画像認識部１０１Ｂは、ＣＣＤカメラ８１Ｌおよび８１Ｒから与えられる画像信号Ｓ１Ａを用いて、画像認識処理を行う。そして、画像認識部１０１Ｂは、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」等の画像認識結果を、状態認識情報として、モデル記憶部１０２および行動決定機構部１０３に通知する。
【００５９】
ここで、ユーザは、一般に、ロボット１の正面方向から話しかけることが多いと予想されるため、周囲の状況を撮像するＣＣＤカメラ８１Ｌおよび８１Ｒは、その撮像方向が、ロボット１の正面方向になるように、頭部ユニット１２（図１）に設置されているものとする。
【００６０】
なお、ユーザが、ロボット１の正面方向からはずれた、例えば、側面や背面方向などから話しかけてきた場合には、ＣＣＤカメラ８１Ｌおよび８１Ｒにおいて、ユーザを撮像することができないことになる。そこで、例えば、マイクロホン８２−１乃至８２−Ｎに到達する音声信号のパワー差や位相差から音源の方向を推定し、そのマイクロホン８２−１乃至８２−Ｎのうち、最大の音声レベルが得られるものの方向に、頭部ユニット１２を動かすことによって、ＣＣＤカメラ８１Ｌおよび８１Ｒにおいて、ユーザを撮像することができるようにすることが可能である。なお、音声認識においては、例えば、最大の音声レベルが得られるマイクロホン（ロボット１がユーザの方向を向いた場合には、基本的には、正面方向に設けられているマイクロホン）が出力する音声データが、音声認識の対象とされる。
【００６１】
また、例えば、マイクロホン８２として、ＣＣＤカメラ８１Ｌおよび８１Ｒの撮像方向と同一方向の指向性を有するマイクロホンを採用し、マイクロホン８２に入力される音声レベルが最大となる方向に、頭部ユニット１２を動かし、これにより、ＣＣＤカメラ８１Ｌおよび８１Ｒにおいて、ユーザを撮像することができるようにすることも可能である。
【００６２】
圧力処理部１０１Ｃは、タッチセンサ５１から与えられる圧力検出信号Ｓ１Ｃを処理する。そして、圧力処理部１０１Ｃは、その処理の結果、例えば、所定の閾値以上で、かつ短時間の圧力を検出したときには、「叩かれた（しかられた）」と認識し、所定の閾値未満で、かつ長時間の圧力を検出したときには、「撫でられた（ほめられた）」と認識して、その認識結果を、状態認識情報として、モデル記憶部１０２および行動決定機構部１０３に通知する。
【００６３】
モデル記憶部１０２は、ロボット１の感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶、管理している。
【００６４】
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態（度合い）を、所定の範囲（例えば、−１．０乃至１．０等）の値によってそれぞれ表し、状態認識情報処理部１０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態（度合い）を、所定の範囲の値によってそれぞれ表し、状態認識情報処理部１０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態（度合い）を、所定の範囲の値によってそれぞれ表し、状態認識情報処理部１０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【００６５】
モデル記憶部１０２は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を、状態情報として、行動決定機構部１０３に送出する。
【００６６】
なお、モデル記憶部１０２には、状態認識情報処理部１０１から状態認識情報が供給される他、行動決定機構部１０３から、ロボット１の現在または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部１０２は、同一の状態認識情報が与えられても、行動情報が示すロボット１の行動に応じて、異なる状態情報を生成するようになっている。
【００６７】
即ち、例えば、ロボット１が、ユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部１０２に与えられ、この場合、モデル記憶部１０２では、「うれしさ」を表す感情モデルの値が増加される。
【００６８】
一方、ロボット１が、何らかの仕事を実行中に頭を撫でられた場合には、仕事を実行中であるという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部１０２に与えられ、この場合、モデル記憶部１０２では、「うれしさ」を表す感情モデルの値は変化されない。
【００６９】
このように、モデル記憶部１０２は、状態認識情報だけでなく、現在または過去のロボット１の行動を示す行動情報も参照しながら、感情モデルの値を設定する。これにより、例えば、何らかのタスクを実行中に、ユーザが、いたずらするつもりで頭を撫でたときに、「うれしさ」を表す感情モデルの値を増加させるような、不自然な感情の変化が生じることを回避することができる。
【００７０】
なお、モデル記憶部１０２は、本能モデルおよび成長モデルについても、感情モデルにおける場合と同様に、状態認識情報および行動情報の両方に基づいて、その値を増減させるようになっている。また、モデル記憶部１０２は、感情モデル、本能モデル、成長モデルそれぞれの値を、他のモデルの値にも基づいて増減させるようになっている。
【００７１】
行動決定機構部１０３は、状態認識情報処理部１０１からの状態認識情報や、モデル記憶部１０２からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容が、例えば、「ダンスをする」というような音声認識処理や画像認識処理を必要としない場合、その行動の内容を、行動指令情報として、姿勢遷移機構部１０４に送出する。
【００７２】
すなわち、行動決定機構部１０３は、ロボット１がとり得る行動をステート（状態：ｓｔａｔｅ）に対応させた有限オートマトンを、ロボット１の行動を規定する行動モデルとして管理しており、この行動モデルとしての有限オートマトンにおけるステートを、状態認識情報処理部１０１からの状態認識情報や、モデル記憶部１０２における感情モデル、本能モデル、または成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
【００７３】
ここで、行動決定機構部１０３は、所定のトリガ（ｔｒｉｇｇｅｒ）があったことを検出すると、ステートを遷移させる。即ち、行動決定機構部１０３は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部１０２から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下または以上になったとき等に、ステートを遷移させる。
【００７４】
なお、行動決定機構部１０３は、上述したように、状態認識情報処理部１０１からの状態認識情報だけでなく、モデル記憶部１０２における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値（状態情報）によっては、ステートの遷移先は異なるものとなる。
【００７５】
一方、行動決定機構部１０３が、状態認識情報処理部１０１からの状態認識情報や、モデル記憶部１０２からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容が、例えば、ユーザが発する音声を認識して対応する発話を行う「ユーザと会話する」や、ユーザ（の顔画像）を認識して、そのユーザに対して手を振る動作を行う「ユーザに手を振る」というような音声認識処理や画像認識処理を必要とする場合、行動決定機構部１０３は、上述した状態認識情報処理部１０１の音声認識部１０１Ａや画像認識部１０１Ｂが、精度良く認識することができるように、ロボット１とユーザとの距離を調整する旨の指令を距離制御部１１０に送出する。また、上述したように、状態認識情報処理部１０１が、認識精度としては良くない認識結果であっても、例えば、画像信号の肌色領域などから判断されるユーザの顔画像などを検出し、検出した旨を示す状態認識情報を行動決定機構部１０３に送出する場合、行動決定機構部１０３は、ユーザの顔画像をさらに精度良く認識することができるように、ロボット１とユーザとの距離を調整する旨の指令を距離制御部１１０に送出する。
【００７６】
そして、距離制御部１１０から行動決定機構部１０３にロボット１とユーザとの距離が調整されたことの指令が供給されたときに、行動決定機構部１０３は、その指令が供給されたときと同じタイミングで、状態認識情報処理部１０１から供給されている状態認識情報を、認識精度の良い状態認識情報として取得し、上述したような、例えば、「ユーザと会話する」や「ユーザに手を振る」などの、行動決定機構部１０３自身が先に決定した動作を行う（その行動の内容を、行動指令情報として、姿勢遷移機構部１０４に送出する）。
【００７７】
なお、行動決定機構部１０３では、上述したように、ロボット１の頭部や手足等を動作させる行動指令情報の他、ロボット１に発話を行わせる行動指令情報も生成される。ロボット１に発話を行わせる行動指令情報は、音声合成部１０５に供給されるようになっており、音声合成部１０５に供給される行動指令情報には、音声合成部１０５に生成させる合成音に対応するテキスト等が含まれる。そして、音声合成部１０５は、行動決定機構部１０３から行動指令情報を受信すると、その行動指令情報に含まれるテキストに基づき、合成音を生成し、スピーカ７２に供給して出力させる。例えば、行動決定機構部１０３が、ロボット１の発話によってロボット１とユーザとの距離を調整したい旨の指令を、後述する距離制御部１１０より受け取ると、行動決定機構部１０３は、例えば、「少し離れてください」あるいは、「もう少し近づいてください」などのテキストを含んだ行動指令情報を音声合成部１０５に送出する。この場合、スピーカ７２からは、「少し離れてください」あるいは、「もう少し近づいてください」などの音声出力（ロボット１による発話）が行われる。
【００７８】
距離制御部１１０は、距離推定部１１１、閾値設定部１１２、距離判定部１１３、および距離調整部１１４から構成されている。上述したように、距離制御部１１０には、行動決定機構部１０３からロボット１とユーザとの距離を調整する旨の指令が供給される。また、外部センサ部７１（図５）のＣＣＤカメラ８１Ｌおよび８１Ｒ、マイクロホン８２、タッチセンサ５１、および超音波センサ８３から画像信号Ｓ１Ａ、音声信号Ｓ１Ｂ、圧力検出信号Ｓ１Ｃ、およびラグ時間Ｓ１Ｄ、すなわち、外部センサ信号Ｓ１も、距離制御部１１０に常時供給される。
【００７９】
距離推定部１１１は、外部センサ部７１からの各種の信号を基に、ロボット１とユーザとの距離を推定し、その推定したロボット１とユーザとの距離を推定距離情報として、距離判定部１１３と距離調整部１１４に送出する。
【００８０】
すなわち、距離推定部１１１は、ＣＣＤカメラ８１Ｌおよび８１Ｒから供給される画像信号Ｓ１Ａのなかに、ユーザの顔画像が含まれる場合、その画像信号Ｓ１Ａのなかの顔画像の領域（以下、顔画像領域と称する）に基づいて、ロボット１とユーザとの距離を推定する。人間の顔画像の検出は、例えば、画像信号Ｓ１Ａから肌色の領域を検出することにより行われる。なお、ユーザの顔画像領域を用いる距離の推定は、１つのＣＣＤカメラで行うことも可能であるので、ＣＣＤカメラ８１Ｌまたは８１Ｒのうちのいずれか一方の画像信号から行うようにしてもよい。
【００８１】
また、距離推定部１１１は、ＣＣＤカメラ８１Ｌおよび８１Ｒを用いて、ステレオ処理を行うことにより、ロボット１とユーザとの距離を推定する。ステレオ処理の原理についての詳細な説明は、後述する。
【００８２】
さらに、距離推定部１１１は、超音波センサ８３から供給されるラグ時間Ｓ１Ｄに基づいて、ロボット１とユーザとの距離を推定する。
【００８３】
また、距離推定部１１１は、マイクロホン８２から供給される音声に基づいて、ロボット１とユーザとの距離を推定する。即ち、音声信号Ｓ１Ｂが、マイクロホン８２から距離推定部１１１に供給された場合、すなわち、ユーザが音声を発した場合、距離推定部１１１は、入力されたユーザの音声の大きさ（レベル）からロボット１とユーザとの距離を推定する。また、距離推定部１１１は、マイクロホン８２−１乃至８２−Ｎそれぞれから供給される音声に基づいて、音声を発したユーザの方向（音源方向）を推定する。
【００８４】
距離推定部１１１は、上述したようにＣＣＤカメラ８１Ｌおよび８１Ｒ、マイクロホン８２、超音波センサ８３などから供給されるそれぞれの信号から、ロボット１とユーザとの距離をそれぞれ推定し、さらに、その推定結果から、総合的にロボット１とユーザとの距離を推定する。総合的に推定された距離は、推定距離情報として、距離推定部１１１から距離判定部１１３および距離調整部１１４に出力される。
【００８５】
閾値設定部１１２は、後述する距離判定部１１３で利用される閾値としての所定の範囲（例えば、ロボット１の位置を基準とした第１の位置から第２の位置までの範囲）Ｒおよび距離調整部１１４で利用される閾値Ｄ１を予め記憶しており、その所定の範囲Ｒと閾値Ｄ１を、距離判定部１１３と距離調整部１１４にそれぞれ供給する。
【００８６】
ここで、所定の範囲Ｒは、例えば、ロボット１がユーザの顔画像の認識、または、ユーザが発する音声の認識などを行うために適切な、ロボット１とユーザとの距離であり、例えば、ＣＣＤカメラ８１Ｌおよび８１Ｒ、マイクロホン８２、音声認識部１０１Ａ、画像処理部１０１Ｂの性能等に基づいて決定することができる。また、閾値Ｄ１は、ユーザがロボット１に対して近い位置にいるか、または遠い位置にいるかを判定するのに用いられる。後述する距離調整部１１４においては、ロボット１とユーザとの距離が、閾値Ｄ１と比較されることにより調整されるため、閾値Ｄ１を、例えば、所定の範囲Ｒ内の値にすれば、ロボット１とユーザとの距離が、所定の範囲Ｒ内になるように調整されることになる。従って、閾値Ｄ１は、例えば、所定の範囲Ｒを２分する値とされる。
【００８７】
距離判定部１１３には、距離推定部１１１から推定距離情報としてのロボット１とユーザとの距離（推定値）と、閾値設定部１１２から所定の範囲Ｒが供給される。そして、距離判定部１１３は、ロボット１とユーザとの距離が、所定の範囲Ｒ内であるかどうかを判定する。
【００８８】
距離判定部１１３は、距離推定部１１１から距離判定部１１３に供給されるロボット１とユーザとの距離が、所定の範囲Ｒ内であると判定した場合、行動決定機構部１０３に対して、ロボット１とユーザとの距離が所定の範囲Ｒ内である旨の指令を送出する。
【００８９】
一方、距離判定部１１３は、距離推定部１１１から距離判定部１１３に供給されるロボット１とユーザとの距離が、所定の範囲Ｒ内でないと判定した場合、距離調整部１１４に対して、ロボット１とユーザとの距離を調整する旨の指令を送出する。
【００９０】
距離調整部１１４には、上述したように、距離推定部１１１からロボット１とユーザとの推定距離情報が供給される。また、距離調整部１１４には、ロボット１とユーザとの距離が、所定の位置より遠い（大きい）か、または近い（小さい）かどうかを判断するための閾値Ｄ１が閾値設定部１１２から供給される。そして、距離調整部１１４は、距離判定部１１３から距離を調整する旨の指令を受け取ると、距離調整部１１４は、推定距離情報と閾値Ｄ１に基づき、距離推定部１１１から供給されたロボット１とユーザとの距離が、閾値Ｄ１よりも遠いか、または近いかを判断する。次に、距離調整部１１４は、その判断結果に応じて、ロボット１とユーザとの距離を調整するための各種の指令信号を、行動決定機構部１０３に送出する。
【００９１】
ここで、ロボット１とユーザとの距離を調整する方法としては、例えば、ユーザがロボット１に対して、近づく、または離れるように促す発話を行う方法がある。この場合、距離調整部１１４は、例えば、「ユーザに近づく、または離れるように発話する」などの行動依頼の指令を行動決定機構部１０３に送出する。この指令を受け取った行動決定機構部１０３は、上述したように音声合成部１０５に、例えば、「少し離れてください」あるいは、「もう少し近づいてください」などのテキストを含んだ行動指令情報を音声合成部１０５に送出する。この場合、音声合成部１０５では、「少し離れてください」や「もう少し近づいてください」などのユーザの移動を促す合成音が生成され、スピーカ７２から出力される。そして、その音声を聞いたユーザが、その音声に従い、ロボット１に対して離れるように、または近づくように移動することにより、ロボット１とユーザとの距離が調整される。
【００９２】
また、ロボット１とユーザとの距離を調整する他の方法としては、例えば、ユーザがロボット１に対して、近づく、または離れるように促す動作（ロボット１の仕草）を行う方法がある。この場合、距離調整部１１４は、例えば、ユーザに近づいて欲しいときには、「手招きをする」、ユーザに離れて欲しいときには、「追い払う」などの行動依頼の指令を行動決定機構部１０３に送出する。この指令を受け取った行動決定機構部１０３は、上述したように、その行動の内容を行動指令情報として、姿勢遷移機構部１０４に送出する。姿勢遷移機構部１０４は、行動決定機構部１０３から供給される行動指令情報に基づいて、ロボット１の姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これをサブ制御部６３Ａ乃至６３Ｄに送出する。サブ制御部６３Ａ乃至６３Ｄは、上述したように、ロボット１の手や足となる腕部ユニット１３Ａおよび１３Ｂや脚部ユニット１４Ａおよび１４Ｂなどを動かす。その結果、ロボット１はユーザに対して、「手招きをする」や「追い払う」などの動作を行い、その動作を見たユーザが、その動作に従い、ロボット１に対して離れるように、または近づくように移動することにより、ロボット１とユーザとの距離が調整される。
【００９３】
さらに、ロボット１とユーザとの距離を調整する他の方法としては、例えば、ロボット１自身がユーザとの距離を調整するように行動する（移動する）方法がある。その場合、距離調整部１１４は、例えば、「ユーザ方向（前）に歩く（移動する）」や「ユーザから離れる方向（後ろ）に歩く（移動する）」などの行動依頼の指令を行動決定部１０３に送出する。この指令を受け取った行動決定機構部１０３は、その行動の内容を行動指令情報として、姿勢遷移機構部１０４に送出する。そして、上述したように、姿勢遷移機構部１０４が姿勢遷移情報を生成し、その姿勢遷移情報をサブ制御部６３Ａ乃至６３Ｄに送出することにより、ロボット１は、ユーザに対して、前や後ろに移動する。その結果、ロボット１とユーザとの距離が調整される。
【００９４】
姿勢遷移機構部１０４は、上述したように、行動決定機構部１０３から供給される行動指令情報に基づいて、ロボット１の姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これをサブ制御部６３Ａ乃至６３Ｄに送出する。
【００９５】
次に、図７を参照して、超音波センサ８３の出力から距離を推定する原理について説明する。
【００９６】
超音波センサ８３は、図示せぬ音源とマイクロホンを有し、図７に示すように、音源から、超音波パルスを発する。さらに、超音波センサ８３は、その超音波パルスが障害物で反射され、返ってくる反射波を、マイクロホンで受信し、超音波パルスを発してから、反射波を受信するまでの時間（ラグ時間）を求める。このようにして求めた時間（ラグ時間）から、障害物までの距離を求めることができる。
【００９７】
次に、図８乃至図１２を参照して、ＣＣＤカメラ８１Ｌおよび８１Ｒからの画像信号を用いてステレオ処理（ステレオマッチング法による処理）を行うことにより、ロボット１とユーザとの距離を推定する原理について説明する。
【００９８】
ステレオ処理は、２つ以上の方向（異なる視線方向）からカメラで同一対象物を撮影して得られる複数の画像間の画素同士を対応付けることで、対応する画素間の視差情報や、カメラから対象物までの距離を求めるものである。
【００９９】
即ち、いま、ＣＣＤカメラ８１Ｌと８１Ｒを、それぞれ基準カメラ８１Ｌと検出カメラ８１Ｒというとともに、それぞれが出力する画像を、基準カメラ画像と検出カメラ画像というものとして、例えば、図８に示すように、基準カメラ８１Ｌおよび検出カメラ８１Ｒで、撮像対象物としてのユーザを撮影すると、基準カメラ８１Ｌからはユーザの投影像を含む基準カメラ画像が得られ、検出カメラ８１Ｒからもユーザの投影像を含む検出カメラ画像が得られる。そして、いま、例えば、ユーザの口部上のある点Ｐが、基準カメラ画像および検出カメラ画像の両方に表示されているとすると、その点Ｐが表示されている基準カメラ画像上の位置と、検出カメラ画像上の位置、つまり対応点（対応画素）とから、視差情報を求めることができ、さらに、三角測量の原理を用いて、点Ｐの３次元空間における位置（３次元位置）を求めることができる。
【０１００】
従って、ステレオ処理では、まず、対応点を検出することが必要となるが、その検出方法としては、例えば、エピポーラライン（Ｅｐｉｐｏｌａｒ  Ｌｉｎｅ）を用いたエリアベースマッチング法などがある。
【０１０１】
即ち、図９に示すように、基準カメラ８１Ｌにおいては、ユーザ上の点Ｐは、その点Ｐと基準カメラ８１Ｌの光学中心（レンズ中心）Ｏ１とを結ぶ直線Ｌ上の、基準カメラ１の撮像面Ｓ１との交点ｎａに投影される。
【０１０２】
また、検出カメラ８１Ｒにおいては、ユーザ上の点Ｐは、その点Ｐと検出カメラ８１Ｒの光学中心（レンズ中心）Ｏ２とを結ぶ直線上の、検出カメラ８１Ｒの撮像面Ｓ２との交点ｎｂに投影される。
【０１０３】
この場合、直線Ｌは、光学中心Ｏ１およびＯ２、並びに点ｎａ（または点Ｐ）の３点を通る平面と、検出カメラ画像が形成される撮像面Ｓ２との交線Ｌ２として、撮像面Ｓ２上に投影される。点Ｐは、直線Ｌ上の点であり、従って、撮像面Ｓ２において、点Ｐを投影した点ｎｂは、直線Ｌを投影した直線Ｌ２上に存在し、この直線Ｌ２はエピポーララインと呼ばれる。即ち、点ｎａの対応点ｎｂが存在する可能性のあるのは、エピポーララインＬ２上であり、従って、対応点ｎｂの探索は、エピポーララインＬ２上を対象に行えば良い。
【０１０４】
ここで、エピポーララインは、例えば、撮像面Ｓ１に形成される基準カメラ画像を構成する画素ごとに考えることができるが、基準カメラ８１Ｌと検出カメラ８１Ｒの位置関係が既知であれば、その画素ごとに存在するエピポーララインは、例えば計算によって求めることができる。
【０１０５】
エピポーララインＬ２上の点からの対応点ｎｂの検出は、例えば、次のようなエリアベースマッチングによって行うことができる。
【０１０６】
即ち、エリアベースマッチングでは、図１０Ａに示すように、基準カメラ画像上の点ｎａを中心（例えば、対角線の交点）とする、例えば長方形状の小ブロック（以下、適宜、基準ブロックという）が、基準カメラ画像から抜き出されるとともに、図１０Ｂに示すように、検出カメラ画像に投影されたエピポーララインＬ２上の、ある点を中心とする、基準ブロックと同一の大きさの小ブロック（以下、適宜、検出ブロックという）が、検出カメラ画像から抜き出される。
【０１０７】
ここで、図１０Ｂの実施の形態においては、エピポーララインＬ２上に、検出ブロックの中心とする点として、点ｎｂ１乃至ｎｂ６の６点が設けられている。この６点ｎｂ１乃至ｎｂ６は、図９に示した３次元空間における直線Ｌを、所定の一定距離ごとに区分する点、即ち、基準カメラ８１Ｌからの距離が、例えば、１ｍ，２ｍ，３ｍ，４ｍ，５ｍ，６ｍの点それぞれを、検出カメラ８１Ｒの撮像面Ｓ２に投影した点で、従って、基準カメラ８１Ｌからの距離が１ｍ，２ｍ，３ｍ，４ｍ，５ｍ，６ｍの点にそれぞれ対応している。
【０１０８】
エリアベースマッチングでは、検出カメラ画像から、エピポーララインＬ２上に設けられている点ｎｂ１乃至ｎｂ６それぞれを中心とする検出ブロックが抜き出され、各検出ブロックと、基準ブロックとの相関が、所定の評価関数を用いて演算される。そして、点ｎａを中心とする基準ブロックとの相関が最も高い検出ブロックの中心の点ｎｂが、点ｎａの対応点として求められる。
【０１０９】
即ち、例えば、いま、評価関数として、相関が高いほど小さな値をとる関数を用いた場合に、エピポーララインＬ２上の点ｎｂ１乃至ｎｂ６それぞれについて、例えば、図１１に示すような評価値（評価関数の値）が得られたとする。この場合、評価値が最も小さい（相関が最も高い）点ｎｂ３が、点ｎａの対応点として検出される。なお、図１１において、点ｎｂ１乃至ｎｂ６それぞれについて求められた評価値（図１１において黒丸印で示す）のうちの最小値付近のものを用いて補間を行い、評価値がより小さくなる点（図１１においてバツ印で示す）を求めて、その点を、最終的な対応点として検出することも可能である。
【０１１０】
図１０の実施の形態では、上述したように、３次元空間における直線Ｌを所定の等距離ごとに区分する点を、検出カメラ８１Ｒの撮像面Ｓ２に投影した点が設定されているが、この設定は、例えば、基準カメラ８１Ｌおよび検出カメラ８１Ｒのキャリブレーション時に行うことができる。そして、このような設定を、基準カメラ８１Ｌの撮像面Ｓ１を構成する画素ごとに存在するエピポーララインごとに行い、図１２Ａに示すように、エピポーラライン上に設定された点（以下、適宜、設定点という）と、基準カメラ８１Ｌからの距離とを対応付ける設定点／距離テーブルをあらかじめ作成しておけば、対応点となる設定点を検出し、設定点／距離テーブルを参照することで、即座に、基準カメラ８１Ｌからの距離（ユーザまでの距離）を求めることができる。即ち、いわば、対応点から、直接、距離を求めることができる。
【０１１１】
一方、基準カメラ画像上の点ｎａについて、検出カメラ画像上の対応点ｎｂを検出すれば、その２点ｎａおよびｎｂの間の視差（視差情報）を求めることができる。さらに、基準カメラ８１Ｌと検出カメラ８１Ｒの位置関係が既知であれば、２点ｎａおよびｎｂの間の視差から、三角測量の原理によって、ユーザまでの距離を求めることができる。視差から距離の算出は、所定の演算を行うことによって行うことができるが、あらかじめその演算を行っておき、図１２Ｂに示すように、視差ζと距離との対応付ける視差／距離テーブルをあらかじめ作成しておけば、対応点を検出し、視差を求め、視差／距離テーブルを参照することで、やはり、即座に、基準カメラ８１Ｌからの距離を求めることができる。
【０１１２】
ここで、視差と、ユーザまでの距離とは一対一に対応するものであり、従って、視差を求めることとと、ユーザまでの距離を求めることとは、いわば等価である。
【０１１３】
また、対応点の検出に、基準ブロックおよび検出ブロックといった複数画素でなるブロックを用いるのは、ノイズの影響を軽減し、基準カメラ画像上の画素（点）ｎａの周囲の画素のパターンの特徴と、検出カメラ画像上の対応点（画素）ｎｂの周囲の画素のパターンの特徴との相関性を明確化して判断することにより、対応点の検出の確実を期すためであり、特に、変化の少ない基準カメラ画像および検出カメラ画像に対しては、画像の相関性により、ブロックの大きさが大きければ大きいほど対応点の検出の確実性が増す。
【０１１４】
なお、エリアベースマッチングにおいて、基準ブロックと検出ブロックとの相関性を評価する評価関数としては、基準ブロックを構成する画素と、それぞれの画素に対応する、検出ブロックを構成する画素の画素値の差分の絶対値の総和や、その差分の自乗和、正規化された相互相関（ｎｏｒｍａｌｉｚｅｄ  ｃｒｏｓｓ  ｃｏｒｒｅｌａｔｉｏｎ）などを用いることができる。
【０１１５】
以上、ステレオ処理について簡単に説明したが、ステレオ処理（ステレオマッチング法）については、その他、例えば、安居院、長尾、「Ｃ言語による画像処理入門」、昭晃堂  ｐｐ．１２７ページなどにも記載されている。
【０１１６】
次に、図１３のフローチャートを参照して、図６のメイン制御部６１が行うロボット１の動作処理について説明する。この処理は、ロボット１の電源投入と同時に開始される。
【０１１７】
初めに、ステップＳ１において、行動決定機構部１０３は、状態認識情報処理部１０１からの状態認識情報や、モデル記憶部１０２からの状態情報、時間経過等に基づいて、ロボット１の行動を決定して、ステップＳ２に進む。
【０１１８】
ステップＳ２において、行動決定機構部１０３は、ステップＳ１で決定された行動が、認識処理を必要とする行動であるか否かを判定する。ここで、認識処理を必要としない行動としては、上述したように、例えば、「ダンスをする」などがある。また、認識処理を必要とする行動としては、上述したように、例えば、「ユーザと会話する」などがある。
【０１１９】
ステップＳ２において、ステップＳ１で決定された行動が認識処理を必要とする行動であると判定された場合、ステップＳ３に進み、行動決定機構部１０３は、距離推定部１１１に距離を調整する旨の指令を送出して、ステップＳ４に進む。
【０１２０】
ステップＳ４において、距離推定部１１１は、行動決定機構部１０３から距離を調整する旨の指令を受け取ると、ロボット１と認識処理の対象（認識対象）であるユーザとの距離を推定する距離推定処理を行う。距離推定処理の詳細については、図１４を参照して後述するが、この処理により、ロボット１とユーザとの距離が推定され、その推定された距離を表す推定距離情報が、距離推定部１１１から距離判定部１１３および距離調整部１１４に供給される。
【０１２１】
ステップＳ４の処理の後、ステップＳ５に進み、距離判定部１１３は、ステップＳ４の処理により距離推定部１１１から供給された、ロボット１とユーザとの距離が、閾値設定部１１２より予め供給され、距離判定部１１３に設定されている所定の範囲Ｒ内に入っているか否かを判定する。
【０１２２】
ステップＳ５において、ロボット１とユーザとの距離が、所定の範囲Ｒの内側に入っていないと判定された場合、ステップＳ６に進み、距離判定部１１３は、ロボット１とユーザとの距離を調整する旨の指令を距離調整部１１４に出力して、ステップＳ７に進む。
【０１２３】
ステップＳ７において、距離調整部１１４は、距離判定部１１３からロボット１とユーザとの距離を調整する旨の指令を受け取ると、ロボット１とユーザとの距離を調整する後述する処理（距離調整処理）を実行する。そして、ステップＳ７からステップＳ４に戻り、以下、ステップＳ４乃至Ｓ７の処理が繰り返される。ステップＳ４乃至Ｓ７の処理が繰り返されることにより、ロボット１とユーザとの距離は所定の範囲Ｒ内、即ち、認識処理に適切な距離にされる。
【０１２４】
一方、ステップＳ５において、ロボット１とユーザとの距離が、所定の範囲Ｒ内に入っていると判定された場合、即ち、ロボット１とユーザとの距離が、認識処理に適切な距離になっている場合、ステップＳ８に進み、距離判定部１１３は、ロボット１とユーザとの距離が所定の範囲内である旨の指令を行動決定機構部１０３に出力して、ステップＳ９に進む。
【０１２５】
また、上述のステップＳ２において、ステップＳ１で決定された行動が認識処理を必要とする行動でないと判定された場合も、ステップＳ９に進み、行動決定機構部１０３は、ステップＳ１で決定された行動に対応する行動指令情報を、姿勢遷移機構部１０４または音声合成部１０５に送出する。
【０１２６】
ここで、認識処理を必要とする場合としては、例えば、「ダンスをする」などがあり、認識処理を必要としない場合としては、例えば、「ユーザと会話する」などがある。また、例えば、「さようなら」という音声を発して、「手を振る」などのように、ロボット１の行動の内容によっては、姿勢遷移機構部１０４および音声合成部１０５の両方に行動指令情報を送出することもできる。
【０１２７】
ステップＳ９の処理の後、ステップＳ１０に進み、行動決定機構部１０３は、ロボット動作処理を終了するかどうかを判定し、終了しないと判定した場合、ステップＳ１に戻り、それ以降の処理が繰り返される。
【０１２８】
また、ステップＳ１０において、ロボット動作処理を終了すると判定された場合、即ち、例えば、ユーザによって、ロボット１の電源がオフ状態とされた場合、ロボット動作処理が終了される。
【０１２９】
次に、図１４のフローチャートを参照して、図１３のステップＳ４における、距離推定部１１１の距離推定処理について説明する。
【０１３０】
ステップＳ２１において、距離推定部１１１は、ＣＣＤカメラ８１Ｌおよび８１Ｒが撮像した画像信号からユーザの顔画像を検出したか否か（画像信号に顔画像が含まれるか否か）を判定する。
【０１３１】
ステップＳ２１において、ＣＣＤカメラ８１Ｌおよび８１Ｒが撮像した画像信号から顔画像を検出したと判定された場合、ステップＳ２２に進み、距離推定部１１１は、その画像信号における顔画像領域の大きさからロボット１とユーザとの距離を推定し、ステップＳ２３に進む。ここで、画像信号における顔画像領域の大きさからロボット１とユーザとの距離を推定する方法としては、例えば、顔画像領域の大きさ（画素数）と、ロボット１とユーザとの距離を対応づけたテーブルを予め用意し、そのテーブルに基づいて、顔画像領域の大きさからロボット１とユーザとの距離を推定する方法がある。
【０１３２】
一方、ステップＳ２１において、ＣＣＤカメラ８１Ｌおよび８１Ｒが撮像した画像信号から顔画像を検出していないと判定された場合、即ち、例えば、ＣＣＤカメラ８１Ｌおよび８１Ｒが出力する画像信号に、十分な大きさの顔画像領域が存在しない場合、ステップＳ２２をスキップして、ステップＳ２３に進み、距離推定部１１１は、ＣＣＤカメラ８１Ｌおよび８１Ｒからの画像信号を用いて、上述したステレオ処理によりロボット１とユーザとの距離を推定してステップＳ２４に進む。
【０１３３】
ステップＳ２４において、距離推定部１１１は、超音波センサ８３が距離制御部１１０に出力したラグ時間より、ロボット１とユーザとの距離を推定して、ステップＳ２５に進む。
【０１３４】
ステップＳ２５において、距離推定部１１１は、マイクロホン８２に音声入力があったか否か、即ち、ユーザがロボット１に音声を発していたか否かを判定する。マイクロホン８２に音声入力があったと判定された場合、ステップＳ２６に進み、距離推定部１１１は、マイクロホン８２から距離制御部１１０に供給された音声信号を用いて、マイクロホン８２に入力されたユーザの音声の大きさからロボット１とユーザとの距離を推定する。また、距離推定部１１１は、マイクロホン８２−１乃至８２−Ｎそれぞれの音声信号から、音声を発したユーザの方向（音源方向）を推定し、ステップＳ２７に進む。
【０１３５】
また、ステップＳ２５において、マイクロホン８２に音声入力がなかったと判定された場合、ステップＳ２６の処理をスキップして、ステップＳ２７に進み、距離推定部１１１は、ステップＳ２２，Ｓ２３，Ｓ２４、およびＳ２６それぞれで推定されたロボット１とユーザとの距離から、総合的なロボット１とユーザとの距離を推定する。
【０１３６】
ここで、上述した顔画像領域の大きさ、ステレオ処理、ラグ時間、および入力されたユーザの音声のそれぞれから推定される距離の推定精度を比較する。入力されたユーザの音声からの距離の推定は、音声ボリューム（音声信号のレベル）の大小と距離とを関連付けるものであるが、人間が通常発話するときの声のボリュームは、人さまざまで、元々声が小さい人であったり、大きい人であったりすることもあるので、音声ボリュームの大小と距離との相関度は、ユーザによってバラツキがあることがあり得る。
【０１３７】
顔画像領域の大きさから距離を推定する方法は、ＣＣＤカメラ８１Ｌおよび８１Ｒの有効画素の領域に対して、極端に顔画像領域が小さい（ロボット１とユーザとの距離が遠すぎる）、または、顔画像領域が入りきらないほど大きい（ロボット１とユーザとの距離が近すぎる）場合、そのような顔画像領域から推定されるロボット１とユーザとの距離は、誤差が大きくなることがあり得る。
【０１３８】
ステレオ処理によって距離を推定する方法も、顔画像領域の大きさから距離を推定する場合と同様に、画像信号におけるユーザの画像部分の大きさなどの影響を受ける。
【０１３９】
一方、超音波センサ８３が出力するラグ時間から距離を推定する方法は、上述の他の３つの方法のようにユーザの画像や音声の影響を受けないため、最も信頼度が高いと考えられる。
【０１４０】
そこで、総合的な距離の推定方法としては、例えば、４つの推定結果である距離の値にそれぞれの信頼度にあわせた重みを付け、その重みを推定結果にそれぞれ乗算し、それらの平均値（重み付け平均値）を総合的な距離とする方法を採用することができる。
【０１４１】
また、例えば、ステレオ処理や顔画像領域による距離の推定などの画像認識を行ったユーザの方向（頭部ユニット１２の正面方向）とマイクロホン８２−１乃至８２−Ｎそれぞれの音声信号から距離推定部１１１が推定したユーザの方向（音源方向）が異なる方向である場合には、マイクロホン８２−１乃至８２−Ｎが集音した音声は、認識対象ではない別のユーザが発した音声であるとして、入力音声による距離の推定結果を除外して総合的な距離を推定するようにしてもよい。また、例えば、信頼度が最も低いと一般に考えられる音声入力からの距離の推定結果と、その他の３つの方法による距離の推定結果を比較して、音声入力からの距離の推定結果が、その他の３つの方法による距離の推定結果と、極端に差のある値となった場合には、音声入力からの距離の推定結果を破棄し、その他の３つの方法による距離の推定結果だけを用いて、ロボット１とユーザとの総合的な距離を推定するようにしてもよい。また、その他の総合的な距離の推定方法としては、４つの方法または、その４つの方法のうちの複数の方法により得られた距離の推定結果のメジアン（中央値）を求める方法を採用してもよい。
【０１４２】
ここで、超音波センサ８３の出力から推定する距離の結果は、ロボット１とユーザとの間に障害物がない場合は、最も信頼度が高いと考えられるが、一方で、ロボット１とユーザとの間に障害物がある場合、その障害物を検出してしまうということがありうる。そのため、例えば、超音波センサ８３の出力から推定した距離が、ステレオ処理や顔画像領域の大きさから推定された距離よりも極端に小さい（ロボット１とユーザとの距離が近い）場合は、障害物がロボット１とユーザの間のロボット１に極めて近い位置にあり、超音波センサ８３が、その障害物を検出しているとして、距離推定部１１１において、超音波センサ８３の出力を除外して総合的な距離を推定するようにすることもできる。
【０１４３】
以上のように、距離推定部１１１は、外部センサ部７１の各種のセンサの出力信号から、ロボット１とユーザとの距離を推定する。なお、ロボット１とユーザとの距離の推定にあたっては、必ずしも上述の４つの距離の推定方法を採用しなければならないわけではなく、そのうちのいずれかのみを採用してもよいし、その他の距離の推定方法を採用するようにしてもよい。その他の距離の推定方法としては、例えば、ＰＳＤ（Ｐｏｓｉｔｉｏｎ  Ｓｅｎｓｉｔｉｖｅ  Ｄｅｔｅｃｔｏｒ）を用いた距離の推定方法がある。ＰＳＤによる距離の推定は、次のようなものである。すなわち、ＰＳＤとともに設けられたＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）が発光し、物体に反射して戻ってくる反射光をＰＳＤが受光する。ＰＳＤは、その反射光の位置情報を基に、三角測量の原理で物体とＰＳＤとの距離を推定する。
【０１４４】
次に、図１５のフローチャートを参照して、図１３のステップＳ７における距離調整部１１４の距離調整処理の第１の実施の形態（第１の距離調整処理）について説明する。
【０１４５】
初めに、ステップＳ４１において、距離調整部１１４は、図１３のステップＳ４（図１３）で距離推定部１１１が推定し、距離調整部１１４に供給された、ロボット１とユーザとの距離が、閾値設定部１１２から距離調整部１１４に供給された閾値Ｄ１より遠い（大きい）か否かを判定する。
【０１４６】
ステップＳ４１において、ロボット１とユーザとの距離は、閾値Ｄ１より遠いと判定された場合、ステップＳ４２に進み、距離調整部１１４は、「ユーザに近づくように発話する」旨の行動依頼の指令を行動決定機構部１０３に送出して、距離調整処理を終了する。
【０１４７】
一方、ステップＳ４１において、ロボット１とユーザとの距離は、閾値Ｄ１より遠くないと判定された場合、ステップＳ４３に進み、距離調整部１１４は、ロボット１とユーザとの距離が閾値Ｄ１より近い（小さい）か否かを判定する。
【０１４８】
ステップＳ４３において、ロボット１とユーザとの距離は、閾値Ｄ１より近いと判定された場合、ステップＳ４４に進み、距離調整部１１４は、「ユーザに離れるように発話する」旨の行動依頼の指令を行動決定機構部１０３に送出して、距離調整処理を終了する。
【０１４９】
一方、ステップＳ４３において、ロボット１とユーザとの距離は、閾値Ｄ１より近くないと判定された場合、距離調整部１１４は、距離調整処理を終了する。
【０１５０】
ここで、図１３のステップＳ１で決定された行動で行う必要のある認識処理が音声認識処理である場合には、ステップＳ４２またはステップＳ４４における、「ユーザに近づくように発話する」および「ユーザに離れるように発話する」旨の行動依頼の指令の代わりに、「ユーザに、より大きい声を出してもらうように発話する」および「ユーザに、より小さい声を出してもらうように発話する」旨の行動依頼の指令を、距離調整部１１４から行動決定機構部１０３に送出するようにしてもよい。
【０１５１】
次に、図１６のフローチャートを参照して、図１３のステップＳ７における距離調整部１１４の距離調整処理の第２実施の形態（第２の距離調整処理）について説明する。なお、図１６において、図１５のフローチャートと同様の部分については、その説明を適宜省略する。即ち、図１６においては、ロボット１とユーザとの距離が、閾値Ｄ１より遠いと判定された場合に距離調整部１１４が行う処理（ステップＳ５２の処理）と、ロボット１とユーザとの距離が、閾値Ｄ１より近いと判定された場合に距離調整部１１４が行う処理（ステップＳ５４の処理）が図１５における場合と異なる。
【０１５２】
図１６の第２の距離調整処理では、ステップＳ５１とＳ５３において、図１５のステップＳ４１とＳ４３における場合とそれぞれ同様の処理が行われる。そして、ステップＳ５１において、ロボット１とユーザとの距離は、閾値Ｄ１より遠いと判定された場合、ステップＳ５２に進み、距離調整部１１４は、例えば、手招きなどの「ユーザに近づくように促す動作を行う」旨の行動依頼の指令を行動決定機構部１０３に送出して、距離調整処理を終了する。
【０１５３】
ステップＳ５３において、ロボット１とユーザとの距離は、閾値Ｄ１より近いと判定された場合、ステップＳ５４に進み、距離調整部１１４は、例えば、手で追い払うなどの「ユーザに離れるように促す動作を行う」旨の行動依頼の指令を行動決定機構部１０３に送出して、距離調整処理を終了する。
【０１５４】
ここで、ステップＳ５２またはＳ５４では、図１３のステップＳ１で決定された行動で行う必要のある認識処理が音声認識処理である場合には、距離推定部１１１で行われたロボット１とユーザとの距離の推定が、マイクロホン８２から距離推定部１１１に入力された、ユーザが発した音声の大きさに基づいて行われた場合、例えば、ロボット１の手を耳にかざすというような、ユーザにより大きい、または小さい声の発話を促す仕草の行動依頼の指令を、距離調整部１１４から行動決定機構部１０３に送出するようにしてもよい。
【０１５５】
次に、図１７のフローチャートを参照して、図１３のステップＳ７における距離調整部１１４の距離調整処理の第３実施の形態（第３の距離調整処理）について説明する。なお、図１７において、図１５のフローチャートと同様の部分については、その説明を適宜省略する。即ち、図１７においては、ロボット１とユーザとの距離が、閾値Ｄ１より遠いと判定された場合に距離調整部１１４が行う処理（ステップＳ６２の処理）と、ロボット１とユーザとの距離が、閾値Ｄ１より近いと判定された場合に距離調整部１１４が行う処理（ステップＳ６４の処理）が図１５における場合と異なる。
【０１５６】
図１７の第３の距離調整処理では、ステップＳ６１とＳ６３において、図１５のステップＳ４１とＳ４３における場合とそれぞれ同様の処理が行われる。そして、ステップＳ６１において、ロボット１とユーザとの距離は、閾値Ｄ１より遠いと判定された場合、ステップＳ６２に進み、距離調整部１１４は、ロボット１自身が「ユーザ方向に移動する」旨の行動依頼の指令を行動決定機構部１０３に送出して、距離調整処理を終了する。
【０１５７】
ステップＳ６３において、ロボット１とユーザとの距離は、閾値Ｄ１より近いと判定された場合、ステップＳ６４に進み、距離調整部１１４は、ロボット１自身が「ユーザから離れるように移動する」旨の行動依頼の指令を行動決定機構部１０３に送出して、距離調整処理を終了する。
【０１５８】
以上、距離調整部１１４による距離の調整方法として、ユーザに近づくまたは離れるようにロボット１が発話する方法（図１５に示した第１の距離調整処理）、ユーザが離れるまたは近づくように促す動作をロボット１が行う方法（図１６に示した第２の距離調整処理）、およびロボット１がユーザ方向に移動するまたはユーザから離れるように移動する方法（図１７に示した第３の距離調整処理）を採用した場合について説明したが、これらの３つの距離の調整方法は、そのうちのいずれか１つだけを採用しなければならないということはなく、例えば、距離調整部１１４において、上述の３つの方法のうちのいずれかを、ランダムに選択するようにすることができる。また、例えば、距離調整部１１４では、ユーザに近づくまたは離れるようにロボット１が発話するとともに、ユーザが離れるまたは近づくように促す動作をロボット１が行うことをともに行うようにすることも可能である。
【０１５９】
次に、図１８のフローチャートを参照して、図１３のステップＳ７における距離調整部１１４の距離調整処理の第４実施の形態（第４の距離調整処理）について説明する。なお、図１８において、図１５のフローチャートと同様の部分については、その説明を適宜省略する。即ち、図１８においては、ロボット１とユーザとの距離が、閾値Ｄ１より遠いと判定された場合に距離調整部１１４が行う処理（ステップＳ７２乃至Ｓ７４の処理）と、ロボット１とユーザとの距離が、閾値Ｄ１より近いと判定された場合に距離調整部１１４が行う処理（ステップＳＳ７６乃至Ｓ７８の処理）が図１５における場合と異なる。
【０１６０】
図１８のフローチャートに示す距離調整処理においては、ユーザに近づくまたは離れるようにロボット１が発話する方法（図１５に示した第１の距離調整処理）と、ロボット１がユーザ方向に移動するまたはユーザから離れるように移動する方法（図１７に示した第３の距離調整処理）のうちのいずれか一方を、ロボット１が移動する方向に障害物が存在するかどうかによって選択するようになっている。
【０１６１】
図１８の第４の距離調整処理では、ステップＳ７１とＳ７５において、図１５のステップＳ４１とＳ４３における場合とそれぞれ同様の処理が行われる。そして、ステップＳ７１において、ロボット１とユーザとの距離は、閾値Ｄ１より遠いと判定された場合、ステップＳ７２に進み、距離調整部１１４は、ロボット１からユーザ方向の平面には、障害物があるかどうかを判定する。
【０１６２】
ステップＳ７２において、ロボット１からユーザ方向の平面には、障害物があると判定された場合、ステップＳ７３に進み、図１５のステップＳ４２と同様に、距離調整部１１４は、「ユーザに近づくように発話する」旨の行動依頼の指令を行動決定機構部１０３に送出して、距離調整処理を終了する。
【０１６３】
一方、ステップＳ７２において、ロボット１からユーザ方向の平面には、障害物がないと判定された場合、ステップＳ７４に進み、図１７のステップＳ６２と同様に、距離調整部１１４は、ロボット１自身が「ユーザ方向に移動する」旨の行動依頼の指令を行動決定機構部１０３に送出して、距離調整処理を終了する。
【０１６４】
また、ステップＳ７５において、ロボット１とユーザとの距離は、閾値Ｄ１より近いと判定された場合、ステップＳ７６に進み、距離調整部１１４は、ロボット１の背面方向の平面には、障害物があるかどうかを判定する。
【０１６５】
ステップＳ７６において、ロボット１の背面方向の平面には、障害物があると判定された場合、ステップＳ７７に進み、図１５のステップＳ４４と同様に、距離調整部１１４は、「ユーザに離れるように発話する」旨の行動依頼の指令を行動決定機構部１０３に送出して、距離調整処理を終了する。
【０１６６】
一方、ステップＳ７６において、ユーザに対するロボット１の背面方向の平面には、障害物がないと判定された場合、ステップＳ７８に進み、図１７のステップＳ６４と同様に、距離調整部１１４は、ロボット１自身が「ユーザから離れるように移動する」旨の行動依頼の指令を行動決定機構部１０３に送出して、距離調整処理を終了する。
【０１６７】
ここで、ステップＳ７２およびＳ７６での障害物があるかどうかの判定は、例えば、次のようにして行うことができる。即ち、上述したように、超音波センサ８３の出力に基づいて距離推定部１１１が推定したロボット１とユーザとの距離が、その他のセンサの出力、例えば、ＣＣＤカメラ８１Ｌおよび８１Ｒからの画像信号からのステレオ処理に基づく距離の推定結果などと大きく差があり、さらに超音波センサ８３の出力に基づいて距離推定部１１１が推定したロボット１とユーザとの距離が、極めてロボット１に近い距離（位置）にある場合などに、超音波センサ８３が検出した物体は、ユーザではなく障害物であるとして、ロボット１とユーザとの間に障害物があると判定することができる。
【０１６８】
従って、距離推定部１１１において、ロボット１とユーザとの距離の推定が行われ、超音波センサ８３が検出した物体が障害物であると判定された場合、距離推定部１１１はその情報を推定距離情報とともに、距離調整部１１４に送出するようにすれば、超音波センサ８３は、ロボット１からユーザ方向に対する障害物の検知センサも兼ねることができる。
【０１６９】
一方、ロボット１の背面方向の障害物は、例えば、ロボット１に背面を向かせ（背面に顔を向かせ）、ロボット１の正面に配設されている超音波センサ８３を用いて検出する方法があるが、ロボット１が認識処理を必要とする行動は、ユーザと対話する場合が多く、ユーザに対して背を向ける（顔を背ける）ことは、動作として不自然であり、また振り向き直して認識を行うことは、処理の時間も長くかかる。そこで、例えば、ロボット１の背面側に、超音波センサ８３と同様の超音波センサ８３を取り付け、障害物を検知させる方法がある。しかしながら、ロボット１に各種のセンサを多く取り付けることは、コストの問題を発生させる。従って、ロボット１とユーザとの距離が閾値Ｄ１より近い場合には、ユーザにロボット１から離れるように移動してもらうようにして、ロボット１は、ユーザから離れる方向（背面方向）には移動しないことにすることができる。
【０１７０】
図１９は、そのような場合の、距離調整部１１４の距離調整処理の第５実施の形態（第５の距離調整処理）のフローチャートを示している。以下に、図１９の距離調整部１１４の距離調整処理について説明するが、図１８と同様の部分については、その説明は適宜省略する。
【０１７１】
即ち、ステップＳ９１乃至Ｓ９５では、図１８のステップＳ７１乃至Ｓ７５における場合とそれぞれ同様の処理が行われる。そして、ステップＳ９５において、ロボット１とユーザとの距離は、閾値Ｄ１より近いと判定された場合、ステップＳ９６に進み、図１８のステップＳ７７と同様に、距離調整部１１４は、「ユーザに離れるように発話する」旨の行動依頼の指令を行動決定機構部１０３に送出して、距離調整処理を終了する。
【０１７２】
図１８および図１９に示した距離調整部１１１の距離調整処理においては、ロボット１からユーザ方向またはユーザと反対方向（ロボット１の背面方向）の平面に障害物があるかどうかにより、ロボット１が移動するかまたはユーザに移動するように促す行動（発話）するかの場合分けを行うようにしたが、距離調整処理においては、その他、例えば、初めに、ロボット１が移動するようにして、その移動時に障害物を検出した場合は、ユーザに対して移動するように促す行動（発話）をとるようにしてもよい。この場合、ロボット１が移動中に障害物を検出する方法としては、例えば、脚部ユニット１４Ａまたは１４Ｂが障害物にぶつかると、モータのトルクが大きくなるので、そのアクチュエータＡ９乃至Ａ１４のトルクの変化を検出する方法などがある。
【０１７３】
以上のように、ＣＣＤカメラ８１Ｌおよび８１Ｒ、マイクロホン８２、および超音波センサ８３などから出力される信号に基づいて、ロボット１とユーザとの距離を推定し、その推定された距離が認識処理に適切な所定の範囲の距離から外れていた場合、ロボット１とユーザとの距離を調整するようにしたので、ロボット１の認識機能の認識精度を向上させることができる。
【０１７４】
上述の実施の形態においては、所定の範囲Ｒおよび閾値Ｄ１のそれぞれは、予め決められた値として、閾値設定部１１２に設定されている。しかし、所定の範囲Ｒおよび閾値Ｄ１のそれぞれは、例えば、周囲の状況やユーザの状態などによって適応的に変化させることもできる。
【０１７５】
図２０は、そのような、閾値設定部１１２が距離判定部１１３および距離調整部１１４に供給する所定の範囲Ｒおよび閾値Ｄ１のそれぞれを、動的に変化させる、図６に対応するメイン制御部６１の機能的構成例を示している。なお、図中、図６における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は適宜省略する。即ち、図２０のメイン制御部６１は、図６における場合と、基本的に同様に構成されている。
【０１７６】
行動決定機構部１０３が、状態認識情報処理部１０１からの状態認識情報や、モデル記憶部１０２からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容が、例えば、「ユーザと会話する」や「ユーザに手を振る」というような音声認識処理や画像認識処理を必要とする場合、行動決定機構部１０３は、状態認識情報処理部１０１の音声認識部１０１Ａや画像認識部１０１Ｂが、精度良く認識することができるように、ロボット１とユーザとの距離を調整する旨の指令を距離制御部１１０に送出する。また、行動決定機構部１０３は、ロボット１とユーザとの距離を調整する旨の指令とともに、例えば、「足踏みしている」などのロボット１の現在の動作状態も距離制御部１１０に供給する。
【０１７７】
距離推定部１１１は、図６における場合と同様に、ＣＣＤカメラ８１Ｌおよび８１Ｒ、マイクロホン８２、および超音波センサ８３などからの各種の信号を基に、ロボット１とユーザとの距離を推定する。そして、距離推定部１１１は、推定した距離の推定距離情報を、距離判定部１１３と距離調整部１１４の他に、閾値設定部１１２にも送出する。
【０１７８】
音声認識における周囲の雑音の大きさは、認識処理に影響を及ぼすことがある。例えば、ロボット１とユーザとの距離が遠すぎるため、ユーザの発する音声の大きさと、周囲の雑音の区別がつきにくい場合、ロボット１とユーザとの距離を近づけることにより、ユーザの発する音声を大きくさせることができる。従って、周囲の雑音の大きさにより、ロボット１とユーザとの適切な距離は異なってくる。そこで、閾値設定部１１２は、周囲の雑音を求め、認識処理に適切なロボット１とユーザとの距離の範囲（所定の範囲Ｒ１）を設定する。
【０１７９】
そのため閾値設定部１１２は、マイクロホン８２からの音声信号に基づいて、ロボット１の周囲の背景雑音を計測する。これは、例えば、マイクロホン８２が集音した音声信号のなかで、ユーザの発した音声信号が含まれていない区間（音声区間以外の期間）の音声信号を所定の時間だけ集め、集めた音声信号のパワー値の平均を求めることにより計算することができる。
【０１８０】
また、閾値設定部１１２は、行動決定機構部１０３から距離制御部１１０に供給されるロボット１の現在の動作状態を用いて、マイクロホン８２に入力された音声における、ロボット１自身が発生する雑音の影響（雑音成分）を推定する。ロボット１の動作状態としては、例えば、歩行中、立位静止、または座位などのロボット１の動作モードといえるようなものから、ロボット１の各関節部にあたるアクチュエータＡ１乃至Ａ１４の動作状態に至るまでの様々な情報が、行動決定機構部１０３から距離制御部１１０に供給される。例えば、ロボット１が歩行や足踏みをしている場合には、閾値設定部１１２は、ロボット１の足部４５と床面との打撃音や、ロボットのアクチュエータＡ１乃至Ａ１４のモータ音などのレベルを、ロボット１自身が発生する雑音の影響として推定する。
【０１８１】
そして、閾値設定部１１２は、上述したような、ロボット１の周囲の背景雑音、ロボット１の現在の動作状態などから、認識に適切なロボット１とユーザとの距離の範囲（所定の範囲Ｒ１）を設定する。例えば、マイクロホン８２から入力される周囲の雑音が大きすぎて、ユーザの発する音声の区別がつきにくい場合、認識に適切なロボット１とユーザとの距離の範囲（所定の範囲Ｒ１）を近い値とすることにより、ユーザにロボット１の方向に近づいてもらい、ユーザの音声信号のＳ／Ｎを高くさせることができる。
【０１８２】
また、閾値設定部１１２は、ＣＣＤカメラ８１Ｌおよび８１Ｒからの画像信号に顔画像を検出した場合、その検出した顔画像領域の大きさから、認識に適切なロボット１とユーザとの距離の範囲（所定の範囲Ｒ２）を設定する。これは、検出した顔画像領域の大きさが、ＣＣＤカメラ８１Ｌおよび８１Ｒが出力する画像の画枠に対して大きすぎても、また小さすぎても、顔画像領域の大きさから推定するロボット１とユーザとの距離の誤差が、大きくなるためである。そこで、ＣＣＤカメラ８１Ｌおよび８１Ｒの有効画素の縦と横のそれぞれの画素数に対して、顔画像領域を含む長方形の縦と横のそれぞれの画素数が、例えば、１／２程度の画素数となるとき（このときの顔画像領域の大きさを、以下、適宜、適量値という）のロボット１とユーザとの距離を、認識に最適な距離とし、その最適な距離から所定のマージンをもつ範囲を、顔画像領域の大きさの検出による適切な認識の範囲（所定の範囲Ｒ２）とすることができる。
【０１８３】
さらに、閾値設定部１１２は、マイクロホン８２からの音声信号を検出した場合、その音声信号の大きさから、認識に適切なロボット１とユーザとの距離の範囲（所定の範囲Ｒ２）を設定する。これは、例えば、ユーザが発する音声が、ロボット１に近すぎて大きすぎる場合、マイクロホン８２が集音した音声波形は、マイクロホン８２のダイナミックレンジを超えて、本来の音声波形より歪んだ波形となる。逆に、ユーザが発する音声が、ロボット１から遠すぎて小さすぎる場合、周囲の雑音と認識されるべきユーザの音声の区別がつきにくくなる。そこで、マイクロホン８２に入力されるユーザの音声の平均レベルが、そのマイクロホン８２が測定可能な音声レベルの範囲の、例えば、中心値（ダイナミックレンジの中点）程度となるとき（このときのユーザの音声のレベルも、以下、適宜、適量値という）のロボット１とユーザとの距離を、認識に最適な距離とし、その最適な距離から所定のマージンをもつ範囲を、音声の大きさの検出による認識に適切なロボット１とユーザとの距離の範囲（所定の範囲Ｒ２）とすることができる。
【０１８４】
さらに、閾値設定部１１２は、上述した、ロボット１の周囲の背景雑音、ロボット１の現在の動作状態などから計算された、認識に適切なロボット１とユーザとの距離の範囲（所定の範囲Ｒ１）と、ＣＣＤカメラ８１Ｌおよび８１Ｒが出力する画像信号から検出した顔画像領域の大きさ、およびマイクロホン８２が出力する音声信号の大きさから計算された、認識に適切なロボット１とユーザとの距離の範囲（所定の範囲Ｒ２）に基づいて、距離判定部１１３において閾値として用いられる所定の範囲Ｒを動的に設定する。
【０１８５】
さらに、閾値設定部１１２は、動的に設定した所定の範囲Ｒから、例えば、その中心値を算出し、閾値Ｄ１として設定する。そして、閾値設定部１１２は、所定の範囲Ｒの値を距離判定部１１３に、閾値Ｄ１を距離調整部１１４にそれぞれ送出する。
【０１８６】
次に、図２１のフローチャートを参照して、閾値設定部１１２による所定の範囲Ｒの動的決定処理について説明する。この処理は、例えば、ロボット１の電源が投入されている間、一定の周期で、実行される。
【０１８７】
初めに、ステップＳ１１１において、閾値設定部１１２は、マイクロホン８２からの音声信号に基づいて、ロボット１の周囲の背景雑音を計測して、ステップＳ１１２に進む。
【０１８８】
ステップＳ１１２において、閾値設定部１１２は、行動決定機構部１０３から距離制御部１１０に供給される、ロボット１の現在の動作状態を取得して、ステップＳ１１３に進む。
【０１８９】
ステップＳ１１３において、閾値設定部１１２は、ステップＳ１１１で計算したロボット１の周囲の背景雑音、ステップＳ１１２で取得したロボット１の現在の動作状態などから、認識に適切なロボット１とユーザとの距離の範囲を計算して、所定の範囲Ｒ１として設定し、ステップＳ１１４に進む。
【０１９０】
ステップＳ１１４において、閾値設定部１１２は、マイクロホン８２から距離制御部１１０にユーザの音声入力があったか、またはＣＣＤカメラ８１Ｌおよび８１Ｒから距離制御部１１０に入力された画像信号のなかに、顔画像を検出したかどうかを判定する。
【０１９１】
ステップＳ１１４において、マイクロホン８２から距離制御部１１０にユーザの音声入力がなく、かつＣＣＤカメラ８１Ｌおよび８１Ｒから距離制御部１１０に入力された画像信号のなかに、顔画像が検出されなかったと判定された場合、後述するステップＳ１１５乃至ステップＳ１１８の処理を、スキップし、ステップＳ１１９に進む。
【０１９２】
一方、ステップＳ１１４において、マイクロホン８２から距離制御部１１０にユーザの音声入力があったか、またはＣＣＤカメラ８１Ｌおよび８１Ｒから距離制御部１１０に入力された画像信号のなかに、顔画像が検出されたと判定された場合、ステップＳ１１５に進み、マイクロホン８２から距離制御部１１０に入力されたユーザの音声の大きさ、またはＣＣＤカメラ８１Ｌおよび８１Ｒから距離制御部１１０に入力された画像信号のなかの顔画像領域の大きさが、適量値であるかどうかが、閾値設定部１１２によって判定される。ここで、ユーザの音声入力または顔画像の検出のどちらか一方だけが検出された場合は、ステップＳ１１５では、検出された信号についてのみ処理が行われる。
【０１９３】
ステップＳ１１５において、マイクロホン８２から距離制御部１１０に入力された音声の大きさ、並びにＣＣＤカメラ８１Ｌおよび８１Ｒから距離制御部１１０に入力された画像信号のなかの顔画像領域の大きさが、適量値であると判定された場合、後述するステップＳ１１６乃至ステップＳ１１８の処理を、スキップし、ステップＳ１１９に進む。
【０１９４】
一方、ステップＳ１１５において、マイクロホン８２から距離制御部１１０に入力された音声の大きさ、またはＣＣＤカメラ８１Ｌおよび８１Ｒから距離制御部１１０に入力された画像信号のなかの顔画像領域の大きさが適量値ではない、と判定された場合、ステップＳ１１６に進み、閾値設定部１１２は、距離推定部１１１から供給された推定距離情報、すなわち、ロボット１とユーザとの距離を取得して、ステップＳ１１７に進む。
【０１９５】
ステップＳ１１７において、閾値設定部１１２は、ステップＳ１１６で取得したロボット１とユーザとの距離が、ステップＳ１１３で計算した、認識に適切な所定の範囲Ｒ１内であるかどうかを判定する。
【０１９６】
ステップＳ１１７において、ロボット１とユーザとの距離が、認識に適切な所定の範囲Ｒ１内ではないと判定された場合、ステップＳ１１８の処理はスキップされ、ステップＳ１１９に進む。
【０１９７】
一方、ステップＳ１１７において、ロボット１とユーザとの距離が、認識に適切な所定の範囲Ｒ１内であると判定された場合、ステップＳ１１８に進み、閾値設定部１１２は、ユーザの音声の大きさ、または顔画像領域の大きさを適量値にするロボット１とユーザとの距離の範囲である所定の範囲Ｒ２を計算し、ステップＳ１１３で設定した所定の範囲Ｒ１ではなく、ユーザの音声の大きさ、または顔画像領域の大きさを適量値にするロボット１とユーザとの距離の所定の範囲Ｒ２を、認識に適切なロボット１とユーザとの距離の範囲（所定の範囲Ｒ）として設定して、ステップＳ１１９に進む。例えば、閾値設定部１１２がステップＳ１１６で距離推定部１１１から取得したロボット１とユーザとの距離は、所定の範囲Ｒ１内であるが、ステップＳ１１８で計算された所定の範囲Ｒ２が、例えば、入力画像から得られる顔画像領域の大きさが小さく、所定の範囲Ｒ１よりもロボット１に近い距離の範囲として計算された場合、認識に適切なロボット１とユーザとの距離の所定の範囲Ｒとして、所定の範囲Ｒ２が採用されて設定される。
【０１９８】
ここで、ステップＳ１１７において、閾値設定部１１２がステップＳ１１６で距離推定部１１１から取得したロボット１とユーザとの距離が、所定の範囲Ｒ１内ではないと判定された場合には、音声や顔画像領域の大きさに拘らず、距離調整部１１４は、ロボット１とユーザとの距離を調整する指令を行動決定機構部１０３に送出することになるので、閾値設定部１１２は、あえて所定の範囲Ｒ２を計算しない（ステップＳ１１８をスキップする）。
【０１９９】
一方、ロボット１とユーザとの距離が、所定の範囲Ｒ１であるにも拘らず、マイクロホン８２から距離制御部１１０に入力された音声の大きさは適量ではない、またはＣＣＤカメラ８１Ｌおよび８１Ｒから距離制御部１１０に入力された画像信号のなかの顔画像領域の大きさが適量ではない場合には、より認識精度が良い範囲（所定の範囲Ｒ２）が存在していることになるので、その所定の範囲Ｒ２をステップＳ１１８で計算する。
【０２００】
なお、顔画像領域の大きさが適量ではない場合の他の対処方法としては、ＣＣＤカメラ８１Ｌおよび８１Ｒにズーム機構を備え、そのズーム機構により顔画像領域の大きさを調整する方法もあるが、ズームの比率にも限界があるため、ユーザの顔画像領域を最適にする範囲にも限界がある。また、ズーム機構を備えるには、ロボット１の構造的（場所的）制約やコストの制約などを受ける。従って、上述したように、ユーザまたはロボット１が距離を調整することによって、顔画像領域の大きさを調整するのが望ましい。
【０２０１】
ステップＳ１１９では、閾値設定部１１２は、所定の範囲Ｒから閾値Ｄ１を計算し、所定の範囲Ｒを距離判定部１１３に、閾値Ｄ１を距離調整部１１４にそれぞれ出力して、処理を終了する。
【０２０２】
以上のように、所定の範囲Ｒおよび閾値Ｄ１の値を、周囲の状況やユーザの状態などによって適応的に変化させることにより、ロボット１とユーザとの距離を常に認識機能に最適な距離に調整することができるので、認識機能の認識精度を向上させることができる。
【０２０３】
以上の実施の形態においては、外部センサ部７１のマイクロホン８２、ＣＣＤカメラ８１Ｌおよび８１Ｒ、並びにタッチセンサ５１などの各種のセンサからの出力信号は、常に状態認識情報処理部１０１に入力され、状態認識情報処理部１０１は、認識処理を行って、状態認識情報を、常時、行動決定機構部１０３に出力するようにしたが、行動決定機構部１０３が次の行動を決定し、その行動に認識処理が必要な時のみ、行動決定機構部１０３から状態認識情報処理部１０１にコマンドを送出することにより、状態認識情報処理部１０１に認識処理を行わせ、状態認識情報を受け取るようにしてもよい。
【０２０４】
また、閾値設定部１１２から距離調整部１１４に出力される閾値Ｄ１は、所定の範囲Ｒの中心値としたが、例えば、所定の範囲Ｒの上限値（ロボット１から遠い側の値）および下限値（ロボット１に近い側の値）などのように２つの閾値として設定することもできる。この場合、例えば、図１５に示した第１の距離調整処理のフローチャートにおいて、ステップＳ４１の閾値Ｄ１に代えて上限値を用いるとともに、ステップＳ４３の閾値Ｄ１に代えて下限値を用いることができる。
【０２０５】
上述した一連の処理を実行するプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＭＯ（Ｍａｇｎｅｔｏ  ｏｐｔｉｃａｌ）ディスク，ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができ、メモリ６１Ａにインストールされる。
【０２０６】
さらに、プログラムは、上述したようなリムーバブル記録媒体からメモリ６１Ａにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、メモリ６１Ａにインストールすることができる。
【０２０７】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２０８】
ロボット１とユーザとの距離は、上述したようなマイクロホン８２などの出力から推定して求める方法の他、例えば、監視カメラなどを用いることによってロボット１の外部で検出し、例えば、無線などによりロボット１に供給するようにしてもよい。
【０２０９】
【発明の効果】
以上のごとく本発明によれば、ロボットの認識機能の認識精度を向上させることができる。
【図面の簡単な説明】
【図１】本発明を適用したロボットの外観構成を示す斜視図である。
【図２】図１のロボットの外観構成を示す、背後側の斜視図である。
【図３】図１のロボットについて説明するための略線図である。
【図４】図１のロボットの制御に関する部分を主に説明するためのブロック図である。
【図５】図１のロボットの内部構成を示すブロック図である。
【図６】図５のメイン制御部の構成を示すブロック図である。
【図７】超音波センサの処理を説明する図である。
【図８】基準カメラおよび検出カメラで、ユーザを撮影している状態を示す図である。
【図９】エピポーララインを説明するための図である。
【図１０】基準カメラ画像および検出カメラ画像を示す図である。
【図１１】評価値の推移を示す図である。
【図１２】設定点／距離テーブルおよび視差／距離テーブルを示す図である。
【図１３】図１のロボットのロボット動作処理を説明するフローチャートである。
【図１４】図１３のステップＳ４の距離推定処理を説明するフローチャートである。
【図１５】図１３のステップＳ７の距離調整処理を説明するフローチャートである。
【図１６】図１３のステップＳ７の距離調整処理を説明するフローチャートである。
【図１７】図１３のステップＳ７の距離調整処理を説明するフローチャートである。
【図１８】図１３のステップＳ７の距離調整処理を説明するフローチャートである。
【図１９】図１３のステップＳ７の距離調整処理を説明するフローチャートである。
【図２０】図５のメイン制御部の構成を示すブロック図である。
【図２１】動的に所定の範囲Ｒを決定する場合の閾値設定部の範囲の動的決定処理について説明するフローチャートである。
【符号の説明】
１  ロボット，  ６１  メイン制御部，  ６３  サブ制御部，  ７１  外部センサ部，  ７２  スピーカ，  ８１Ｌ  ＣＣＤカメラ，  ８１Ｒ  ＣＣＤカメラ，  ８２  マイクロホン，  ８３  超音波センサ，  １０１  状態認識情報処理部，  １０２  モデル記憶部，  １０３  行動決定機構部，  １０４  姿勢遷移機構部，  １０５  音声合成部，  １１０  距離制御部，  １１１  距離推定部，  １１２  閾値設定部，  １１３  距離判定部，  １１４  距離調整部
【図１】
2004230480.tif 000003
【図２】
2004230480.tif 000004
【図３】
2004230480.tif 000005
【図４】
2004230480.tif 000006
【図５】
2004230480.tif 000007
【図６】
2004230480.tif 000008
【図７】
2004230480.tif 000009
【図８】
2004230480.tif 000010
【図９】
2004230480.tif 000011
【図１０】
2004230480.tif 000012
【図１１】
2004230480.tif 000013
【図１２】
2004230480.tif 000014
【図１３】
2004230480.tif 000015
【図１４】
2004230480.tif 000016
【図１５】
2004230480.tif 000017
【図１６】
2004230480.tif 000018
【図１７】
2004230480.tif 000019
【図１８】
2004230480.tif 000020
【図１９】
2004230480.tif 000021
【図２０】
2004230480.tif 000022
【図２１】
2004230480.tif 000023