(57)【要約】【課題】コミュニケーションロボットの駆動音による音声認識の精度低下を抑制すること。【解決手段】コミュニケーションロボット１は、入力音を取得する入力音取得部１１と、入力音が音声であるか否かを判定する入力音判定部１３と、コミュニケーションロボット１の動作中は、入力音をより音声であると判定しにくくするように入力音判定部１３を制御する設定部１６と、を有する。【選択図】図２
2019191521.tif 000002
【特許請求の範囲】
【請求項１】
入力音を取得する入力音取得部と、
前記入力音が音声であるか否かを判定する入力音判定部と、
コミュニケーションロボットの動作中は、入力音をより音声であると判定しにくくするように前記入力音判定部を制御する設定部と、
を有することを特徴とするコミュニケーションロボット。
【請求項２】
前記入力音判定部は、前記入力音から得られる音声らしさの評価値を閾値と比較することにより、前記入力音が音声であるか否かを判定し、
前記設定部は、前記コミュニケーションロボットの動作が開始された場合に、前記音声らしさの評価値と比較する前記閾値として、前記動作の開始前に設定された第１の閾値よりも高い第２の閾値を設定することを特徴とする請求項１に記載のコミュニケーションロボット。
【請求項３】
前記設定部は、前記入力音の音源の方向と、前記コミュニケーションロボットの正面の方向との相対角度に基づいて前記第２の閾値を設定することを特徴とする請求項２に記載のコミュニケーションロボット。
【請求項４】
前記設定部は、前記相対角度が大きくなるにしたがって大きい値を前記第２の閾値として設定することを特徴とする請求項３に記載のコミュニケーションロボット。
【請求項５】
前記コミュニケーションロボットに含まれる部位が駆動する軸ごとに前記動作により前記部位が駆動される駆動速度を算出する駆動速度算出部をさらに有し、
前記設定部は、前記軸ごとに算出された駆動速度に基づいて前記第２の閾値を設定することを特徴とする請求項２に記載のコミュニケーションロボット。
【請求項６】
前記駆動速度算出部は、前記軸のうち前記コミュニケーションロボットのマイクロフォンからの距離が短い軸ほど大きい重みを付与して前記軸ごとに算出される駆動速度の重み付け総和を算出し、
前記設定部は、前記駆動速度の重み付け総和に基づいて前記第２の閾値を設定することを特徴とする請求項５に記載のコミュニケーションロボット。
【請求項７】
前記設定部は、前記駆動速度の重み付け総和が大きくなるにしたがって大きい値を前記第２の閾値として設定することを特徴とする請求項６に記載のコミュニケーションロボット。
【請求項８】
コミュニケーションロボットに用いる入力音判定方法であって、
前記コミュニケーションロボットの動作中は、入力音をより音声であると判定しにくくするように前記コミュニケーションロボットへの入力音を判定する処理を制御する、
処理をコンピュータが実行する入力音判定方法。
【請求項９】
コミュニケーションロボットに用いる入力音判定プログラムであって、
前記コミュニケーションロボットの動作中は、入力音をより音声であると判定しにくくするように前記コミュニケーションロボットへの入力音を判定する処理を制御する、
処理をコンピュータに実行させる入力音判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コミュニケーションロボット、入力音判定方法及び入力音判定プログラムに関する。
【背景技術】
【０００２】
プレゼンテーションや展示、フロント業務等の様々な場面でコミュニケーションロボットが活用されている。このようなコミュニケーションロボットでは、コミュニケーションの一側面として、入力音から検出される音声に反応して動作が行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１２２９２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の技術では、コミュニケーションロボットの駆動時に発生する駆動音が音声と誤認識される場合がある。この場合、コミュニケーションロボットに誤動作が発生するのを抑制できない。
【０００５】
１つの側面では、本発明は、コミュニケーションロボットの駆動音による音声認識の精度低下を抑制できるコミュニケーションロボット、入力音判定方法及び入力音判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
一態様では、コミュニケーションロボットは、入力音を取得する入力音取得部と、前記入力音が音声であるか否かを判定する入力音判定部と、コミュニケーションロボットの動作中は、入力音をより音声であると判定しにくくするように前記入力音判定部を制御する設定部と、を有する。
【発明の効果】
【０００７】
コミュニケーションロボットの駆動音による音声認識の精度低下を抑制できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１に係るコミュニケーションロボットの外観構成例を示す斜視図である。
【図２】図２は、実施例１に係るコミュニケーションロボットの機能的構成の一例を示すブロック図である。
【図３】図３は、頭部の駆動例を示す図である。
【図４】図４は、胴体部の駆動例を示す図である。
【図５】図５は、腕部の駆動例を示す図である。
【図６】図６は、ルックアップテーブルの一例を示す図である。
【図７】図７は、実施例１に係る第１の入力音判定処理の手順を示すフローチャートである。
【図８】図８は、実施例１に係る第２の入力音判定処理の手順を示すフローチャートである。
【図９】図９は、実施例２に係るコミュニケーションロボット２の機能的構成の一例を示すブロック図である。
【図１０】図１０は、ルックアップテーブルの一例を示す図である。
【図１１】図１１は、実施例２に係る第１の入力音判定処理の手順を示すフローチャートである。
【図１２】図１２は、実施例２に係る第２の入力音判定処理の手順を示すフローチャートである。
【図１３】図１３は、実施例１〜実施例３に係る入力音判定プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して本願に係るコミュニケーションロボット、入力音判定方法及び入力音判定プログラムについて説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１０】
図１は、実施例１に係るコミュニケーションロボットの外観構成例を示す斜視図である。図１に示すコミュニケーションロボット１は、プレゼンテーションや展示、フロント業務等の様々な場面で、自然対話によるコミュニケーションを提供するサービスロボットである。
【００１１】
［課題の一側面］
コミュニケーションロボット１は、親和性が高いインタラクションを実現する側面から、頭部３、胴体部５、右腕部７Ｒ及び左腕部７Ｌなどを連動させることにより、各種の動作を行う。以下では、右腕部７Ｒ及び左腕部７Ｌを総称して「腕部７」と記載する場合がある。このような動作の１つとして、人とロボットが対面する状態で両者の対話を実現する側面から、来場者等のユーザにより話しかけられた方向にコミュニケーションロボット１の正面を向ける「対面動作」の重要性が高まっている。
【００１２】
例えば、コミュニケーションロボット１への入力音から音声が検出される場合、当該音声が到来する方向、いわゆる音源の方向と、頭部３の顔の正面や胴体部５の腹の正面とが真正面で相対する姿勢にコミュニケーションロボット１が駆動される。
【００１３】
しかしながら、コミュニケーションロボット１が駆動する場合、コミュニケーションロボットの駆動時に発生する駆動音が人の発話による音声として誤認識される場合がある。この場合、コミュニケーションロボット１の駆動音により音声認識の精度が低下する。この結果、コミュニケーションロボット１に誤動作が発生してしまう。例えば、上記の対面動作の場合、コミュニケーションロボット１が対面動作の途中でユーザが話しかけた方向とは別の方向へ向く動作に切り替わったり、対面動作の切り替りが繰り返されたりする。
【００１４】
このようにコミュニケーションロボット１の駆動音による音声認識の精度低下が発生するのを抑制するという課題の一側面を解決するアプローチとして、（１）モータのゲイン調整、（２）周波数フィルタを用いる雑音除去、（３）音声特徴量の重み付けによる尤度算出といったアプローチが挙げられる。
【００１５】
（１）モータのゲイン調整
例えば、音声認識の実行時にロボットを駆動させるモータのゲインを下げるゲイン調整を実行することが考えられる。この場合、ロボットの駆動音そのものは低減することができたとしても、ユーザにより話しかけられてからユーザに対面するまでのレスポンスが低下する。このように対面動作のレスポンスが低下したのでは、インタラクションの親和性が低下するので、本末転倒となる。
【００１６】
（２）周波数フィルタを用いる雑音除去
また、音声認識用マイクロホンシステムを用いることも考えられる。この音声認識用マイクロホンシステムでは、ロボットの外部に設置される音声用マイクロホンとは別に、音声が混入しないように遮音された騒音用マイクロホンがロボットの内部に設置される。このようなマイクロホンの設置の下、騒音用マイクロホンが受信する振動音を騒音に変換する周波数特性補正用フィルタを用いて音声用マイクロホンから入力される観測信号に重畳する騒音成分を推定し、観測信号から騒音成分が除去される。
【００１７】
しかしながら、上記の音声認識用マイクロホンシステムでは、音声用マイクロホンとは個別に騒音用マイクロホンが必要となる。その上、周波数特性補正用フィルタには、騒音用マイクロホンから入力される信号と、音声用マイクロホンから入力される信号との相関から求められた騒音の伝達関数が設定されるが、複数の関節構造を有するコミュニケーションロボット１の駆動音に対応する伝達関数を設定するのは困難である。
【００１８】
例えば、コミュニケーションロボット１の例で言えば、頭部３の２軸、胴体部５の２軸、右腕部７Ｒの１軸および左腕部７Ｌの１軸の計６軸で駆動が行われる。これらの６軸の個別の駆動だけでなく、複数の軸が連動して駆動する場合、コミュニケーションロボット１の駆動音の周波数帯域は広範囲に及ぶと共に、音声の周波数帯域と重複することもあるので、フィルタを設計する上での周波数解析が困難である。さらに、同一の機種のサービスロボットであったとしても、製造時の組み立て、モータの個体差、モータに与える制御信号のばらつきなどが生じるので、フィルタの個別設計が必要となる。
【００１９】
（３）音声特徴量の重み付けによる尤度算出
また、モータ雑音下におけるロボット用音声認識方法を用いることも考えられる。このロボット用音声認識方法では、周波数帯域のうち雑音に埋もれた信頼性の低い周波数帯域における音声特徴量の重みを小さく、信頼性の高い周波数帯域における音声特徴量の重みを大きくすることによりその重みを尤度に反映させて音声認識を行う。
【００２０】
このロボット用音声認識方法においても、上記（２）で挙げた音声認識用マイクロホンシステムと同様のことが言える。すなわち、音声特徴量に付与する重みを変更するには、信頼性の高い周波数帯域と信頼性の低い周波数帯域とが分離して識別されることが前提となる。しかしながら、複数の関節構造を有するコミュニケーションロボット１の駆動音の周波数帯域と、音声との周波数帯域とを分離するのは、コミュニケーションロボット１の駆動音の周波数帯域は広範囲に及ぶと共に、音声の周波数帯域と重複することもあるので、現実的には困難である。
【００２１】
このように、上記（１）のアプローチでは、インタラクションの親和性を高めるという目的を達成することができず、上記（２）および上記（３）のアプローチでは、コミュニケーションロボット１の駆動音と音声との識別に限界があるので、誤作動の発生を抑制するのにも限界がある。
【００２２】
［課題解決のアプローチの一側面］
そこで、本実施例に係るコミュニケーションロボット１は、コミュニケーションロボット１の動作が開始された場合に、入力音をより音声であると判定しにくくするようにコミュニケーションロボット１の入力音を判定する処理を制御する。
【００２３】
例えば、あくまで一例として、本実施例に係るコミュニケーションロボット１は、入力音の音声らしさの評価値そのものではなく、その評価値と比較する閾値を変更するアプローチを採用する。このように音声らしさの評価値を変更する場合、動作が開始された後の閾値として動作の開始前よりも高い閾値を設定する。
【００２４】
このため、本実施例で採用する課題解決のアプローチでは、上記（１）のアプローチのように、モータのゲインを下げずともよいので、対面動作等の動作のレスポンスが低下するのを抑制できる。また、本実施例で採用する課題解決のアプローチでは、上記（２）および上記（３）のアプローチのように、音声らしさの評価値そのものを加工せずともよいので、コミュニケーションロボット１の駆動音の周波数特性を解析せずともよい。さらに、本実施例で採用する課題解決のアプローチでは、動作が開始された後の閾値として動作の開始前よりも高い閾値を設定するので、音声認識エンジンを活用する処理やサービスよりもその前段となる動作、例えば対面動作を優先できる。それ故、上記（２）および上記（３）のアプローチよりも、コミュニケーションロボット１の駆動音による音声認識の精度低下が発生する可能性を低減できる。
【００２５】
以上のことから、本実施例に係るコミュニケーションロボット１によれば、コミュニケーションロボット１の駆動音による音声認識の精度低下を抑制できる。
【００２６】
［コミュニケーションロボット１の構成］
図２は、実施例１に係るコミュニケーションロボット１の機能的構成の一例を示すブロック図である。図２に示すように、コミュニケーションロボット１は、頭部３、胴体部５、右腕部７Ｒ、左腕部７Ｌ、音入力部９Ａ、音出力部９Ｂと、モータ９Ｍと、制御部１０とを有する。なお、図２に示す機能部は、あくまで例示であり、コミュニケーションロボット１の機能的構成が図２に示す例以外の機能的構成を有することを妨げない。例えば、図２には、図示が省略されているが、外部装置、例えばサーバ装置等と通信するためのネットワークＮＷに接続する通信インタフェースなどを有することができる。
【００２７】
図２に示すコミュニケーションロボット１では、制御部１０が出力する制御信号にしたがってモータ９Ｍが動力を発生させることにより、頭部３、胴体部５、右腕部７Ｒおよび左腕部７Ｌを駆動させることができる。
【００２８】
頭部３は、モータ９Ｍの動力によって頭部３を駆動させるアクチュエータ３１と、光を点灯または点滅する発光部３２とを有する。このうち、発光部３２は、コミュニケーションロボット１の感情表現に用いることができる。例えば、発光部３２は、喜怒哀楽の感情ごとに当該感情に対応する色で点灯または点滅することにより、コミュニケーションロボット１の喜怒哀楽を表現することができる。
【００２９】
図３は、頭部３の駆動例を示す図である。例えば、図３の上段に示すように、Ｘ軸回りのトルクを発生させる制御信号をモータ９Ｍに出力して頭部３のアクチュエータ３１を駆動することにより、頭部３をチルト方向に回転させることができる。このように左右のＸ軸を回転軸として頭部３を下方向および上方向に回転駆動させることにより、頷き動作等を行うことができる。また、図３の下段に示すように、Ｙ軸回りのトルクを発生させる制御信号をモータ９Ｍに出力して頭部３のアクチュエータ３１を駆動させることにより、頭部３をパン方向に回転させることができる。このように上下のＹ軸を回転軸として頭部３を左方向および右方向に回転駆動させることにより、首振り動作等を行うことができる。
【００３０】
胴体部５は、モータ９Ｍの動力によって胴体部５を駆動させるアクチュエータ５１を有する。図４は、胴体部５の駆動例を示す図である。例えば、図４の上段に示すように、Ｘ軸回りのトルクを発生させる制御信号をモータ９Ｍに出力して胴体部５のアクチュエータ５１を駆動することにより、胴体部５をチルト方向に回転させることができる。このように左右のＸ軸を回転軸として胴体部５を下方向および上方向に回転駆動させることにより、お辞儀動作や仰け反り動作などを行うことができる。また、図４の下段に示すように、Ｙ軸回りのトルクを発生させる制御信号をモータ９Ｍに出力して胴体部５のアクチュエータ５１を駆動することにより、胴体部５をパン方向に回転させることができる。このように上下のＹ軸を回転軸として胴体部５を左方向および右方向に回転駆動させることにより、胴ひねり動作等を行うことができる。
【００３１】
右腕部７Ｒおよび左腕部７Ｌは、モータ９Ｍの動力によって右腕部７Ｒまたは左腕部７Ｌを駆動させるアクチュエータ７１Ｒ及びアクチュエータ７１Ｌと、光を点灯または点滅する発光部７２Ｒおよび発光部７２Ｌとを有する。このうち、発光部７２Ｒおよび発光部７２Ｌは、右腕部７Ｒおよび左腕部７Ｌの先端部に設けることにより、方向指示器として機能させることができる。例えば、発光部７２Ｒを点灯することにより、右腕部７Ｒが指す方向に視線を誘導することができる。また、発光部７２Ｌを点灯することにより、左腕部７Ｌが指す方向に視線を誘導することができる。
【００３２】
図５は、腕部７の駆動例を示す図である。例えば、図５に示すように、Ｘ軸回りのトルクを発生させる制御信号をモータ９Ｍに出力して右腕部７Ｒのアクチュエータ７１Ｒを駆動することにより、右腕部７Ｒを上下方向に回転させることができる。このように左右のＸ軸を回転軸として右腕部７Ｒを下方向および上方向に回転駆動させることにより、右腕の振り上げ動作や振り下げ動作などを行うことができる。ここで、図５には、右腕部７Ｒの駆動例を抜粋して示したが、左腕部７Ｌについてもアクチュエータ７１Ｌを駆動することにより、左腕部７Ｌを上下方向に回転させることができ、左腕の振り上げ動作や振り下げ動作などを行うことができる。これら右腕および左腕を連動させることにより、例えば、気を付けの姿勢や前にならえの姿勢をとらせることもできる。
【００３３】
音入力部９Ａは、音信号を入力する機能部である。
【００３４】
一実施形態として、音入力部９Ａは、音を電気信号に変換する１または複数のマイクロフォン等により実装することができる。例えば、音入力部９Ａは、マイクロフォンを介して音を採取することにより得られたアナログ信号をデジタル信号へ変換した上で音データとして入力音取得部１１へ入力する。
【００３５】
音出力部９Ｂは、各種の音を出力する機能部である。
【００３６】
一実施形態として、音出力部９Ｂは、１つまたは複数のスピーカを含むスピーカユニットとして実装することができる。例えば、音出力部９Ｂは、制御部１０からの指示にしたがって、プレゼンテーションやナビゲーションに関するメッセージを読み上げる合成音声等を出力することができる。
【００３７】
制御部１０は、コミュニケーションロボット１の全体制御を行う処理部である。
【００３８】
一実施形態として、制御部１０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などのハードウェアプロセッサにより実装することができる。ここでは、プロセッサの一例として、ＣＰＵやＭＰＵを例示したが、汎用型および特化型を問わず、任意のプロセッサ、例えばＤＳＰ（Digital  Signal  Processor）やＧＰＵ（Graphics  Processing  Unit）などにより実装することができる。この他、制御部１０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによって実現されることとしてもかまわない。
【００３９】
制御部１０は、図示しない主記憶装置として実装されるＤＲＡＭ（Dynamic  Random  Access  Memory）などのＲＡＭのワークエリア上に、入力音が音声であるか否かを判定する機能を実現する入力音判定プログラムや入力音判定プログラムがモジュールとして組み込まれたアプリケーションプログラム等を展開することにより、下記の処理部を仮想的に実現する。
【００４０】
制御部１０は、図２に示すように、入力音取得部１１と、パラメータ算出部１２と、入力音判定部１３と、シナリオ実行部１４と、相対角度算出部１５と、閾値設定部１６と、動作制御部１７とを有する。
【００４１】
入力音取得部１１は、入力音を取得する処理部である。
【００４２】
一実施形態として、入力音取得部１１は、音入力部９Ａから入力音を取得する。このように取得された入力音は、一例として、フレーム単位で後段の機能部、すなわちパラメータ算出部１２へ入力される。ここで、入力音取得部１１が入力音を取得するソースは任意であってよく、必ずしも音入力部９Ａに限定されない。例えば、入力音取得部１１は、ハードディスクや光ディスクなどの補助記憶装置またはメモリカードやＵＳＢ（Universal  Serial  Bus）メモリなどのリムーバブルメディアから入力音を取得することもできる。この他、入力音取得部１１は、外部装置からネットワークＮＷを介して受信することによって入力音を取得することもできる。
【００４３】
パラメータ算出部１２は、音に関する各種のパラメータを算出する処理部である。
【００４４】
一側面として、パラメータ算出部１２は、上記のパラメータの一例として、音の到来方向、いわゆる音源の位置や方向を算出することができる。このような音源定位は既存技術であるので、公知の技術の中から任意の技術を適用することができる。あくまで一例として、パラメータ算出部１２は、複数のマイクロフォンから入力音が入力される場合、複数の入力音の時間波形の間で相互相関係数を算出して各マイクロフォンへまでの音の到達時間差を求めることにより、音源の位置や方向を算出することができる。
【００４５】
他の側面として、パラメータ算出部１２は、上記のパラメータの他の一例として、入力音の音声らしさの評価値、例えば音声尤度を算出することができる。このような音声尤度の算出も既存技術であるので、公知の技術の中から任意の技術を適用することができる。あくまで一例として、パラメータ算出部１２は、入力音の時間波形に周波数解析を実行したり、入力音の時間波形の自己相関係数を算出したりすることにより基本周波数を求め、基本周波数のゆらぎから音声らしさの評価値を算出することができる。この他にも、パラメータ算出部１２は、入力音の集音度合いの高低から音声らしさの評価値を算出することもできる。
【００４６】
なお、パラメータ算出部１２により実行される音源定位や音声尤度の算出などの汎用の信号処理は、ＤＳＰなどのコプロセッサなどで実行されることとしてもかまわない。
【００４７】
入力音判定部１３は、入力音が音声であるか否かを判定する処理部である。
【００４８】
一実施形態として、入力音判定部１３は、パラメータ算出部１２により算出される入力音の音声らしさの評価値が所定の閾値Ｔｈ以上であるか否かを判定する。これによって、入力音が音声であるか否かを判定する。ここで、入力音判定部１３は、入力音の判定時に後述の閾値設定部１６により設定される閾値Ｔｈを格納するレジスタを参照し、当該レジスタに格納された閾値Ｔｈを入力音の音声らしさの評価値と比較する。このレジスタには、コミュニケーションロボット１が対面動作を開始する前後で異なる閾値が設定される。例えば、音声らしさの評価値が０から１００までの範囲で正規化されると共に１００に近づくほど音声らしい指標であるとしたとき、対面動作の開始前には、閾値Ｔｈ１、例えば「４０」が設定される。その一方で、対面動作の開始後には、閾値Ｔｈ１よりも大きな値、すなわち４０を超える値が閾値Ｔｈ２として設定される。この閾値設定方法の詳細は図６を用いて後述する。
【００４９】
シナリオ実行部１４は、コミュニケーションロボット１に設定されたシナリオを実行する。ここで言う「シナリオ」とは、プレゼンテーションや展示、フロント業務等を実現するための手順を指す。ここでは、あくまで一例として、「待機」、「対面動作」、「氏名聞き取り」、「行き先案内」の４段階のステップでコミュニケーションロボット１が動作することによりフロント業務を実現するシナリオを例に挙げる。
【００５０】
一側面として、シナリオ実行部１４は、シナリオのステップが「待機」である場合、入力音から音声が検出されるのを待機する。このような待機の一例として、コミュニケーションロボット１を静止状態とすることもできるが、コミュニケーションロボット１が静止状態である場合、コミュニケーションロボット１が稼働状態にあるかどうかをユーザに判別させづらいことがある。このことから、シナリオ実行部１４は、次のような自律動作を実行することができる。例えば、右腕部７Ｒ及び左腕部７Ｌの両腕を上げるバンザイの動作、胴体部５を左方向もしくは上方向にひねる動作、胴体部５を上方向もしくは下方向に動かす動作、右腕部７Ｒを上げる動作、左腕部７Ｌを上げる動作、または、頭部３を上方向もしくは下方向に向ける動作のいずれかをランダムに選択すると共に、当該動作の継続時間をランダムに選択する処理を繰り返す。この結果、コミュニケーションロボット１にランダムに現れる動作が「自律動作」として実行される。その後、シナリオ実行部１４は、シナリオのステップが「待機」である状態で入力音から音声が検出された場合、シナリオのステップを「対面動作」へ移行する。この場合、シナリオ実行部１４は、入力音の音源の方向にコミュニケーションロボット１の正面を向ける対面動作の開始を動作制御部１７へ指示すると共に、入力音の音声らしさの評価値と比較する閾値の設定変更を相対角度算出部１５及び閾値設定部１６に指示する。この閾値の設定変更により、コミュニケーションロボット１の駆動音による誤動作の抑制が図られる。
【００５１】
他の側面として、シナリオ実行部１４は、シナリオのステップが「対面動作」に移行した場合、コミュニケーションロボット１の対面動作が完了するのを待機する。ここで、コミュニケーションロボット１の対面動作が完了するまでに入力音から音声が検出された場合、ユーザの移動等によってコミュニケーションロボット１に対するユーザの位置が変化した可能性が高まる。この場合、シナリオ実行部１４は、新たな入力音の音源の方向にコミュニケーションロボット１の正面を向ける対面動作の開始を動作制御部１７へ指示すると共に、入力音の音声らしさの評価値と比較する閾値の再設定を閾値設定部１６に指示する。その後、シナリオ実行部１４は、コミュニケーションロボット１の対面動作が完了すると、シナリオのステップを「氏名聞き取り」へ移行する。
【００５２】
更なる側面として、シナリオ実行部１４は、シナリオのステップが「氏名聞き取り」に移行した場合、ユーザの氏名の発話を促すメッセージ、例えば「お名前をお聞かせ頂けますか？」等を音出力部９Ｂから音声出力する。その上で、シナリオ実行部１４は、音声と識別された入力音のフレームが連続する区間を発話区間として検出し、当該発話区間の音声データを音声認識エンジンに入力する。これによって、音声認識エンジンでは、発話区間の音声データを所定の言語モデルと照合することにより、当該音声データがテキストへ変換される。このような音声認識によって、発話区間ごとに当該発話区間に含まれる単語の読みや表記、品詞などの音声認識結果として得られる。そして、シナリオ実行部１４は、氏名とフロアやブース、会議室などの打合せや面会が行われる場所などの行き先とが対応付けて登録された予約情報の中から、音声認識結果として得られた固有名詞の単語に対応する行き先を検索する。このとき、シナリオ実行部１４は、行き先の検索に成功した場合、シナリオのステップを「行き先案内」へ移行する。
【００５３】
他の側面として、シナリオ実行部１４は、シナリオのステップが「行き先案内」に移行した場合、ユーザの行き先を案内するメッセージ、例えば現在地から行き先までの経路や経路上の目印等のガイダンスを音出力部９Ｂから音声出力する。その後、シナリオ実行部１４は、シナリオのステップを「待機」へ移行し、フロント業務を継続する。
【００５４】
相対角度算出部１５は、音源の方向との相対角度を算出する処理部である。
【００５５】
一実施形態として、相対角度算出部１５は、シナリオのステップが「待機」または「対面動作」である状態で入力音判定部１３により入力音が音声と判定された場合、入力音が音声と判定された時点でコミュニケーションロボット１の正面が向いている方向と、当該入力音の音源の方向との角度差をコミュニケーションロボット１に対するユーザの相対角度として算出する。
【００５６】
閾値設定部１６は、音声らしさの評価値と比較する閾値を設定する処理部である。図２に示す閾値設定部１６は、設定部の一例である。
【００５７】
一側面として、閾値設定部１６は、コミュニケーションロボット１により対面動作が開始される前後で、入力音判定部１３が入力音の音声らしさの評価値と比較する閾値Ｔｈを変更する。例えば、閾値設定部１６は、コミュニケーションロボット１により対面動作が開始される前、すなわちシナリオのステップが「待機」である場合、入力音判定部１３が判定時に用いる閾値Ｔｈを格納するレジスタに閾値Ｔｈ１を設定する。一方、閾値設定部１６は、コミュニケーションロボット１により対面動作が開始された後、すなわちシナリオのステップが「対面」に移行した場合、閾値Ｔｈ１よりも値が大きい閾値Ｔｈ２を上記のレジスタに設定する。
【００５８】
ここで、閾値設定部１６は、コミュニケーションロボット１により対面動作が開始された後には、閾値Ｔｈ１よりも大きい固定の閾値Ｔｈ２を上記のレジスタに設定することもできるが、相対角度算出部１５により算出される相対角度の多寡に応じて異なる閾値Ｔｈ２を設定することもできる。
【００５９】
例えば、閾値設定部１６は、相対角度と閾値Ｔｈ２の対応関係が定義されたルックアップテーブル１６Ａを参照して、相対角度算出部１５により算出される相対角度に対応する値を閾値Ｔｈ２として設定することもできる。図６は、ルックアップテーブル１６Ａの一例を示す図である。図６に示すルックアップテーブル１６Ａによれば、相対角度が０度以上６０度未満の範囲である場合、閾値Ｔｈ２が６０に設定される。また、相対角度が６０度以上１２０度未満の範囲である場合、閾値Ｔｈ２が７０に設定される。また、相対角度が１２０度以上１８０度未満の範囲である場合、閾値Ｔｈ２が８０に設定される。
【００６０】
このように、ルックアップテーブル１６Ａには、相対角度が小さくなるにしたがって小さい閾値Ｔｈ２が設定される一方で、相対角度が大きくなるにしたがって大きい閾値Ｔｈ２が設定される。このような閾値Ｔｈ２を設定する一因は、相対角度が大きくなるにつれて対面動作の速度も大きく設定されることが背景にある。すなわち、コミュニケーションロボット１がユーザにより話しかけられてからユーザに対面するまでのレスポンスを高める側面から、相対角度が大きいほど対面動作の速度も大きく設定される。このように対面動作の速度が大きくなるほどモータ９Ｍの駆動音の周波数も高くなるので、人の発話による音声に対応する周波数に近づく可能性が高まる。このため、相対角度が小さくなるにしたがって小さい閾値Ｔｈ２が設定される一方で、相対角度が大きくなるにしたがって大きい閾値Ｔｈ２が設定される。
【００６１】
なお、ここでは、あくまで一例としてルックアップテーブル１６Ａを用いる場合を例示したが、相対角度が大きくなるにしたがって大きい閾値Ｔｈ２を導出する関数を用いて、相対角度に対応する閾値Ｔｈ２を算出することとしてもかまわない。また、相対角度および閾値Ｔｈ２の両者の関係は、必ずしも線形でなくともよく、非線形であってかまわない。
【００６２】
他の側面として、閾値設定部１６は、コミュニケーションロボット１の対面動作が完了するまでに入力音から音声が検出された場合、入力音判定部１３が入力音の音声らしさの評価値と比較する閾値Ｔｈ２を再設定する。この場合、新たな入力音が音声と判定された時点でコミュニケーションロボット１の正面が向いている方向と、当該新たな入力音の音源の方向との角度差が相対角度算出部１５によりコミュニケーションロボット１に対するユーザの相対角度として再算出される。その後、閾値設定部１６は、相対角度算出部１５により再算出された相対角度に基づいて、新たな閾値Ｔｈ２を上記のレジスタに再設定する。
【００６３】
動作制御部１７は、コミュニケーションロボット１の動作を制御する処理部である。
【００６４】
一側面として、動作制御部１７は、シナリオのステップが「待機」である場合、自律動作を継続する。例えば、動作制御部１７は、右腕部７Ｒ及び左腕部７Ｌの両腕を上げるバンザイの動作、胴体部５を左方向もしくは上方向にひねる動作、胴体部５を上方向もしくは下方向に動かす動作、右腕部７Ｒを上げる動作、左腕部７Ｌを上げる動作、または、頭部３を上方向もしくは下方向に向ける動作のいずれかをランダムに選択すると共に、当該動作の継続時間をランダムに選択する処理を繰り返す。このようにランダムに繰り返して選択される動作およびその継続時間にしたがってコミュニケーションロボット１に自律動作を行わせる。
【００６５】
他の側面として、動作制御部１７は、シナリオのステップが「対面」に移行した場合、あるいは閾値Ｔｈが再設定された場合、入力音の音源の方向にコミュニケーションロボット１の正面を向ける対面動作を開始する。このように対面動作が開始された場合、動作制御部１７は、胴体部５のアクチュエータ５１を駆動して、胴体部５の正面が入力音の音源の方向に向くまで胴体部５をパン方向に回転させる。この他、動作制御部１７は、コミュニケーションロボット１に設定されたユーザとの対面姿勢、例えば「気を付け」や「バンザイ」に対応する頭部３のチルト角、頭部３のパン角、胴体部５のチルト角、右腕部７Ｒのチルト角および左腕部７Ｌのチルト角になるまで、アクチュエータ３１、アクチュエータ５１、アクチュエータ７１Ｒ及びアクチュエータ７１Ｌを駆動させる。
【００６６】
［処理の流れ］
次に、実施例１に係るコミュニケーションロボット１の処理の流れについて説明する。ここでは、コミュニケーションロボット１により実行される（１）第１の入力音判定処理および（２）第２の入力音判定処理について説明する。
【００６７】
（１）第１の入力音判定処理
図７は、実施例１に係る第１の入力音判定処理の手順を示すフローチャートである。例えば、図７に示す第１の入力音判定処理は、シナリオのステップが「待機」の状態である場合に実行される。
【００６８】
図７に示すように、入力音のフレームが取得されると（ステップＳ１０１）、パラメータ算出部１２は、ステップＳ１０１で取得された入力音のフレームから音に関する各種のパラメータを算出する（ステップＳ１０２）。このステップＳ１０２では、あくまで一例として、入力音の音源の位置や方向の他、音声らしさの評価値などがパラメータとして算出される。
【００６９】
続いて、入力音判定部１３は、ステップＳ１０２で算出された入力音の音声らしさの評価値が閾値Ｔｈ１以上であるか否かを判定する（ステップＳ１０３）。このとき、入力音の音声らしさの評価値が閾値Ｔｈ１未満である場合（ステップＳ１０３Ｎｏ）、シナリオのステップが「待機」である状態が維持される。この場合、動作制御部１７は、コミュニケーションロボット１の自律動作を継続し（ステップＳ１０４）、ステップＳ１０１の処理に戻る。
【００７０】
一方、入力音の音声らしさの評価値が閾値Ｔｈ１以上である場合（ステップＳ１０３Ｙｅｓ）、シナリオのステップの「待機」から「対面動作」への移行が決定される（ステップＳ１０５）。この場合、相対角度算出部１５は、ステップＳ１０１で入力音が取得されたフレームでコミュニケーションロボット１の正面が向いている方向と、当該入力音の音源の方向との角度差をコミュニケーションロボット１に対するユーザの相対角度として算出する（ステップＳ１０６）。
【００７１】
続いて、閾値設定部１６は、ステップＳ１０６で算出された相対角度に基づいて閾値Ｔｈ１よりも大きい閾値Ｔｈ２を入力音判定部１３が入力音の判定に用いる閾値として設定し（ステップＳ１０７）、処理を終了する。
【００７２】
（２）第２の入力音判定処理
図８は、実施例１に係る第２の入力音判定処理の手順を示すフローチャートである。例えば、図８に示す第１の入力音判定処理は、シナリオのステップが「対面」である場合に実行される。
【００７３】
図８に示すように、入力音のフレームが取得されると（ステップＳ２０１）、パラメータ算出部１２は、ステップＳ２０１で取得された入力音のフレームから音に関する各種のパラメータを算出する（ステップＳ２０２）。このステップＳ２０２でも、あくまで一例として、入力音の音源の位置や方向の他、音声らしさの評価値などがパラメータとして算出される。
【００７４】
続いて、入力音判定部１３は、ステップＳ２０２で算出された入力音の音声らしさの評価値が閾値Ｔｈ２以上であるか否かを判定する（ステップＳ２０３）。なお、入力音の音声らしさの評価値が閾値Ｔｈ２未満である場合（ステップＳ２０３Ｎｏ）、ステップＳ２０４及びステップＳ２０５をスキップしてステップＳ２０６へ移行する。
【００７５】
ここで、入力音の音声らしさの評価値が閾値Ｔｈ２以上である場合（ステップＳ２０３Ｙｅｓ）、ユーザの移動等によってコミュニケーションロボット１に対するユーザの位置が変化した可能性が高まる。この場合、相対角度算出部１５は、ステップＳ２０１で入力音が取得されたフレームでコミュニケーションロボット１の正面が向いている方向と、当該入力音の音源の方向との角度差をコミュニケーションロボット１に対するユーザの相対角度として再算出する（ステップＳ２０４）。
【００７６】
その上で、閾値設定部１６は、ステップＳ２０４で再算出された相対角度に基づいて閾値Ｔｈ１よりも大きい閾値Ｔｈ２を入力音判定部１３が入力音の判定に用いる閾値として再設定する（ステップＳ２０５）。その後、動作制御部１７は、コミュニケーションロボット１の対面動作を実行する（ステップＳ２０６）。
【００７７】
そして、コミュニケーションロボット１の対面動作が完了するまで（ステップＳ２０７Ｎｏ）、ステップＳ２０１からステップＳ２０６までの処理が繰り返して実行される。疎その後、コミュニケーションロボット１の対面動作が完了すると（ステップＳ２０７Ｙｅｓ）、シナリオの次のステップ、例えば「氏名聞き取り」への移行が決定される（ステップＳ２０８）。この場合、閾値設定部１６は、以降の音声認識等に備えて入力音判定部１３が入力音の判定に用いる閾値を閾値Ｔｈ１に初期化し（ステップＳ２０９）、処理を終了する。
【００７８】
［効果の一側面］
上述してきたように、本実施例に係るコミュニケーションロボット１は、コミュニケーションロボット１の動作が開始された場合に、入力音の音声らしさの評価値そのものではなく、その評価値と比較する閾値に動作の開始前よりも高い閾値を設定する。したがって、本実施例に係るコミュニケーションロボット１によれば、コミュニケーションロボット１の駆動音による音声認識の精度低下を抑制できる。
【００７９】
さらに、本実施例に係るコミュニケーションロボット１は、コミュニケーションロボット１に対するユーザの方向、すなわち音源の方向に基づいて入力音の音声らしさの評価値と比較する閾値を設定する。このため、本実施例に係るコミュニケーションロボット１によれば、モータ９Ｍの駆動音と人の発話による音声とが類似する可能性が高まるほど大きい値を閾値Ｔｈ２として設定できる。
【実施例２】
【００８０】
さて、上記の実施例１では、コミュニケーションロボット１に対するユーザの方向、すなわち音源の方向に基づいて入力音の音声らしさの評価値と比較する閾値を設定する場合を例示したが、閾値の設定方法はこれに限定されない。
【００８１】
そこで、本実施例では、他の閾値の設定方法として、コミュニケーションロボット２の動作内容に基づいて入力音の音声らしさの評価値と比較する閾値を設定する例について説明することとする。
【００８２】
図９は、実施例２に係るコミュニケーションロボット２の機能的構成の一例を示すブロック図である。図９に示すように、コミュニケーションロボット２は、図２に示すコミュニケーションロボット１に比べて、制御部２０の機能の一部が異なる。すなわち、コミュニケーションロボット２は、相対角度算出部１５の代わりに駆動速度算出部２１を有すると共に、図２に示す閾値設定部１６の機能と一部が異なる閾値設定部２２を有する。なお、図２に示すコミュニケーションロボット１と同様の機能を発揮する機能部には同一の符号を付与し、その説明を省略する。
【００８３】
駆動速度算出部２１は、駆動速度を算出する処理部である。
【００８４】
一実施形態として、駆動速度算出部２１は、シナリオのステップが「待機」または「対面動作」である状態で入力音判定部１３により入力音が音声と判定された場合、当該入力音が音声と判定された時点におけるコミュニケーションロボット２の姿勢を対面姿勢、例えば「気を付け」や「バンザイ」などへ変化させる姿勢の変化量、すなわちコミュニケーションロボット２の各部位を駆動させる駆動量を算出する。すなわち、駆動速度算出部２１は、入力音が音声と判定された時点における各部位の姿勢と、対面姿勢における各部位の姿勢との差分から各部位の駆動量を算出する。
【００８５】
例えば、コミュニケーションロボット２の場合、シナリオのステップが「待機」である状態で頭部３のチルト軸、頭部３のパン軸、胴体部５のチルト軸、胴体部５のパン軸、右腕部７Ｒのチルト軸および左腕部７Ｌのチルト軸の計６軸で各部位をランダムに駆動させる自律動作が行われているので、６つの軸ごとに当該軸に対応する部位の駆動量が算出される。これによって、頭部３のチルト軸、頭部３のパン軸、胴体部５のチルト軸、胴体部５のパン軸、右腕部７Ｒのチルト軸および左腕部７Ｌのチルト軸の駆動量（ΔθHEAD  TILT，ΔθHEAD  PAN，ΔθBODY  TILT，ΔθBODY  PAN，ΔθRIGHT  ARM  TILT，ΔθLEFT  ARM  TILT）が算出される。このように各軸の駆動量が算出された後、駆動速度算出部２１は、各軸の駆動量から各軸の駆動速度を算出する。
【００８６】
ここで、コミュニケーションロボット２がユーザに対面するまでのレスポンスをユーザがコミュニケーションロボット２に話しかける方向に依存せずに一定に保つ観点から、コミュニケーションロボット２の対面動作の所要時間が一定の期間、例えば１．５秒間に固定されるという条件が対面動作に設定される場合を想定する。
【００８７】
このような条件の下では、駆動速度算出部２１は、一例として、各軸の駆動量を対面動作の所要時間で除算する計算を実行することにより、各軸の駆動速度（ＶHEAD  TILT，ＶHEAD  PAN，ＶBODY  TILT，ＶBODY  PAN，ＶRIGHT  ARM  TILT，ＶLEFT  ARM  TILT）を算出することができる。
【００８８】
このように各軸の駆動速度が算出された後、駆動速度算出部２１は、各軸の駆動速度に所定の統計処理を実行することにより、６つの駆動速度が１つの駆動速度に総合された総合駆動速度を算出する。ここでは、あくまで一例として、６つの軸ごとに重みａ、重みｂ、重みｃ、重みｄ、重みｅおよび重みｆを付与して駆動速度の総和を計算することにより、駆動速度の重み付け総和を総合駆動速度Ｋとして算出する例を挙げる。この場合、６つの軸のうち音入力部９Ａのマイクロフォンからの距離が短い軸ほど大きい重みを設定する一方で、マイクロフォンからの距離が長い軸ほど小さい重みを設定することができる。このような総合駆動速度Ｋは、下記の式（１）にしたがって算出することができる。
【００８９】
Ｋ＝（ａ＊ＶHEAD  TILT）＋（ｂ＊ＶHEAD  PAN）＋（ｃ＊ＶBODY  TILT）＋（ｄ＊ＶBODY  PAN）＋（ｅ＊ＶRIGHT  ARM  TILT）＋（ｆ＊ＶLEFT  ARM  TILT）・・・（１）
【００９０】
閾値設定部２２は、図２に示す閾値設定部１６と同様、音声らしさの評価値と比較する閾値を設定する処理部である。図９に示す閾値設定部２２は、設定部の一例である。
【００９１】
ここで、閾値設定部２２は、図２に示す閾値設定部１６と同様、コミュニケーションロボット２により対面動作が開始された後、すなわちシナリオのステップが「対面」に移行した場合、閾値Ｔｈ１よりも値が大きい閾値Ｔｈ２を上記のレジスタに設定する点は共通する一方で、閾値Ｔｈ２の設定方法が図２に示す閾値設定部１６と異なる。すなわち、閾値設定部２２は、駆動速度算出部２１により算出される総合駆動速度の多寡に応じて異なる閾値Ｔｈ２を設定する。
【００９２】
これを具体的に説明すると、閾値設定部２２は、総合駆動速度と閾値Ｔｈ２の対応関係が定義されたルックアップテーブル２２Ａを参照して、駆動速度算出部２１により算出される総合駆動速度Ｋに対応する値を閾値Ｔｈ２として設定することもできる。図１０は、ルックアップテーブル２２Ａの一例を示す図である。図１０に示すルックアップテーブル２２Ａによれば、総合駆動速度のレベルが「小」である場合、閾値Ｔｈ２が６０に設定される。また、総合駆動速度のレベルが「中」である場合、閾値Ｔｈ２が７０に設定される。また、総合駆動速度のレベルが「大」である場合、閾値Ｔｈ２が８０に設定される。
【００９３】
このように、ルックアップテーブル２２Ａには、総合駆動速度が小さくなるにしたがって小さい閾値Ｔｈ２が設定される一方で、総合駆動速度が大きくなるにしたがって大きい閾値Ｔｈ２が設定される。このような閾値Ｔｈ２を設定する一因は、総合駆動速度が大きくなるほどモータ９Ｍの駆動音の周波数も高くなるので、人の発話による音声に対応する周波数に近づく可能性が高まるからである。このようにモータ９Ｍの駆動音と人の発話による音声とが類似する可能性が高まるほど大きい値を閾値Ｔｈ２として設定する。
【００９４】
なお、ここでは、あくまで一例としてルックアップテーブル２２Ａを用いる場合を例示したが、総合駆動速度が大きくなるにしたがって大きい閾値Ｔｈ２を導出する関数を用いて、総合駆動速度に対応する閾値Ｔｈ２を算出することとしてもかまわない。また、総合駆動速度および閾値Ｔｈ２の両者の関係は、必ずしも線形でなくともよく、非線形であってかまわない。
【００９５】
（１）第１の入力音判定処理
図１１は、実施例２に係る第１の入力音判定処理の手順を示すフローチャートである。例えば、図１１に示す第１の入力音判定処理は、図７に示す処理と同様、シナリオのステップが「待機」の状態である場合に実行される。
【００９６】
図１１に示すように、入力音のフレームが取得されると（ステップＳ３０１）、パラメータ算出部１２は、ステップＳ３０１で取得された入力音のフレームから音に関する各種のパラメータを算出する（ステップＳ３０２）。このステップＳ３０２では、あくまで一例として、入力音の音源の位置や方向の他、音声らしさの評価値などがパラメータとして算出される。
【００９７】
続いて、入力音判定部１３は、ステップＳ３０２で算出された入力音の音声らしさの評価値が閾値Ｔｈ１以上であるか否かを判定する（ステップＳ３０３）。このとき、入力音の音声らしさの評価値が閾値Ｔｈ１未満である場合（ステップＳ３０３Ｎｏ）、シナリオのステップが「待機」である状態が維持される。この場合、動作制御部１７は、コミュニケーションロボット２の自律動作を継続し（ステップＳ３０４）、ステップＳ３０１の処理に戻る。
【００９８】
一方、入力音の音声らしさの評価値が閾値Ｔｈ１以上である場合（ステップＳ３０３Ｙｅｓ）、シナリオのステップの「待機」から「対面」への移行が決定される（ステップＳ３０５）。この場合、駆動速度算出部２１は、ステップＳ３０１で入力音が取得されたフレームにおけるコミュニケーションロボット２の各部位の姿勢と、対面姿勢における各部位の姿勢との差分から各部位の駆動量を算出する（ステップＳ３０６）。続いて、駆動速度算出部２１は、各軸の駆動量から各軸の駆動速度を算出する（ステップＳ３０７）。
【００９９】
さらに、駆動速度算出部２１は、各軸の駆動速度に所定の統計処理を実行することにより、６つの駆動速度が１つの駆動速度に総合された総合駆動速度を算出する（ステップＳ３０８）。
【０１００】
その上で、閾値設定部２２は、ステップＳ３０８で算出された総合駆動速度に基づいて閾値Ｔｈ１よりも大きい閾値Ｔｈ２を入力音判定部１３が入力音の判定に用いる閾値として設定し（ステップＳ３０９）、処理を終了する。
【０１０１】
（２）第２の入力音判定処理
図１２は、実施例２に係る第２の入力音判定処理の手順を示すフローチャートである。例えば、図１２に示す第１の入力音判定処理は、図８に示す処理と同様、シナリオのステップが「対面」である場合に実行される。
【０１０２】
図１２に示すように、入力音のフレームが取得されると（ステップＳ４０１）、パラメータ算出部１２は、ステップＳ４０１で取得された入力音のフレームから音に関する各種のパラメータを算出する（ステップＳ４０２）。このステップＳ４０２でも、あくまで一例として、入力音の音源の位置や方向の他、音声らしさの評価値などがパラメータとして算出される。
【０１０３】
続いて、入力音判定部１３は、ステップＳ４０２で算出された入力音の音声らしさの評価値が閾値Ｔｈ２以上であるか否かを判定する（ステップＳ４０３）。なお、入力音の音声らしさの評価値が閾値Ｔｈ２未満である場合（ステップＳ４０３Ｎｏ）、ステップＳ４０４からステップＳ４０７までの処理をスキップしてステップＳ４０８へ移行する。
【０１０４】
ここで、入力音の音声らしさの評価値が閾値Ｔｈ２以上である場合（ステップＳ４０３Ｙｅｓ）、ユーザの移動等によってコミュニケーションロボット２に対するユーザの位置が変化した可能性が高まる。この場合、駆動速度算出部２１は、ステップＳ４０１で入力音が取得されたフレームにおけるコミュニケーションロボット２の各部位の姿勢と、対面姿勢における各部位の姿勢との差分から各部位の駆動量を再算出する（ステップＳ４０４）。続いて、駆動速度算出部２１は、各軸の駆動量から各軸の駆動速度も再算出する（ステップＳ４０５）。
【０１０５】
さらに、駆動速度算出部２１は、各軸の駆動速度に所定の統計処理を実行することにより、６つの駆動速度が１つの駆動速度に総合された総合駆動速度を再算出する（ステップＳ４０６）。
【０１０６】
その上で、閾値設定部２２は、ステップＳ４０６で再算出された総合駆動速度に基づいて閾値Ｔｈ１よりも大きい閾値Ｔｈ２を入力音判定部１３が入力音の判定に用いる閾値として再設定する（ステップＳ４０７）。その後、動作制御部１７は、コミュニケーションロボット２の対面動作を実行する（ステップＳ４０８）。
【０１０７】
そして、コミュニケーションロボット２の対面動作が完了するまで（ステップＳ４０９Ｎｏ）、ステップＳ４０１からステップＳ４０８までの処理が繰り返して実行される。疎その後、コミュニケーションロボット２の対面動作が完了すると（ステップＳ４０９Ｙｅｓ）、シナリオの次のステップ、例えば「氏名聞き取り」への移行が決定される（ステップＳ４１０）。この場合、閾値設定部２２は、以降の音声認識等に備えて入力音判定部１３が入力音の判定に用いる閾値を閾値Ｔｈ１に初期化し（ステップＳ４１１）、処理を終了する。
【０１０８】
［効果の一側面］
上述してきたように、本実施例に係るコミュニケーションロボット２は、上記の実施例１と同様、コミュニケーションロボット２の動作が開始された場合に、入力音の音声らしさの評価値そのものではなく、その評価値と比較する閾値に動作の開始前よりも高い閾値を設定する。したがって、本実施例に係るコミュニケーションロボット２においても、コミュニケーションロボット２の駆動音による音声認識の精度低下を抑制できる。
【０１０９】
さらに、本実施例に係るコミュニケーションロボット２は、コミュニケーションロボット２の動作内容に基づいて入力音の音声らしさの評価値と比較する閾値を設定する。このため、本実施例に係るコミュニケーションロボット２によれば、モータ９Ｍの駆動音と人の発話による音声とが類似する可能性が高まるほど大きい値を閾値Ｔｈ２として設定できる。
【実施例３】
【０１１０】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１１１】
［オンライン学習］
例えば、コミュニケーションロボット１及びコミュニケーションロボット２は、ルックアップテーブル１６Ａやルックアップテーブル２２Ａに保存される閾値Ｔｈ２のオンライン学習を実現することができる。例えば、ルックアップテーブル１６Ａやルックアップテーブル２２Ａから閾値Ｔｈ２が選択される度に、当該閾値Ｔｈ２が設定されてから対面動作が完了するまでに閾値Ｔｈ２が再設定されるリトライ回数を計測する。そして、リトライ回数が所定の閾値未満である場合、上記の閾値Ｔｈ２の選択が成功である識別する一方で、リトライ回数が閾値以上である場合、上記の閾値Ｔｈ２の選択が失敗である識別する。その上で、上記の閾値Ｔｈ２の選択が失敗であると識別された場合、ルックアップテーブル１６Ａやルックアップテーブル２２Ａに保存された閾値のうちリトライ回数が閾値以上となった閾値Ｔｈ２の値に所定の上昇幅、例えば「１」を加算することにより、ルックアップテーブル１６Ａやルックアップテーブル２２Ａを更新する。このような更新によって、ルックアップテーブル１６Ａおよびルックアップテーブル２２Ａのリッチ化を実現できる。
【０１１２】
［経年劣化１］
また、モータ９Ｍの経年劣化によって駆動音の周波数帯域が上昇する変化が起こりうる側面から、コミュニケーションロボット１及びコミュニケーションロボット２は、コミュニケーションロボット１又はコミュニケーションロボット２の使用年数別にルックアップテーブル１６Ａおよびルックアップテーブル２２Ａを保持することができる。この場合、使用年数が大きくなるにつれて各レベル帯の閾値Ｔｈ２を高く設定することにより、モータ９Ｍの経年劣化による駆動音の周波数帯域の上昇変化に追従して入力音の判定を実行することができる。これによっても、ルックアップテーブル１６Ａおよびルックアップテーブル２２Ａのリッチ化を実現できる。
【０１１３】
［経年劣化２］
また、コミュニケーションロボット１又はコミュニケーションロボット２の使用年数別にルックアップテーブル１６Ａおよびルックアップテーブル２２Ａを保持する他にも、コミュニケーションロボット１又はコミュニケーションロボット２の出荷時等に保存された駆動音と、出荷後に音声が観測されづらい条件、例えばフロント業務時間外等でマイクロフォンにより集音された駆動音とを比較して劣化度合いを算出し、当該劣化度合いに応じて閾値Ｔｈ２に経年劣化分のマージンを加算することができる。このような劣化度合いは、あくまで一例として、２つの駆動音の間で周波数スペクトルのピークが出荷時等から高周波側にシフトする距離を正規化して用いることができる。
【０１１４】
［入力音判定］
上記の実施例１および２では、音声らしさの評価値と比較する閾値を設定する例を説明したが、これに限定されない。例えば、音声らしさの評価値を減算または除算により上記の実施例１および２で説明した閾値の上昇分割り引くこともできる。
【０１１５】
［分散および統合］
上記の実施例１及び上記の実施例２では、コミュニケーションロボット１又はコミュニケーションロボット２がスタンドアローンで動作する例を説明したが、図７、図８、図１１、図１２に示す入力音判定処理は、外部のコンピュータ、例えばコミュニケーションロボット１又はコミュニケーションロボット２をクライアントとして収容するサーバ装置等で実行させることもできる。このとき、図７、図８、図１１、図１２に示す入力音判定処理の一部、例えば相対角度算出部１５及び／又は閾値設定部１６が実行する処理、あるいは駆動速度算出部２１及び／又は閾値設定部２２が実行する処理に絞ってＷｅｂサービスまたはクラウドサービス化することもできる。
【０１１６】
［入力音判定プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１３を用いて、上記の実施例と同様の機能を有する入力音判定プログラムを実行するコンピュータの一例について説明する。
【０１１７】
図１３は、実施例１〜実施例３に係る入力音判定プログラムを実行するコンピュータのハードウェア構成例を示す図である。図１３に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【０１１８】
ＨＤＤ１７０には、図１３に示すように、上記の実施例１で示した入力音取得部１１、パラメータ算出部１２、入力音判定部１３、シナリオ判定部１４、相対角度算出部１５、閾値設定部１６及び動作制御部１７と同様の機能を発揮する入力音判定プログラム１７０ａが記憶される。また、入力音判定プログラム１７０ａは、上記の実施例２で示した入力音取得部１１、パラメータ算出部１２、入力音判定部１３、シナリオ判定部１４、駆動速度算出部２１、閾値設定部２２及び動作制御部１７と同様の機能を発揮するプログラムであってもかまわない。この入力音判定プログラム１７０ａは、図２に示した入力音取得部１１、パラメータ算出部１２、入力音判定部１３、シナリオ判定部１４、相対角度算出部１５、閾値設定部１６及び動作制御部１７、もしくは、図９に示した入力音取得部１１、パラメータ算出部１２、入力音判定部１３、シナリオ判定部１４、駆動速度算出部２１、閾値設定部２２及び動作制御部１７の各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７０には、必ずしも上記の実施例１または上記の実施例２で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７０に格納されればよい。
【０１１９】
このような環境の下、ＣＰＵ１５０は、ＨＤＤ１７０から入力音判定プログラム１７０ａを読み出した上でＲＡＭ１８０へ展開する。この結果、入力音判定プログラム１７０ａは、図１３に示すように、入力音判定プロセス１８０ａとして機能する。この入力音判定プロセス１８０ａは、ＲＡＭ１８０が有する記憶領域のうち入力音判定プロセス１８０ａに割り当てられた領域にＨＤＤ１７０から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、入力音判定プロセス１８０ａが実行する処理の一例として、図７及び図８、または、図１１及び図１２に示す処理などが含まれる。なお、ＣＰＵ１５０では、必ずしも上記の実施例１で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【０１２０】
なお、上記の入力音判定プログラム１７０ａは、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶されておらずともかまわない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に入力音判定プログラム１７０ａを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から入力音判定プログラム１７０ａを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに入力音判定プログラム１７０ａを記憶させておき、コンピュータ１００がこれらから入力音判定プログラム１７０ａを取得して実行するようにしてもよい。
【０１２１】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１２２】
（付記１）入力音を取得する入力音取得部と、
前記入力音が音声であるか否かを判定する入力音判定部と、
コミュニケーションロボットの動作中は、入力音をより音声であると判定しにくくするように前記入力音判定部を制御する設定部と、
を有することを特徴とするコミュニケーションロボット。
【０１２３】
（付記２）前記入力音判定部は、前記入力音から得られる音声らしさの評価値を閾値と比較することにより、前記入力音が音声であるか否かを判定し、
前記設定部は、前記コミュニケーションロボットの動作が開始された場合に、前記音声らしさの評価値と比較する前記閾値として、前記動作の開始前に設定された第１の閾値よりも高い第２の閾値を設定することを特徴とする付記１に記載のコミュニケーションロボット。
【０１２４】
（付記３）前記設定部は、前記入力音の音源の方向と、前記コミュニケーションロボットの正面の方向との相対角度に基づいて前記第２の閾値を設定することを特徴とする付記２に記載のコミュニケーションロボット。
【０１２５】
（付記４）前記設定部は、前記相対角度が大きくなるにしたがって大きい値を前記第２の閾値として設定することを特徴とする付記３に記載のコミュニケーションロボット。
【０１２６】
（付記５）前記コミュニケーションロボットに含まれる部位が駆動する軸ごとに前記動作により前記部位が駆動される駆動速度を算出する駆動速度算出部をさらに有し、
前記設定部は、前記軸ごとに算出された駆動速度に基づいて前記第２の閾値を設定することを特徴とする付記２に記載のコミュニケーションロボット。
【０１２７】
（付記６）前記駆動速度算出部は、前記軸のうち前記コミュニケーションロボットのマイクロフォンからの距離が短い軸ほど大きい重みを付与して前記軸ごとに算出される駆動速度の重み付け総和を算出し、
前記設定部は、前記駆動速度の重み付け総和に基づいて前記第２の閾値を設定することを特徴とする付記５に記載のコミュニケーションロボット。
【０１２８】
（付記７）前記設定部は、前記駆動速度の重み付け総和が大きくなるにしたがって大きい値を前記第２の閾値として設定することを特徴とする付記６に記載のコミュニケーションロボット。
【０１２９】
（付記８）コミュニケーションロボットに用いる入力音判定方法であって、
前記コミュニケーションロボットの動作中は、入力音をより音声であると判定しにくくするように前記コミュニケーションロボットへの入力音を判定する処理を制御する、
処理をコンピュータが実行する入力音判定方法。
【０１３０】
（付記９）前記制御する処理は、前記コミュニケーションロボットの動作が開始された場合に、前記コミュニケーションロボットへの入力音から得られる音声らしさの評価値と比較する閾値として、前記動作の開始前に設定された第１の閾値よりも高い第２の閾値を設定することを特徴とする付記８に記載の入力音判定方法。
【０１３１】
（付記１０）前記設定する処理は、前記入力音の音源の方向と、前記コミュニケーションロボットの正面の方向との相対角度に基づいて前記第２の閾値を設定することを特徴とする付記９に記載の入力音判定方法。
【０１３２】
（付記１１）前記設定する処理は、前記相対角度が大きくなるにしたがって大きい値を前記第２の閾値として設定することを特徴とする付記１０に記載の入力音判定方法。
【０１３３】
（付記１２）前記コミュニケーションロボットに含まれる部位が駆動する軸ごとに前記動作により前記部位が駆動される駆動速度を算出する処理を前記コンピュータがさらに実行し、
前記設定する処理は、前記軸ごとに算出された駆動速度に基づいて前記第２の閾値を設定することを特徴とする付記９に記載の入力音判定方法。
【０１３４】
（付記１３）前記駆動速度を算出する処理は、前記軸のうち前記コミュニケーションロボットのマイクロフォンからの距離が短い軸ほど大きい重みを付与して前記軸ごとに算出される駆動速度の重み付け総和を算出し、
前記設定する処理は、前記駆動速度の重み付け総和に基づいて前記第２の閾値を設定することを特徴とする付記１２に記載の入力音判定方法。
【０１３５】
（付記１４）前記設定する処理は、前記駆動速度の重み付け総和が大きくなるにしたがって大きい値を前記第２の閾値として設定することを特徴とする付記１３に記載の入力音判定方法。
【０１３６】
（付記１５）コミュニケーションロボットに用いる入力音判定プログラムであって、
前記コミュニケーションロボットの動作中は、入力音をより音声であると判定しにくくするように前記コミュニケーションロボットへの入力音を判定する処理を制御する、
処理をコンピュータに実行させる入力音判定プログラム。
【０１３７】
（付記１６）前記制御する処理は、前記コミュニケーションロボットの動作が開始された場合に、前記コミュニケーションロボットへの入力音から得られる音声らしさの評価値と比較する閾値として、前記動作の開始前に設定された第１の閾値よりも高い第２の閾値を設定することを特徴とする付記１５に記載の入力音判定プログラム。
【０１３８】
（付記１７）前記設定する処理は、前記入力音の音源の方向と、前記コミュニケーションロボットの正面の方向との相対角度に基づいて前記第２の閾値を設定することを特徴とする付記１６に記載の入力音判定プログラム。
【０１３９】
（付記１８）前記設定する処理は、前記相対角度が大きくなるにしたがって大きい値を前記第２の閾値として設定することを特徴とする付記１７に記載の入力音判定プログラム。
【０１４０】
（付記１９）前記コミュニケーションロボットに含まれる部位が駆動する軸ごとに前記動作により前記部位が駆動される駆動速度を算出する処理を前記コンピュータにさらに実行させ、
前記設定する処理は、前記軸ごとに算出された駆動速度に基づいて前記第２の閾値を設定することを特徴とする付記１６に記載の入力音判定プログラム。
【０１４１】
（付記２０）前記駆動速度を算出する処理は、前記軸のうち前記コミュニケーションロボットのマイクロフォンからの距離が短い軸ほど大きい重みを付与して前記軸ごとに算出される駆動速度の重み付け総和を算出し、
前記設定する処理は、前記駆動速度の重み付け総和に基づいて前記第２の閾値を設定することを特徴とする付記１９に記載の入力音判定プログラム。
【符号の説明】
【０１４２】
１    コミュニケーションロボット
３    頭部
５    胴体部
７Ｒ  右腕部
７Ｌ  左腕部
９Ａ  音入力部
９Ｂ  音出力部
９Ｍ  モータ
１０    制御部
１１    入力音取得部
１２    パラメータ算出部
１３    入力音判定部
１４    シナリオ実行部
１５    相対角度算出部
１６    閾値設定部
１７    動作制御部
【図１】
2019191521.tif 000003
【図２】
2019191521.tif 000004
【図３】
2019191521.tif 000005
【図４】
2019191521.tif 000006
【図５】
2019191521.tif 000007
【図６】
2019191521.tif 000008
【図７】
2019191521.tif 000009
【図８】
2019191521.tif 000010
【図９】
2019191521.tif 000011
【図１０】
2019191521.tif 000012
【図１１】
2019191521.tif 000013
【図１２】
2019191521.tif 000014
【図１３】
2019191521.tif 000015