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