(57)【要約】【課題】ユーザの音声による命令に基づいて複数の電子機器をより正確に協調的に動作させる。【解決手段】命令判定部（１６）は、ロボット（１）による音声の認識結果と、少なくとも他のロボット（１）による音声の他の認識結果とに基づいて、ユーザの命令を判定する。動作実行部（１７）は、判定された命令に基づく動作をロボット（１）に実行させる。【選択図】図１
2018081233.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの音声を認識することによって、前記音声の認識結果を生成する認識部と、
前記音声を認識することによって前記音声の他の認識結果を生成する少なくとも１つの他の電子機器から送信された少なくとも１つの前記他の認識結果を受信する受信部と、
前記認識結果を、前記少なくとも１つの他の電子機器に送信する送信部と、
前記認識結果と、前記少なくとも１つの他の認識結果とに基づいて、前記ユーザの命令を判定する判定部と、
前記命令に基づく動作を電子機器に実行させる実行部とを備えていることを特徴とする電子機器。
【請求項２】
前記判定部は、前記認識結果と前記少なくとも１つの他の認識結果とからなる全ての認識結果のうち、最も多い同一の前記認識結果を前記命令であると判定することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記電子機器は、前記音声が認識されたときの前記電子機器の周辺環境を測定することによって、測定結果を生成する測定部をさらに有し、
前記送信部は、前記測定結果が関連付けられた前記認識結果を前記少なくとも１つの他の電子機器に送信し、
前記受信部は、前記音声が認識されたときの前記他の電子機器の周辺環境を測定することによって、他の測定結果を生成する前記少なくとも１つの他の電子機器から送信された、前記他の測定結果が関連付けられた少なくとも１つの前記他の認識結果を受信し、
前記判定部は、前記認識結果と前記少なくとも１つの他の認識結果とからなる全ての認識結果のうち、前記測定結果と前記少なくとも１つの他の測定結果とからなる全ての測定結果のうち最も良好な前記周辺環境を表す少なくとも１つの前記測定結果に関連付けられた少なくとも１つの前記認識結果に基づいて、前記命令を判定することを特徴とする請求項２に記載の電子機器。
【請求項４】
前記判定部は、前記全ての認識結果のうち、最も良好な前記周辺環境を表す１つの前記測定結果に関連付けられた前記認識結果を、前記命令であると判定することを特徴とする請求項３に記載の電子機器。
【請求項５】
前記全ての認識結果のうち最も多い同一の前記認識結果は、複数種類あり、
前記判定部は、前記複数種類の認識結果のうち、最も良好な前記周辺環境を表す前記測定結果に関連付けられた前記認識結果を、前記命令であると判定することを特徴とする請求項３に記載の電子機器。
【請求項６】
前記判定部は、前記全ての認識結果のうち、最も良好な前記周辺環境を表す複数の前記測定結果のいずれかに関連付けられかつ最も多い同一の前記認識結果を、前記命令であると判定することを特徴とする請求項３に記載の電子機器。
【請求項７】
前記受信部は、前記少なくとも１つの他の電子機器から送信される、前記少なくとも１つの他の電子機器が実行中の動作を表す少なくとも１つの動作情報をさらに受信し、
前記実行部は、前記少なくとも１つの動作情報に基づく動作を前記電子機器に実行させることを特徴とする請求項１〜６のいずれか１項に記載の電子機器。
【請求項８】
ユーザの音声を認識することによって前記音声の認識結果を生成する認識工程と、
前記音声を認識することによって前記音声の他の認識結果を生成する少なくとも１つの他の電子機器から送信された少なくとも１つの前記他の認識結果を受信する受信工程と、
前記認識結果を、前記少なくとも１つの他の電子機器に送信する送信工程と、
前記認識結果と、前記少なくとも１つの他の認識結果とに基づいて、前記ユーザの命令を判定する判定工程と、
前記命令に基づく動作を電子機器に実行させる実行工程とを備えていることを特徴とする制御方法。
【請求項９】
請求項１〜７のいずれか１項に記載の電子機器としてコンピュータを機能させるためのプログラムであって、コンピュータを前記各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、制御方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、生体（ヒト、動物等）の身体機構および動作を模倣した各種のロボットの研究開発が進んでいる。このようなロボットは、たとえば、個人ユーザに向けた家庭用ロボットとして販売されている。さらには、商業施設などで活用されるコミュニケーションロボットまたはサービスロボットとしても販売されている。
【０００３】
さらには、複数台のロボットによる協調的な動作を実現する技術の開発も進められている。その技術の一例として、特許文献１に、情報を共有する少なくとも１種類の他のロボットと共通する共通識別情報を保存する保存手段と、入力され取得した取得情報を記憶する記憶手段と、前記記憶手段に記憶した前記取得情報を、前記保存手段に保存してある前記共通識別情報と一致する共通識別情報を有する他のロボットに直接またはネットワークを介して送信する送信手段とを備えた情報共有可能なロボットが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２７９８２８号公報（２００５年１０月１３日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１のロボットでは、ユーザの音声によるロボットへの動作の命令入力が、何ら考慮されていない。さらには、各ロボットがユーザの音声による命令を認識する際に生じ得る誤認識の問題について、何ら考えられていない。そのため、各ロボットが、ユーザの音声による命令に基づいて正確に協調的に動作できない恐れがある。
【０００６】
本発明の一態様は、ユーザの音声による命令に基づいて複数の電子機器をより正確に協調的に動作させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る電子機器は、前記の課題を解決するために、ユーザの音声を認識することによって前記音声の認識結果を生成する認識部と、前記音声を認識することによって前記音声の他の認識結果を生成する少なくとも１つの他の電子機器から送信された少なくとも１つの前記他の認識結果を受信する受信部と、前記認識結果を、前記少なくとも１つの他の電子機器に送信する送信部と、前記認識結果と、前記少なくとも１つの他の認識結果とに基づいて、前記ユーザの命令を判定する判定部と、前記命令に基づく動作を電子機器に実行させる実行部とを備えていることを特徴としている。
【０００８】
本発明の一態様に係る電子機器の制御方法は、前記の課題を解決するために、ユーザの音声を認識することによって前記音声の認識結果を生成する認識工程と、前記音声を認識することによって前記音声の他の認識結果を生成する少なくとも１つの他の電子機器から送信された少なくとも１つの前記他の認識結果を受信する受信工程と、前記認識結果を、前記少なくとも１つの他の電子機器に送信する送信工程と、前記認識結果と、前記少なくとも１つの他の認識結果とに基づいて、前記ユーザの命令を判定する判定工程と、前記命令に基づく動作を電子機器に実行させる実行工程とを備えていることを特徴としている。
【発明の効果】
【０００９】
本発明の一態様によれば、ユーザの音声による命令に基づいて複数の電子機器をより正確に協調的に動作させることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態１に係るロボットの要部構成を示すブロック図である。
【図２】ロボットが実行する処理の流れを説明するフローチャートである。
【図３】ユーザの音声による命令に基づいて複数のロボットが同一の動作を実行することを説明する図である。
【図４】ロボットが多数決によってユーザの命令を判定することを説明する図である。
【図５】ロボットが、騒音値に基づいてユーザの命令を判定するために用いる判定テーブルを示す図である。
【図６】ロボットが、騒音値に基づいてユーザの命令を判定するために用いる判定テーブルの他の例を示す図である。
【図７】ロボットが、騒音値に基づいてユーザの命令を判定するために用いる判定テーブルの他の例を示す図である。
【図８】各認識結果を判定の対象とするか否かを規定した判定テーブルを示す図である。
【図９】グループに新たに追加されたロボットが、グループに所属する他のロボットが実行中の動作と同一の動作を自動的に実行することを説明する図である。
【図１０】本発明の実施形態３に係るロボットの要部構成を示すブロック図である。
【図１１】ユーザの音声による命令に基づいてロボットが同一の動作を実行することを説明する図である。
【発明を実施するための形態】
【００１１】
〔実施形態１〕
以下、本発明の実施の形態について、詳細に説明する。
【００１２】
図１は、本発明の実施形態１に係るロボット１の要部構成を示すブロック図である。ロボット１（電子機器、他の電子機器）は、マイク１１、音声認識部１２（認識部）、測定部１３、通信部１５（送信部、受信部）、格納部１４、命令判定部１６（判定部）、動作実行部１７（実行部）、および出力部１８を備えている。
【００１３】
ロボット１は、たとえば、各種の動作（自立歩行等）が可能なヒト型のロボットとして実現される。ロボット１の外観の図示は省略する。ロボット１は、図示しない頭部、胴体、腕部および脚部などを備えている。ロボット１は、ユーザの音声入力による命令に基づいて動作する。
【００１４】
マイク１１は、ユーザが音声をロボット１に入力するための入力デバイスである。
【００１５】
音声認識部１２は、入力された音声を認識することによって、音声の認識結果を生成する。
【００１６】
測定部１３は、音声が認識されたときのロボット１の周辺環境を測定することによって、測定結果を生成する。
【００１７】
格納部１４は、ロボット１に必要な各種のデータを格納する。本実施形態では、後述する判定テーブルが格納部１４に少なくとも格納されている。
【００１８】
通信部１５は、他のロボット１と直接通信する。直接通信とは、異なるロボット１同士が各ロボット１とは異なる他の装置（ルータ、サーバ等）を介さずにデータを直接送受信することを意味する。あるロボット１の通信部１５が送信したデータは、他のロボット１に直接届く。通信部１５は、他のロボット１の通信部１５と、互いに無線通信する。あるロボット１から発せられた無線通信の電波は、他のロボット１に直接届く。
【００１９】
命令判定部１６は、判定テーブルに格納されている複数の認識結果に基づいて、ユーザの命令を判定する。
【００２０】
動作実行部１７は、判定された命令に基づく動作をロボット１に実行させる。命令判定部１６は、出力部１８を制御することによって、その制御の態様に応じた動作をロボット１に実行させることができる。
【００２１】
出力部１８は、ロボット１の動作時に動作実行部１７によって制御される各種のデバイスである。出力部１８は、たとえば、モータ、スピーカ、発光ダイオードなどの発光部、およびディスプレイなどである。
【００２２】
（協調的動作の一例）
図２は、ロボット１Ａ〜１Ｄが実行する処理の流れを説明するフローチャートである。図３は、ユーザ２１の音声２２による命令に基づいてロボット１Ａ〜１Ｄが同一の動作を実行することを説明する図である。
【００２３】
ロボット１Ａ〜１Ｄは、図１に示すロボット１と同一の構成および機能を有する、異なるロボットである。ロボット１Ａは、マイク１１〜出力部１８とそれぞれ同一の構成および機能を有するマイク１１Ａ〜出力部１８Ａを備えている。ロボット１Ｂ（他のロボット）は、マイク１１〜出力部１８とそれぞれ同一の構成および機能を有するマイク１１Ｂ〜出力部１８Ｂを備えている。ロボット１Ｃ（他のロボット）は、マイク１１〜出力部１８とそれぞれ同一の構成および機能を有するマイク１１Ｃ〜出力部１８Ｃを備えている。ロボット１Ｄ（他のロボット）は、マイク１１〜出力部１８とそれぞれ同一の構成および機能を有するマイク１１Ｄ〜出力部１８Ｄを備えている。
【００２４】
図３の（ａ）は、グループＧに所属するロボット１Ａ〜１Ｄを示す。図３の（ｂ）は、判定テーブル３１を示す。図３の（ｃ）は、判定結果に基づいて動作を実行するロボット１Ａ〜１Ｄを表す。
【００２５】
図３の（ａ）に示すように、ロボット１Ａ〜１Ｄは、互いに近くに配置されている。ロボット１Ａ〜１Ｄは、互いに通信することによって、ロボット１Ａ〜１Ｄをグループ化するための手続きを実行する。ロボット１Ａ〜１Ｄは、たとえば、ロボット１Ａ〜１Ｄを識別するための識別子を互いに送受信する。ロボット１Ａ〜１Ｄの識別子は、たとえば「１Ａ」〜「１Ｄ」である。ロボット１Ａ〜１Ｄは、グループ化を完了させると、同一のグループＧに所属する。
【００２６】
判定テーブル３１は、グループＧに所属するロボット１Ａ〜１Ｄに対するユーザ２１の命令を判定するためのテーブルである。判定テーブル３１は、格納部１４に設けられている。判定テーブル３１は、グループＧに所属するロボット１Ａ〜１Ｄの識別子と、ロボット１Ａ〜１Ｄの認識結果とを互いに関連付けて格納している。以下では、ロボット１Ａ〜１Ｄが有する判定テーブル３１を、必要に応じて判定テーブル３１Ａ〜３１Ｄと表記する。
【００２７】
ユーザ２１は、ロボット１Ａ〜１Ｄを協調的に動作させるための命令を、ロボット１Ａ〜１Ｄに与える。具体的には、ユーザ２１は、「踊って」という音声２２をロボット１Ａ〜１Ｄに向かって発する。ロボット１Ａおよび２Ｂの周囲には雑音２３がない。音声２２は、雑音２３を含まない状態でロボット１Ａおよび２Ｂに届く。ロボット１Ｃの周囲には、雑音２３がある。音声２２は、雑音２３を含んだ状態でロボット１Ｃに届く。音声２２は、ロボット１Ｄには届かない。
【００２８】
（音声認識の実行）
ユーザ２１の音声２２は、マイク１１Ａを通じてロボット１Ａに入力される。測定部１３Ａは、ロボット１Ａに対する音声２２の入力があったか否かを判定する（Ｓ１）。Ｓ１の判定結果はＹＥＳなので、音声認識部１２Ａは、入力された音声を認識する（Ｓ２）。音声２２は雑音２３を含まないので、音声認識部１２Ａは、音声を正確に認識することによって、「踊って」という認識結果を生成する（Ｓ３）。音声認識部１２Ａは、生成した認識結果「踊って」を、識別子「１Ａ」に関連付けて判定テーブル３１Ａに格納する（Ｓ４）。通信部１５Ａは、ブロードキャスト通信によって、認識結果「踊って」をロボット１Ｂ〜１Ｄに送信する（Ｓ５）。
【００２９】
ユーザ２１の音声２２は、マイク１１Ｂを通じてロボット１Ｂに入力される。測定部１３Ｂは、ロボット１Ｂに対する音声２２の入力があったか否かを判定する（Ｓ１）。Ｓ１の判定結果はＹＥＳなので、音声認識部１２Ｂは、音声２２を認識する（Ｓ２）。音声２２には雑音２３が含まれないので、音声認識部１２Ｂは、音声２２を正確に認識することによって、認識結果（他の認識結果）「踊って」を生成する（Ｓ３）。音声認識部１２Ｂは、生成した認識結果「踊って」を、識別子「１Ｂ」に関連付けて判定テーブル３１Ｂに格納する（Ｓ４）。通信部１５Ｂは、ブロードキャスト通信によって、認識結果「踊って」をロボット１Ａ、１Ｃ、および１Ｄに送信する（Ｓ５）。
【００３０】
ユーザ２１の音声２２は、雑音２３を含んだ状態でマイク１１Ｃを通じてロボット１Ｃに入力される。測定部１３Ｃは、ロボット１Ｃに対する音声２２の入力があったか否かを判定する（Ｓ１）。Ｓ１の判定結果はＹＥＳなので、音声認識部１２Ｃは、雑音２３を含む音声２２を認識する（Ｓ２）。音声データには雑音２３の成分が含まれるので、音声認識部１２Ｃは、音声を認識することができない。音声認識部１２Ｃは、認識結果（他の音声データ）「認識不可」を生成する（Ｓ４）。音声認識部１２Ｃは、生成した認識結果「認識不可」を、識別子「１Ｃ」に関連付けて判定テーブル３１Ｃに格納する（Ｓ５）。通信部１５Ｂは、ブロードキャスト通信によって、認識結果「認識不可」をロボット１Ａ、１Ｂ、および１Ｄに送信する（Ｓ６）。
【００３１】
ユーザ２１の音声２２は、ロボット１Ｄに入力されない。測定部１３Ｄは、ロボット１Ｄに対する音声２２の入力があったか否かを判定する（Ｓ１）。Ｓ１の判定結果はＮＯなので、ロボット１Ｄは、Ｓ２〜Ｓ５の処理を実行しない。音声認識部１２Ｄは、認識結果を生成しない。音声認識部１２Ｄは、識別子「１Ｄ」を判定テーブル３１Ｄに格納するが、識別子「１Ｄ」に関連付けられる認識結果を判定テーブル３１Ｄに格納しない。通信部１５Ｄは、認識結果をロボット１Ａ〜１Ｃに送信しない。
【００３２】
（認識結果の受信）
通信部１５Ａは、ロボット１Ｂから認識結果「踊って」を受信し、かつ、ロボット１Ｃから認識結果「認識不可」を受信する（Ｓ６）。通信部１５Ａは、受信した認識結果「踊って」と識別子「１Ｂ」とを互いに関連付けて、判定テーブル３１Ａに格納し、かつ、受信した認識結果「認識不可」と識別子「１Ｃ」とを互いに関連付けて、判定テーブル３１Ａに格納する（Ｓ７）。通信部１５Ａは、ロボット１Ｄから認識結果を受信しないので、識別子「１Ｄ」を判定テーブル３１Ａに格納し、識別子「１Ｄ」に関連付けられる認識結果を判定テーブル３１Ａに格納しない。
【００３３】
通信部１５Ｂは、ロボット１Ａから認識結果「踊って」を受信し、かつ、ロボット１Ｃから認識結果「認識不可」を受信する（Ｓ６）。通信部１５Ｂは、受信した認識結果「踊って」と識別子「１Ａ」とを互いに関連付けて、判定テーブル３１Ｂに格納し、かつ、受信した認識結果「認識不可」と識別子「１Ｃ」とを互いに関連付けて、判定テーブル３１Ｂに格納する（Ｓ７）。通信部１５Ｂは、ロボット１Ｄから認識結果を受信しないので、識別子「１Ｄ」を判定テーブル３１Ｂに格納し、識別子「１Ｄ」に関連付けられる認識結果を判定テーブル３１Ｂに格納しない。
【００３４】
通信部１５Ｃは、ロボット１Ａから認識結果「踊って」を受信し、かつ、ロボット１Ｂから認識結果「踊って」を受信する（Ｓ６）。通信部１５Ｃは、受信した認識結果「踊って」と識別子「１Ａ」とを互いに関連付けて、判定テーブル３１Ｃに格納し、かつ、受信した認識結果「踊って」と識別子「１Ｂ」とを互いに関連付けて、判定テーブル３１Ｃに格納する（Ｓ７）。通信部１５Ｃは、ロボット１Ｄから認識結果を受信しないので、識別子「１Ｄ」を判定テーブル３１Ｃに格納し、識別子「１Ｄ」に関連付けられる認識結果を判定テーブル３１Ｃに格納しない。
【００３５】
通信部１５Ｄは、ロボット１Ａから認識結果「踊って」を受信し、ロボット１Ｂから認識結果「踊って」を受信し、かつ、ロボット１Ｃから認識結果「認識不可」を受信する（Ｓ６）。通信部１５Ｄは、受信した２つの認識結果「踊って」と識別子「１Ａ」および「１Ｂ」とを互いに関連付けて、判定テーブル３１Ｄに格納し、かつ、受信した認識結果「認識不可」と識別子「１Ｃ」とを互いに関連付けて、判定テーブル３１Ｄに格納する（Ｓ７）。
【００３６】
（命令の判定）
命令判定部１６Ａは、判定テーブル３１Ａに格納される全ての認識結果に基づいて、ユーザ２１の命令を判定する（Ｓ８）。ロボット１Ｄの認識結果は判定テーブル３１に格納されないので、命令判定部１６Ａは、これを判定の対象に用いない。命令判定部１６Ａは、ロボット１Ａ〜１Ｃの各認識結果に基づいて、ユーザ２１の命令を判定する。命令判定部１６Ａは、判定テーブル３１Ａに格納される全ての認識結果のうち、最も多い認識結果を、ユーザ２１の命令であると判定する。判定テーブル３１Ａには、２つの判定結果「踊って」と、１つの判定結果「認識不可」とが格納されている。したがって命令判定部１６Ａは、ユーザ２１の命令を「踊って」であると判定する。命令判定部１６Ａは、判定した命令「踊って」を、判定結果として判定テーブル３１Ａに格納する。
【００３７】
命令判定部１６Ｂは、判定テーブル３１Ｂに格納される全ての認識結果に基づいて、ロボット１Ａと同様にユーザ２１の命令を判定する（Ｓ８）。したがって命令判定部１６Ｂは、ユーザ２１の命令を「踊って」であると判定する。命令判定部１６Ｂは、判定した命令「踊って」を、判定結果として判定テーブル３１Ｂに格納する。
【００３８】
命令判定部１６Ｃは、判定テーブル３１Ｃに格納される全て認識結果に基づいて、ロボット１Ａと同様にユーザ２１の命令を判定する（Ｓ８）。したがって命令判定部１６Ｃは、ユーザ２１の命令を「踊って」であると判定する。命令判定部１６Ｃは、判定した命令「踊って」を、判定結果として判定テーブル３１Ｃに格納する。
【００３９】
命令判定部１６Ｄは、判定テーブル３１Ｄに格納される全ての認識結果に基づいて、ロボット１Ａと同様にユーザ２１の命令を判定する（Ｓ８）。したがって命令判定部１６Ｄは、ユーザ２１の命令を「踊って」であると判定する。命令判定部１６Ｄは、判定した命令「踊って」を、判定結果として判定テーブル３１Ｄに格納する。
【００４０】
以上のように、ユーザ２１が音声「踊って」をロボット１Ａ〜１Ｄに発すると、判定テーブル３１Ａ〜３１Ｄは、いずれも図９に示す同一内容のものに更新される。
【００４１】
（動作の実行）
動作実行部１７Ａは、命令判定部１６Ａによって判定された命令に基づく動作をロボット１Ａに実行させる（Ｓ９）。動作実行部１７Ａは、出力部１８Ａを制御することによって、判定テーブル３１Ａに格納される判定結果「踊って」に基づく動作「踊る」を、ロボット１Ａに実行させる。図９の（ｃ）に示すように、ロボット１Ａは、動作「踊る」を実行する。
【００４２】
動作実行部１７Ｂは、命令判定部１６Ｂによって判定された命令に基づく動作をロボット１Ｂに実行させる（Ｓ９）。動作実行部１７Ｂは、出力部１８Ｂを制御することによって、判定テーブル３１Ｂに格納される判定結果「踊って」に基づく動作「踊る」を、ロボット１Ｂに実行させる。図９の（ｃ）に示すように、ロボット１Ｂは、動作「踊る」を実行する。
【００４３】
動作実行部１７Ｃは、命令判定部１６Ｃによって判定された命令に基づく動作をロボット１Ｃに実行させる（Ｓ９）。動作実行部１７Ｃは、出力部１８Ｃを制御することによって、判定テーブル３１Ｃに格納される判定結果「踊って」に基づく動作「踊る」を、ロボット１Ｃに実行させる。図９の（ｃ）に示すように、ロボット１Ｃは、動作「踊る」を実行する。
【００４４】
動作実行部１７Ｄは、命令判定部１６Ｄによって判定された命令に基づく動作をロボット１Ｄに実行させる（Ｓ９）。動作実行部１７Ｄは、出力部１８Ｄを制御することによって、判定テーブル３１Ｄに格納される判定結果「踊って」に基づく動作「踊る」を、ロボット１Ｄに実行させる。図９の（ｃ）に示すように、ロボット１Ｄは、動作「踊る」を実行する。
【００４５】
以上のように、ユーザ２１が「踊って」という音声２２を発すると、ロボット１Ａ〜１Ｄは、ユーザ２１の命令を「踊って」であると正確に判定する。したがって、図３の（ｃ）に示すように、ロボット１Ａ〜１Ｄは、判定した命令「踊って」に基づく動作「踊る」を、協調的に実行する。
【００４６】
（多数決による判定例）
図４は、ロボット１が多数決によってユーザ２１の命令を判定することを説明する図である。図４の（ａ）は、判定テーブル３１の一例を示し、図４の（ｂ）は、判定テーブル３１の他の例を示す。
【００４７】
図４の例では、ロボット１Ａ〜１ＣがグループＧに所属する。ロボット１Ａ〜１Ｃは、判定テーブル３１を有する。図４の（ａ）では、判定テーブル３１に、２つの認識結果「踊って」と、１つの認識結果「すわって」とが格納されている。命令判定部１６は、判定テーブル３１に格納される３つの認識結果のうち、最も多い認識結果「踊って」を、ユーザ２１の命令であると判定する。命令判定部１６は、命令「踊って」を判定結果として判定テーブル３１に格納する。
【００４８】
図４の（ｂ）では、判定テーブル３１に、２つの認識結果「踊って」と、１つの認識結果「認識不可」とが格納されている。命令判定部１６は、判定テーブル３１に格納される３つの認識結果のうち、最も多い認識結果「踊って」を、ユーザ２１の命令であると判定する。命令判定部１６は、判定した命令「踊って」を判定結果として判定テーブル３１に格納する。
【００４９】
（周辺環境の状況に基づく判定）
図５は、ロボット１が、騒音値に基づいてユーザ２１の命令を判定するために用いる判定テーブル３２を示す図である。
【００５０】
図５の例では、ロボット１Ａ〜１ＣがグループＧに所属する。測定部１３Ａ〜１３Ｃは、音声２２が認識されたときのロボット１Ａ〜１Ｃの周辺環境を測定することによって、測定結果（他の測定結果）を生成する。本実施形態では、測定部１３Ａ〜１３Ｃは、測定結果として、ロボット１Ａ〜１Ｃの周囲における騒音の強度を表す騒音値を生成する。測定部１３Ａ〜１３Ｃは、たとえば、ロボット１Ａ〜１Ｃの周囲の騒音のデシベル値を取得し、一定範囲のデシベル値に対応する騒音値を生成する。デシベル値が大きいほど、騒音値も大きくなる。測定部１３Ａ〜１３Ｃは、例えば、０デシベルから１０デシベルに対応する騒音値「１」を生成したり、９０デシベルから１００デシベルに対応する騒音値「１０」を生成したりする。騒音値がより大きいほどロボット１Ａ〜１Ｃの周囲環境はより悪く、より小さいほどより良好である。ロボット１Ａ〜１Ｃは、生成された論音値を自ら保持すると共に、グループＧに属する他のロボット１Ａ〜１Ｃに送信する。
【００５１】
ロボット１Ａ〜１Ｃは、判定テーブル３２を有する。判定テーブル３２は、判定テーブル３１の拡張版である。判定テーブル３２は、ロボット１に対するユーザ２１の命令を判定するためのテーブルである。判定テーブル３２は、格納部１４に設けられている。判定テーブル３２は、グループＧに所属するロボット１Ａ〜１Ｃの識別子と、ロボット１Ａ〜１Ｃの認識結果と、ロボット１Ａ〜１Ｃの周囲における騒音の強度を表す騒音値とを互いに関連付けて格納している。以下では、ロボット１Ａ〜１Ｃが有する判定テーブル３２を、必要に応じて判定テーブル３２Ａ〜３２Ｃと表記する。
【００５２】
判定テーブル３２に基づく命令の判定を説明する前に、判定テーブル３２へのデータの格納について以下に説明する。図５の例では、測定部１３Ａは、音声２２が認識されたときのロボット１Ａの周辺環境を測定することによって、騒音値「９」を生成する。測定部１３Ａは、生成された認識結果「踊って」および騒音値「９」を、識別子「１Ａ」に関連付けて判定テーブル３２Ａに格納する。通信部１５Ａは、騒音値「９」が関連付けられた認識結果「踊って」を、ロボット１Ｂおよび１Ｃに送信する。
【００５３】
測定部１３Ｂは、音声２２が認識されたときのロボット１Ｂの周辺環境を測定することによって、測定結果（他の測定結果）を生成する。本実施形態では、測定結果として、ロボット１Ｂの周囲における騒音の強度を表す騒音値を生成する。図５の例では、測定部１３Ｂは、騒音値「２」を生成する。測定部１３Ｂは、生成された認識結果「すわって」および騒音値「２」を、識別子「１Ｂ」に関連付けて判定テーブル３２Ｂに格納する。通信部１５Ｂは、騒音値「２」が関連付けられた認識結果「すわって」を、ロボット１Ａおよび１Ｃに送信する。
【００５４】
測定部１３Ｃは、音声２２が認識されたときのロボット１Ｃの周辺環境を測定することによって、測定結果（他の測定結果）を生成する。本実施形態では、測定結果として、ロボット１Ｃの周囲における騒音の強度を表す騒音値を生成する。図５の例では、測定部１３Ｃは、騒音値「６」を生成する。測定部１３Ｃは、生成された認識結果「認識不可」および騒音値「２」を、識別子「１Ｃ」に関連付けて判定テーブル３２Ｃに格納する。通信部１５Ｃは、騒音値「６」が関連付けられた認識結果「認識不可」を、ロボット１Ａおよび１Ｂに送信する。
【００５５】
通信部１５Ａは、ロボット１Ｂから認識結果「すわって」および騒音値「２」を受信し、ロボット１Ｃから認識結果「認識不可」および騒音値「６」を受信する。通信部１５Ａは、受信した認識結果「すわって」および騒音値「２」を、識別子「１Ｂ」に関連付けて判定テーブル３２Ａに格納する。通信部１５Ａは、受信した認識結果「さわって」および騒音値「６」を、識別子「１Ｃ」に関連付けて判定テーブル３２Ａに格納する。
【００５６】
通信部１５Ｂは、ロボット１Ａから認識結果「踊って」および騒音値「９」を受信し、ロボット１Ｃから認識結果「認識不可」および騒音値「６」を受信する。通信部１５Ｂは、受信した認識結果「踊って」および騒音値「９」を、識別子「１Ａ」に関連付けて判定テーブル３２Ｂに格納する。通信部１５Ｃは、受信した認識結果「認識不可」および騒音値「６」を、識別子「１Ｃ」に関連付けて判定テーブル３２Ｂに格納する。
【００５７】
通信部１５Ｃは、ロボット１Ａから認識結果「踊って」および騒音値「９」を受信し、ロボット１Ｂから認識結果「すわって」および騒音値「２」を受信する。通信部１５Ｃは、受信した認識結果「踊って」および騒音値「９」を識別子「１Ａ」に関連付けて判定テーブル３２Ｃに格納する。通信部１５Ｃは、受信した認識結果「すわって」および騒音値「２」を識別子「１Ｂ」に関連付けて判定テーブル３２Ｃに格納する。
【００５８】
以上の手順によって、判定テーブル３２Ａ〜３２Ｃにデータが格納される。
【００５９】
命令判定部１６は、判定テーブル３２に格納される全ての認識結果のうち、判定テーブル３２に格納される全ての騒音値のうち最も小さいものに関連付けられる認識結果を、ロボット１に対するユーザ２１の命令であると判定する。最も小さい騒音値は、ロボット１Ａ〜１Ｃの各周辺環境のうち、最も良好な周辺環境を表す。図５の例では、判定テーブル３２に格納される３つの異なる認識結果「踊って」、「すわって」、および「さわって」のうち、「すわって」に関連付けられる騒音値が最も小さい。したがって命令判定部１６は、認識結果「すわって」をユーザ２１の命令であると判定し、判定した命令「すわって」を判定結果として判定テーブル３２に格納する。ロボット１Ａ〜１Ｃは、命令「すわって」に基づく動作「座る」を協調的に実行する。
【００６０】
（騒音値に基づく判定の他の例）
図６は、ロボット１が、騒音値に基づいてユーザ２１の命令を判定するために用いる判定テーブル３２の他の例を示す図である。図６の（ａ）は、各ロボット１の認識結果および騒音値が格納された判定テーブル３２を示す。図６の（ｂ）は、各認識結果の数および騒音値（最小）が格納された判定テーブル３３を示す。
【００６１】
図６の例では、ロボット１Ａ〜１ＥがグループＧに所属する。ロボット１Ａ〜１Ｅは、判定テーブル３２を有する。図６の（ａ）では、判定テーブル３２は、５つのロボット１Ａ〜１Ｅの認識結果および騒音値を格納している。ロボット１Ａの認識結果および騒音値は、「踊って」および「５」である。ロボット１Ｂの認識結果および騒音値は、「歩いて」および「２」である。ロボット１Ｃの認識結果および騒音値は、「歩いて」および「３」である。ロボット１Ｄの認識結果および騒音値は、「さわって」および「８」である。ロボット１Ｅの認識結果および騒音値は、「踊って」および「６」である。
【００６２】
命令判定部１６は、図６の（ａ）に示す判定テーブル３２に基づいて、図６の（ｂ）に示す判定テーブル３３を生成する。判定テーブル３３は、各認識結果の数および騒音値（最小）が格納されるテーブルである。命令判定部１６は、異なる認識結果ごとに、判定テーブル３２に含まれる認識結果の数と、その認識結果に関連付けられる最も小さい騒音値とを、判定テーブル３３に格納する。図６の例では、命令判定部１６は、認識結果「踊って」に、数「２」と騒音値（最小）「５」とを関連付けて判定テーブル３３に格納する。さらに、認識結果「歩いて」に、数「２」と騒音値（最小）「２」とを関連付けて判定テーブル３３に格納する。さらに、認識結果「さわって」に、数「１」と騒音値（最小）「８」とを関連付けて判定テーブル３３に格納する。
【００６３】
図６の（ｂ）に示すように、ロボット１Ａ〜１Ｇの各認識結果のうち、最も多い同一の認識結果は、「踊って」および「歩いて」の複数種類ある。命令判定部１６は、判定テーブル３３に格納される、最も数の多い複数種類の認識結果のうち、対応する騒音値が最も小さい認識結果を、ユーザ２１の命令であると判定する。図６の例では、命令判定部１６は、騒音値（最小）「２」に関連付けられる認識結果「歩いて」を、ユーザ２１の命令であると判定する。命令判定部１６は、判定した命令「歩いて」を、判定結果として判定テーブル３３に格納する。ロボット１Ａ〜１Ｇは、いずれも、命令「歩いて」に基づく動作「歩く」を協調的に実行する。
【００６４】
（騒音値に基づく判定の他の例）
図７は、ロボット１が、騒音値に基づいてユーザ２１の命令を判定するために用いる判定テーブル３２の他の例を示す図である。図７の（ａ）は、各ロボット１の認識結果および騒音値が格納された判定テーブル３２を示す。図７の（ｂ）は、最小の騒音値が格納された判定テーブル３２を示す。
【００６５】
図７の例では、ロボット１Ａ〜１ＥがグループＧに所属する。ロボット１Ａ〜１Ｇは、判定テーブル３２を有する。図７の（ａ）では、判定テーブル３２は、５つのロボット１Ａ〜１Ｅの認識結果および騒音値を格納している。ロボット１Ａの認識結果および騒音値は、「踊って」および「７」である。ロボット１Ｂの認識結果および騒音値は、「歩いて」および「２」である。ロボット１Ｃの認識結果および騒音値は、「歩いて」および「２」である。ロボット１Ｄの認識結果および騒音値は、「踊って」および「８」である。ロボット１Ｅの認識結果および騒音値は、「踊って」および「２」である。
【００６６】
判定テーブル３２には、複数の異なる騒音値「９」、「７」、および「２」が格納されている。さらに、判定テーブル３２には、これらの異なる騒音値のうち最小の騒音値「２」に関連付けられる複数の異なる認識結果「歩いて」および「踊って」も、格納されている。命令判定部１６は、図７の（ａ）に示す判定テーブル３２から、最小の騒音値「２」以外の騒音値に関連付けられるロボット１Ａの認識結果およびロボット１Ｄの認識結果を、いずれも削除する。これにより、判定テーブル３２は図７の（ｂ）に示すものに更新される。
【００６７】
図７の（ｂ）に示す判定テーブル３２には、最小の騒音値「２」に関連付けられる、ロボット１Ｂ、１Ｃ、および１Ｅの各認識結果が格納されている。命令判定部１６は、判定テーブル３２に格納される全ての認識結果「歩いて」および「踊って」のうち、最も多い認識結果「歩いて」を、ユーザ２１の命令であると判定する。ロボット１Ａ〜１Ｅは、命令「歩いて」に基づく動作「歩く」を、協調的に実行する。
【００６８】
（判定対象の除外）
図８は、各認識結果を判定の対象とするか否かを規定した判定テーブル３４を示す図である。図８の（ａ）は、認識結果「認識不可」が判定の対象から除外されることを規定した判定テーブルを示す。図８の（ｂ）は、値が格納されない認識結果が判定の対象から除外されることを規定した判定テーブルを示す。
【００６９】
図８の例では、ロボット１Ａ〜１ＧがグループＧに所属する。ロボット１Ａ〜１Ｇは、判定テーブル３４を有する。判定テーブル３４は、判定テーブル３１の拡張版である。判定テーブル３４は、ロボット１に対するユーザ２１の命令を判定するためのテーブルである。判定テーブル３４は、格納部１４に設けられている。判定テーブル３４は、グループＧに所属するロボット１Ａ〜１Ｇの識別子と、ロボット１Ａ〜１Ｇの認識結果と、対応する認識結果を判定の対象として用いるか否かを表す情報とを互いに関連付けて格納している。
【００７０】
図８の（ａ）では、ロボット１は、認識結果「認識不可」に対象「ＮＯ」を関連付けて、判定テーブル３４に格納する。対象「ＮＯ」は、対応する認識結果を判定の対象から除外することを示す情報である。ロボット１は、認識結果「認識不可」以外の認識結果に、対象「ＹＥＳ」を関連付けて、判定テーブル３４に格納する。対象「ＹＥＳ」は、対応する認識結果を判定の対象に含めることを示す情報である。判定テーブル３４には、ロボット１Ａ〜１Ｇの認識結果が格納されている。ロボット１Ａ〜１Ｃの認識結果はいずれも「歩いて」であり、ロボット１Ｄ〜１Ｇの認識結果はいずれも「認識不可」である。
【００７１】
命令判定部１６は、判定テーブル３４に格納される全ての認識結果のうち、対象「ＮＯ」に関連付けられる認識結果を、命令判定の対象から除外する。すなわち命令判定部１６は、対象「ＹＥＳ」に関連付けられるロボット１Ａ〜１Ｃの各認識結果に基づいて、ユーザ２１の命令を判定する。これらの認識結果はいずれも「歩いて」であるので、命令判定部１６は、ユーザ２１の命令を「歩いて」であると判定する。ロボット１Ａ〜１Ｇは、命令「歩いて」に基づく動作「歩く」を協調的に実行する。
【００７２】
図８の（ｂ）では、ロボット１は、「認識不可」以外の認識結果に対象「ＹＥＳ」を関連付けて、判定テーブル３４に格納する。一方、ロボット１は、対応する認識結果が格納されていないロボット１（すなわち音声入力のなかったロボット１）の識別子に関連付けて、対象「ＮＯ」を判定テーブル３４に格納する。判定テーブル３４には、ロボット１Ａ〜１Ｃの認識結果が格納されている。ロボット１Ａ〜１Ｃの認識結果はいずれも「歩いて」である。ロボット１Ｄ〜１Ｇの認識結果は判定テーブル３４に格納されていない。
【００７３】
命令判定部１６は、判定テーブル３４に格納される全ての認識結果のうち、対象「ＮＯ」に関連付けられる認識結果を、命令判定の対象から除外する。すなわち命令判定部１６は、対象「ＹＥＳ」に関連付けられるロボット１Ａ〜１Ｃの各認識結果に基づいて、ユーザ２１の命令を判定する。これらの認識結果はいずれも「歩いて」であるので、命令判定部１６は、ユーザ２１の命令を「歩いて」であると判定する。ロボット１Ａ〜１Ｇは、判定された命令「歩いて」に基づく動作「歩く」を協調的に実行する。
【００７４】
本実施形態によれば、次の利点が得られる。
【００７５】
１．ロボット１は、自らが生成した音声２２の認識結果のみならず、他のロボット１によって生成された音声２２の認識結果をも、ユーザ２１の命令を判定するために用いる。したがってロボット１は、ユーザ２１の命令をより正確に判定することができる。したがってユーザ２１は、ユーザ２１の音声による命令に基づいて複数のロボット１をより正確に協調的に動作させることができる。
【００７６】
２．ロボット１は他のロボット１と互いに直接通信するので、複数のロボット１を事前にネットワーク接続させる手間をユーザ２１に与えずに済む。
【００７７】
３．ロボット１は、複数の異なる認識結果が生成された場合、そのうち最も多い認識結果をユーザ２１の命令であると判定するので、ユーザ２１の命令をより正確に判定することができる。
【００７８】
３．ロボット１は、複数の異なる認識結果のうち最も多い認識結果をユーザ２１の命令であると判定するので、ユーザ２１の命令を正確に判定することができる。
【００７９】
４．ロボット１は、複数の異なる認識結果のうち最も騒音値小さい認識結果に関連付けられる認識結果をユーザ２１の命令であると判定するので、ユーザ２１の命令をより正確に判定することができる。
【００８０】
５．ロボット１は、全ての認識結果のうち、最も小さい複数の騒音値のいずれかに関連付けられかつ最も多い同一の認識結果をユーザ２１の命令であると判定するので、ユーザ２１の命令をより正確に判定することができる。
【００８１】
６．ロボット１は、ユーザ２１の命令に何ら対応しない認識結果「認識不可」を命令判定の対象から除外するので、ユーザ２１の命令をより正確に判定することができる。
【００８２】
７．ロボット１は、ユーザ２１の命令に何ら対応しない空の認識結果を命令判定の対象から除外するので、ユーザ２１の命令をより正確に判定することができる。
【００８３】
〔実施形態２〕
本発明の他の実施形態について説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態において説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【００８４】
本実施形態に係るロボット１Ａ〜１Ｄの構成は、実施形態１に係るロボット１Ａ〜１Ｄと同一である。
【００８５】
図９は、グループＧに新たに追加されたロボット１Ｄが、グループＧに所属する他のロボット１Ａ〜１Ｃが実行中の動作と同一の動作を自動的に実行することを説明する図である。図９の（ａ）は、グループＧに属しかつ動作「踊る」を実行中のロボット１Ａ〜１Ｃを示す。図９の（ｂ）は、図９の（ａ）に示すロボット１Ａ〜１Ｃが有する管理テーブル３５を示す。図９の（ｃ）は、グループＧに所属するロボット１Ａ〜１Ｄを示す。図９の（ｄ）は、図９の（ｄ）に示すロボット１Ａ〜１Ｄが有する管理テーブル３５を示す。図９の（ｅ）は、グループＧに属しかつ動作「踊る」を実行中のロボット１Ａ〜１Ｄを示す。図９の（ｆ）は、図９の（ｅ）に示すロボット１Ａ〜１Ｄが有する管理テーブル３５を示す。
【００８６】
図９の（ａ）では、ロボット１Ａ〜１ＣがグループＧに所属する。ロボット１Ａ〜１Ｃは、動作「踊る」を協調的に実行している。この動作は、ユーザ２１による「踊って」という音声２２がロボット１Ａ〜１Ｃに入力されたことに基づいて、実施形態１の方法にしたがってロボット１Ａ〜１Ｃが実行している動作である。
【００８７】
ロボット１Ａ〜１Ｃは、いずれも、図９の（ｂ）に示す管理テーブル３５を有する。管理テーブル３５は、グループＧに所属する複数のロボット１の動作を管理するためのテーブルである。管理テーブル３５は、格納部１４Ａ〜１４Ｃに設けられている。管理テーブル３５は、グループＧに所属するロボット１Ａ〜１Ｃの識別子と、ロボット１Ａ〜１Ｃが現在実行中の動作を表す動作情報とを互いに関連付けて格納している。図９の（ｂ）では、管理テーブル３５に、識別子「１Ａ」〜「１Ｃ」に関連付けて、動作情報「踊る」が格納されている。ロボット１Ａ〜１Ｃは、互いに完全に同一の管理テーブル３５を有する。以下では、ロボット１Ａ〜１Ｃが有する管理テーブル３５を、必要に応じて管理テーブル３５Ａ〜３５Ｃと称する。
【００８８】
図９の（ｃ）に示すように、ロボット１Ａ〜１Ｃにロボット１Ｄが近づけられると、グループＧに新たにロボット１Ｄが追加される。ロボット１Ａ〜１Ｄは、互いに通信することによって、ロボット１ＤがグループＧに新たに属したことを認識する。ロボット１Ａ〜１Ｃは、ロボット１ＤがグループＧに追加されたことに基づいて、自身の管理テーブル３５に、ロボット１Ｄの識別子「１Ｄ」を格納する。ロボット１Ａ〜１Ｃは、追加した識別子「１Ｄ」にロボット１Ｄの動作情報を関連付けて格納しない。これらの処理によって、ロボット１Ａ〜１Ｃの管理テーブル３５は、図９の（ｄ）に示すものに更新される。
【００８９】
ロボット１Ｄは、グループＧに追加された直後にまだ動作していない。ロボット１Ｄは、グループＧにロボット１Ｄが追加されたことに基づいて、管理テーブル３５Ｄを格納部１４Ｄに生成する。ロボット１Ｄは、グループＧに所属するロボット１Ａ〜１Ｄの各識別子「１Ａ」〜「１Ｄ」を、管理テーブル３５Ｄに追加する。ロボット１Ｄは、追加した各識別子に動作情報を関連付けて格納しない。これらの処理によって、ロボット１Ｄには、ロボット１Ａ〜１Ｄの各動作情報が格納されていない管理テーブル３５Ｄが生成される。
【００９０】
図９の（ｃ）に示すように、通信部１５Ａは、ロボット１ＤがグループＧに追加されたことに基づいて、ロボット１の動作情報「踊る」を管理テーブル３５Ａから読み出し、ロボット１Ｂ〜１Ｄに送信する。通信部１５Ｂは、ロボット１ＤがグループＧに追加されたことに基づいて、ロボット１Ｂの動作情報「踊る」を管理テーブル３５Ｂから読み出し、ロボット１Ａ、１Ｃ、および１Ｄに送信する。通信部１５Ｃは、ロボット１ＤがグループＧに追加されたことに基づいて、ロボット１Ｃの動作情報「踊る」を管理テーブル３５Ｃから読み出し、ロボット１Ａ、１Ｂ、および１Ｄに送信する。管理テーブル３５Ｄにはロボット１Ｄの動作情報が格納されていない。通信部１５Ｄは、ロボット１Ｄの動作情報を他のロボット１Ａ〜１Ｃに送信しない。
【００９１】
通信部１５Ｄは、ロボット１Ａ〜１Ｃから各動作情報「踊る」を受信し、ロボット１Ａ〜１Ｃの各識別子「１Ａ」〜「１Ｃ」に関連付けて管理テーブル３５Ｄに格納する。これにより管理テーブル３５Ｄは、図９の（ｄ）に示すものに更新される。この結果、ロボット１Ａ〜１Ｄは、互いに完全に同一の管理テーブル３５を有するようになる。すなわち、グループＧに追加されたロボット１Ｄの管理テーブル３５Ｄは、グループＧに所属する他のロボット１Ａ〜１Ｃの管理テーブル３５Ａ〜３５Ｃに自動的に同期される。
【００９２】
ロボット１Ａは、管理テーブル３５Ａに格納されているロボット１Ａ〜１Ｃの各動作情報に基づいて、ロボット１Ｄの動作情報を判定する。管理テーブル３５Ａに３つの動作情報「踊る」が格納されているので、ロボット１Ａは、ロボット１Ｄの動作情報を、ロボット１Ａ〜１Ｃの各動作情報と同じように「踊る」であると判定する。ロボット１Ａは、判定した動作情報「踊る」を、識別子「１Ｄ」に関連付けて管理テーブル３５Ａに格納する。これにより管理テーブル３５Ａは、図９の（ｆ）に示すものに更新される。
【００９３】
ロボット１Ｂは、管理テーブル３５Ｂに基づいてロボット１Ａと同様の処理を実行することによって、管理テーブル３５Ｂを、図９の（ｆ）に示すものに更新する。ロボット１Ｃは、ロボット１Ａと同様の処理を実行することによって、管理テーブル３５Ｃを、図９の（ｆ）に示すものに更新する。
【００９４】
ロボット１Ｄは、管理テーブル３５Ｄに格納されているロボット１Ａ〜１Ｃの各動作情報に基づいて、ロボット１Ｄの動作情報を判定する。管理テーブル３５Ｄに３つの動作情報「踊る」が格納されているので、ロボット１Ｄは、ロボット１Ｄの動作情報を、ロボット１Ａ〜１Ｃの各動作情報と同じように「踊る」であると判定する。
【００９５】
ロボット１Ｄの動作実行部１７は、判定された動作情報「踊る」に基づいて、ロボット１Ｄを動作させる。図９の例では、ロボット１Ｄの動作実行部１７は、出力部１８Ｄを制御することによって、動作情報「踊る」に対応する動作「踊る」を、ロボット１Ｄに実行させる。これにより、図９の（ｅ）に示すように、ロボット１Ｄは、他のロボット１Ａ〜１Ｃと同様に動作「踊る」を実行する。
【００９６】
ロボット１Ｄは、判定した動作情報「踊る」を識別子「１Ｄ」に関連付けて管理テーブル３５Ｄに格納する。これによりロボット１Ｄの管理テーブル３５は、図９の（ｆ）に示すものに更新される。その結果、ロボット１Ａ〜１Ｄの管理テーブル３５は、互いに完全に同一のものになる。
【００９７】
本実施形態によれば、次の利点が得られる。
【００９８】
１．グループＧに新たに追加されたロボット１Ｄに、グループＧに所属するロボット１Ａ〜１Ｃと同一の動作を容易に実行させることができる。
【００９９】
２．ユーザ２１は、グループＧに追加するロボット１Ｄを動作させるための指示を、ロボット１Ｄに音声２２で与える必要がない。したがって、ロボット１Ｄをロボット１Ａ〜１Ｃと協調的に動作させるためのユーザ２１の手間を、低減させることができる。
【０１００】
〔実施形態３〕
本発明の他の実施形態について説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態において説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【０１０１】
図１０は、本発明の実施形態３に係るロボット２の要部構成を示すブロック図である。ロボット２（電子機器、他の電子機器）は、マイク１１、音声認識部１２、格納部１４、通信部１５、命令判定部１６、動作実行部１７、出力部１８、録音部１９、およびデータ合成部２０を備えている。
【０１０２】
マイク１１、音声認識部１２、および格納部１４〜出力部１８は、基本的に、実施形態１に係るロボット１が備えるマイク１１、音声認識部１２、および格納部１４〜出力部１８と同一である。ただし、音声認識部１２および命令判定部１６の処理は異なる。
【０１０３】
録音部１９は、ユーザがマイク１１を通じてロボット１に入力した音声を録音することによって、音声を表す音声データを生成する。
【０１０４】
データ合成部２０は、格納部１４に格納される複数の音声データを合成することによって、合成データを生成する。複数の音声データは、ロボット２の録音部１９によって生成された音声データと、少なくとも１つの他のロボット２から通信部１５が受信した少なくとも１つの音声データとを含む。
【０１０５】
音声認識部１２は、データ合成部２０によって生成された合成データに基づいて音声認識を実行することによって、音声の認識結果を生成する。命令判定部１６は、音声認識部１２によって生成された認識結果に基づいて、ユーザ２１の命令を判定する。本実施形態では、命令判定部１６は、音声認識部１２によって生成された認識結果を、そのままユーザ２１の命令であると判定する。
【０１０６】
図１１は、ユーザ２１の音声２２による命令に基づいてロボット２Ａ〜２Ｃが同一の動作を実行することを説明する図である。
【０１０７】
ロボット２Ａ〜２Ｃは、図１０に示すロボット２と同一の構成および機能を有する異なるロボットである。ロボット２Ａは、マイク１１〜データ合成部２０とそれぞれ同一の構成および機能を有するマイク１１Ａ〜データ合成部２０Ａを備えている。ロボット２Ｂは、マイク１１〜データ合成部２０とそれぞれ同一の構成および機能を有するマイク１１Ｂ〜データ合成部２０Ｂを備えている。ロボット２Ｃは、マイク１１〜データ合成部２０とそれぞれ同一の構成および機能を有するマイク１１Ｃ〜データ合成部２０Ｃを備えている。
【０１０８】
図１１の（ａ）は、グループＧに所属するロボット２Ａ〜２Ｃを示す。図１１の（ｂ）は、合成データ４３に基づく認識結果の生成を示す。図１１の（ｃ）は、認識結果に基づいて動作を実行するロボット２Ａ〜２Ｃを表す。
【０１０９】
図１１の（ａ）では、ロボット２Ａ〜２Ｃは、グループＧに属している。ロボット２Ａ〜２Ｃは、まだ動作していない。ユーザ２１は、「踊って」という音声２２を、ロボット２Ａ〜２Ｃに向かって発する。音声２２は、ロボット２Ａ〜２Ｃに届く。ロボット２Ａおよび２Ｂの周囲には雑音２３がない。音声２２は、雑音２３を含まない状態でロボット２Ａおよび２Ｂに届く。ロボット２Ｃの周囲には、雑音２３がある。音声２２は、雑音２３を含んだ状態でロボット２Ｃに届く。
【０１１０】
ユーザ２１の音声２２は、マイク１１Ａを通じてロボット２Ａに入力される。録音部１９Ａは、マイク１１Ａを通じて入力された音声２２を録音することによって、雑音２３を含まない音声２２を表す音声データ４１Ａを生成する。録音部１９Ａは、生成した音声データ４１Ａを格納部１４Ａに格納する。通信部１５Ｂは、ロボット２Ｂおよび２Ｃに音声データ４１Ａを送信する。
【０１１１】
ユーザ２１の音声２２は、マイク１１Ｂを通じてロボット２Ｂに入力される。録音部１９Ｂは、マイク１１Ｂを通じて入力された音声２２を録音することによって、雑音２３を含まない音声２２を表す音声データ４１Ｂを生成する。録音部１９Ｂは、生成した音声データ４１Ｂを格納部１４Ｂに格納する。通信部１５Ｂは、ロボット２Ａおよび２Ｃに音声データ４１Ｂを送信する。
【０１１２】
ユーザ２１の音声２２は、雑音２３を含んだ状態でロボット２Ｂのマイク１１Ｂを通じてロボット２Ｂに入力される。録音部１９Ｂは、マイク１１Ｂを通じて入力された雑音２３を含む音声２２を録音することによって、雑音２３に対応する雑音成分４２を含む音声データ４１Ｃを生成する。録音部１９Ｃは、生成した音声データ４１Ｃをロボット２Ｃの格納部１４に格納する。通信部１５Ｃは、ロボット２Ａおよび２Ｂに音声データ４１Ｃを送信する。
【０１１３】
通信部１５Ａは、音声データ４１Ｂおよび４１Ｃを受信し、格納部１４Ａに格納する。通信部１５Ｂは、音声データ４１Ａおよび４１Ｃを受信し、格納部１４Ｂに格納する。通信部１５Ｃは、音声データ４１Ａおよび５１Ｂを受信し、格納部１４Ｃに格納する。
【０１１４】
図１１の（ｂ）に示すように、データ合成部２０Ａは、格納部１４Ａに格納されている音声データ４１Ａ〜４１Ｃを合成することによって、合成データ４３を生成する。データ合成部２０は、たとえば、３つの音声データ４１Ａ〜４１Ｃを互いに重ね合わせることによって、合成データ４３を生成する。
【０１１５】
合成データ４３には、合成前の音声データ４１Ａ〜４１Ｃに含まれる音声成分がいずれも含まれる。したがって合成データ４３は、雑音２３に対応する雑音成分４２と、音声２２に対応する成分とを含む。データ合成の結果、合成データ４３に含まれる雑音成分４２は、音声データ４１Ｃに含まれる雑音成分４２よりも少なくなる。
【０１１６】
データ合成部２０Ｂは、格納部１４Ｂに格納されている音声データ４１Ａ〜４１Ｃを合成することによって、合成データ４３を生成する。データ合成部２０Ｂによって生成される合成データ４３は、データ合成部２０Ａによって生成される合成データ４３と同一である。データ合成部２０Ｃは、格納部１４Ｃに格納されている音声データ４１Ａ〜４１Ｃを合成することによって、合成データ４３を生成する。データ合成部２０Ｃによって生成される合成データ４３は、データ合成部２０Ａによって生成される合成データ４３と同一である。
【０１１７】
音声認識部１２Ａは、データ合成部２０Ａによって生成された合成データ４３に基づいて音声認識を実行することによって、認識結果を取得する。合成データ４３に含まれる雑音成分４２は少ないので、音声認識部１２Ａは、合成データ４３に基づいて音声認識を正確に実行することができる。この結果、音声認識部１２Ａは、ユーザ２１が発した音声２２に対応する認識結果「踊って」を生成する。
【０１１８】
音声認識部１２Ｂは、データ合成部２０Ｂによって生成された合成データ４３に基づいて音声認識を実行することによって、ロボット２Ａと同様に認識結果「踊って」を生成する。音声認識部１２Ｃは、データ合成部２０Ｃによって生成された合成データ４３に基づいて音声認識を実行することによって、ロボット２Ａと同様に認識結果「踊って」を生成する。このように、ロボット２Ａ〜２Ｃは同一の認識結果「踊って」を生成する。
【０１１９】
命令判定部１６Ａは、音声認識部１２Ａによって生成された認識結果「踊って」を、ロボット２Ａに対するユーザ２１の命令であると判定する。すなわち命令判定部１６Ａは、ユーザ２１の命令を、「踊って」であると判定する。命令判定部１６Ｂは、音声認識部１２Ｂによって生成された認識結果「踊って」を、ロボット２Ｂに対するユーザ２１の命令であると判定する。すなわち命令判定部１６Ｂは、ロボット２Ｂに対する命令を「踊って」であると判定する。命令判定部１６Ｃは、音声認識部１２Ｃによって生成された認識結果「踊って」を、ロボット２Ｃに対するユーザ２１の命令であると判定する。すなわち命令判定部１６Ｃは、ロボット２Ｃに対する命令を、「踊って」であると判定する。
【０１２０】
動作実行部１７Ａは、出力部１８Ａを制御することによって、命令判定部１６Ａによって判定された命令「踊って」に基づく動作「踊る」をロボット２Ａに実行させる。図１１の（ｃ）に示すように、ロボット２Ａは、動作「踊る」を実行する。動作実行部１７Ｂは、出力部１８Ｂを制御することによって、命令判定部１６Ｂによって判定された命令「踊って」に基づく動作「踊る」をロボット２Ｂに実行させる。図１１の（ｃ）に示すように、ロボット２Ｂは、ロボット２Ａと同様に動作「踊る」を実行する。動作実行部１７Ｃは、出力部１８Ｃを制御することによって、命令判定部１６Ｃによって判定された命令「踊って」に基づく動作「踊る」をロボット２Ｃに実行させる。図１１の（ｃ）に示すように、ロボット２Ｃは、ロボット２Ａおよび２Ｂと同様に、動作「踊る」を実行する。
【０１２１】
以上のように、ユーザ２１が「踊って」という音声２２を発すると、ロボット２Ａ〜２Ｃは、ユーザ２１の命令を「踊って」であると正確に判定する。したがって、図１１の（ｃ）に示すように、ロボット２Ａ〜２Ｃは、判定した命令「踊って」に基づく動作「踊る」を、協調的に実行する。
【０１２２】
ロボット１および２の制御ブロックは、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１２３】
後者の場合、ロボット１および２は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、前記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、前記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記記録媒体としては、「一時的でない有形の媒体」、たとえば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して前記コンピュータに供給されてもよい。なお、本発明は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１２４】
〔まとめ〕
本発明の態様１に係る電子機器（ロボット１Ａ）は、ユーザ（２１）の音声（２２）を認識することによって前記音声の認識結果を生成する認識部（音声認識部１２）と、前記音声を認識することによって前記音声の他の認識結果を生成する少なくとも１つの他の電子機器（ロボット１Ｂ〜１Ｄ）から送信された少なくとも１つの前記他の認識結果を受信する受信部（通信部１５）と、前記認識結果を、前記少なくとも１つの他の電子機器に送信する送信部（通信部１５）と、前記認識結果と、前記少なくとも１つの他の認識結果とに基づいて、前記ユーザの命令を判定する判定部（命令判定部１６）と、前記命令に基づく動作を電子機器に実行させる実行部（動作実行部１７）とを備えていることを特徴としている。
【０１２５】
前記の構成によれば、電子機器は、当該電子機器がユーザの音声を誤認識したとしても、他の電子機器が同じ音声を正確に認識できていれば、他の電子機器による認識結果をユーザの命令であると正確に判定することができる。したがって、ユーザの命令をより正確に判定することができ、その結果、命令に基づく動作を正確に実行することができる。したがって、ユーザが音声による命令を複数の電子機器に与えれば、各電子機器は、いずれも、ユーザの命令を正確に判定し、その結果、命令に基づく同一の動作を実行することができる。
【０１２６】
以上のように、本発明の一態様によれば、ユーザの音声による命令に基づいて複数の電子機器をより正確に協調的に動作させることができる。
【０１２７】
本発明の態様２に係る電子機器は、前記態様１において、前記判定部は、前記認識結果と前記少なくとも１つの他の認識結果とからなる全ての認識結果のうち、最も多い同一の前記認識結果を前記命令であると判定することを特徴としている。
【０１２８】
前記の構成によれば、全ての認識結果のうち最も多い認識結果は、ユーザの音声が正確に認識された結果である可能性が最も高い。したがって電子機器は、ユーザの命令をより正確に判定することができる。
【０１２９】
本発明の態様３に係る電子機器は、前記態様２において、前記電子機器は、前記音声が録音されたときの前記電子機器の周辺環境を測定することによって、測定結果（騒音値）を生成する測定部（測定部１３）をさらに備えており、前記送信部は、前記測定結果が関連付けられた前記認識結果を前記少なくとも１つの他の電子機器に送信し、前記受信部は、前記音声が認識されたときの前記他の電子機器の周辺環境を測定することによって、他の測定結果（騒音値）を生成する前記少なくとも１つの他の電子機器から送信された、前記他の測定結果が関連付けられた少なくとも１つの前記他の認識結果を受信し、前記判定部は、前記認識結果と前記少なくとも１つの他の認識結果とからなる全ての認識結果のうち、前記測定結果と前記少なくとも１つの他の測定結果とからなる全ての測定結果のうち最も良好な前記周辺環境を表す少なくとも１つの前記測定結果に関連付けられた少なくとも１つの前記認識結果に基づいて、前記命令を判定することを特徴としている。
【０１３０】
前記の構成によれば、最も良好な周辺環境を表す少なくとも１つの測定結果に関連付けられる少なくとも１つの認識結果は、ユーザの音声が正確に認識された結果である可能性が高い。したがって電子機器は、ユーザの命令をより正確に判定することができる。
【０１３１】
本発明の態様４に係る電子機器は、前記態様３において、前記判定部は、前記全ての認識結果のうち、最も良好な前記周辺環境を表す１つの前記測定結果に関連付けられた前記認識結果を、前記命令であると判定することを特徴としている。
【０１３２】
前記の構成によれば、最も良好な周辺環境を表す１つの測定結果に関連付けられる認識結果は、ユーザの音声が正確に認識された結果である可能性が最も高い。したがって電子機器は、ユーザの命令をより正確に判定することができる。
【０１３３】
本発明の態様５に係る電子機器は、前記態様３において、前記全ての認識結果のうち最も多い同一の前記認識結果は、複数種類あり、前記判定部は、前記複数種類の認識結果のうち、最も良好な前記周辺環境を表す前記測定結果に関連付けられた前記認識結果を、前記命令であると判定することを特徴としている。
【０１３４】
前記の構成によれば、最も多い数の認識結果が複数種類ある場合、そのうち、最も良好な周辺環境にいる電子機器による認識結果は、ユーザの音声を正確に認識した結果であると可能性が最も高い。したがって電子機器は、ユーザの命令をより正確に判定することができる。
【０１３５】
本発明の態様６に係る電子機器は、前記態様３において、前記判定部は、前記全ての認識結果のうち、最も良好な前記周辺環境を表す複数の前記測定結果のいずれかに関連付けられかつ最も多い同一の前記認識結果を、前記命令であると判定することを特徴としている。
【０１３６】
前記の構成によれば、全ての認識結果のうち最も多く、かつ最も良好な周辺環境を表す測定結果に関連付けられる同一の認識結果は、ユーザの音声が正確に認識された結果である可能性が最も高い。したがって電子機器は、ユーザの命令をより正確に判定することができる。
【０１３７】
本発明の態様７に係る電子機器は、前記態様１〜６のいずれかにおいて、前記受信部は、前記少なくとも１つの他の電子機器から送信される、前記少なくとも１つの他の電子機器が実行中の動作を表す少なくとも１つの動作情報をさらに受信し、前記実行部は、前記少なくとも１つの動作情報に基づく動作を前記電子機器に実行させることを特徴としている。
【０１３８】
前記の構成によれば、電子機器を他の電子機器と協調的に動作させるためのユーザの手間を、低減させることができる。
【０１３９】
本発明の態様８に係る制御方法は、ユーザの音声を認識することによって前記音声の認識結果を生成する認識工程と、前記音声を認識することによって前記音声の他の認識結果を生成する少なくとも１つの他の電子機器から送信された少なくとも１つの前記他の認識結果を受信する受信工程と、前記認識結果を、前記少なくとも１つの他の電子機器に送信する送信工程と、前記認識結果と、前記少なくとも１つの他の認識結果とに基づいて、前記ユーザの命令を判定する判定工程と、前記命令に基づく動作を電子機器に実行させる実行工程とを備えていることを特徴としている。
【０１４０】
前記の構成によれば、ユーザの音声による命令に基づいて複数の電子機器をより正確に協調的に動作させることができる。
【０１４１】
本発明の各態様に係る電子機器は、コンピュータによって実現してもよい。この場合、コンピュータを前記電子機器が備える各部（ソフトウエア要素）として動作させることによって前記電子機器をコンピュータにて実現させる電子機器のプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【０１４２】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態も、本発明の技術的範囲に含まれる。各実施形態にそれぞれ開示された技術的手段を組み合わせることによって、新しい技術的特徴を形成することもできる。
【符号の説明】
【０１４３】
１  ロボット（電子機器、他の電子機器）、２  ロボット（電子機器、他の電子機器）、１１  マイク、１２  音声認識部（認識部）、１３  測定部、１４  格納部、１５  通信部（送信部、受信部）、１６  命令判定部（判定部）、１７  動作実行部（実行部）、１８  出力部、１９  録音部、２０  合成部、２１  ユーザ、２２  音声、２３  雑音、３１〜３４  判定テーブル、３５  管理テーブル、４１Ａ〜４１Ｃ  音声データ、４２  雑音成分、４３  合成データ
【図１】
2018081233.tif 000003
【図２】
2018081233.tif 000004
【図３】
2018081233.tif 000005
【図４】
2018081233.tif 000006
【図５】
2018081233.tif 000007
【図６】
2018081233.tif 000008
【図７】
2018081233.tif 000009
【図８】
2018081233.tif 000010
【図９】
2018081233.tif 000011
【図１０】
2018081233.tif 000012
【図１１】
2018081233.tif 000013