(57)【要約】【課題】ノイズとユーザが発した音声とを弁別することにより、音声認識するロボットの動作を自然な動作とする。【解決手段】  音声認識部１０１Ａは、マイクロホン８２−１乃至８２−Ｎから入力される音声信号の音声認識処理を行う。制御部１０１ａは、音声認識処理結果に対して、正解確信度を計算し、その正解確信度が所定の閾値より大きいと判定した場合、音声認識結果を行動決定機構部１０３に出力する。行動決定機構部１０３は、ロボットが認識処理結果に対応する動作を行うように制御する。本発明は、例えば、音声認識を行うロボットに適用できる。【選択図】図７
2006038894.tif 000002
【特許請求の範囲】
【請求項１】
音声を検出する音声検出手段と、
前記音声検出手段により検出された音声を認識する音声認識手段と、
前記音声認識手段によって認識された音声認識結果の正解確信度を計算する正解確信度計算手段と、
前記正解確信度計算手段により計算された正解確信度が所定の閾値より大きい場合に、前記音声の音源の方向を検出する方向検出手段と、
前記方向検出手段により検出された方向に対してユーザを検出するユーザ検出手段と、
前記ユーザ検出手段により検出されたユーザに対して、前記音声認識結果に対応する動作の制御を行う制御手段と
を備えることを特徴とするロボット制御装置。
【請求項２】
映像を撮像する撮像手段と、
前記方向検出手段により検出された方向を撮像するように、前記撮像手段を制御する撮像制御手段とをさらに備え、
前記撮像制御手段により制御され、前記撮像手段が前記方向検出手段により検出された方向を撮像する場合、前記ユーザ検出手段は、前記撮像手段により撮像された前記映像に、前記ユーザの顔が撮像されているか否かにより、前記ユーザを検出する
ことを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
前記撮像制御手段により、前記撮像手段が前記方向検出手段により検出された方向を撮像するように制御された場合、前記撮像手段により撮像された前記映像に、前記ユーザの顔が撮像されているか否かの頻度に基づいて、前記方向毎の信頼度を検出する信頼度検出手段をさらに備え、
前記撮像制御手段は、前記方向検出手段により検出された方向において、前記信頼度検出手段により検出された、前記ユーザの顔が検出される信頼度に基づいて、前記方向を撮像するように前記撮像手段を制御する
ことを特徴とする請求項２に記載のロボット制御装置。
【請求項４】
音声を検出する音声検出ステップと、
前記音声検出ステップの処理で検出された音声を認識する音声認識ステップと、
前記音声認識ステップの処理によって認識された音声認識結果の正解確信度を計算する正解確信度計算ステップと、
前記正解確信度計算ステップの処理により計算された正解確信度が所定の閾値より大きい場合に、前記音声の音源の方向を検出する方向検出ステップと、
前記方向検出ステップの処理で検出された方向に対してユーザを検出するユーザ検出ステップと、
前記ユーザ検出ステップの処理で検出されたユーザに対して、前記音声認識結果に対応する動作の制御を行う制御ステップと
を含むことを特徴とするロボット制御方法。
【請求項５】
音声を検出する音声検出ステップと、
前記音声認識ステップの処理によって認識された音声認識結果の正解確信度を計算する正解確信度計算ステップと、
前記正解確信度計算ステップの処理により計算された正解確信度が所定の閾値より大きい場合に、前記音声検出ステップの処理で検出された音声を認識する音声認識ステップと、
前記音声の音源の方向を検出する方向検出ステップと、
前記方向検出ステップの処理で検出された方向に対してユーザを検出するユーザ検出ステップと、
前記ユーザ検出ステップの処理で検出されたユーザに対して、前記音声認識結果に対応する動作の制御を行う制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項６】
音声を検出する音声検出ステップと、
前記音声認識ステップの処理によって認識された音声認識結果の正解確信度を計算する正解確信度計算ステップと、
前記正解確信度計算ステップの処理により計算された正解確信度が所定の閾値より大きい場合に、前記音声検出ステップの処理で検出された音声を認識する音声認識ステップと、
前記音声の音源の方向を検出する方向検出ステップと、
前記方向検出ステップの処理で検出された方向に対してユーザを検出するユーザ検出ステップと、
前記ユーザ検出ステップの処理で検出されたユーザに対して、前記音声認識結果に対応する動作の制御を行う制御ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置および方法、記録媒体、並びにプログラムに関し、特に、ノイズとユーザが発した音声とを弁別し、音声認識するロボットの動作を自然な動作とするようにしたロボット制御装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
近年においては、玩具等として、音声認識装置などの認識機能を備えたロボット（本明細書においては、ぬいぐるみ状のものを含む）が製品化されている。例えば、音声認識装置を備えたロボットでは、ユーザが発した音声を音声認識し、その音声認識結果に基づいて、ある仕草をしたり、合成音を出力する等の行動を自律的に行うようになされている。
【０００３】
音声認識装置を備えたロボットが、ユーザが発した音声を音声認識する場合、音声を発したユーザが、ロボットから遠く離れすぎているときには、ロボットに装着されているマイクロホンにより取得されるユーザの発した音声波形の信号値は減衰し、相対的に雑音レベルが高くなる。つまり、マイクロホンにより取得されたユーザの音声信号のＳ／Ｎ比（Signal to Noise ratio）は低くなる。また、一般に、ユーザ（発話者）とロボット（に装着されているマイクロホン）の距離が大きくなるほど、音声信号の波形は、残響特性の影響を強く受ける。従って、ユーザとロボットの距離が離れすぎているときには、ロボットの音声認識装置の認識精度は悪くなる。
【０００４】
反対に、ユーザとロボットの距離が近すぎるときには、ロボットに装着されているマイクロホンにより取得されるユーザの発した音声波形の信号値は、マイクロホンの検出可能な範囲を超えてしまう。従って、マイクロホンにより取得された音声波形は、飽和したものとなり、本来の音声波形より歪んだ波形となる。ユーザとロボットの距離が近すぎる場合には、ロボットの音声認識装置は、このような歪んだ波形を音声認識することとなるので、音声認識の精度は悪くなる。
【０００５】
そこで、音声認識結果とともに、周囲雑音の影響を検知する周囲雑音検知、入力音声のパワーが特定の閾値条件を満たす状況を検知するパワー不足検知、パワー過多検知などの状況検知を行い、音声認識結果と状況検知の結果を利用して、ロボットにおける音声認識精度劣化の問題に対処する方法が提案されている（例えば、非特許文献１参照）。
【０００６】
さらに、ロボット自体の動作音は、ノイズとしてマイクロホンに入力され、音声認識の精度に大きな悪影響を及ぼす。例えば、両手を持つロボットがマイクロホンの近くに手を移動して、指などを動作させるとマイクロホンには非常に大きなノイズが入力される。また、２足歩行するロボットが固い床面の上を歩行すると足が床面に接地する音が大きくなり、マイクロホンに大きなノイズが入力される。
【０００７】
【非特許文献１】岩沢，大中，藤田，「状況検知を利用したロボット用音声認識インタフェースの一手法とその評価」，人工知能学会研究会資料，社団法人人工知能学会，平成１４年１１月，ｐ．３３−３８
【発明の開示】
【発明が解決しようとする課題】
【０００８】
非特許文献１に示される方法では、ロボット自体が発生するノイズに関しては考慮されていない。そのため、例えば、ユーザがロボットに何も話しかけていないにもかかわらず、ロボットがロボット自身の発生するノイズを音声として検出してしまい、誤った音声認識結果を獲得し、誤った動作を行う場合があった。このため、ユーザが何もロボットに話しかけていないにもかかわらず、ロボットが不可解な動作、即ち、例えば、不可解な合成音を出力する恐れがあった。
【０００９】
さらに、ロボットが使用される環境には、ロボット自身が発生するノイズの他、一般に、多数のノイズ源が存在するため、かかるノイズ源によっても、ロボットが不可解な（不自然な）動作を行う恐れがあった。
【００１０】
本発明は、このような状況に鑑みてなされたものであり、ノイズとユーザが発した音声とを弁別することにより、音声認識するロボットの動作を自然な動作とするものである。
【課題を解決するための手段】
【００１１】
本発明のロボット制御装置は、音声を検出する音声検出手段と、音声検出手段により検出された音声を認識する音声認識手段と、音声認識手段によって認識された音声認識結果の正解確信度を計算する正解確信度計算手段と、正解確信度計算手段により計算された正解確信度が所定の閾値より大きい場合に、音声の音源の方向を検出する方向検出手段と、方向検出手段により検出された方向に対してユーザを検出するユーザ検出手段と、ユーザ検出手段により検出されたユーザに対して、音声認識結果に対応する動作の制御を行う制御手段とを備えることを特徴とする。
【００１２】
映像を撮像する撮像手段と、方向検出手段により検出された方向を撮像するように、撮像手段を制御する撮像制御手段とをさらに設けるようにさせることができ、撮像制御手段により制御され、撮像手段が方向検出手段により検出された方向を撮像する場合、ユーザ検出手段には、撮像手段により撮像された映像に、ユーザの顔が撮像されているか否かにより、ユーザを検出させるようにすることができる。
【００１３】
前記撮像制御手段により、撮像手段が方向検出手段により検出された方向を撮像するように制御された場合、撮像手段により撮像された映像に、ユーザの顔が撮像されているか否かの頻度に基づいて、方向毎の信頼度を検出する信頼度検出手段をさらに設けるようにさせることができ、撮像制御手段には、方向検出手段により検出された方向において、信頼度検出手段により検出された、ユーザの顔が検出される信頼度に基づいて、方向を撮像するように撮像手段を制御させるようにすることができる。
【００１４】
本発明のロボット制御方法は、音声を検出する音声検出ステップと、音声検出ステップの処理で検出された音声を認識する音声認識ステップと、音声認識ステップの処理によって認識された音声認識結果の正解確信度を計算する正解確信度計算ステップと、正解確信度計算ステップの処理により計算された正解確信度が所定の閾値より大きい場合に、音声の音源の方向を検出する方向検出ステップと、方向検出ステップの処理で検出された方向に対してユーザを検出するユーザ検出ステップと、ユーザ検出ステップの処理で検出されたユーザに対して、音声認識結果に対応する動作の制御を行う制御ステップとを含むことを特徴とする。
【００１５】
本発明の記録媒体のプログラムは、音声を検出する音声検出ステップと、音声検出ステップの処理で検出された音声を認識する音声認識ステップと、音声認識ステップの処理によって認識された音声認識結果の正解確信度を計算する正解確信度計算ステップと、正解確信度計算ステップの処理により計算された正解確信度が所定の閾値より大きい場合に、音声の音源の方向を検出する方向検出ステップと、方向検出ステップの処理で検出された方向に対してユーザを検出するユーザ検出ステップと、ユーザ検出ステップの処理で検出されたユーザに対して、音声認識結果に対応する動作の制御を行う制御ステップとを含むことを特徴とする。
【００１６】
本発明のプログラムは、音声を検出する音声検出ステップと、音声検出ステップの処理で検出された音声を認識する音声認識ステップと、音声認識ステップの処理によって認識された音声認識結果の正解確信度を計算する正解確信度計算ステップと、正解確信度計算ステップの処理により計算された正解確信度が所定の閾値より大きい場合に、音声の音源の方向を検出する方向検出ステップと、方向検出ステップの処理で検出された方向に対してユーザを検出するユーザ検出ステップと、ユーザ検出ステップの処理で検出されたユーザに対して、音声認識結果に対応する動作の制御を行う制御ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００１７】
本発明のロボット制御装置および方法、並びにプログラムにおいては、検出された音声が認識され、その音声認識結果の正解確信度が計算される。そして、計算された正解確信度が所定の閾値より大きい場合に、音声の音源の方向が検出され、検出された方向に対してユーザが検出される。さらに、検出されたユーザに対して、音声認識結果に対応する動作の制御が行われる。
【発明の効果】
【００１８】
本発明によれば、ノイズとユーザが発した音声とを弁別することにより、音声認識するロボットの動作を自然な動作とする。
【発明を実施するための最良の形態】
【００１９】
以下に、本発明の実施例を説明するが、その前に、特許請求の範囲に記載の発明の各手段と以下の実施例との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施例（但し、一例）を付加して、本発明の特徴を記述すると、次のようになる。
【００２０】
即ち、本発明のロボット制御装置は、
音声を検出する音声検出手段（例えば、図９のステップＳ１の処理を行う音声認識部１０１Ａ）と、
前記音声検出手段により検出された音声を認識する音声認識手段（例えば、図９のステップＳ２の処理を行う音声認識部１０１Ａ）と、
前記音声認識手段によって認識された音声認識結果の正解確信度を計算する正解確信度計算手段（例えば、図９のステップＳ３の処理を行う音声認識部１０１Ａ）と、
前記正解確信度計算手段により計算された正解確信度が所定の閾値より大きい場合に、前記音声の音源の方向を検出する方向検出手段（例えば、図９のステップＳ５の処理を行う方向認識部１０１Ｂ）と、
前記方向検出手段により検出された方向に対してユーザを検出するユーザ検出手段（例えば、図９のステップＳ７の処理を行う状態認識情報処理部１０１の画像認識部１０１Ｄ）と、
前記ユーザ検出手段により検出されたユーザに対して、前記音声認識結果に対応する動作の制御を行う制御手段（例えば、図９のステップＳ９の処理を行う行動決定機構部１０３）と
を備えることを特徴とする。
【００２１】
なお、勿論この記載は、各手段を上記したものに限定することを意味するものではない。
【００２２】
図１は、本発明を適用した２足歩行タイプのロボット1の一実施の形態の構成を示す外装の概観斜視図である。ロボット１は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて行動できるほか、人間が行う基本的な動作を表出することができる。
【００２３】
図１で示されるように、ロボット１は、体幹部外装ユニット２の所定の位置に頭部外装ユニット３が連結されると共に、左右２つの腕部外装ユニット４Ｒ／Ｌ（Right／Left：右腕／左腕）と、左右２つの脚部外装ユニット５Ｒ／Ｌが連結されて構成されている。
【００２４】
次に、図２乃至図４を参照して、ロボット１の内部の構成について説明する。尚、図２乃至図４は、図１で示した外装部分に対して、それらの内部の構成を示すものである。
【００２５】
即ち、図２は、ロボット１の正面方向の内部の斜視図であり、図３は、ロボット１の背面方向からの内部の斜視図である。また、図４は、ロボット１の軸構成について説明するための斜視図である。
【００２６】
ロボット１は、胴体部ユニット１１の上部に頭部ユニット１２が配設されるとともに、胴体部ユニット１１の上部左右の所定位置に、同様の構成を有する腕部ユニット１３Ａおよび１３Ｂがそれぞれ取り付けられ、かつ、胴体部ユニット１１の下部左右の所定位置に、同様の構成を有する脚部ユニット１４Ａおよび１４Ｂがそれぞれ取り付けられることにより構成されている。頭部ユニット１２には、タッチセンサ５１、および、表示部５５が設けられている。
【００２７】
胴体部ユニット１１においては、体幹上部を形成するフレーム２１および体幹下部を形成する腰ベース２２が、腰関節機構２３を介して連結することにより構成されており、体幹下部の腰ベース２２に固定された腰関節機構２３のアクチュエータＡ１、および、アクチュエータＡ２をそれぞれ駆動することによって、体幹上部を、図４に示す直交するロール軸２４およびピッチ軸２５の回りに、それぞれ独立に回転させることができるようになされている。
【００２８】
また頭部ユニット１２は、フレーム２１の上端に固定された肩ベース２６の上面中央部に首関節機構２７を介して取り付けられており、首関節機構２７のアクチュエータＡ３およびＡ４をそれぞれ駆動することによって、図４に示す直交するピッチ軸２８およびヨー軸２９の回りに、それぞれ独立に回転させることができるようになされている。
【００２９】
更に、腕部ユニット１３Ａおよび１３Ｂは、肩関節機構３０を介して肩ベース２６の左右にそれぞれ取り付けられており、対応する肩関節機構３０のアクチュエータＡ５およびＡ６をそれぞれ駆動することによって、図４に示す、直交するピッチ軸３１およびロール軸３２の回りに、それぞれを独立に回転させることができるようになされている。
【００３０】
腕部ユニット１３Ａおよび１３Ｂは、上腕部を形成するアクチュエータＡ７の出力軸に、肘関節機構３３を介して、前腕部を形成するアクチュエータＡ８が連結され、前腕部の先端に手部３４が取り付けられることにより構成されている。
【００３１】
そして腕部ユニット１３Ａおよび１３Ｂでは、アクチュエータＡ７を駆動することによって、前腕部を図４に示すヨー軸３５に対して回転させることができ、アクチュエータＡ８を駆動することによって、前腕部を図４に示すピッチ軸３６に対して回転させることができるようになされている。
【００３２】
脚部ユニット１４Ａおよび１４Ｂは、股関節機構３７を介して、体幹下部の腰ベース２２にそれぞれ取り付けられており、対応する股関節機構３７のアクチュエータＡ９乃至Ａ１１をそれぞれ駆動することによって、図４に示す、互いに直交するヨー軸３８、ロール軸３９、およびピッチ軸４０に対して、それぞれ独立に回転させることができるようになされている。
【００３３】
脚部ユニット１４Ａおよび１４Ｂは、大腿部を形成するフレーム４１の下端が、膝関節機構４２を介して、下腿部を形成するフレーム４３に連結されるとともに、フレーム４３の下端が、足首関節機構４４を介して、足部４５に連結されることにより構成されている。
【００３４】
これにより脚部ユニット１４Ａおよび１４Ｂにおいては、膝関節機構４２を形成するアクチュエータＡ１２を駆動することによって、図４に示すピッチ軸４６に対して、下腿部を回転させることができ、また足首関節機構４４のアクチュエータＡ１３およびＡ１４をそれぞれ駆動することによって、図４に示す直交するピッチ軸４７およびロール軸４８に対して、足部４５をそれぞれ独立に回転させることができるようになされている。
【００３５】
また、胴体部ユニット１１の体幹下部を形成する腰ベース２２の背面側には、後述するメイン制御部６１や周辺回路６２（いずれも図５）などを内蔵したボックスである、制御ユニット５２が配設されている。
【００３６】
図５は、ロボット１のアクチュエータとその制御系等の構成例を示している。
【００３７】
制御ユニット５２には、ロボット１全体の動作制御をつかさどるメイン制御部６１、電源回路および通信回路などの周辺回路６２、および、バッテリ７４（図６）などが収納されている
【００３８】
そして、制御ユニット５２は、各構成ユニット（胴体部ユニット１１、頭部ユニット１２、腕部ユニット１３Ａおよび１３Ｂ、並びに、脚部ユニット１４Ａおよび１４Ｂ）内にそれぞれ配設されたサブ制御部６３Ａ乃至６３Ｄと接続されており、サブ制御部６３Ａ乃至６３Ｄに対して必要な電源電圧を供給したり、サブ制御部６３Ａ乃至６３Ｄと通信を行う。
【００３９】
また、サブ制御部６３Ａ乃至６３Ｄは、対応する構成ユニット内のアクチュエータＡ１乃至Ａ１４と、それぞれ接続されており、メイン制御部６１から供給された各種制御コマンドに基づいて、構成ユニット内のアクチュエータＡ１乃至Ａ１４を、指定された状態に駆動させるように制御する。
【００４０】
図６は、ロボット１の電気的な内部構成例を示すブロック図である。
【００４１】
頭部ユニット１２には、ロボット１の「目」として機能するCCD（Charge Coupled Device）カメラ８１Ｌおよび８１Ｒ、「耳」として機能するマイクロホン８２−１乃至８２−N、並びにタッチセンサ５１などからなる外部センサ部７１、および、「口」として機能するスピーカ７２などがそれぞれ所定位置に配設され、制御ユニット５２内には、バッテリセンサ９１および加速度センサ９２などからなる内部センサ部７３が配設されている。また、この他に、ロボット１の状態やユーザからの応答を表示する表示部５５が配設されている。
【００４２】
そして、外部センサ部７１のCCDカメラ８１Ｌおよび８１Ｒは、周囲の状況を撮像し、得られた画像（映像）信号Ｓ１Ａを、メイン制御部６１に送出する。マイクロホン８２−１乃至８２−Nは、ユーザから音声入力として与えられる「歩け」、「とまれ」または「右手を挙げろ」等の各種命令音声（音声コマンド）を集音し、得られた音声信号Ｓ１Ｂを、メイン制御部６１にそれぞれ送出する。なお、以下において、N個のマイクロホン８２−１乃至８２−Nを特に区別する必要がない場合には、マイクロホン８２と称する。
【００４３】
また、タッチセンサ５１は、例えば、図２および図３に示されるように頭部ユニット１２の上部に設けられており、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を、圧力検出信号Ｓ１Ｃとしてメイン制御部６１に送出する。
【００４４】
内部センサ部７３のバッテリセンサ９１は、バッテリ７４のエネルギ残量を所定の周期で検出し、検出結果をバッテリ残量検出信号Ｓ２Ａとして、メイン制御部６１に送出する。加速度センサ９２は、ロボット１の移動について、３軸方向（ｘ軸、ｙ軸およびｚ軸）の加速度を、所定の周期で検出し、その検出結果を、加速度検出信号Ｓ２Ｂとして、メイン制御部６１に送出する。
【００４５】
外部メモリ７５は、プログラムやデータ、および制御パラメータなどを記憶しており、そのプログラムやデータを必要に応じてメイン制御部６１に内蔵されるメモリ６１Ａに供給する。また、外部メモリ７５は、データ等をメモリ６１Ａから受け取り、記憶する。なお、外部メモリ７５は、ロボット１から着脱可能となされている。
【００４６】
メイン制御部６１は、メモリ６１Ａを内蔵している。メモリ６１Ａは、プログラムやデータを記憶しており、メイン制御部６１は、メモリ６１Ａに記憶されたプログラムを実行することで、各種の処理を行う。即ち、メイン制御部６１は、外部センサ部７１のCCDカメラ８１Ｌおよび８１Ｒ、マイクロホン８２、およびタッチセンサ５１からそれぞれ供給される、画像信号Ｓ１Ａ、音声信号Ｓ１Ｂ、および圧力検出信号Ｓ１Ｃ（以下、これらをまとめて外部センサ信号Ｓ１と称する）と、内部センサ部７３のバッテリセンサ９１および加速度センサ等からそれぞれ供給される、バッテリ残量検出信号Ｓ２Ａおよび加速度検出信号Ｓ２Ｂ（以下、これらをまとめて内部センサ信号Ｓ２と称する）に基づいて、ロボット１の周囲および内部の状況（状態）や、ユーザからの指令、または、ユーザからの働きかけの有無などを判断する。
【００４７】
そして、メイン制御部６１は、ロボット１の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無の判断結果と、内部メモリ６１Ａに予め格納されている制御プログラム、あるいは、そのとき装填されている外部メモリ７５に格納されている各種制御パラメータなどに基づいて、ロボット１の行動を決定し、その決定結果に基づく制御コマンドを生成して、対応するサブ制御部６３Ａ乃至６３Ｄに送出する。サブ制御部６３Ａ乃至６３Ｄは、メイン制御部６１から供給された制御コマンドに基づいて、アクチュエータＡ１乃至Ａ１４のうち、対応するものの駆動を制御する。これにより、ロボット１は、例えば、頭部ユニット１２を上下左右に揺動させたり、腕部ユニット１３Ａ、あるいは、腕部ユニット１３Ｂを上に挙げたり、脚部ユニット１４Ａと１４Ｂを交互に駆動させて、歩行するなどの行動を行う。
【００４８】
また、メイン制御部６１は、必要に応じて、所定の音声信号Ｓ３をスピーカ７２に与えることにより、音声信号Ｓ３に基づく音声（合成音）を外部に出力させると共に、例えば、音声を検出したときに、表示信号Ｓ４に基づいて「だーれ」などのユーザへの応答を表示部５５に表示する。更に、メイン制御部６１は、外見上の「目」として機能する、頭部ユニット１２の所定位置に設けられた、図示しないＬＥＤ(Light Emitting Diode）に対して駆動信号を出力することにより、ＬＥＤを点滅させて、表示部５５として機能させる。
【００４９】
このようにして、ロボット１は、周囲および内部の状況（状態）や、ユーザからの指令および働きかけの有無などに基づいて、自律的に行動する。
【００５０】
図７は、図６のメイン制御部６１の機能的構成例を示している。なお、図７に示す機能的構成は、メイン制御部６１が、メモリ６１Ａに記憶された制御プログラムを実行することで実現されるようになっている。
【００５１】
メイン制御部６１は、特定の外部状態を認識する状態認識情報処理部１０１、状態認識情報処理部１０１の認識結果等に基づいて更新される、ロボット１の感情、本能、あるいは、成長の状態などのモデルを記憶するモデル記憶部１０２、状態認識情報処理部１０１の認識結果等に基づいて、ロボット１の行動を決定する行動決定機構部１０３、行動決定機構部１０３の決定結果に基づいて、実際にロボット１に行動を起こさせる姿勢遷移機構部１０４、合成音を生成する音声合成部１０５から構成されている。
【００５２】
状態認識情報処理部１０１には、マイクロホン８２や、CCDカメラ８１Ｌおよび８１Ｒ、タッチセンサ５１等から音声信号、画像信号、圧力検出信号等が、ロボット１の電源が投入されている間、常時入力される。そして、状態認識情報処理部１０１は、マイクロホン８２や、CCDカメラ８１Ｌおよび８１Ｒ、タッチセンサ５１等から与えられる音声信号、画像信号、圧力検出信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報を、モデル記憶部１０２および行動決定機構部１０３に常時出力する。
【００５３】
即ち、状態認識情報処理部１０１は、音声認識部１０１Ａ、方向認識部１０１Ｂ、圧力処理部１０１Ｃ、および画像認識部１０１Ｄを有している。
【００５４】
音声認識部１０１Ａは、制御部１０１aを内蔵しており、制御部１０１aの制御にしたがって音声認識を行う。即ち、音声認識部１０１Ａは、マイクロホン８２−１乃至８２−Ｎそれぞれから与えられる音声信号Ｓ１Ｂの有無を検出する。制御部１０１ａは、音声信号Ｓ１Ｂが検出された場合に、音声認識部１０１Ａが音声認識処理を実行するように制御し、それにより得られた音声認識結果の正解確信度を計算する。正解確信度についての詳細は後述するが、正解確信度は、音声認識処理により得られた結果が、ロボットの周辺で発生しているノイズか、ユーザが発した音声であるかを弁別するために用いられる。また、制御部１０１aは、音声認識結果の正解確信度が所定の閾値より大きいか否かを判定し、音声認識結果の正解確信度が所定の閾値より大きい場合に、音声認識結果（に対応する入力された音声信号）がユーザが発した音声であると判定する。
【００５５】
さらに、音声認識結果（に対応する入力された音声信号）がユーザが発した音声であると判定された場合、制御部１０１aは、音声認識部１０１Ａによる音声認識結果、即ち、例えば、「歩け」、「止まれ」、「右手を挙げろ」等の指令などの音声認識結果を、状態認識情報として、モデル記憶部１０２および行動決定機構部１０３に通知する。
【００５６】
方向認識部１０１Ｂは、マイクロホン８２−１乃至８２−Ｎから供給される音声信号Ｓ１Ｂのパワー差や位相差から音源の方向を認識し（音源の方向を検出して認識する）、その認識結果を行動決定機構部１０３に供給する。
【００５７】
圧力処理部１０１Ｃは、タッチセンサ５１から与えられる圧力検出信号Ｓ１Ｃを処理する。そして、圧力処理部１０１Ｃは、その処理の結果、例えば、所定の閾値以上で、かつ短時間の圧力を検出したときには、「叩かれた（しかられた）」と認識し、所定の閾値未満で、かつ長時間の圧力を検出したときには、「撫でられた（ほめられた）」と認識して、その認識結果を、状態認識情報として、モデル記憶部１０２および行動決定機構部１０３に通知する。
【００５８】
画像認識部１０１Ｄは、CCDカメラ８１Ｌおよび８１Ｒから与えられる画像信号Ｓ１Ａを用いて、画像認識処理を行う。そして、画像認識部１０１Ｄは、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」、または、人間の顔を検出した等の画像認識結果を、状態認識情報として、モデル記憶部１０２および行動決定機構部１０３に通知する。
【００５９】
ここで、ユーザは、一般に、ロボット１の正面方向から話しかけることが多いと予想されるため、周囲の状況を撮像するCCDカメラ８１Ｌおよび８１Ｒは、その撮像方向が、ロボット１の正面方向になるように、頭部ユニット１２（図２）に設置されているものとする。
【００６０】
なお、ユーザが、ロボット１の正面方向でない方向から話しかけた場合であっても、CCDカメラ８１L、および、８１Rは、方向認識部１０１Ｂにより認識された方向に、頭部ユニット１２が動かされることによって、音源であるユーザを撮像することができる。
【００６１】
モデル記憶部１０２は、ロボット１の感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶、管理している。
【００６２】
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態（度合い）を、所定の範囲（例えば、−１．０乃至１．０等）の値によってそれぞれ表し、状態認識情報処理部１０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態（度合い）を、所定の範囲の値によってそれぞれ表し、状態認識情報処理部１０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態（度合い）を、所定の範囲の値によってそれぞれ表し、状態認識情報処理部１０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【００６３】
モデル記憶部１０２は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を、状態情報として、行動決定機構部１０３に送出する。
【００６４】
なお、モデル記憶部１０２には、状態認識情報処理部１０１から状態認識情報が供給される他、行動決定機構部１０３から、ロボット１の現在または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部１０２は、同一の状態認識情報が与えられても、行動情報が示すロボット１の行動に応じて、異なる状態情報を生成するようになっている。
【００６５】
即ち、例えば、ロボット１が、ユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部１０２に与えられ、この場合、モデル記憶部１０２では、「うれしさ」を表す感情モデルの値が増加される。
【００６６】
一方、ロボット１が、何らかの仕事を実行中に頭を撫でられた場合には、仕事を実行中であるという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部１０２に与えられ、この場合、モデル記憶部１０２では、「うれしさ」を表す感情モデルの値は変化されない。
【００６７】
このように、モデル記憶部１０２は、状態認識情報だけでなく、現在または過去のロボット１の行動を示す行動情報も参照しながら、感情モデルの値を設定する。これにより、例えば、何らかのタスクを実行中に、ユーザが、いたずらするつもりで頭を撫でたときに、「うれしさ」を表す感情モデルの値を増加させるような、不自然な感情の変化が生じることを回避することができる。
【００６８】
なお、モデル記憶部１０２は、本能モデルおよび成長モデルについても、感情モデルにおける場合と同様に、状態認識情報および行動情報の両方に基づいて、その値を増減させるようになっている。また、モデル記憶部１０２は、感情モデル、本能モデル、成長モデルそれぞれの値を、他のモデルの値にも基づいて増減させるようになっている。
【００６９】
行動決定機構部１０３は、状態認識情報処理部１０１からの状態認識情報や、モデル記憶部１０２からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容が、例えば、「ダンスをする」というような音声認識処理や画像認識処理を必要としない場合、その行動の内容を、行動指令情報として、姿勢遷移機構部１０４に送出する。
【００７０】
すなわち、行動決定機構部１０３は、ロボット１がとり得る行動をステート（状態：state）に対応させた有限オートマトンを、ロボット１の行動を規定する行動モデルとして管理しており、この行動モデルとしての有限オートマトンにおけるステートを、状態認識情報処理部１０１からの状態認識情報や、モデル記憶部１０２における感情モデル、本能モデル、または成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
【００７１】
ここで、行動決定機構部１０３は、所定のトリガ(trigger)があったことを検出すると、ステートを遷移させる。即ち、行動決定機構部１０３は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部１０２から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下または以上になったとき等に、ステートを遷移させる。
【００７２】
なお、行動決定機構部１０３は、上述したように、状態認識情報処理部１０１からの状態認識情報だけでなく、モデル記憶部１０２における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値（状態情報）によっては、ステートの遷移先は異なるものとなる。
【００７３】
また、状態認識情報処理部１０１の音声認識部１０１Ａが、行動決定機構部１０３に音声認識結果を状態認識情報として出力する場合、行動決定機構部１０３は、姿勢遷移機構部１０４に対して、ロボット１を音源の方向に振り向かせる行動指令情報を供給する。この場合、ロボット１が、音源の方向に振り向き、その状態で、状態認識情報処理部１０１の画像認識部１０１Ｄでは、画像信号の肌色領域などから判断されるユーザの顔画像などが検出され、対応する状態認識情報が行動決定機構部１０３に供給される。
【００７４】
そして、行動決定機構部１０３は、状態認識情報処理部１０１から供給される状態認識情報（例えば、音声認識部１０１Ａにより認識された音声認識結果の情報や、ユーザの顔画像などを検出した旨を示す情報）を取得し、上述したような、例えば、「ユーザと会話する」や「ユーザに手を振る」などの、行動決定機構部１０３自身が決定した動作を行う（その行動の内容を、行動指令情報として、姿勢遷移機構部１０４に送出する）。
【００７５】
なお、行動決定機構部１０３では、上述したように、ロボット１の頭部や手足等を動作させる行動指令情報の他、ロボット１に発話を行わせる行動指令情報も生成される。ロボット１に発話を行わせる行動指令情報は、音声合成部１０５に供給されるようになっており、音声合成部１０５に供給される行動指令情報には、音声合成部１０５に生成させる合成音に対応するテキスト等が含まれる。そして、音声合成部１０５は、行動決定機構部１０３から行動指令情報を受信すると、その行動指令情報に含まれるテキストに基づき、合成音を生成し、スピーカ７２に供給して出力させる。
【００７６】
また、行動決定機構１０３では、発話に対応する、または、発話をしない場合に発話の代わりとなる言葉を、表示部５５にテキスト表示させる。例えば、音声を検出して振り向いたときに、「誰？」とか「なぁに？」といったテキストを表示部５５に表示することができる。
【００７７】
姿勢遷移機構部１０４は、上述したように、行動決定機構部１０３から供給される行動指令情報に基づいて、ロボット１の姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これをサブ制御部６３Ａ乃至６３Ｄに送出する。
【００７８】
図８は、図７の状態認識情報処理部１０１の音声認識部１０１Ａの機能を示す機能ブロック図である。
【００７９】
制御部１０１ａには、マイクロホン８２の出力が、図示せぬAD変換部によりデジタル信号に変換されて供給される。制御部１０１aは、マイクロホン８２の出力を監視しており、マイクロホン８２の出力から音声信号Ｓ１Ｂを検出すると、その音声信号を特徴抽出部１２１に出力し、後段の認識処理制御部１２２を、音声認識処理を実行するように制御する。
【００８０】
また、制御部１０１aには、音声の特徴量が特徴抽出部１２１から供給されるとともに、音声認識結果に関する情報が認識処理制御部１２２から供給され、制御部１０１aでは、特徴抽出部１２１と認識処理制御部１２２からの情報に基づき、音声認識結果の正解確信度が計算される。さらに、制御部１０１aは、音声認識結果の正解確信度が所定の閾値より大きいか否かを判定し、音声認識結果の正解確信度が所定の閾値より大きいと判定した場合、認識処理制御部１２２に音声認識結果をモデル記憶部１０２、および行動決定機構部１０３（図７）に出力させる。
【００８１】
特徴抽出部１２１は、制御部１０１aを介して入力された音声信号の特徴量を演算（抽出）し、制御部１０１aと認識処理制御部１２２に供給する。ここで、音声信号の特徴量としては、例えば、MFCC(Mel Frequency Cepstrum Coefficient)や、スペクトルなどがある。
【００８２】
認識処理制御部１２２は、複数のカテゴリに対応する認識処理を並列に処理することができるように、認識処理部１３１−１乃至１３１−４で構成されており、認識処理部１３１−１乃至１３１−４は、それぞれ異なるカテゴリに対応する(音声)認識処理を行う。
【００８３】
認識処理制御部１２２においては、新たなカテゴリに対応した認識処理部を追加したり、不要になった認識処理部を削除することができる。また、各認識処理部に対して、認識処理を停止させたり、開始させたりすることができる。すなわち、複数の認識処理部を同時に駆動したり、認識処理部を切り替えたりすることによって、複数のカテゴリに対応する認識処理を同時に駆動したり、認識処理のカテゴリを切り替えることができる。
【００８４】
認識処理部１３１−１乃至１３１−４には、特徴抽出部１２１により演算された特徴量に基づいて、音声のマッチングを行うマッチング部１４１−１乃至１４１−４が設けられており、また、語彙に関する情報が蓄積された辞書データベース１４２−１乃至１４２−４、文法に関する情報が蓄積された文法データベース１４３−１乃至１４３−４が設けられている。さらに音響に関する情報が蓄積された音響モデルデータベース１３２が、マッチング部１４１−１乃至１４１−４と接続されている。
【００８５】
なお、以下の説明において、認識処理部１３１−１乃至１３１−４のそれぞれを、個々に区別する必要がない場合、まとめて認識処理部１３１と称する。他の部分についても同様とする。また、図８の例においては、認識処理部は、認識処理部１３１−１乃至１３１−４の４つが示されているが、認識処理部は、必要に応じて、３つ以下、または５つ以上設けられることもある。
【００８６】
音響モデルデータベース１３２は、音声認識する音声の言語における個々の音素や音節などの音響的な特徴を表す音響モデルを記憶している。音響モデルとしては、例えば、ＨＭＭ(Hidden Markov Model)が用いられる。
【００８７】
なお、認識処理制御部１２２では、認識処理部１３１−１乃至１３１−４のすべてが、音響モデルデータベース１３２に記憶された音響モデルを共有して利用するようになっており、これによって消費するメモリや音響モデルにおいて発生するスコア計算のための処理などを効率的に共有することが可能となる。
【００８８】
辞書データベース１４２−１乃至１４２−４は、認識対象の各単語（語彙）について、その発音に関する情報（音韻情報）が記述された単語辞書を記憶している。文法データベース１４３−１乃至１４３−４は、辞書データベース１４２−１乃至１４２−４の単語辞書に登録されている各単語が、どのように連鎖する（つながる）かを記述した文法規則（言語モデル）を記憶している。文法規則としては、例えば、文脈自由文法（CFG）に基づく記述や、統計的な単語連鎖確率(N-gram)などが用いられる。
【００８９】
辞書データベース１４２−１乃至１４２−４にはそれぞれ異なる語彙に関する情報が蓄積されており、文法データベース１４３−１乃至１４３−４にもそれぞれ異なる文法に関する情報が蓄積されている。
【００９０】
次に、図９のフローチャートを参照して、ロボット１の音声に対する処理について説明する。
【００９１】
ステップＳ１において、音声認識部１０１Ａは、マイクロホン８２−１乃至８２−Ｎから、音声信号Ｓ１Ｂが入力されたか否か（音声信号Ｓ１Ｂが検出されたか否か）を判定し、音声信号Ｓ１Ｂが入力されていないと判定された場合、ステップＳ１の処理を繰り返す。すなわち、音声信号Ｓ１Ｂが検出されたと判定されるまで（音声信号Ｓ１Ｂが入力されたと判定されるまで）、ステップＳ１の処理が繰り返される。
【００９２】
ステップＳ１において、音声信号Ｓ１Ｂが検出されたと判定された場合、ステップＳ２に進み、音声認識部１０１Ａは、音声認識処理を実行する。
【００９３】
ここで、図１０のフローチャートを参照して、音声認識処理について説明する。
【００９４】
制御部１０１aは、マイクロホン８２からの音声信号Ｓ１Ｂを特徴抽出部１２１に供給し、特徴抽出部１２１は、ステップＳ２１において、その音声信号Ｓ１Ｂを、適当な時間間隔で周波数分析などすることにより、スペクトルや、その他の音声の音響的な特徴量を表すパラメータを求め、制御部１０１aと認識処理制御部１２２に供給する。
【００９５】
ステップＳ２２において、認識処理制御部１２２は、駆動させる認識処理部を選択する。
【００９６】
例えば、ロボット１が、ユーザとの雑談、歌唱、または踊りを実行している場合を想定する。このとき、ロボット１では、雑談用、歌唱用、または踊り用のアプリケーションが起動している。また、ロボット１は、ユーザとの雑談、歌唱、または踊りのカテゴリそれぞれに対応した認識処理部を有しており、起動しているアプリケーションに対応したカテゴリの認識処理部が駆動されるものとする。なお、ロボット１は、全ての動作に共通というカテゴリの認識処理部を１つ有しており、この認識処理部は、起動しているアプリケーションにかかわらず駆動されるものとする。全ての動作に共通のカテゴリの認識処理部では、例えば「止まれ」などのように、重要度が大きい音声コマンドなどが認識される。
【００９７】
例えば、認識処理部１３１−１乃至１３１−４が、それぞれ、全ての動作に共通のカテゴリの認識処理部、ユーザとの雑談のカテゴリの認識処理部、歌唱のカテゴリの認識処理部、または踊りのカテゴリの認識処理部であるとすると、ステップＳ２２では、認識処理部１３１−４が選択、駆動されるとともに、認識処理部１３１−２乃至１３１−４のうちの、現在起動しているアプリケーションに対応するカテゴリのものが選択、駆動される。
【００９８】
そして、雑談用、歌唱用、または踊り用の各アプリケーションは、ユーザとの雑談のカテゴリの認識処理部１３１−２、歌唱のカテゴリの認識処理部１３１−３、または踊りのカテゴリの認識処理部１３１−４それぞれと、全ての動作に共通のカテゴリの認識処理部１３１−１との、２つの認識処理部を使用する。
【００９９】
その後、処理はステップＳ２３に進む。なお、ステップＳ２３とＳ２４の処理は、認識処理部１３１−１乃至１３１−４のうちの、ステップＳ２２で選択、駆動されたものにより、並列に実行される。
【０１００】
ステップＳ２３において、認識処理部１３１は、音響モデルデータベース１３２、辞書データベース１４２、および文法データベース１４３を参照しながら、マッチング処理を行い、音声認識結果の候補としての単語列の、特徴抽出部１２１からの特徴量に対する音響スコアと言語スコアを演算する。
【０１０１】
すなわち、認識処理部１３１は、辞書データベース１４２に記憶された単語の並びに対応する、音響モデルデータベース１３２に記憶された音響モデルと、特徴抽出部１２１からの特徴量とを用い、その単語の並びの音響的な評価値を、音響スコアとして演算する。また、文法データベース１４３に、文法としてたとえばバイグラムが記憶されている場合には、認識処理部１３１は、辞書データベース１４２に記憶された単語の並びの、各単語と、その次の単語との連鎖確率に基づく言語的な確からしさを、言語スコアとして演算する。
【０１０２】
ステップＳ２４において、認識処理部１３１は、音響スコアと言語スコアを総合し、辞書データベース１４２に記憶された単語の並び（単語列）から、最も評価の高い単語列を、音声認識結果として決定する。なお、認識処理部１３１−１乃至１３１−４のうちの複数が駆動している場合には、例えば、その複数それぞれで決定される単語列のうちの、総合的なスコアが最も高いものが、最終的な音声認識結果として決定される。
【０１０３】
例えば、ユーザが、「今日はいい天気ですね。」と発声したとき、「今日」、「は」、「いい」、「天気」、「ですね」のような単語列が、音声認識結果として得られる。
【０１０４】
図９のフローチャートの説明に戻る。
【０１０５】
ステップＳ２の処理後、ステップＳ３において、音声認識部１０１Ａの制御部１０１ａは、ステップＳ２の音声認識処理による音声認識結果の正解確信度を計算し、ステップＳ４に進む。
【０１０６】
ステップＳ４において、制御部１０１aは、音声認識結果の正解確信度が所定の閾値より大きいか否かを判定する。ここで、所定の閾値は、ロボット１の周辺のノイズとユーザが発した音声とを弁別する値であり、例えば、メイン制御部６１のメモリ６１Ａに予め記憶しておくことができる。
【０１０７】
ステップＳ４で、音声認識結果の正解確信度が所定の閾値以下であると判定された場合、即ち、音声認識処理の正解確信度が低く、音声認識の対象となった音声信号が、ロボット１の周辺で発生しているノイズであると推測される場合、ステップＳ１に戻る。従って、この場合、ロボット１は、音声認識結果に対して動作を行わない。
【０１０８】
ステップＳ４で、音声認識結果の正解確信度が所定の閾値より大きいと判定された場合、即ち、音声認識処理の正解確信度が高く、音声認識の対象となった音声信号が、ユーザが発した音声であると推測される場合、制御部１０１aは、音声認識結果を、認識処理制御部１２２からモデル記憶部１０２、および行動決定機構部１０３（図７）に出力させ、ステップＳ５に進む。
【０１０９】
ステップＳ５において、方向認識部１０１Ｂは、マイクロホン８２−１乃至８２−Ｎから入力された音声の、音源の方向を検出して認識する。すなわち、方向認識部１０１Ｂは、マイクロホン８２−１乃至８２−Ｎから供給される音声信号Ｓ１Ｂのパワー差や位相差から音源の方向を検出して認識し、認識結果を行動決定機構部１０３に供給する。
【０１１０】
ステップＳ６において、音源の方向への振り向き動作の処理が実行される。
【０１１１】
ここで、図１１のフローチャートを参照して、振り向き動作の処理について説明する。
【０１１２】
ステップＳ４１において、行動決定機構部１０３は、状態認識情報処理部１０１の方向認識部１０１Ｂより供給された音源の方向の情報に基づいて、現在ロボット１が向いている方向と音源の方向との差を計算し、体幹の向きに対する音源方向の相対角度を求める。
【０１１３】
ステップＳ４２において、行動決定機構部１０３は、図４に示した首関節機構２７のヨー軸２９の可動範囲と、脚部を使って体幹を回転させる際に、一度の回転動作で回転できる最大角度などの制約に基づき、ステップＳ４１で計算された相対角度分だけ頭部を回転させるのに必要な首関節機構２７と体幹（股関節機構３７を用いて回転させるロボット１の本体の垂直方向の軸）の回転角度を決定する。ここで、音源方向によっては、行動決定機構部１０３は、首関節機構２７のみの回転角度を決定する。なお、ロボット１は、図４に示したように股関節機構３７のヨー軸３８を有しているが、簡単のため、本実施の形態ではこの股関節機構３７のヨー軸３８を利用しないものとして説明する。しかしながら、首、腰、足の接地方向を利用し、全身を協調させて音源方向を振り向くことができることは勿論である。
【０１１４】
具体的に図１２を用いて説明する。図１２Ａは、ロボット１の首の可動範囲を±Ｙ度とし、音源Ｓの方向の相対角度がロボット１の正面方向に対してＸ度方向である場合の例である。この場合、ロボット１が音源Ｓの方向に振り向くためには、図１２Ｂに示すように、最低でもＸ−Ｙ度だけ体幹全体を脚部を使って回転させると共に、首関節機構２７のヨー軸２９をＹ度だけ音源Ｓの方向に回転させる必要がある。
【０１１５】
ステップＳ４３において、行動決定機構部１０３は、ステップＳ４２で得られた角度を回転させるのに必要な各関節の制御情報を姿勢遷移機構部１０４に供給し、この情報に基づいて、姿勢遷移機構部１０４は、各種のアクチュエータをそれぞれ駆動させることによって、ロボット１を音源方向に振り向かせる。
【０１１６】
ステップＳ４４において、行動決定機構部１０３は、音源Ｓの方向に対して正対するために必要な体幹及び首の回転角度を計算する。例えば上述した図１２Ｂに示すように、現在のロボット装置１の姿勢において首関節機構２７のヨー軸２９がＹ度回転している場合、すなわち体幹に対して頭部がＹ度回転している場合には、図１２Ｃに示すように、体幹をＹ度回転させると同時に首関節機構２７のヨー軸２９を−Ｙ度回転させることによって、対象オブジェクトを注視したまま首の捻れを解消し、自然な動作で音源Ｓの方向に正対することが可能となる。
【０１１７】
ステップＳ４５において、姿勢遷移機構部１０４は、ステップＳ４４で計算した動作をロボット１に実行させ、音源方向に正対させると共に、行動決定機構部１０３は、例えば、「だーれ」などのテキストを表示部５５に表示させる。
【０１１８】
ロボット装置１は、以上のようにして音源方向を認識し（推定し）、全身を協調させて自然な動作により音源方向を振り向くことができる。
【０１１９】
例えば、ロボット１は、図１３Ａ乃至Ｆで示されるようにして音源方向に振り向く。すなわち、図１３Ａのようにロボット１が図中右側を向いていたときに背後から音声が入力されると、図１３Ｂ乃至Ｆのように、首を回転させると共に脚部を使って体幹を回転させ、最終的に、図１３Ｆで示されるように、図中左方向の音源方向に振り向く。また、このとき、行動決定機構部１０３は、表示部５５や音声合成部１０５を制御して、例えば、「なーに？」といった表示や合成音出力をさせることにより、ユーザに対して応答していることを表現させてもよい。結果として、ユーザが音声によるコマンドを与えた際、ユーザは、ロボット１がユーザが発した音声コマンドに反応し、応答していることを認識することが可能となる。
【０１２０】
図９のフローチャートの説明に戻る。
【０１２１】
ステップＳ７において、状態認識情報処理部１０１の画像認識部１０１Ｄは、CCDカメラ８１Ｌ，８１Ｒのそれぞれより入力される画像情報に基づいて、ユーザの顔の検出処理を実行する。人間の顔を検出する手法は、例えば、画像信号の肌色領域などから判断されるユーザの顔画像などを検出するといった方法でもよい。また、人間の顔を検出する手法としては、例えば「E.Osuna, R.Freund and F.Girosi:典raining support vector machines:an application to face detection   CVPR'97, 1997」に記載されているような手法で実現することも可能である。
【０１２２】
ステップＳ８において、画像認識部１０１Ｄは、ユーザの顔が検出されたか否かを判定し、ユーザの顔が検出されたと判定した場合、ステップＳ９に進む。
【０１２３】
ステップＳ９において、行動決定機構部１０３は、状態認識情報処理部１０１の音声認識部１０１Ａより供給される単語列からなる音声認識結果に基づいて、とるべき行動を決定し、対応する行動指令情報を姿勢遷移機構部１０４、または音声合成部１０５に出力して、ステップＳ１０に進む。これにより、例えば、姿勢遷移機構部１０４は、行動決定機後部１０３からの行動指令情報に応じて各種のアクチュエータを制御してロボット１を行動させる。
【０１２４】
一方、ステップＳ８において、ユーザの顔が検出されなかった場合、ステップＳ９の処理がスキップされて、ステップＳ１０に進み、元の方向への振り向き動作処理が実行され、その処理は、ステップＳ１に戻る。尚、この元の方向への振り向き動作処理は、図１１のフローチャートを参照して説明した、図９のステップＳ６の処理における音源方向への振り向き動作の処理における、音源方向を元の方向に置き換えたこと以外は、同様の処理であるので、その説明は省略する。
【０１２５】
以上のように、図９の処理によれば、音声信号が検出されたとき、音声認識処理が行われ、音声認識結果の正解確信度が計算される。そして、正解確信度が所定の閾値より大きい場合に、検出された音声信号はユーザが発した音声であるとみなされ、ロボット１を音源の方向に振り向かせる。さらに、音源の方向にユーザの顔が検出された場合に、音声認識結果に基づいてロボット１が行動する。
【０１２６】
従って、音声認識結果が、ユーザが発した音声の認識結果であると推定される場合にのみ、ロボット１が、図９のステップＳ６で振り向き動作を行うようにすることができる。即ち、ロボット１がノイズに反応して振り向き動作をするといった不自然な動作（行動）を行うことを防止（低減）することができる。
【０１２７】
なお、メイン制御部６１のメモリ６１Ａに予め記憶されている、ロボット１の周辺のノイズとユーザが発した音声とを弁別する閾値を変更(設定)することにより、ロボット１の周辺のノイズに対する感度を容易に調整することができる。
【０１２８】
また、ロボット１が、音源方向に振り向く動作では、ユーザの顔を検出することができればよいのであって、ロボット１の頭部のみを振り向かせても、または、ロボット１の本体全体を振り向かせてもどちらでもよい。さらに、このとき、音源方向に指向性の高いマイクロホンが向けられるようにしてもよい。このようにすることで、音声によるコマンドを発しているユーザに対してロボット１が反応していることを示すことが可能になると共に、音源に対して音声認識に必要な音声信号を高い精度で取得することが可能となり、結果として音声認識処理におけるノイズなどによる誤認識を抑制することが可能となる。
【０１２９】
また、図９の処理は、ロボット１が、別の動作を行っているときでも実行することができる。この場合、ステップＳ６の処理を開始する前に、これまで行っていた動作が中断され、ステップＳ１０の処理後、中断された動作が再開されることになる。
【０１３０】
さらに、図９の処理では、ステップＳ９の処理後、ステップＳ１０をスキップして、ステップＳ１に戻るようにしても良い。
【０１３１】
以上の処理においては、検出される音声信号に対応して音源の方向を検出して、音源の方向への振り向き動作を実行していたが、音声は、ロボット１の周辺の環境によって、音源の方向とは異なる方向から聞こえてしまうような場合が生じうる。すなわち、ロボット１の周辺に存在する天井や壁などにより、音声は反響し、この反響した音声により方向を検出すると、本来の音源の方向とは異なる方向を音源として誤検出してしまう可能性が高くなる。結果として、誤検出された方向をロボット１がいくら振り向いても、音声によるコマンドを発しているユーザの顔を検出することができず、不要な振り向き動作を繰り返してしまう恐れがある。
【０１３２】
そこで、以上のような、音声が反響してしまうような状況にある場合に対応するため、顔の検出ができる頻度を方向毎に記憶しておき、検出できなかった頻度に応じて（または、ユーザの顔が検出できる頻度に応じて）、音源の方向の信頼度を求め、顔が検出できる信頼度の低い方向が音源方向として検出された場合には、所定の割合で振り向き動作をしないようにさせるようにしてもよい（音声信号が検出されても無視するようにしてもよい）。
【０１３３】
図１４は、ユーザの顔の検出ができる頻度を記憶しておき、検出した頻度から方向毎の信頼度を演算し、その信頼度に応じて振り向き動作をしないようにしたロボット１のメイン制御部６１の他の構成を示すブロック図である。
【０１３４】
図１４のメイン制御部６１は、基本的には、図７のメイン制御部６１の構成と同様であるが、行動決定機構部１０３が、行動メモリ１０３ａ、および、信頼度演算部１０３ｂを備えており、行動メモリ１０３ａに記憶された情報に基づいて信頼度演算部１０３ｂが方向毎の信頼度を演算し、その信頼度に応じて姿勢遷移機構部１０４を制御する点が異なる。
【０１３５】
行動メモリ１０３ａは、行動決定機構部１０３により決定された行動を記憶するメモリであり、音源の方向に対して振り向き動作をした際に、方向毎に、振り向き動作の頻度と、ユーザの顔が検出された頻度を更新して、記憶する。
【０１３６】
信頼度演算部１０３ｂは、行動メモリ１０３ａに記憶された情報に基づいて、各方向毎にユーザの顔が検出される信頼度を百分率で求め、記憶する。行動メモリ１０３ａに記憶される情報は、動作がなされる毎に更新されるので、信頼度演算部１０３ｂが記憶する信頼度も、各行動に対応して順次更新されていく。
【０１３７】
図１４の行動決定機構部１０３は、信頼度演算部１０３ｂにより求められる信頼度に基づいて振り向き動作を制御する。すなわち、例えば、右方向に振り向き動作をした頻度をTR、そのうち顔が検出された頻度がFRであった場合、信頼度演算部１０３ｂが演算する、右方向の顔が検出される信頼度は100×FR／TR(%)である。行動決定機構部１０３は、方向認識部１０１Ｂより入力されてくる、方向の情報に基づいて、１乃至１００までの乱数を発生させ、その乱数の値と、信頼度演算部１０３ｂに記憶された顔が検出される信頼度とを比較し、乱数の値の方が、信頼度よりも低いとき、その方向に振り向き動作を実行させ、それ以外のときは、振り向き動作をさせないように姿勢遷移機構部１０４を制御する。尚、信頼度のデフォルトの値は、100%である。
【０１３８】
次に、図１５のフローチャートを参照して、図１４のメイン制御部６１を用いたロボット１の音声に対する処理を説明する。尚、図１５のステップＳ６１乃至Ｓ６５、およびステップＳ６８乃至Ｓ７２の処理は、図９のフローチャートのステップＳ１乃至Ｓ５、およびステップＳ６乃至Ｓ１０の処理と、それぞれ、同様であるので、その説明は省略する。
【０１３９】
ステップＳ６６において、行動決定機構部１０３は、信頼度演算部１０３ｂに記憶されている、検出された音源の方向に対応した顔が検出される信頼度を読み出す。最初の処理の場合、信頼度は100%となっており、それ以降では、頻度に応じた値となっている。
【０１４０】
ステップＳ６７において、行動決定機構部１０３は、１乃至１００までの乱数を発生させ、発生した乱数と信頼度との比較から、振り向き動作を実行させるか否かを判定する。より詳細には、行動決定機構部１０３は、１乃至１００までの乱数を発生させ、信頼度演算部１０３ｂより読み出された信頼度と比較し、読み出された信頼度よりも低い場合、振り向き動作を実行させると判断し、乱数の方が、信頼度よりも高い場合、振り向き動作を実行させないと判断する。
【０１４１】
ステップＳ６７において、行動決定機構部１０３は、例えば、発生された乱数が信頼度よりも低いと判定する場合、すなわち、振り向き動作を実行させると判定した場合、ステップＳ６８に進む。
【０１４２】
一方、ステップＳ６７において、発生された乱数が、信頼度よりも高いと判定された場合、行動決定機構部１０３は、振り向き動作を実行させないと判定し、ステップＳ６１に戻る。
【０１４３】
ステップＳ７３において、行動決定機構部１０３は、ユーザの顔が検出されたか否かの判定結果に基づいて、ユーザの顔が検出された頻度、および、音源の方向への振り向き動作を実行した頻度の情報を更新し、行動メモリ１０３ａに記憶させると共に、信頼度演算部１０３ｂは、この更新された頻度に基づいて信頼度を求めて信頼度を更新する。
【０１４４】
以上の処理により、振り向き動作毎に、ユーザの顔が検出される信頼度が更新されるので、例えば、天井や壁などにより音声が反響しやすい環境で、誤検出されやすい音源の方向に対しては、ユーザの顔が検出される頻度に応じて振り向き動作を抑制することが可能となり、結果として、誤検出を起こし易い、無駄な方向への振り向き動作を抑制しつつ、精度の高い音声認識処理を実現させることが可能となる。
【０１４５】
また、ロボット１から見た方向は、例えば、ロボット１が進行方向を変化させながら歩行しているような場合、加速度検出信号Ｓ２Ｂなどを用いて方向毎の信頼度もその変化している進行方向に合わせて変化させるようにしてもよいし、前後左右といった方向ではなく、東西南北といった絶対方向をコンパスを用いて設定し、その方向ごとに信頼度を設定するようにしてもよい。
【０１４６】
さて、次に、上述した音声認識結果の正解確信度の算出方法について説明する。正解確信度は、音声認識結果が、どれだけ確からしいか（信頼性）を表し、本実施の形態では、正解確信度がある程度高ければ、音声認識結果が、ノイズではなく、ユーザが発した音声（人間による意味のある発語）の音声認識結果であるとして扱う。
【０１４７】
一般的に、ＨＭＭ音響モデルによる音声認識では、音素（モデル）が認識の基本単位として考えられ、単語モデルは、音素モデルの連結としてモデル化される。音声認識において、認識エラー（誤認識）は、入力された音声信号を正確な音素単位に分離していないことによって生じることがある。逆に言えば、入力された音声信号について、音素単位に分離する境界（位置）が正確に決定されていれば、正確な音素の認識、さらには、正確な単語や文の認識を行うことができる。
【０１４８】
そこで、音声認識結果が、入力された音声信号に対して、音素単位に正確に境界を決定しているかどうかを検証する尺度としての音素境界検証尺度関数PBVMを設ける。そして、音声認識結果（単語列）中の音素単位で求められる音素境界検証尺度関数PBVMを、単語単位、または文単位に拡張し、その拡張によって得られる演算値を、正解確信度として用いることができる。従って、正解確信度は、単語レベルおよび文章レベルのどちらとしても求めることができる。
【０１４９】
初めに、音素境界検証尺度関数PBVMの算出方法について説明する。
【０１５０】
まず、入力された音声信号の音声認識結果（単語列）は、正確な音素ごとに境界が設定（決定）されているという音素仮説をたてる。即ち、入力された音声信号に対して、音声認識結果と同様の音素境界を仮定する。ここで、音声信号の、ある音素ｋと次の音素ｋ＋１との間の境界を音素境界ｋとする。
【０１５１】
そして、音素境界ｋの左右（音素境界ｋの時系列で前後）の２つのコンテキストを定義する。ここで、音素境界ｋの左右（前後）の２つのコンテキストの定義としては、例えば、図１６乃至図１８に示す３つのいずれかを採用することができる。
【０１５２】
即ち、図１６は、音素境界ｋの左右（前後）の２つのコンテキストの第１の定義の例を示している。
【０１５３】
図１６では、音声認識結果に基づく音素ｋ，ｋ＋１，およびｋ＋２、並びに、音素ｋとｋ＋１との境界である音素境界ｋ、および音素ｋ＋１とｋ＋２との境界である音素境界ｋ＋１が示されている。また、音素kおよびｋ＋１については、音声信号のフレームの区切りが、点線で示されており、例えば、音素ｋの最後のフレームがフレームｉ、音素ｋ＋１の最初のフレームがフレームｉ＋１となっている。さらに、音素ｋでは、ＨＭＭ状態（ＨＭＭの状態）が状態ａ，ｂ，ｃと遷移し、音素ｋ＋１では、ＨＭＭ状態が状態a’，ｂ’，ｃ’と遷移している。
【０１５４】
音素境界ｋの左右（前後）の２つのコンテキストの第１の定義では、図１６に示すように、音素境界ｋの左（音素境界ｋより時系列で前）のコンテキストは、音素ｋの最後のＨＭＭ状態である状態ｃに対応する全フレーム（フレーム（ｉ−４）乃至フレームｉ）からなり、音素境界ｋの右（音素境界ｋより時系列で後）のコンテキストは、音素ｋ＋１の最初のＨＭＭ状態である状態ａ’に対応する全フレーム（フレーム（ｉ＋１）乃至フレーム（ｉ＋４））からなる。
【０１５５】
図１７は、音素境界ｋの左右（前後）の２つのコンテキストの第２の定義の例を示している。なお、図１７において、図１６と対応する部分については、同様の符号が付してあり、その説明は適宜省略する（後述する図１８も同様）。
【０１５６】
音素境界ｋの左右（前後）の２つのコンテキストの第２の定義では、図１７に示すように、音素境界ｋの左のコンテキストは、音素ｋの最後から２番目のＨＭＭ状態である状態ｂに対応する全フレームからなり、音素境界ｋの右のコンテキストは、音素ｋ＋１の２番目のＨＭＭ状態である状態ｂ’に対応する全フレームからなる。
【０１５７】
図１８は、音素境界ｋの左右（前後）の２つのコンテキストの第３の定義の例を示している。
【０１５８】
音素境界ｋの左右（前後）の２つのコンテキストの第３の定義では、図１８に示すように、音素境界ｋの左のコンテキストは、フレーム（ｉ−ｎ）乃至フレームｉからなり、音素境界ｋの右のコンテキストは、フレーム（ｉ＋１）乃至フレーム（ｉ＋ｍ）からなる。ここで、ｎおよびｍは、１以上の任意の整数である。
【０１５９】
次に、２つのコンテキストをベクトルとして、その２つのコンテキストのベクトルの類似度を表す類似度関数を求める。
【０１６０】
なお、ここでは、音声の特徴量として、例えば、スペクトルがコンテキストを構成するフレームの単位で抽出されるものとする。この場合、コンテキストのベクトルとしては、例えば、そのコンテキストを構成する各フレームから得られるスペクトルの係数を要素とするベクトルの、コンテキストを構成する全フレームについての平均ベクトルを採用することができる。
【０１６１】
２つのコンテキストのベクトルをｘとｙとするとき、ベクトルｘとｙの類似度関数ｓ（ｘ，ｙ）は、例えば、次式（１）で表すことができる。
【０１６２】
【数１】
2006038894.tif 000003
・・・・・・・・・・（１）
【０１６３】
式（１）において、‖ｘ‖は、ベクトルｘのベクトル空間上のノルムを表し（‖ｙ‖も同様）、ｘｔは、ベクトルｘの転置を表す。なお、式（１）の類似度関数ｓ（ｘ，ｙ）は、ベクトルｘとｙの内積ｘｔｙを、ベクトルｘとｙの大きさの積‖ｘ‖・‖ｙ‖で除算したものであるから、２つのベクトルｘとｙとの角度（cosθ）を意味する。
【０１６４】
ここで、類似度関数ｓ（ｘ，ｙ）は、その値が小さいほど、ベクトルｘとｙとが類似していることを表す。
【０１６５】
ある音素境界ｋの音素境界検証尺度関数PBVM（ｋ）は、類似度関数ｓ（ｘ，ｙ）を用いて、式（２）で表すことができる。
【０１６６】
【数２】
2006038894.tif 000004
・・・・・・・・・・（２）
【０１６７】
なお、類似度関数ｓ（ｘ，ｙ）の他に、２つのベクトルｘとｙとの類似度を求める関数としては、２つのベクトルｘとｙとの距離を表す距離関数ｄ（ｘ，ｙ）（但し、ここでは、−１乃至１の範囲）に正規化されるものとする）も考えられる。この場合、音素ｋの音素境界検証尺度関数PBVM（ｋ）は、式（３）のように表すことができる。
【０１６８】
【数３】
2006038894.tif 000005
・・・・・・・・・・（３）
【０１６９】
なお、音素境界ｋにおけるコンテキストのベクトルx，yとしては、そのコンテキストを構成する各フレームのスペクトルを表すベクトル（フレームから得られるスペクトルの係数を要素とするベクトル）の、コンテキストを構成する全フレームの平均値（平均ベクトル）の他、コンテキストを構成するフレームのうちの、例えば、音素境界ｋに最も近いフレームのスペクトルを表すベクトルから、コンテキストを構成するフレームのスペクトルを表すベクトルの、全フレームについての平均値を減算して得られるベクトルなどを採用することが可能である。また、HMMにおける特徴量の出力確率密度関数がガウス分布を用いて表される場合には、音素境界ｋにおけるコンテキストのベクトルx，yとしては、例えば、コンテキストを構成するフレームに対応する、HMM状態における出力確率密度関数を表すガウス分布を定義する平均ベクトルを用いたベクトルを、音素境界ｋにおけるコンテキストのベクトルx，yとして採用することが可能である。
【０１７０】
上述の式（２）または式（３）で求められる、音素境界ｋの音素境界検証尺度関数PBVM（ｋ）は、変数ｋに対して、０乃至１の間の値を持つ連続関数となり、PBVM（ｋ）＝０は、音素境界ｋの左右のコンテキストのベクトルが、互いに同一方向であることを意味する。即ち、音素境界検証尺度関数PBVM（ｋ）の関数値が０である場合、音素境界ｋは、実際の音素境界ではなく、認識エラーが生じ得ることを表している。
【０１７１】
一方、音素境界検証尺度関数PBVM（ｋ）の関数値が１である場合、音素境界ｋの左右のコンテキストのベクトルが、互いに反対方向であることを意味し、音素境界ｋは、確かに音声信号中の正確な音素境界であり得ることを表している。
【０１７２】
即ち、音素境界検証尺度関数PBVM（ｋ）は、音素境界ｋが実際の音素境界である尤度を表しているということができる。
【０１７３】
そして、次に、音声認識結果としての単語列の各単語は、複数の音素で構成されるので、単語列の単語の正解確信度は、その単語を構成する音素の音素境界検証尺度関数PBVMから演算することができる。
【０１７４】
即ち、単語の正解確信度としては、例えば、単語の各音素の音素境界検証尺度関数PBVMの平均値、単語の各音素の音素境界検証尺度関数PBVMの最小値、単語の各音素の音素境界検証尺度関数PBVMの最大値と最小値の差、単語の各音素の音素境界検証尺度関数PBVMの標準偏差、単語の各音素の音素境界検証尺度関数PBVMの変動係数（標準偏差を平均値で除算した値）などを採用することができる。
【０１７５】
音声認識結果としての単語列の正解確信度も、単語の正解確信度と同様にして求めることができる。即ち、音声認識結果として、例えば、「The weather yesterday is nice」が得られ、単語The, weather, yesterday, is, niceについて、正解確信度0.90, 0.86, 0.13, 0.81, 0.95が、それぞれ得られたとする。
【０１７６】
音声認識結果の正解確信度として、例えば、その音声認識結果としての単語列の各単語の正解確信度のうちの最小値を採用することとすると、音声認識結果「the weather yesterday is nice」の正解確信度は、単語「yesterday」の正解確信度である0.13となる。また、音声認識結果の正解確信度として、例えば、その音声認識結果としての単語列の各単語の正解確信度の平均値を採用することとすると、音声認識結果「the weather yesterday is nice」の正解確信度は、単語「The」，「weather」，「yesterday」，「is」，「nice」のそれぞれの正解確信度0.90，0.86，0.13，0.81，0.95の平均値である0.73になる。
【０１７７】
なお、上述の場合には、音声認識結果としての単語列を構成する各単語の正解確信度から、その音声認識結果の正解確信度を求めるようにしたが、音声認識結果の正解確信度は、その他、例えば、その音声認識結果としての単語列を構成する各単語の音素境界についての音素境界検証尺度関数PBVMを使用して求めることもできる。
【０１７８】
以上のようにして求められる音声認識結果の正解確信度が、例えば、図９のステップＳ４における処理のように、所定の閾値と比較されることにより、ロボット１に入力された音声信号が、ノイズではなく、ユーザが発した音声であるかどうかが判定される。従って、音声認識結果として、辞書データベース１４２に記憶された単語列のなかの最も評価の高い単語列を必ず採用するのとは異なり、音声認識結果の正解確信度が所定の閾値より大きい単語列のみが採用されるので、音声に似通ったノイズでも、想定されていない発話内容に関しては無視することが可能となる。
【０１７９】
また、正解確信度としては、特開平９−２５９２２６号公報に記載されているように、音声認識結果とする第１位の候補と、次の第２位の候補とのスコアの差を採用することも可能である。さらに正解確信度は、ＨＭＭから計算されるフレームごとの音響スコアや、ニューラルネットワークを用いて計算することも可能である。
【０１８０】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【０１８１】
図１９は、図６のロボット１の電気的な内部構成をソフトウェアにより実現する場合のパーソナルコンピュータの一実施の形態の構成を示している。パーソナルコンピュータのCPU２０１は、パーソナルコンピュータの全体の動作を制御する。また、CPU２０１は、バス２０４および入出力インタフェース２０５を介してユーザからキーボードやマウスなどからなる入力部２０６から指令が入力されると、それに対応してROM(Read Only Memory)２０２に格納されているプログラムを実行する。あるいはまた、CPU２０１は、ドライブ２１０に接続された磁気ディスク２２１、光ディスク２２２、光磁気ディスク２２３、または半導体メモリ２２４から読み出され、記憶部２０８にインストールされたプログラムを、RAM(Random Access Memory)２０３にロードして実行する。これにより、上述したメイン制御部６１の機能が、ソフトウェアにより実現されている。さらに、CPU２０１は、通信部２０９を制御して、外部と通信し、データの授受を実行する。
【０１８２】
プログラムが記録されている記録媒体は、図１９に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク２２１（フレキシブルディスクを含む）、光ディスク２２２（CD-ROM(Compact Disc-Read Only Memory)，DVD（Digital Versatile Disk）を含む）、光磁気ディスク２２３（MD（Mini-Disc）を含む）、もしくは半導体メモリ２２４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM２０２や、記憶部２０８に含まれるハードディスクなどで構成される。
【０１８３】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【図面の簡単な説明】
【０１８４】
【図１】本発明を適用したロボットの外装の外観斜視図を示す図である。
【図２】図１のロボットの内部の構成を示す斜視図である。
【図３】図２のロボットの内部の構成を示す、背後側の斜視図である。
【図４】図２のロボットの軸について説明するための略線図である。
【図５】図２のロボットの制御に関する部分を主に説明するためのブロック図である。
【図６】図１のロボットの制御の内部構成を示すブロック図である。
【図７】図６のメイン制御部の構成を示すブロック図である。
【図８】図７の音声認識部の構成を示すブロック図である。
【図９】ロボットの音声コマンドによる動作の処理を説明するフローチャートである。
【図１０】ロボットの音声認識処理を説明するフローチャートである。
【図１１】図９の振り向き動作の処理を説明するフローチャートである。
【図１２】振り向き動作を説明する図である。
【図１３】振り向き動作を説明する図である。
【図１４】図６のメイン制御部のその他の構成を示すブロック図である。
【図１５】図１４のメイン制御部の構成を用いたロボットの音声コマンドによる動作の処理を説明するフローチャートである。
【図１６】音素境界ｋの左右の２つのコンテキストの定義を説明する図である。
【図１７】音素境界ｋの左右の２つのコンテキストの定義を説明する図である。
【図１８】音素境界ｋの左右の２つのコンテキストの定義を説明する図である。
【図１９】記録媒体を説明する図である。
【符号の説明】
【０１８５】
１  ロボット，  ６１  メイン制御部，  ５５  表示部，  ６３  サブ制御部，  ７１  外部センサ部，  ７２  スピーカ，  ８１Ｌ，８１Ｒ  CCDカメラ，  ８２  マイクロホン，  １０１  状態認識情報処理部，  １０１Ａ  音声認識部，  １０１ａ  制御部，  １０１Ｂ  方向認識部，  １０１Ｃ  圧力処理部，  １０１Ｄ  画像認識部，  １０２  モデル記憶部，  １０３  行動決定機構部，  １０３ａ  行動メモリ，  １０４  姿勢遷移機構部，  １０５  音声合成部
【図１】
2006038894.tif 000006
【図２】
2006038894.tif 000007
【図３】
2006038894.tif 000008
【図４】
2006038894.tif 000009
【図５】
2006038894.tif 000010
【図６】
2006038894.tif 000011
【図７】
2006038894.tif 000012
【図８】
2006038894.tif 000013
【図９】
2006038894.tif 000014
【図１０】
2006038894.tif 000015
【図１１】
2006038894.tif 000016
【図１２】
2006038894.tif 000017
【図１３】
2006038894.tif 000018
【図１４】
2006038894.tif 000019
【図１５】
2006038894.tif 000020
【図１６】
2006038894.tif 000021
【図１７】
2006038894.tif 000022
【図１８】
2006038894.tif 000023
【図１９】
2006038894.tif 000024