(57)【要約】【課題】ロボットに、より人間味のある動作を実行させる。【解決手段】  アプリケーション選択部４０１は、ロボットからユーザまでの距離が距離計算部より通知されると、ユーザが遠くに位置しているか近くに位置しているかを判定する。ユーザが遠くに位置すると判定した場合、アプリケーション選択部４０１は、遠距離用アプリケーション部４０２を起動し、ユーザが近くに位置すると判定した場合、アプリケーション選択部４０１は、近距離用アプリケーション部４０３を起動する。また、アプリケーション選択部４０１は、遠距離用と近距離用のいずれを選択したかを示す選択信号を音量制御部４０４に通知する。音量制御部４０４は、出力する音声が、ユーザとの距離に応じた音量になるように制御する。本発明は、例えば、ヒューマノイドやペット型ロボットに適用することができる。【選択図】図１４
2005335001.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの動作を制御するロボット制御装置において、
前記ロボットからユーザまでの距離を算出する算出手段と、
前記算出手段により算出された前記距離に基づいて、前記ロボットの機械的動作を切り替える切り替え手段と
を備えることを特徴とするロボット制御装置。
【請求項２】
前記切り替え手段により切り替えられた前記ロボットの前記機械的動作に応じて、異なる情報を利用して、前記ユーザの発話を音声認識する音声認識手段をさらに備える
ことを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
前記切り替え手段は、前記算出手段により算出された前記距離に基づいて、前記ロボットから出力する音声の音量をさらに切り替える
ことを特徴とする請求項１に記載のロボット制御装置。
【請求項４】
前記切り替え手段は、前記算出手段により算出された前記距離が長い場合、前記距離が短い場合と比較して、前記ロボットの前記機械的動作をより大きい動作に切り替える
ことを特徴とする請求項１に記載のロボット制御装置。
【請求項５】
ロボットの動作を制御するロボット制御方法において、
前記ロボットからユーザまでの距離を算出する算出ステップと、
前記算出ステップの処理により算出された前記距離に基づいて、前記ロボットの機械的動作を切り替える切り替えステップと
を含むことを特徴とするロボット制御方法。
【請求項６】
ロボットの動作を制御するプログラムであって、
前記ロボットからユーザまでの距離を算出する算出ステップと、
前記算出ステップの処理により算出された前記距離に基づいて、前記ロボットの機械的動作を切り替える切り替えステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項７】
ロボットの動作を制御するプログラムであって、
前記ロボットからユーザまでの距離を算出する算出ステップと、
前記算出ステップの処理により算出された前記距離に基づいて、前記ロボットの機械的動作を切り替える切り替えステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置および方法、記録媒体、並びにプログラムに関し、特に、ロボットに、より人間味のある動作を実行させることができるようにしたロボット制御装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
従来のロボットに搭載された音声認識システムではロボットの近くにユーザがいることを前提としていた。そのため、ユーザが離れているという情報を検知した場合には、ユーザに近づくよう指示を出したり、ロボット自身がユーザに近づくといった物理的な距離を縮める方法が提案されていた。
【０００３】
ユーザまでの距離を測定してユーザに近づくロボットがある（例えば、特許文献１参照）。また、顔画像から口の位置を取り出し、マイクから離れていればマイクに近づくようメッセージを出すシステムが提案されている（例えば、特許文献２参照）。
【０００４】
また、ユーザの位置に応じてロボットのマイクの感度、指向性を調整する方法が提案されている。また、画像や音声など複数のセンサの認識結果を相互に参照しあい、相互に矛盾のない信号獲得制御を行うシステムが提案されている（例えば、特許文献３参照）。
【特許文献１】特開２０００−３２６２７４号公報
【特許文献２】特開平１−１５５４３０号公報
【特許文献３】特開２００２−２５１２３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
例えば歩行したりして、移動することができるロボットは、ユーザに近寄ったり、ユーザから離れたりすることがある。しかしながら、ロボットは、ユーザの近くにいる場合も遠くにいる場合も、同様の動作をするため、人間味に欠けるという課題があった。
【０００６】
例えば、特許文献３に記載の方法では、ユーザの位置、距離をより正しく把握することが可能であるが、ユーザの位置、距離の情報を使って対話の内容を制御するものではない。
【０００７】
また、ユーザがロボットの近くに居る場合に、ロボットが大ぶりな動作をすると、ユーザに接触する危険性があるという課題があった。
【０００８】
また、特許文献１や特許文献２に記載の方法では、ユーザは、常にロボットの近くにいなければ対話ができないため、ユーザがマイクの位置にあわせて移動する必要があり、ユーザに移動を強いるという課題があった。
【課題を解決するための手段】
【０００９】
本発明のロボット制御装置は、ロボットからユーザまでの距離を算出する算出手段と、算出手段により算出された距離に基づいて、ロボットの機械的動作を切り替える切り替え手段とを備えることを特徴とする。
【００１０】
前記切り替え手段により切り替えられた前記ロボットの前記機械的動作に応じて、異なる情報を利用して、前記ユーザの発話を音声認識する音声認識手段をさらに設けるようにすることができる。
【００１１】
前記切り替え手段には、前記算出手段により算出された前記距離に基づいて、前記ロボットから出力する音声の音量をさらに切り替えるようにさせることができる。
【００１２】
前記切り替え手段には、前記算出手段により算出された前記距離が長い場合、前記距離が短い場合と比較して、前記ロボットの前記機械的動作をより大きい動作に切り替えるようにさせることができる。
【００１３】
本発明のロボット制御方法は、ロボットからユーザまでの距離を算出する算出ステップと、算出ステップの処理により算出された距離に基づいて、ロボットの機械的動作を切り替える切り替えステップとを含むことを特徴とする。
【００１４】
本発明の記録媒体のプログラムは、ロボットからユーザまでの距離を算出する算出ステップと、算出ステップの処理により算出された距離に基づいて、ロボットの機械的動作を切り替える切り替えステップとを含むことを特徴とする。
【００１５】
本発明のプログラムは、ロボットからユーザまでの距離を算出する算出ステップと、算出ステップの処理により算出された距離に基づいて、ロボットの機械的動作を切り替える切り替えステップとをコンピュータに実行させることを特徴とする。
【００１６】
本発明のロボット制御装置および方法、記録媒体、並びにプログラムにおいては、ロボットからユーザまでの距離が算出され、算出された距離に基づいて、ロボットの機械的動作が切り替えられる。
【００１７】
本発明は、例えば、ヒューマノイドやペット型ロボットに適用することができる。
【発明の効果】
【００１８】
本発明によれば、ロボットに動作させることができる。特に、より人間味のある動作を行わせることが可能となる。また、ロボットがユーザの近くに位置する場合、ロボットがユーザに接触することを防止することができ、ロボットがユーザの遠くに位置する場合、ユーザが、ロボットの動作を明瞭に確認できるようにすることができる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２０】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
【００２１】
本発明によればロボット制御装置が提供される。このロボット制御装置（例えば、図４のメイン制御部６１）は、ロボット（例えば、図１のロボット１）からユーザまでの距離を算出する算出手段（例えば、図７の距離計算部３０１）と、算出手段により算出された距離に基づいて、ロボットの機械的動作を切り替える切り替え手段（例えば、図１４のアプリケーション選択部４０１）とを備える。
【００２２】
本発明によればロボット制御装置が提供される。このロボット制御装置は、前記切り替え手段により切り替えられた前記ロボットの前記機械的動作に応じて、異なる情報（例えば、図１３の近距離用タスク３５５および遠距離用タスク３５６）を利用して、前記ユーザの発話を音声認識する音声認識手段（例えば、図１３の音声認識部２２３）をさらに備えることができる。
【００２３】
本発明によればロボット制御装置が提供される。このロボット制御装置では、前記切り替え手段は、前記算出手段により算出された前記距離に基づいて、前記ロボットから出力する音声の音量をさらに切り替える（例えば、図１４の音量制御部４０４に遠距離用アプリケーション部４０２および近距離用アプリケーション部４０３のいずれを選択したかを示す選択情報を通知することにより、音量制御部４０４を介して、スピーカ７２から出力される音声の音量を切り替える）ことができる。
【００２４】
本発明によればロボット制御装置が提供される。このロボット制御装置では、前記切り替え手段は、前記算出手段により算出された前記距離が長い場合、前記距離が短い場合と比較して、前記ロボットの前記機械的動作をより大きい動作に切り替える（例えば、ユーザがロボットから遠い位置にいる場合、図１４の遠距離ジェスチャ用アプリケーション部４２４を起動し、ユーザがロボットの近い位置にいる場合、図１４の近距離ジェスチャ用アプリケーション部４３４を起動する）ことができる。
【００２５】
本発明によればロボット制御方法が提供される。このロボット制御方法は、ロボット（例えば、図１のロボット１）からユーザまでの距離を算出する算出ステップ（例えば、図１５のステップＳ１０２）と、算出ステップの処理により算出された距離に基づいて、ロボットの機械的動作を切り替える切り替えステップ（例えば、図１５のステップＳ１０３）とを含む。
【００２６】
本発明によれば、ロボット制御方法と同様のプログラムが提供される。
【００２７】
以下、図を参照して、本発明の実施の形態について説明する。
【００２８】
図１は、本発明を適用した２足歩行型のロボット１の正面方向の斜視図であり、図２は、ロボット１の背面方向からの斜視図である。また、図３は、ロボット１の軸構成について説明するための図である。
【００２９】
ロボット１は、胴体部ユニット１１、胴体部ユニット１１の上部に配設された頭部ユニット１２、胴体部ユニット１１の上部左右の所定位置に取り付けられた腕部ユニット１３Ａおよび腕部ユニット１３Ｂ、並びに胴体部ユニット１１の下部左右の所定位置に取り付けられた脚部ユニット１４Ａおよび脚部ユニット１４Ｂにより構成されている。腕部ユニット１３Ａおよび腕部ユニット１３Ｂは、同様の構成とされる。また、脚部ユニット１４Ａおよび脚部ユニット１４Ｂも、同様の構成とされる。頭部ユニット１２には、頭部センサ５１が設けられている。
【００３０】
胴体部ユニット１１は、体幹上部を形成するフレーム２１および体幹下部を形成する腰ベース２２が腰関節機構２３を介して連結することにより構成されている。胴体部ユニット１１は、体幹下部の腰ベース２２に固定された腰関節機構２３のアクチュエータＡ１、および、アクチュエータＡ２をそれぞれ駆動することによって、体幹上部を、図３に示す直交するロール軸２４およびピッチ軸２５の回りに、それぞれ独立に回転させることができるようになされている。
【００３１】
頭部ユニット１２は、フレーム２１の上端に固定された肩ベース２６の上面中央部に首関節機構２７を介して取り付けられており、首関節機構２７のアクチュエータＡ３、およびアクチュエータＡ４をそれぞれ駆動することによって、図３に示す直交するピッチ軸２８およびヨー軸２９の回りに、それぞれ独立に回転させることができるようになされている。
【００３２】
腕部ユニット１３Ａ、および腕部ユニット１３Ｂは、肩関節機構３０を介して肩ベース２６の左右にそれぞれ取り付けられており、対応する肩関節機構３０のアクチュエータＡ５、および、アクチュエータＡ６をそれぞれ駆動することによって、図３に示す、直交するピッチ軸３１およびロール軸３２の回りに、それぞれを独立に回転させることができるようになされている。
【００３３】
この場合、腕部ユニット１３Ａ、および腕部ユニット１３Ｂは、上腕部を形成するアクチュエータＡ７の出力軸に、肘関節機構４４を介して、前腕部を形成するアクチュエータＡ８が連結され、前腕部の先端に手部３４が取り付けられることにより構成されている。
【００３４】
そして腕部ユニット１３Ａ、および腕部ユニット１３Ｂでは、アクチュエータＡ７を駆動することによって、前腕部を図３に示すヨー軸３５に対して回転させることができ、アクチュエータＡ８を駆動することによって、前腕部を図３に示すピッチ軸３６に対して回転させることができるようになされている。
【００３５】
脚部ユニット１４Ａ、および、脚部ユニット１４Ｂは、股関節機構３７を介して、体幹下部の腰ベース２２にそれぞれ取り付けられており、対応する股関節機構３７のアクチュエータＡ９乃至Ａ１１をそれぞれ駆動することによって、図３に示す、互いに直交するヨー軸３８、ロール軸３９、およびピッチ軸４０に対して、それぞれ独立に回転させることができるようになされている。
【００３６】
脚部ユニット１４Ａ、および、脚部ユニット１４Ｂにおいては、大腿部を形成するフレーム４１の下端が、膝関節機構４２を介して、下腿部を形成するフレーム４３に連結されるとともに、フレーム４３の下端が、足首関節機構４４を介して、足部４５に連結されている。
【００３７】
これにより脚部ユニット１４Ａ、および、脚部ユニット１４Ｂにおいては、膝関節機構４２を形成するアクチュエータＡ１２を駆動することによって、図３に示すピッチ軸４６に対して、下腿部を回転させることができ、また足首関節機構４４のアクチュエータＡ１３、および、アクチュエータＡ１４をそれぞれ駆動することによって、図３に示す直交するピッチ軸４７およびロール軸４８に対して、足部４５をそれぞれ独立に回転させることができるようになされている。
【００３８】
脚部ユニット１４Ａ、および脚部ユニット１４Ｂの、足部４５の足底面（床と接する面）には、それぞれ足底センサ９１（図５）が配設されており、足底センサ９１のオン・オフに基づいて、足部４５が床に接地しているか否かが判別される。
【００３９】
また、胴体部ユニット１１の体幹下部を形成する腰ベース２２の背面側には、後述するメイン制御部６１（図４）などを内蔵したボックスである、制御ユニット５２が配設されている。
【００４０】
図４は、ロボット１のアクチュエータとその制御系等について説明する図である。
【００４１】
制御ユニット５２には、ロボット１全体の動作制御をつかさどるメイン制御部６１、並びに、後述するD/A変換部１０１、A/D変換部１０２、バッテリ１０３、バッテリセンサ１３１、加速度センサ１３２、通信部１０５、および外部メモリ１０６（いずれも図５）等を含む周辺回路６２が収納されている。
【００４２】
そしてこの制御ユニット５２は、各構成ユニット（胴体部ユニット１１、頭部ユニット１２、腕部ユニット１３Ａおよび腕部ユニット１３Ｂ、並びに、脚部ユニット１４Ａおよび脚部ユニット１４Ｂ）内にそれぞれ配設されたサブ制御部６３Ａ乃至６３Ｄと接続されており、サブ制御部６３Ａ乃至６３Ｄに対して必要な電源電圧を供給したり、サブ制御部６３Ａ乃至６３Ｄと通信を行う。
【００４３】
また、サブ制御部６３Ａ乃至６３Ｄは、対応する構成ユニット内のアクチュエータＡ１乃至Ａ１４と、それぞれ接続されており、メイン制御部６１から供給された各種制御コマンドに基づいて、構成ユニット内のアクチュエータＡ１乃至Ａ１４を、指定された状態に駆動させるように制御する。
【００４４】
図５は、ロボット１の内部構成を示すブロック図である。
【００４５】
頭部ユニット１２には、このロボット１の「目」として機能する左右一対のCCD（Charge Coupled Device ）カメラ８１（８１Ｌおよび８１Ｒ。図６に図示）、「耳」として機能するマイクロホン８２、頭部センサ５１などからなる外部センサ部７１、および、「口」として機能するスピーカ７２となどがそれぞれ所定位置に配設され、制御ユニット５２内には、バッテリセンサ１３１および加速度センサ１３２などからなる内部センサ部１０４が配設されている。また、脚部ユニット１４Ａ、および脚部ユニット１４Ｂの足部４５の足底面には、このロボット１の「体性感覚」の１つとして機能する足底センサ９１が配設されている。
【００４６】
そして、外部センサ部７１のCCDカメラ８１Ｌおよび８１Ｒは、周囲の状況を撮像し、得られた画像信号を、A/D変換部１０２を介して、メイン制御部６１に送出する。マイクロホン８２は、ユーザから音声入力として与えられる「歩け」、「とまれ」または「右手を挙げろ」等の各種命令音声を集音し、得られた音声信号を、A/D変換部１０２を介して、メイン制御部６１に送出する。
【００４７】
また、頭部センサ５１は、例えば、図１および図２に示されるように頭部ユニット１２の上部に設けられており、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、検出結果としての圧力検出信号を、A/D変換部１０２を介して、メイン制御部６１に送出する。
【００４８】
足底センサ９１は、足部４５の足底面に配設されており、足部４５が床に接地している場合、接地信号を、A/D変換部１０２を介して、メイン制御部６１に送出する。メイン制御部６１は、接地信号に基づいて、足部４５が床に接地しているか否かを判定する。足底センサ９１は、脚部ユニット１４Ａ、および脚部ユニット１４Ｂの両方の足部４５に配設されているため、メイン制御部６１は、接地信号に基づいて、ロボット１の両足が床に接地しているか、片足が床に接地しているか、両足とも床に接地していないかを判定することができる。
【００４９】
制御ユニット５２は、メイン制御部６１、D/A変換部１０１、A/D変換部１０２、バッテリ１０３、内部センサ部１０４、通信部１０５、および外部メモリ１０６等により構成される。
【００５０】
D/A(Digital/Analog)変換部１０１は、メイン制御部６１から供給されるデジタル信号をD/A変換することによりアナログ信号とし、スピーカ７２に供給する。A/D(Analog/Digital)変換部１０２は、CCDカメラ８１、マイクロフォン８２、頭部センサ５１、および足底センサ９１が出力するアナログ信号をA/D変換することによりデジタル信号とし、メイン制御部６１に供給する。
【００５１】
内部センサ部１０４のバッテリセンサ１３１は、バッテリ１０３のエネルギ残量を所定の周期で検出し、検出結果をバッテリ残量検出信号として、メイン制御部６１に送出する。加速度センサ１３２は、ロボット１の移動について、３軸方向（ｘ軸、ｙ軸、およびｚ軸）の加速度を、所定の周期で検出し、検出結果を、加速度検出信号として、メイン制御部６１に送出する。
【００５２】
メイン制御部６１は、メイン制御部６１全体の動作を制御するCPU１１１と、CPU１１１が各部を制御するために実行するOS(Operating System)１２１、アプリケーションプログラム１２２、その他の必要なデータ等が記憶されている内部メモリ１１２等を内蔵している。
【００５３】
メイン制御部６１は、外部センサ部７１のCCDカメラ８１Ｌおよび８１Ｒ、マイクロホン８２並びに頭部センサ５１からそれぞれ供給される、画像信号、音声信号および圧力検出信号、並びに足底センサ９１から供給される接地信号（以下、これらをまとめて外部センサ信号Ｓ１と称する）と、内部センサ部１０４のバッテリセンサ１３１および加速度センサ１３２等からそれぞれ供給される、バッテリ残量検出信号および加速度検出信号（以下、これらをまとめて内部センサ信号Ｓ２と称する）に基づいて、ロボット１の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無などを判断する。
【００５４】
そして、メイン制御部６１は、ロボット１の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無の判断結果と、内部メモリ１１２に予め格納されている制御プログラム、あるいは、そのとき装填されている外部メモリ１０６に格納されている各種制御パラメータなどに基づいて、ロボット１の行動を決定し、決定結果に基づく制御コマンドCOMを生成して、対応するサブ制御部６３Ａ乃至６３Ｄに送出する。サブ制御部６３Ａ乃至６３Ｄは、供給された制御コマンドCOMに基づいて、アクチュエータＡ１乃至Ａ１４のうち、対応するものの駆動を制御するので、ロボット１は、例えば、頭部ユニット１２を上下左右に揺動させたり、腕部ユニット１３Ａ、あるいは、腕部ユニット１３Ｂを上に挙げたり、脚部ユニット１４Ａおよび脚部ユニット１４Ｂを交互に駆動させて、歩行するなどの機械的動作を行うことが可能となる。
【００５５】
また、メイン制御部６１は、必要に応じて、所定の音声信号をスピーカ７２に与えることにより、音声信号に基づく音声を外部に出力させる。更に、メイン制御部６１は、外見上の「目」として機能する、頭部ユニット１２の所定位置に設けられた、図示しないLED(Light Emitting Diode)に対して駆動信号を出力することにより、LEDを点灯、消灯、または点滅させる。
【００５６】
このようにして、ロボット１は、周囲および内部の状況や、ユーザからの指令および働きかけの有無などに基づいて、自律的に行動することができるようになされている。
【００５７】
通信部１０５は、外部と無線または有線で通信するときの通信制御を行う。これにより、OS１２１やアプリケーションプログラム１２２がバージョンアップされたときに、通信部１０５を介して、そのバージョンアップされたOSやアプリケーションプログラムをダウンロードして、内部メモリ１１２に記憶させたり、また、所定のコマンドを、通信部１０５で受信し、CPU１１１に与えることができるようになっている。
【００５８】
外部メモリ１０６は、例えば、EEPROM(Electrically Erasable Programmable Read-only Memory)等で構成され、胴体部ユニット１１に設けられた図示せぬスロットに対して、着脱可能になっている。外部メモリ１０６には、例えば、後述するような感情モデル等が記憶される。
【００５９】
次に、図６は、図５のメイン制御部６１の機能的構成例を示している。なお、図６に示す機能的構成は、メイン制御部６１が、内部メモリ１１２に記憶されたOS１２１およびアプリケーションプログラム１２２を実行することで実現されるようになっている。また、図６では、D/A変換部１０１およびA/D変換部１０２の図示を省略してある。
【００６０】
メイン制御部６１のセンサ入力処理部２０１は、頭部センサ５１、足底センサ９１、加速度センサ１３２、マイクロフォン８２、並びにCCDカメラ８１Ｌおよび８１Ｒからそれぞれ与えられる圧力検出信号、接地信号、加速度検出信号、音声信号、画像信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示、ユーザまでの距離等を認識し、その認識結果を表す状態認識情報を、モデル記憶部２０２および行動決定機構部２０３に通知する。
【００６１】
すなわち、センサ入力処理部２０１は、圧力処理部２２１、加速度処理部２２２、音声認識部２２３、および画像認識部２２４を有している。
【００６２】
圧力処理部２２１は、頭部センサ５１から与えられる圧力検出信号を処理する。そして、圧力処理部２２１は、例えば、その処理の結果、所定の閾値以上で、かつ短時間の圧力を検出したときには、「叩かれた（しかられた）」と認識し、所定の閾値未満で、かつ長時間の圧力を検出しなときには、「なでれらた（ほめられた）」と認識して、その認識結果を、状態認識情報として、モデル記憶部２０２および行動決定機構部２０３に通知する。
【００６３】
また、圧力処理部２２１は、足底センサ９１から与えられる接地信号を処理する。そして、圧力処理部２２１は、例えば、その処理の結果、脚部ユニット１４Ａの足部４５に配設された足底センサ９１から接地信号が与えられている場合、脚部ユニット１４Ａの足部４５が床（地面）に接地していると認識し、足底センサ９１から接地信号が与えられていない場合、脚部ユニット１４Ａの足部４５が床（地面）に接地していないと認識する。脚部ユニット１４Ｂについても、同様にして、足底センサ９１からの接地信号に基づいて、脚部ユニット１４Ｂの足部４５が床（地面）に接地しているか否かを認識する。そして、圧力処理部２２１は、その認識結果を、状態認識情報として、モデル記憶部２０２および行動決定機構部２０３に通知する。
【００６４】
加速度処理部２２２は、加速度センサ１３２から与えられる加速度検出信号に基づいて、胴体部ユニット１１の加速度の方向および大きさを、状態認識情報として、モデル記憶部２０２および行動決定機構部２０３に通知する。
【００６５】
音声認識部２２３は、マイクロフォン８２から与えられる音声信号を対象とした音声認識を行う。そして、音声認識部２２３は、その音声認識結果としての、例えば、「歩け」、「伏せ」、「ボールを追いかけろ」等の単語列を、状態認識情報として、モデル記憶部２０２および行動決定機構部２０３に通知する。
【００６６】
画像認識部２２４は、CCDカメラ８１Ｌおよび８１Ｒから与えられる画像信号を用いて、画像認識処理を行う。そして、画像認識部２２４は、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」等の画像認識結果を、状態認識情報として、モデル記憶部２０２および行動制御部２０３に通知する。また、画像認識部２２４は、CCDカメラ８１Ｌおよび８１Ｒから与えられる画像信号を用いて、人の顔を認識して、周囲にいるユーザが誰なのかを特定し、その認識結果を、状態認識情報として、モデル記憶部２０２および行動制御部２０３に通知する。また、画像認識部２２４は、CCDカメラ８１Ｌおよび８１Ｒから与えられる画像信号を用いて、周囲に存在する対象物（例えばユーザ）までの距離を計算し、計算結果を、状態識別情報として、モデル記憶部２０２および行動制御部２０３に通知する。
【００６７】
モデル記憶部２０２は、ロボット１の感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶し、管理している。
【００６８】
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態（度合い）を、所定の範囲（例えば、−１．０乃至１．０等）の値によってそれぞれ表し、センサ入力処理部２０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【００６９】
本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態（度合い）を、所定の範囲の値によってそれぞれ表し、センサ入力処理部２０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【００７０】
成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態（度合い）を、所定の範囲の値によってそれぞれ表し、センサ入力処理部２０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【００７１】
モデル記憶部２０２は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を、状態情報として、行動決定機構部２０３に送出する。
【００７２】
なお、モデル記憶部２０２には、センサ入力処理部２０１から状態認識情報が供給される他に、行動決定機構部２０３から、ロボット１の現在または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部２０２は、同一の状態認識情報が与えられても、行動情報が示すロボット１の行動に応じて、異なる状態情報を生成するようになっている。
【００７３】
例えば、ロボット１が、ユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部２０２に与えられ、この場合、モデル記憶部２０２では、「うれしさ」を表す感情モデルの値が増加される。
【００７４】
行動決定機構部２０３は、センサ入力処理部２０１からの状態認識情報や、モデル記憶部２０２からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容を、行動指令情報として、姿勢遷移機構部２０４に出力する。
【００７５】
すなわち、行動決定機構部２０３は、ロボット１がとり得る行動をステート（状態）(state)に対応させた有限オートマトンを、ロボット１の行動を規定する行動モデルとして管理している。そして、行動決定機構部２０３は、この行動モデルとしての有限オートマトンにおけるステートを、センサ入力処理部２０１からの状態認識情報（例えば、ユーザまでの距離）や、モデル記憶部２０２における感情モデル、本能モデル、または成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
【００７６】
ここで、行動決定機構部２０３は、所定のトリガ(trigger)があったことを検出すると、ステートを遷移させる。すなわち、行動決定機構部２０３は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部２０２から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下または以上になったとき等に、ステートを遷移させる。
【００７７】
なお、行動決定機構部２０３は、上述したように、センサ入力処理部２０１からの状態認識情報だけでなく、モデル記憶部２０２における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値（状態情報）によっては、ステートの遷移先は異なるものとなる。
【００７８】
また、行動決定機構部２０３はアプリケーション管理部２３１を含んでおり、アプリケーション管理部２３１は、ロボット１からユーザまでの距離に応じて、ロボット１の行動を制御するアプリケーションプログラムを、近距離用または遠距離用に切り替える。従って、ロボット１からユーザまでの距離に応じて、ステートの遷移先は異なるものとなる。アプリケーション管理部２３１は、ロボット１からユーザまでの距離に基づいて、遷移先のステートに対応する行動のパラメータとしての、例えば、歩行の速度や、手足を動かす際の動きの大きさおよび速度などを決定させることができ、この場合、それらのパラメータを含む行動指令情報が、姿勢遷移機構部２０４に送出される。
【００７９】
姿勢遷移機構部２０４は、行動決定機構部２０３から供給される行動指令情報に基づいて、ロボット１の姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これを制御機構部２０５に送出する。
【００８０】
ここで、現在の姿勢から次に遷移可能な姿勢は、例えば、胴体部ユニット１１、頭部ユニット１２、腕部ユニット１３Ａおよび１３Ｂ、並びに脚部ユニット１４Ａおよび１４Ｂの形状、重さ、各部の結合状態のようなロボット１の物理的形状と、関節が曲がる方向や角度のようなアクチュエータの機構とによって決定される。
【００８１】
また、次の姿勢としては、現在の姿勢から直接遷移可能な姿勢と、直接には遷移できない姿勢とがある。例えば、ロボット１は、手足を大きく投げ出して仰向けに寝転んでいる状態から、うつ伏せ状態へ直接遷移することはできるが、仰向けの状態から、起立状態へ直接遷移することはできず、一旦、手足を胴体近くに引き寄せてしゃがみこんだ姿勢になり、それから立ち上がるという２段階の動作が必要である。また、安全に実行できない姿勢も存在する。
【００８２】
このため、姿勢遷移機構部２０４は、直接遷移可能な姿勢をあらかじめ登録しておき、行動決定機構部２０３から供給される行動指令情報が、直接遷移可能な姿勢を示す場合には、その行動指令情報を制御機構部２０５に送出する。
【００８３】
一方、行動指令情報が、直接遷移不可能な姿勢を示す場合には、姿勢遷移機構部２０４は、遷移可能な他の姿勢に一旦遷移した後に、目的の姿勢まで遷移させるような姿勢遷移情報を生成し、制御機構部２０５に送出する。これによりロボット１が、遷移不可能な姿勢を無理に実行しようとする事態や、転倒するような事態を回避することができるようになっている。
【００８４】
制御機構部２０５は、姿勢遷移機構部２０４からの姿勢遷移情報にしたがって、アクチュエータＡ１乃至Ａ１４を駆動するための制御信号を生成し、これを、サブ制御部６３Ａ乃至６３Ｄに送出する。サブ制御部６３Ａ乃至６３Ｄは、この制御信号に基づいて、適宜のアクチュエータを駆動し、ロボット１に種々の動作を実行させる。
【００８５】
音声合成部２０６は、行動決定機構部２０３から、ロボット１に発話を指令する発話指令情報を受信し、その発話指令情報に従って、例えば、規則音声合成を行い、生成した合成音をスピーカ７２に供給して出力させる。
【００８６】
図７は、センサ入力処理部２０１の画像認識部２２４の機能を示す機能ブロック図である。
【００８７】
図５のCCDカメラ８１Ｌおよび８１Ｒから画像認識部２２４に入力される画像データは、距離計算部３０１および人物検出部３０２に供給される。
【００８８】
距離計算部３０１には、CCDカメラ８１Ｌおよび８１Ｒが出力する画像データが供給されるようになっている。距離計算部３０１は、CCDカメラ８１Ｌおよび８１Ｒからの画像データを用いてステレオ処理（ステレオマッチング法による処理）を行うことにより、CCDカメラ８１Ｌおよび８１Ｒによって撮像された画像に表示されたユーザ等からロボット１までの距離を求め、求められた距離情報を行動決定機構部２０３に供給する。
【００８９】
ここで、距離計算部３０１で行われるステレオ処理は、２つ以上の方向（異なる視線方向）からカメラで同一対象物を撮影して得られる複数の画像間の画素同士を対応付けることで、対応する画素間の視差情報や、カメラから対象物までの距離を求めるものである。
【００９０】
即ち、いま、CCDカメラ８１Ｌと８１Ｒを、それぞれ基準カメラ８１Ｌと検出カメラ８１Ｒというとともに、それぞれが出力する画像を、基準カメラ画像と検出カメラ画像というものとして、例えば、図８に示すように、基準カメラ８１Ｌおよび検出カメラ８１Ｒで、撮像対象物としてのユーザを撮影すると、基準カメラ８１Ｌからはユーザの投影像を含む基準カメラ画像が得られ、検出カメラ８１Ｒからもユーザの投影像を含む検出カメラ画像が得られる。そして、いま、例えば、ユーザの口部上のある点Ｐが、基準カメラ画像および検出カメラ画像の両方に表示されているとすると、その点Ｐが表示されている基準カメラ画像上の位置と、検出カメラ画像上の位置、つまり対応点（対応画素）とから、視差情報を求めることができ、さらに、三角測量の原理を用いて、点Ｐの３次元空間における位置（３次元位置）を求めることができる。
【００９１】
従って、ステレオ処理では、まず、対応点を検出することが必要となるが、その検出方法としては、例えば、エピポーラライン（Epipolar Line）を用いたエリアベースマッチング法などがある。
【００９２】
即ち、図９に示すように、基準カメラ８１Ｌにおいては、ユーザ上の点Ｐは、その点Ｐと基準カメラ８１Ｌの光学中心（レンズ中心）Ｏ1とを結ぶ直線Ｌ上の、基準カメラ１の撮像面Ｓ1との交点ｎaに投影される。
【００９３】
また、検出カメラ８１Ｒにおいては、ユーザ上の点Ｐは、その点Ｐと検出カメラ８１Ｒの光学中心（レンズ中心）Ｏ2とを結ぶ直線上の、検出カメラ８１Ｒの撮像面Ｓ2との交点ｎbに投影される。
【００９４】
この場合、直線Ｌは、光学中心Ｏ1およびＯ2、並びに点ｎa（または点Ｐ）の３点を通る平面と、検出カメラ画像が形成される撮像面Ｓ2との交線Ｌ2として、撮像面Ｓ2上に投影される。点Ｐは、直線Ｌ上の点であり、従って、撮像面Ｓ2において、点Ｐを投影した点ｎbは、直線Ｌを投影した直線Ｌ2上に存在し、この直線Ｌ2はエピポーララインと呼ばれる。即ち、点ｎaの対応点ｎbが存在する可能性のあるのは、エピポーララインＬ2上であり、従って、対応点ｎbの探索は、エピポーララインＬ2上を対象に行えば良い。
【００９５】
ここで、エピポーララインは、例えば、撮像面Ｓ1に形成される基準カメラ画像を構成する画素ごとに考えることができるが、基準カメラ８１Ｌと検出カメラ８１Ｒの位置関係が既知であれば、その画素ごとに存在するエピポーララインは、例えば計算によって求めることができる。
【００９６】
エピポーララインＬ2上の点からの対応点ｎbの検出は、例えば、次のようなエリアベースマッチングによって行うことができる。
【００９７】
即ち、エリアベースマッチングでは、図１０Ａに示すように、基準カメラ画像上の点ｎaを中心（例えば、対角線の交点）とする、例えば長方形状の小ブロック（以下、適宜、基準ブロックという）が、基準カメラ画像から抜き出されるとともに、図１０Ｂに示すように、検出カメラ画像に投影されたエピポーララインＬ2上の、ある点を中心とする、基準ブロックと同一の大きさの小ブロック（以下、適宜、検出ブロックという）が、検出カメラ画像から抜き出される。
【００９８】
ここで、図１０Ｂの実施の形態においては、エピポーララインＬ2上に、検出ブロックの中心とする点として、点ｎb1乃至ｎb6の６点が設けられている。この６点ｎb1乃至ｎb6は、図９に示した３次元空間における直線Ｌを、所定の一定距離ごとに区分する点、即ち、基準カメラ８１Ｌからの距離が、例えば、１ｍ，２ｍ，３ｍ，４ｍ，５ｍ，６ｍの点それぞれを、検出カメラ８１Ｒの撮像面Ｓ2に投影した点で、従って、基準カメラ８１Ｌからの距離が１ｍ，２ｍ，３ｍ，４ｍ，５ｍ，６ｍの点にそれぞれ対応している。
【００９９】
エリアベースマッチングでは、検出カメラ画像から、エピポーララインＬ2上に設けられている点ｎb1乃至ｎb6それぞれを中心とする検出ブロックが抜き出され、各検出ブロックと、基準ブロックとの相関が、所定の評価関数を用いて演算される。そして、点ｎaを中心とする基準ブロックとの相関が最も高い検出ブロックの中心の点ｎbが、点ｎaの対応点として求められる。
【０１００】
即ち、例えば、いま、評価関数として、相関が高いほど小さな値をとる関数を用いた場合に、エピポーララインＬ2上の点ｎb1乃至ｎb6それぞれについて、例えば、図１１に示すような評価値（評価関数の値）が得られたとする。この場合、評価値が最も小さい（相関が最も高い）点ｎb3が、点ｎaの対応点として検出される。なお、図１１において、点ｎb1乃至ｎb6それぞれについて求められた評価値（図１１において●印で示す）のうちの最小値付近のものを用いて補間を行い、評価値がより小さくなる点（図１１において×印で示す）を求めて、その点を、最終的な対応点として検出することも可能である。
【０１０１】
図１０の実施の形態では、上述したように、３次元空間における直線Ｌを所定の等距離ごとに区分する点を、検出カメラ８１Ｒの撮像面Ｓ2に投影した点が設定されているが、この設定は、例えば、基準カメラ８１Ｌおよび検出カメラ８１Ｒのキャリブレーション時に行うことができる。そして、このような設定を、基準カメラ８１Ｌの撮像面Ｓ1を構成する画素ごとに存在するエピポーララインごとに行い、図１２Ａに示すように、エピポーラライン上に設定された点（以下、適宜、設定点という）と、基準カメラ８１Ｌからの距離とを対応付ける設定点／距離テーブルをあらかじめ作成しておけば、対応点となる設定点を検出し、設定点／距離テーブルを参照することで、即座に、基準カメラ８１Ｌからの距離（ユーザまでの距離）を求めることができる。即ち、いわば、対応点から、直接、距離を求めることができる。
【０１０２】
一方、基準カメラ画像上の点ｎaについて、検出カメラ画像上の対応点ｎbを検出すれば、その２点ｎaおよびｎbの間の視差（視差情報）を求めることができる。さらに、基準カメラ８１Ｌと検出カメラ８１Ｒの位置関係が既知であれば、２点ｎaおよびｎbの間の視差から、三角測量の原理によって、ユーザまでの距離を求めることができる。視差から距離の算出は、所定の演算を行うことによって行うことができるが、あらかじめその演算を行っておき、図１２Ｂに示すように、視差ζと距離との対応付ける視差／距離テーブルをあらかじめ作成しておけば、対応点を検出し、視差を求め、視差／距離テーブルを参照することで、やはり、即座に、基準カメラ８１Ｌからの距離を求めることができる。
【０１０３】
ここで、視差と、ユーザまでの距離とは一対一に対応するものであり、従って、視差を求めることとと、ユーザまでの距離を求めることとは、いわば等価である。
【０１０４】
また、対応点の検出に、基準ブロックおよび検出ブロックといった複数画素でなるブロックを用いるのは、ノイズの影響を軽減し、基準カメラ画像上の画素（点）ｎaの周囲の画素のパターンの特徴と、検出カメラ画像上の対応点（画素）ｎbの周囲の画素のパターンの特徴との相関性を明確化して判断することにより、対応点の検出の確実を期すためであり、特に、変化の少ない基準カメラ画像および検出カメラ画像に対しては、画像の相関性により、ブロックの大きさが大きければ大きいほど対応点の検出の確実性が増す。
【０１０５】
なお、エリアベースマッチングにおいて、基準ブロックと検出ブロックとの相関性を評価する評価関数としては、基準ブロックを構成する画素と、それぞれの画素に対応する、検出ブロックを構成する画素の画素値の差分の絶対値の総和や、その差分の自乗和、正規化された相互相関(normalized cross correlation)などを用いることができる。
【０１０６】
以上、ステレオ処理について簡単に説明したが、ステレオ処理（ステレオマッチング法）については、その他、例えば、安居院、長尾、「Ｃ言語による画像処理入門」、昭晃堂 pp.127ページなどにも記載されている。
【０１０７】
なお、本実施の形態においては、上記のステレオ処理により、ロボット１からユーザまでの距離を測定しているが、ステレオ処理以外の方法により、ロボット１からユーザまでの距離を測定するようにしても良い。例えば、CCDカメラ８１Ｌまたは８１Ｒのフォーカス状態に基づいて、ロボット１からユーザまでの距離を測定するようにしても良い。また、例えば、ロボット１に、ロボット１からユーザまでの距離を測定するための赤外線センサなどを備えるようにしてもよい。また、例えば、ロボット１に、予めユーザの顔の大きさを登録しておき、CCDカメラ８１Ｌまたは８１Ｒにより撮像された画像データからユーザの顔を抽出し、その画像データ中の顔の大きさに基づいて、ロボット１からユーザまでの距離を算出しても良い。勿論、上記した以外の距離測定手段により、ロボット１からユーザまでの距離を測定するようにしても良い。
【０１０８】
図７に戻って、人物検出部３０２は、CCDカメラ８１Ｌまたは８１Ｒから供給された画像データに基づいて、CCDカメラ８１Ｌまたは８１Ｒにより撮像された像の中で人物を検出し、人物認識部３０３に通知する。人物認識部３０３は、人物検出部３０２からの通知に基づいて、顔面認識処理を実行し、CCDカメラ８１Ｌまたは８１Ｒから供給された画像データに写っている人物の個人を特定する。そして、人物認識部３０３は、認識結果を、状態認識情報として、行動決定機構部２０３に通知する。
【０１０９】
次に、図１３は、センサ入力処理部２０１の音声認識部２２３の機能を示す機能ブロック図である。
【０１１０】
図５のマイクロフォン８２およびA/D変換部１０２を介して、音声認識部２２３に入力される音声データは、音声区間検出部３５１および特徴抽出部３５２に供給される。
【０１１１】
音声区間検出部３５１は、A/D変換部１０２の出力に基づいて、音声区間を検出し、その検出結果を表すメッセージを、特徴抽出部３５２に供給する。ここで、音声区間を検出する方法としては、例えば、所定のフレームごとに、A/D変換部１０２の出力のパワーを計算し、そのパワーが所定の閾値以上であるかどうかを判定する方法がある。
【０１１２】
特徴抽出部３５２は、音声区間検出部３５１からのメッセージに基づいて、A/D変換部１０２からの音声データのうち、音声区間検出部３５１により音声区間として検出された音声データについて、適当なフレームごとに音響分析処理を施し、これにより、例えば、MFCC(Mel Frequency Cepstrum Coefficient)等の特徴量としての特徴ベクトルを抽出する。なお、特徴抽出部３５２では、その他、例えば、スペクトルや、線形予測係数、ケプストラム係数、線スペクトル対等の特徴ベクトル（特徴パラメータ）を抽出することが可能である。
【０１１３】
特徴抽出部３５２においてフレームごとに得られる特徴ベクトルは、特徴ベクトルバッファ３５３に順次供給されて記憶される。従って、特徴ベクトルバッファ３５３では、フレームごとの特徴ベクトルが時系列に記憶されていく。
【０１１４】
なお、特徴ベクトルバッファ３５３は、例えば、ある発話の開始から終了まで（音声区間）に得られる時系列の特徴ベクトルを記憶する。
【０１１５】
マッチング部３５４は、特徴ベクトルバッファ３５３に記憶された特徴ベクトルを用いて、セレクタ３５７を介して、近距離用タスク３５５の音響モデルデータベース３７１、辞書データベース３７２、および文法データベース３７３、または遠距離用タスク３５６の音響モデルデータベース３８１、辞書データベース３８２、および文法データベース３８３を必要に応じて参照しながら、マイクロフォン８２に入力された音声（入力音声）を、例えば、連続分布HMM法等に基づいて音声認識する。
【０１１６】
即ち、音声認識部２２３は、ユーザがロボット１の近くにいる場合に利用する近距離用タスク３５５、およびユーザがロボット１の遠くにいる場合に利用する遠距離用タスク３５６を含んでいる。近距離用タスク３５５は、音響モデルデータベース３７１、辞書データベース３７２、および文法データベース３７３を含み、遠距離用タスク３５６は、音響モデルデータベース３８１、辞書データベース３８２、および文法データベース３８３を含んでいる。
【０１１７】
音響モデルデータベース３７１および３８１は、それぞれ音声認識する音声の言語における個々の音素や音節などの所定の単位(PLU(Phonetic-Linguistic-Units))ごとの音響的な特徴を表す音響モデルのセットを記憶している。ここでは、連続分布HMM法に基づいて音声認識を行うので、音響モデルとしては、例えば、ガウス分布等の確率密度関数を用いたHMM(Hidden Markov Model)が用いられる。
【０１１８】
なお、ロボット１がユーザから離れた位置にある場合、マイクロフォン８２により集音される音声には、周辺の雑音が多く含まれていることが考えられるため、遠距離用タスク３５６の音響モデルデータベース３８１は、雑音を含んだ環境で学習された音響モデルを含んでいる。一方、ロボット１がユーザの近くに位置する場合、マイクロフォン８２により集音される音声に含まれる雑音は、ロボット１がユーザから離れた位置にある場合と比べて、少ないと考えられるため、近距離用タスク３５５の音響モデルデータベース３７１は、雑音の無い環境で学習された音響モデルを含んでいる。
【０１１９】
辞書データベース３７２および３８２は、それぞれ認識対象の各単語（語彙）について、その発音に関する情報（音韻情報）が記述された単語辞書を記憶している。
【０１２０】
文法データベース３７３および３８３は、それぞれ辞書データベース３７２および３８２の単語辞書に登録されている各単語が、どのように連鎖する（つながる）かを記述した文法規則（言語モデル）を記憶している。
【０１２１】
なお、ロボット１がユーザから離れた位置にある場合、ユーザからの発話は比較的小語彙で単純であることが考えられるため、遠距離用タスク３５６に含まれている文法データベース３８３には、文脈自由文法（CFG）などの、短い文法のみを受け付けるような文法規則を利用する。一方、ロボット１がユーザの近くに位置する場合、ユーザからの発話は比較的大語彙で複雑であることが考えられるため、近距離用タスク３５５に含まれている文法データベース３７３には、統計的な単語連鎖確率（N-gram）などの、大語彙で複雑な対話に対応できる文法規則を利用する。
【０１２２】
マッチング部３５４は、セレクタ３５７により選択された近距離用タスク３５５または遠距離用タスク３５６に含まれている辞書データベースの単語辞書を参照することにより、音響モデルデータベースに記憶されている音響モデルを接続することで、単語の音響モデル（単語モデル）を構成する。さらに、マッチング部３５４は、幾つかの単語モデルを、文法データベースに記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、時系列の特徴ベクトルとのマッチングを、連続分布HMM法によって行い、マイクロフォン８２に入力された音声を認識する。即ち、マッチング部３５４は、上述したようにして構成された各単語モデルの系列から、特徴ベクトルバッファ３５３に記憶された時系列の特徴ベクトルが観測される尤度を表すスコアを計算する。そして、マッチング部３５４は、例えば、そのスコアが最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列を、音声の認識結果として出力する。
【０１２３】
なお、ここでは、HMM法により音声認識が行われるため、マッチング部３５４は、音響的には、接続された単語モデルに対応する単語列について、各特徴ベクトルの出現確率を累積し、その累積値をスコアとする。
【０１２４】
即ち、マッチング部３５４におけるスコア計算は、音響モデルデータベース３７１（または３８１）に記憶された音響モデルによって与えられる音響的なスコア（以下、適宜、音響スコアという）と、文法データベース３７３（または３８３）に記憶された文法規則によって与えられる言語的なスコア（以下、適宜、言語スコアという）とを総合評価することで行われる。
【０１２５】
具体的には、音響スコアは、例えば、HMM法による場合には、単語モデルを構成する音響モデルから、特徴抽出部３５２が出力する特徴ベクトルの系列が観測される確率（出現する確率）に基づいて、単語ごとに計算される。また、言語スコアは、例えば、バイグラムによる場合には、注目している単語と、その単語の直前の単語とが連鎖（連接）する確率に基づいて求められる。そして、各単語についての音響スコアと言語スコアとを総合評価して得られる最終的なスコア（以下、適宜、最終スコアという）に基づいて、音声認識結果が確定される。
【０１２６】
ここで、音声認識部２２３は、文法データベースを設けずに構成することも可能である。但し、文法データベースに記憶された規則によれば、接続する単語モデルが制限され、その結果、マッチング部３５４における音響スコアの計算の対象とする単語数が限定されるので、マッチング部３５４の計算量を低減し、処理速度を向上させることができる。
【０１２７】
音声認識部２２３は、ユーザがロボット１の近くにいる場合に利用する近距離用タスク３５５、およびユーザがロボット１から遠くにいる場合に利用する遠距離用タスク３５６を含んでおり、セレクタ３５７により、近距離用タスク３５５および遠距離用タスク３５６のうちいずれかが選択されて、マッチング部３５４によるマッチング処理に利用される。例えば、近距離用タスク３５５が選択された状態においては、大語彙でトライグラム文法を用いた大語彙連続音声認識の言語モデルによりマッチング処理が実行される。一方、遠距離用タスク３５６が選択された状態においては、小語彙のコマンドだけ受け付ける孤立単語認識の言語モデルによりマッチング処理が実行される。
【０１２８】
選択制御部３５８は、行動決定機構部２０３のアプリケーション選択部４０１から、遠距離および近距離のうちいずれかを選択する選択情報が通知されると、通知された選択情報に基づいて、セレクタ３５７によるタスクの選択を制御する。すなわち、選択制御部３５８は、アプリケーション選択部４０１から、近距離を選択する選択情報が通知された場合、セレクタ３５７に、近距離用タスク３５５を選択させ、アプリケーション選択部４０１から、遠距離を選択する選択情報が通知された場合、セレクタ３５７に、遠距離用タスク３５６を選択させる。
【０１２９】
次に、図１４は、行動決定機構部２０３の機能を示す機能ブロック図である。
【０１３０】
アプリケーション選択部４０１は、画像認識部２２４の距離計算部３０１から通知された、ロボット１からユーザまでの距離を示す距離情報に基づいて、ユーザがロボット１の近くにいるか否かを判定する。すなわち、アプリケーション選択部４０１は、予め距離の基準値を保持しており、距離計算部３０１から通知された、ロボット１からユーザまでの距離が基準値より短い距離である場合、ユーザはロボット１の近くにいると判定し、距離計算部３０１から通知された、ロボット１からユーザまでの距離が基準値より長い距離である場合、ユーザはロボット１の遠くにいると判定する。そして、アプリケーション選択部４０１は、ユーザがロボット１の近くにいると判定した場合、近距離用アプリケーション部４０３を起動すると共に、音量制御部４０４および音声認識部２２３の選択制御部３５８に、近距離用アプリケーション部４０２を選択したことを示す選択情報を通知する。一方、アプリケーション選択部４０１は、ユーザがロボット１から遠くにいると判定した場合、遠距離用アプリケーション部４０２を起動すると共に、音量制御部４０４および音声認識部２２３の選択制御部３５８に、遠距離用アプリケーション部４０３を選択したことを示す選択情報を通知する。
【０１３１】
遠距離用アプリケーション部４０２は、ユーザがロボット１の遠くにいる場合に起動されるアプリケーションプログラムにより構成されている。図１４においては、遠距離用アプリケーション部４０２に含まれるアプリケーションプログラムの例として、挨拶用アプリケーション部４２１、遠距離発話用アプリケーション部４２２、緊急動作用アプリケーション部４２３、および遠距離ジェスチャ用アプリケーション部４２４が記載されている。
【０１３２】
挨拶用アプリケーション部４２１は、遠くにユーザを発見した場合に、ユーザに向かってお辞儀したり、手を振ったり、「こんにちは」などの音声を出力する動作を制御するプログラムである。
【０１３３】
遠距離発話用アプリケーション部４２２は、遠くにいるユーザと対話するための動作（例えば「おーい」、「ここだよ」などの発話）を制御するためのプログラムである。
【０１３４】
緊急動作用アプリケーション部４２３は、緊急性の高い動作（例えば、ユーザからの「止まれ」の指示に対応して、機械的動作を停止する）の実行を制御するためのプログラムである。
【０１３５】
遠距離ジェスチャ用アプリケーション部４２４は、遠くにいるユーザにも動作がはっきりと分かるように、大ぶりな動作を実行させるプログラムである。遠距離ジェスチャ用アプリケーション部４２４は、例えば、大きな動作でお辞儀したり、ダンスを踊ったりする動作を制御する。
【０１３６】
図示は省略するが、遠距離アプリケーション部４０２には、上記の他にも、遠距離用のアプリケーションプログラムが含まれている。
【０１３７】
近距離用アプリケーション部４０３は、ユーザがロボット１の近くにいる場合に起動されるアプリケーションプログラムにより構成されている。図１４においては、近距離用アプリケーション部４０３に含まれるアプリケーションプログラムの例として、名前登録用アプリケーション部４３１、雑談用アプリケーション部４３２、緊急動作用アプリケーション部４３３、および近距離ジェスチャ用アプリケーション部４３４が記載されている。
【０１３８】
名前登録用アプリケーション部４３１は、ユーザの名前やロボット１の名前などを取得し、辞書データベースに登録する登録処理を制御するプログラムである。
【０１３９】
雑談用アプリケーション部４３２は、ユーザと音声で雑談させる処理を制御するプログラムである。
【０１４０】
緊急動作用アプリケーション部４３３は、緊急性の高い動作（例えば、ユーザからの「止まれ」の指示に対応して、機械的動作を停止する）の実行を制御するためのプログラムである。なお、緊急動作用アプリケーション部は、遠距離用アプリケーション部４０２にも近距離用アプリケーション部４０３にも設けられている。これにより、緊急性の高い動作は、ロボット１とユーザとの距離にかかわらず、実行させることが可能となる。
【０１４１】
近距離ジェスチャ用アプリケーション部４３４は、近くにいるユーザに衝突しないように、ロボット１に比較的小ぶりな動作を実行させるプログラムである。近距離ジェスチャ用アプリケーション部４３４は、例えば、小さく会釈したり、首をかしげたりする動作を制御する。
【０１４２】
図示は省略するが、近距離アプリケーション部４０３には、上記の他にも、近距離用のアプリケーションプログラムが含まれている。
【０１４３】
また、図１４においては、緊急動作用アプリケーション部のみが、遠距離用アプリケーション部４０２および近距離用アプリケーション部４０３の両方に含まれているが、緊急動作用アプリケーション部以外のプログラムを遠距離用アプリケーション部４０２および近距離用アプリケーション部４０３の両方に含ませるようにすることも、勿論可能である。例えば、ロボット１とユーザの距離に影響を受けない動作を制御するプログラムは、遠距離用アプリケーション部４０２および近距離用アプリケーション部４０３の両方に含まれる。
【０１４４】
音量制御部４０４は、アプリケーション選択部４０１からの選択情報に基づいて、スピーカ７２から出力する音声の音量をコントロールする。例えば、アプリケーション選択部４０１から、遠距離用アプリケーション部４０２を選択する選択情報が通知された場合、音量制御部４０４は、スピーカ７２から出力させる音声を大音量になるように制御する。これにより、ロボット１の遠くにいるユーザに、ロボット１から出力した音声を十分聞こえるようにすることができる。また、アプリケーション選択部４０１から、近距離用アプリケーション部４０３を選択する選択情報が通知された場合、音量制御部４０４は、スピーカ７２から出力させる音声を大音量になるように制御する。これにより、ロボット１の近くにいるユーザに煩さを感じさせない程度の音量で、音声を出力することができる。
【０１４５】
次に、図１５のフローチャートを参照して、ロボット１の動作を制御する動作制御処理を説明する。
【０１４６】
A/D変換部１０２は、マイクロフォン８２により集音された音声を順次A/D変換して、音声データを生成し、生成した音声データを音声区間検出部３５１および特徴抽出部３５２に供給している。そこで、ステップＳ１０１において、音声区間検出部３５１は、A/D変換部１０２から供給された音声データに基づいて、ユーザからの音声入力があったかどうかを判定する。即ち、音声区間検出部３５１は、音声区間かどうかを判定し、音声区間であると判定するまで、ステップＳ１０１の処理を繰り返して待機する。そして、音声区間検出部３５１が、音声区間であると判定した場合、音声区間検出部３５１は、音声区間である旨のメッセージを特徴抽出部３５２に通知する。なお、音声区間検出部３５１は、音声区間であると判定した場合、画像認識部２２４内の距離計算部３０１に、ロボット１からユーザまでの距離を算出するように要求する。その後、処理はステップＳ１０２に進む。
【０１４７】
ステップＳ１０２において、距離計算部３０１は、音声区間検出部３５１からの要求に応じて、ロボット１から発話を行っているユーザまでの距離を算出し、算出結果である距離情報をアプリケーション管理部２３１内のアプリケーション選択部４０１に通知する。
【０１４８】
ここで、ユーザは、一般に、ロボット１の正面方向から話しかけることが多いと予想されるため、ユーザまでの距離を計算するためにそのユーザを撮像するCCDカメラ８１Ｌおよび８１Ｒは、その撮像方向が、ロボットの正面方向になるように、頭部ユニット１２（図１）設置されているものとする。
【０１４９】
なお、この場合、ユーザが、ロボット１の正面方向からはずれた、例えば、側面や背面方向などから話しかけてきた場合には、CCDカメラ８１Ｌおよび８１Ｒにおいて、ユーザを撮像することができないことになる。そこで、例えば、マイクロフォン８２として、CCDカメラ８１Ｌおよび８１Ｒの撮像方向と同一方向の指向性を有するマイクロフォンを採用し、マイクロフォン８２に入力される音声レベルが最大となる方向に、頭部ユニット１２を動かし、これにより、CCDカメラ８１Ｌおよび８１Ｒにおいて、ユーザを撮像することができるようにすることが可能である。
【０１５０】
また、ロボット１には、複数のマイクを設け、その複数のマイクに到達する音声信号のパワー差や位相差から音源の方向を推定し、その方向に、その複数のマイクのうち、最大の音声レベルが得られるものの方向に、頭部ユニット１２を動かすことによって、CCDカメラ８１Ｌおよび８１Ｒにおいて、ユーザを撮像することができるようにすることも可能である。なお、ロボット１に、複数のマイクを設ける場合には、例えば、最大の音声レベルが得られるマイク（ロボットがユーザの方向を向いた場合には、基本的には、正面方向に設けられているマイク）が出力する音声データが、音声認識の対象とされる。
【０１５１】
ここで、図７の距離計算部３０１において、CCDカメラ８１Ｌおよび８１Ｒから得られる画像を用いてステレオ処理を行うことにより、ユーザまでの距離を計算するには、CCDカメラ８１Ｌおよび８１Ｒが出力する画像から、ユーザが表示されている画素（以下、適宜、ユーザ画素という）を検出する必要があるが、例えば、いわゆる肌色などの所定の色が表示されている画素を、ユーザ画素として検出するようにすることが可能である。あるいは、また、例えば、CCDカメラ８１Ｌや８１Ｒによって、ユーザの顔を、あらかじめ撮像しておき、その顔画像を標準パターンとして、画像認識を行うことにより、ユーザ画素を検出することも可能である。
【０１５２】
ステップＳ１０３において、アプリケーション選択部４０１は、距離計算部３０１からの距離情報に基づいて、ユーザが基準値より遠い位置にいるか否かを判定し、ユーザが基準値より遠い位置にいる場合、処理はステップＳ１０４に進む。
【０１５３】
ステップＳ１０４において、アプリケーション選択部４０１は、遠距離用アプリケーション部４０２を起動すると共に、音量制御部４０４および音声認識部２２３内の選択制御部３５８に対して、遠距離用アプリケーション部４０２を選択したことを示す選択情報を通知する。
【０１５４】
ステップＳ１０５において、音声認識部２２３の選択制御部３５８は、アプリケーション選択部４０１からの選択情報に従って、セレクタ３５７に遠距離用タスク３５６を選択させる。これにより、マッチング部３５４は、遠距離用タスク３５６を参照してマッチング処理を実行することになる。
【０１５５】
ステップＳ１０６において、音声認識部２２３は音声認識処理を実行する。ここで、図１６のフローチャートを参照して、音声認識処理について詳細に説明する。
【０１５６】
図１６のステップＳ１５１において、特徴抽出部３５２は、A/D変換部１０２から供給された音声データについて、適当な時間間隔で音響分析処理を施し、音声の音響的特徴を表すパラメータ（特徴ベクトル）に変換し、特徴量として抽出する。なお、特徴抽出部３５２は、抽出した特徴ベクトルに、その特徴ベクトルの抽出元となる音声の発話時刻を付加する。抽出された特徴ベクトルは、特徴ベクトルバッファ３５３に順次供給され、記憶される。
【０１５７】
ステップＳ１５２において、マッチング部３５４は、特徴ベクトルバッファ３５３に記憶された時系列の特徴ベクトルを読み出し、セレクタ３５７により選択されたタスクに含まれている音響モデルデータベースに記憶された音響モデル、セレクタ３５７により選択されたタスクに含まれている辞書データベースに記憶された、音韻情報が記述された単語辞書、およびセレクタ３５７により選択されたタスクに含まれている文法データベースに記憶された言語モデルを利用して、時系列の特徴ベクトルに対応する単語列を生成し、これを状態認識情報として、モデル記憶部２０２および行動決定機構部２０３に出力する。
【０１５８】
例えば、セレクタ３５７により、近距離用タスク３５５が選択されていた場合、マッチング３５４は、近距離用タスク３５５に含まれている音響モデルデータベース３７１、辞書データベース３７２、および文法データベース３７３を参照して、特徴ベクトルに対応する単語列を生成する。また、例えば、セレクタ３５７により、遠距離用タスク３５６が選択されていた場合、マッチング部３５４は、遠距離用タスク３５６に含まれている音響モデルデータベース３８１、辞書データベース３８２、および文法データベース３８３を参照して、特徴ベクトルに対応する単語列を生成する。
【０１５９】
以上のようにして、音声認識処理が実行される。なお、ステップＳ１０６の音声認識処理においては、ステップＳ１０４でセレクタ３５７により遠距離用タスク３５６が選択されているため、マッチング部３５４は、遠距離用タスク３５６に含まれている音響モデルデータベース３８１、辞書データベース３８２、および文法データベース３８３を参照して、特徴ベクトルに対応する単語列を生成する。
【０１６０】
図１５に戻って、ステップＳ１０６の音声認識処理が実行された後、ステップＳ１０７において、遠距離用アプリケーション部４０２に含まれる各アプリケーション部は、音声認識部２２３のマッチング部３５４から供給された状態認識情報（音声認識結果の単語列）に対応する処理を実行する。その結果、ロボット１は、例えば、挨拶用アプリケーション部４２１の制御により、ユーザに向かってお辞儀したり手を振ったりし、遠距離発話用アプリケーション部４２３の制御により、ユーザに向かって「おーい」などと呼びかけたり、遠距離ジェスチャ用アプリケーション部４２４の制御により、大きな動作を実行したりする。また、音声認識部２２３により、「止まれ」、「ストップ」などの緊急性の高い単語が認識された場合、緊急動作用アプリケーション部４２３の制御により、ロボット１は、動作を停止したりする。ステップＳ１０７の処理の後、処理はステップＳ１０１に戻り、上述したステップＳ１０１以降の処理が繰り返される。
【０１６１】
ステップＳ１０３において、アプリケーション選択部４０１が、ユーザが基準値より遠い位置にいない（ユーザは基準値より近くの位置にいる）と判定した場合、処理はステップＳ１０８に進む。
【０１６２】
ステップＳ１０８において、アプリケーション選択部４０１は、近距離用アプリケーション部４０３を起動すると共に、音量制御部４０４および音声認識部２２３内の選択制御部３５８に対して、近距離用アプリケーション部４０３を選択したことを示す選択情報を通知する。
【０１６３】
ステップＳ１０９において、音声認識部２２３の選択制御部３５８は、アプリケーション選択部４０１からの選択情報に従って、セレクタ３５７に近距離用タスク３５５を選択させる。これにより、マッチング部３５４は、近距離用タスク３５５を参照してマッチング処理を実行することになる。
【０１６４】
ステップＳ１１０において、音声認識部２２３は、ステップＳ１０８で選択された近距離用タスク３５５に含まれている音響モデルデータベース３８１、辞書データベース３８２、および文法データベース３８３を利用して、図１６のフローチャートで説明した音声認識処理を実行する。音声認識部２２３による音声認識結果は、状態認識情報として、モデル記憶部２０２および行動決定機構部２０３に供給される。
【０１６５】
ステップＳ１１１において、近距離用アプリケーション部４０３に含まれる各アプリケーション部は、音声認識部２２３のマッチング部３５４から供給された状態認識情報（音声認識結果の単語列）に対応する処理を実行する。その結果、ロボット１は、例えば名前登録用アプリケーション部４３１の制御により、音声認識部２２３から供給された文字列を、ユーザやロボット１の名前として登録する処理を実行したり、雑談用アプリケーション部４３３の制御により、ユーザに対して、比較的大語彙で、１発話に含まれる単語数が多い音声を音声合成部２０６およびスピーカ７２を介して出力させたり、近距離ジェスチャ用アプリケーション部４３４の制御により、小さい動作でお辞儀したり、首をかしげたりする動作を実行する。また、音声認識部２２３により、「止まれ」、「ストップ」などの緊急性の高い単語が認識された場合、緊急動作用アプリケーション部４２３の制御により、ロボット１は、動作を停止したりする。ステップＳ１１１の後、処理はステップＳ１０１に戻り、上述したステップＳ１０１以降の処理が繰り返される。
【０１６６】
次に、図１７のフローチャートを参照して、ロボット１から出力する音声の音量を制御する処理、すなわち、音量制御処理について図１７のフローチャートを参照して説明する。
【０１６７】
ステップＳ２０１において、音声合成部２０６は、行動決定機構部２０３から、ロボット１に発話を指令する発話指令情報を受信したとき、その発話指令情報に従って、例えば、規則音声合成を行い、生成した合成音の音声信号をスピーカ７２に供給する。
【０１６８】
ステップＳ２０２において、音量制御部４０４は、アプリケーション選択部４０１からの選択情報に基づいて、遠距離用アプリケーション部４０２が選択（起動）されているか否かを判定し、遠距離用アプリケーション部４０２が選択（起動）されていた場合、処理はステップＳ２０３に進む。
【０１６９】
ステップＳ２０３において、音量制御部４０４は、音声合成部２０６からスピーカ７２に供給された音声信号に対応する音声を、大きい音量でスピーカ７２から出力させる。
【０１７０】
ステップＳ２０２において、音量制御部４０４が、遠距離用アプリケーション部４０２が選択（起動）されていない（近距離用アプリケーション部４０３が選択（起動）去れている）と判定した場合、処理はステップＳ２０４に進む。
【０１７１】
ステップＳ２０３において、音量制御部４０４は、音声合成部２０６からスピーカ７２に供給された音声信号に対応する音声を、小さい音量でスピーカ７２から出力させる。
【０１７２】
以上のようにして、音量制御処理が実行される。これにより、ロボット１から出力された音声を、ロボット１からユーザまでの距離に応じて、最適な音量にすることができる。
【０１７３】
以上に説明したように、ロボット１においては、ロボット１とユーザ間の距離に応じて、ロボット１の行動を切り替えるようにすることにより、ロボット１により人間味のある動作をさせることができる。また、ロボットがユーザの遠くにある場合、もしロボットが小さい機械的動作しかしないと、ユーザは、ロボットの動作を明確に確認することができない。それに対して、本発明を適用したロボット１は、ユーザから遠くに位置する場合、より大きな機械的動作を行う。これにより、ロボット１がユーザから遠くに位置する場合でも、ユーザは、ロボット１の動作を明瞭に確認することができる。
【０１７４】
一方、ロボットがユーザの近くにある場合、もしロボットが大きな機械的動作をすると、ユーザにぶつかってしまう危険性がある。それに対して、本発明を適用したロボット１は、ユーザの近くに位置する場合、より小さな機械的動作を行う。これにより、ロボット１がユーザの近くにある場合には、ロボット１がユーザにぶつかることを防止することができる。
【０１７５】
なお、以上の説明においては、ロボット１からユーザまでの距離を、近距離と遠距離の２つに場合分けして、対応する動作を実行する場合を例にして説明したが、ロボット１からユーザまでの距離は、３つ以上に場合分けして、それぞれの距離に対応する動作をロボット１に実行させるようにしても良い。例えば、ロボット１からユーザまでの距離を、近距離、中距離、および遠距離の３つに場合分けしても良い。この場合、音声認識部２２３は、近距離用タスク、中距離用タスク、および遠距離用タスクを有し、アプリケーション管理部２３１は、近距離用アプリケーション部、中距離用アプリケーション部、および遠距離用アプリケーション部を有するようにしても良い。そして、この場合、アプリケーション選択部４０１は、近距離用アプリケーション部、中距離用アプリケーション部、および遠距離用アプリケーション部からいずれかを選択して起動し、音量制御部４０４は、近距離、中距離、および遠距離にそれぞれ対応した音量になるように、スピーカ７２から出力する音声を制御し、セレクタ２２３は、アプリケーション選択部４０１の選択結果に応じて、近距離用タスク、中距離用タスク、および遠距離用タスクのうちいずれかを選択する。
【０１７６】
また、以上の説明においては、本発明を２足歩行型ロボット（ヒューマノイド）に適用した場合を例として説明したが、本発明は、その他のロボット（例えば、４足歩行型のロボットなど）に適用することも勿論可能である。
【０１７７】
上述した一連の処理は、ハードウェアにより実行させることもできるし、上述したようにソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体等からインストールされる。
【０１７８】
図１８は、このような処理を実行するパーソナルコンピュータ９００の内部構成例を示す図である。パーソナルコンピュータのCPU（Central Processing Unit）９０１は、ROM（Read Only Memory）９０２に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）９０３には、CPU９０１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース９０５には、マウス、キーボード、マイクロフォン、AD変換器などから構成される入力部９０６が接続され、入力部９０６に入力された信号をCPU９０１に出力する。また、入出力インタフェース９０５は、ディスプレイ、スピーカ、およびDA変換器などから構成される出力部９０７も接続されている。
【０１７９】
さらに、入出力インタフェース９０５には、ハードディスクなどから構成される記憶部９０８、および、インターネットなどのネットワークを介して他の装置とデータの通信を行う通信部９０９も接続されている。ドライブ９１０は、磁気ディスク９２１、光ディスク９２２、光磁気ディスク９２３、半導体メモリ９３４などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
【０１８０】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図１８に示すように、磁気ディスク９２１（フレキシブルディスクを含む）、光ディスク９２２（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク９２３（ＭＤ（Mini-Disk）を含む）、もしくは半導体メモリ９２４などよりなるパッケージメディア、または、プログラムが一時的もしくは永続的に格納されるROM９０２や、記憶部９０８を構成するハードディスクなどにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１８１】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１８２】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１８３】
【図１】本発明を適用したロボットの外観構成を示す斜視図である。
【図２】図１のロボットの外観構成を示す、背後側の斜視図である。
【図３】図１のロボットについて説明するための略線図である。
【図４】図１のロボットの内部構成を示すブロック図である。
【図５】図１のロボットの制御に関する部分を主に説明するためのブロック図である。
【図６】図５のメイン制御部の構成を示すブロック図である。
【図７】図６の画像認識部の構成を示すブロック図である。
【図８】基準カメラおよび検出カメラで、ユーザを撮影している状態を示す図である。
【図９】エピポーララインを説明するための図である。
【図１０】基準カメラ画像および検出カメラ画像を示す図である。
【図１１】評価値の推移を示す図である。
【図１２】設定点／距離テーブルおよび視差／距離テーブルを示す図である。
【図１３】図６の音声認識部の構成例を示すブロック図である。
【図１４】図６のアプリケーション管理部の構成例を示すブロック図である。
【図１５】動作制御処理を説明するフローチャートである。
【図１６】音声認識処理を説明するフローチャートである。
【図１７】音量制御処理を説明するフローチャートである。
【図１８】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１８４】
１  ロボット，  ７２  スピーカ，  ８１Ｌ,８１Ｒ  CCDカメラ，  ８２  マイクロフォン，  ２０１  センサ入力部，  ２０３  行動決定機構部，  ２０６  音声合成部，  ２２３  音声認識部，  ２２４  画像認識部，  ２３１  アプリケーション管理部，  ３０１  距離計算部，  ３５１  音声区間検出部，  ３５２  特徴抽出部，  ３５３  特徴ベクトルバッファ，  ３５４  マッチング部，  ３５５  近距離用タスク，  ３５６  遠距離用タスク，  ３５７  セレクタ，  ３５８  選択制御部，  ４０１  アプリケーション選択部，  ４０２  遠距離用アプリケーション部，  ４０３  近距離用アプリケーション部，  ４０４  音量制御部，  ４２１  挨拶用アプリケーション部，  ４２２  遠距離発話用アプリケーション部，  ４２３  緊急動作用アプリケーション部，  ４２４  遠距離ジェスチャ用アプリケーション部，  ４３１  名前登録用アプリケーション部，  ４３２  雑談用アプリケーション部，  ４３３  緊急動作用アプリケーション部，  ４３４  近距離ジェスチャ用アプリケーション部
【図１】
2005335001.tif 000003
【図２】
2005335001.tif 000004
【図３】
2005335001.tif 000005
【図４】
2005335001.tif 000006
【図５】
2005335001.tif 000007
【図６】
2005335001.tif 000008
【図７】
2005335001.tif 000009
【図８】
2005335001.tif 000010
【図９】
2005335001.tif 000011
【図１０】
2005335001.tif 000012
【図１１】
2005335001.tif 000013
【図１２】
2005335001.tif 000014
【図１３】
2005335001.tif 000015
【図１４】
2005335001.tif 000016
【図１５】
2005335001.tif 000017
【図１６】
2005335001.tif 000018
【図１７】
2005335001.tif 000019
【図１８】
2005335001.tif 000020