実施形態について、以下、図面を参照しながら説明する。実施形態の説明において、個数および量などに言及する場合、特に記載がある場合を除き、本発明の範囲は必ずしもその個数およびその量などに限定されない。実施形態の説明において、同一の部品および相当部品に対しては、同一の参照番号を付し、重複する説明は繰り返さない場合がある。特に制限が無い限り、実施形態に示す構成に示す構成を適宜組み合わせて用いることは、当初から予定されていることである。
<実施形態1>
(制御システムの構成)
図1は、実施形態1に基づく制御システム1A〜1Cの構成について説明する図である。
図1(A)を参照して、制御システム1Aは、一例として、掃除ロボット10、エアコン11、洗濯機12、バスユニット13、発電ユニット14と、照明15、扇風機16と、空気清浄器17と、サーバ300とを含む。各電気機器は、サーバ300と通信可能に設けられている。当該制御システム1Aを構成する電気機器のグループは、宅内のリビングルームにてユーザが操作を希望する電気機器群で構成されている。なお、他の電気機器を含めた構成としても良く、複数の電気機器が含まれていればどのような構成としても良い。
図1(B)を参照して、制御システム1Bは、調理ボード20と、炊飯器21と、電子コンロ23と、冷蔵庫24と、電子レンジ25と、サーバ300とを含む。各電気機器は、サーバ300と通信可能に設けられている。当該制御システム1Bを構成する電気機器のグループは、宅内のキッチンにてユーザが操作を希望する電気機器群で構成されている。なお、他の電気機器を含めた構成としても良く、複数の電気機器が含まれていればどのような構成としても良い。
図1(C)を参照して、制御システム1Cは、人形30と、テレビ31と、照明32と、エアコン33と、扇風機34と、サーバ300とを含む。各電気機器は、サーバ300と通信可能に設けられている。当該制御システム1Cを構成する電気機器のグループは、宅内の別の部屋(たとえば子供部屋)にてユーザが操作を希望する電気機器群で構成される。なお、他の電気機器を含めた構成としても良く、複数の電気機器が含まれていればどのような構成としても良い。
本例においては、掃除ロボット10、調理ボード20および人形30がユーザと対話する機器(フロント機器)として動作する。そして、フロント機器として受け付けた内容をサーバ300に送信する。サーバ300は、いずれのフロント機器からの入力であるかを識別し、制御システムを形成する。そして、サーバ300は、フロント機器から受け付けた内容に基づいて応答内容を表す命令コマンドを抽出して、制御システムを構成する各電気機器を制御する。
掃除ロボット10は、ユーザと対話するフロント機器として動作し、人間(ユーザ)から掃除ロボット10に対して発した音声が入力されると、掃除ロボット10において音声認識されて、認識データがサーバ300に出力される。サーバ300は、掃除ロボット10からの入力に基づいて制御システム1Aを形成する。そして、サーバ300は、フロント機器からの認識データに基づいて、入力された音声に対する応答内容を表す命令コマンドを抽出する。サーバ300は、通信可能に設けられている各電気機器に対して、抽出した命令コマンドを送信する。
調理ボード20は、ユーザと対話するフロント機器として動作し、人間(ユーザ)から調理ボード20に対して発した音声が入力されると、調理ボード20において音声認識されて、認識データがサーバ300に出力される。サーバ300は、調理ボード20からの入力に基づいて制御システム1Bを形成する。そして、サーバ300は、フロント機器からの認識データに基づいて、入力された音声に対する応答内容を表す命令コマンドを抽出する。サーバ300は、通信可能に設けられている各電気機器に対して、抽出した命令コマンドを送信する。
人形30は、ユーザと対話するフロント機器として動作し、人間(ユーザ)から調理ボード20に対して発した音声が入力されると、人形30において音声認識されて、認識データがサーバ300に出力される。サーバ300は、人形30からの入力に基づいて制御システム1Cを形成する。そして、サーバ300は、フロント機器からの認識データに基づいて、入力された音声に対する応答内容を表す命令コマンドを抽出する。サーバ300は、通信可能に設けられている各電気機器に対して、抽出した命令コマンドを送信する。
なお、本例においては、掃除ロボット10をユーザと対する電気機器(制御機器)として例に挙げて説明するが、本発明はこれに限定されるものではない。掃除ロボット10以外の家電機器(例えば、テレビ)等によって実現することも可能である。
図2は、実施形態1に基づく掃除ロボット10のハードウェア構成の概要を説明するブロック図である。
図2を参照して、掃除ロボット10は、CPU(Central Processing Unit)610と、一時記憶部620と、記憶部630と、通信部640と、入力部650と、出力部660とを備える。
CPU610は、制御部として、命令を実行し、掃除ロボット10の動作を制御する。
一時記憶部620は、CPU610によって生成されたデータ、記憶部630から読みだされたデータなどを一時的に保持する。一時記憶部620は、たとえばRAM(Random Access Memory)その他の揮発性のデータ記憶媒体によって実現される。
記憶部630は、CPU610によって生成されたデータ、予め格納されたデータおよびプログラムなどを保持する。記憶部630は、たとえばハードディスク装置、フラッシュメモリその他の不揮発性のデータ記録媒体によって実現される。
通信部640は、他の電気機器と通信する。通信部640は、たとえば、無線通信、有線通信のいずれによっても実現される。通信部640による通信の態様は特に限られず、パケット通信、赤外線通信、Bluetooth(登録商標)、NFC(Near Field Communication)等によって実現される。
入力部650は、たとえば、マイクで実現される。具体的には、外部から音の入力を受け付ける。なお、マイクが入力を受け付ける音を示す音データには、主に人間の発する音声の周波数帯域に含まれる音のデータ(音声データとも称する)の入力を受け付ける場合について説明するが、音声データの周波数帯域以外の周波数帯域を含む音のデータが含まれていてもよい。マイクは、入力された音を示す音声データを、CPU610に出力する。音データから音声データを検出する方法としては、例えば、音データから人間の発する音声の周波数帯域(例えば、100Hz以上かつ1kHz以下の周波数帯域)を抽出することによって音声データを検出する方法を挙げることができる。この場合には、入力部650は、音データから人間の発する音声の周波数帯域を抽出するために、例えば、バンドパスフィルタ、又は、ハイパスフィルタ及びローパスフィルタを組み合わせたフィルタなどを備えていればよい。
なお、入力部650は、たとえば、キーボード、マウスその他のポインティングデバイス、信号入力端子、赤外線受光部等を含み得る。
出力部660は、たとえば、スピーカで実現される。具体的には、外部に対して出力される応答内容を表す音声信号を再生する。なお、出力部660は、たとえば、液晶モニタ、有機EL(Electro Luminescence)モニタ、LED等、音声信号以外の外部出力インターフェイスを含み得る。
駆動部670は、掃除ロボット10が移動する車輪および車輪を駆動するモータである。なお、たとえば、掃除ロボット10とは別の機器である場合には、駆動部670の部分は、通信回路、バイブレータ、車輪、コンプレッサ、画像処理プロセッサなどを含み得る。
掃除部680は、ブラシや吸引ポンプ等で構成される。
なお、上記構成は、必ずしも必須の構成ではなく、たとえば駆動部670および掃除部680等については、機器に応じて機能を追加あるいは削除することも可能である。
図3は、実施形態1に基づくサーバ300のハードウェア構成の概要を表すブロック図である。
図3に示されるように、サーバ300は、CPU310と、一時記憶部320と、記憶部330と、通信部340とを備える。
CPU310は、制御部として、命令を実行し、各部の動作を制御する。
一時記憶部320は、CPU310によって生成されたデータ、記憶部330から読みだされたデータ、サーバ300に対して与えられたデータなどを一時的に保持する。一時記憶部320は、たとえばRAM(Random Access Memory)その他の揮発性のデータ記憶媒体によって実現される。
記憶部330は、CPU310によって生成されたデータ、所定の動作を実行させるために予め格納されたデータおよびプログラムなどを保持する。記憶部330は、たとえばハードディスク装置、フラッシュメモリその他の不揮発性のデータ記録媒体によって実現される。
通信部340は、各種電気機器と通信する。通信部340は、たとえば、無線通信、有線通信のいずれによっても実現される。通信部340による通信の態様は特に限られず、パケット通信、赤外線通信、Bluetooth(登録商標)、NFC(Near Field Communication)等によって実現される。
なお、入力部や出力部をさらに設けるようにしても良い。入力部は、電気機器に対する命令または文字その他の情報の入力を受け付ける。入力部は、たとえば、キーボード、マウスその他のポインティングデバイス、信号入力端子、赤外線受光部等を含み得る。出力部は、電気機器において生成されたデータ、CPU310によって検索された結果などを出力する。出力部は、たとえば、液晶モニタ、有機EL(Electro Luminescence)モニタ、LED外部出力インターフェイスなどによって実現される。
図4は、実施形態1に基づく電気機器のハードウェア構成の概要を表わすブロック図である。
図4に示されるように、電気機器は、CPU510と、一時記憶部520と、記憶部530と、通信部540と、機能部550とを備える。
CPU510は、制御部として、命令を実行し、各部の動作を制御する。
一時記憶部520は、CPU510によって生成されたデータ、記憶部530から読みだされたデータ、サーバ300に対して与えられたデータなどを一時的に保持する。一時記憶部520は、たとえばRAM(Random Access Memory)その他の揮発性のデータ記憶媒体によって実現される。
記憶部530は、CPU510によって生成されたデータ、所定の動作を実行させるために予め格納されたデータおよびプログラムなどを保持する。記憶部530は、たとえばハードディスク装置、フラッシュメモリその他の不揮発性のデータ記録媒体によって実現される。
通信部540は、掃除ロボット10と通信する。通信部540は、たとえば、無線通信、有線通信のいずれによっても実現される。通信部540による通信の態様は特に限られず、パケット通信、赤外線通信、Bluetooth(登録商標)、NFC(Near Field Communication)等によって実現される。
なお、入力部や出力部をさらに設けるようにしても良い。入力部は、電気機器に対する命令または文字その他の情報の入力を受け付ける。入力部は、たとえば、キーボード、マウスその他のポインティングデバイス、信号入力端子、赤外線受光部等を含み得る。出力部は、電気機器において生成されたデータ、CPU510によって検索された結果などを出力する。出力部は、たとえば、液晶モニタ、有機EL(Electro Luminescence)モニタ、LED外部出力インターフェイスなどによって実現される。
(応答処理概要)
図5は、実施形態1に基づく制御システム1Aにおける応答処理の流れを説明するシーケンス図である。
図5に示されるように、ユーザは、掃除ロボット10に対して発話(ユーザ発話とも称する)する(シーケンスsq0)。
掃除ロボット10は、ユーザ発話に対して音声の入力を受け付ける(シーケンスsq1)。具体的には、掃除ロボット10は、マイクを介して外部からの音の入力を受け付ける。
次に、掃除ロボット10は、音声データに対して音声認識する(シーケンスsq2)。具体的には、受け付けた音声データについて音声辞書を参照して認識フレーズを取得する。
次に、掃除ロボット10は、認識フレーズをサーバ300に送信する(シーケンスsq2#)。
サーバ300は、掃除ロボット10からの認識フレーズに基づいて応答処理を実行する(シーケンスsq3)。まず、掃除ロボット10からの入力に基づいて制御システム1Aを形成し、そして、応答処理として、本例においては、制御システム1Aに含まれるエアコン11および扇風機16を制御する。
そして、サーバ300は、エアコン11および扇風機16を制御する命令コマンドをそれぞれの電気機器に送信する(シーケンスsq4)。
そして、エアコン11は、サーバ300から送信された命令コマンドに応じた制御(エアコン制御)を実行する(シーケンスsq5)。
次に、扇風機16は、サーバ300から送信された命令コマンドに応じた制御(扇風機制御)を実行する(シーケンスsq6)。
当該処理により、ユーザが発話した内容に従って応答処理し、応答内容を示す命令コマンドに従って複数の制御装置を制御することが可能となる。
(電気機器関連テーブル)
図6は、実施形態1に基づく電気機器関連テーブルの一例を説明する図である。
図6(A)を参照して、ここでは、制御システム1Aの掃除ロボット10と他の電気機器(被制御機器)との関係が示されている。本例においては、当該電気機器関連テーブルは、サーバ300の記憶部330に格納されているものとする。
具体的には、掃除ロボット10は、エアコン11、洗濯機12、バスユニット13、発電ユニット14と、照明15、扇風機16と、空気清浄器17と関連付けられて登録される。ここでは、掃除ロボット10は、フロント機器として設定される。なお、フロント機器として設定された機器が同時に被制御機器として登録されてもよい。
サーバ300は、当該電気機器関連テーブルに従って掃除ロボット10と関連付けられて登録されている電気機器を認識する。実施形態1における制御システム1Aを構成する電気機器のグループは、宅内のリビングルームにてユーザが操作を希望する電気機器群で構成されている。また、サーバ300は、電気機器関連テーブルとともに各電気機器を制御するための命令コマンドおよび後述する応答処理テーブルも記憶部330に格納している。
サーバ300側に当該テーブルを設けることにより、当該テーブルを簡易に更新することが可能である。また、追記、変更等も容易である。複数の掃除ロボット10からのアクセスが可能である場合には、1つのサーバ300を設けることにより各掃除ロボット10に対して同様の命令コマンドを出力することが可能である。
図6(B)を参照して、ここでは、制御システム1Bの調理ボード20と他の電気機器(被制御機器)との関係が示されている。本例においては、当該電気機器関連テーブルは、サーバ300の記憶部330に格納されているものとする。
具体的には、調理ボード20は、炊飯器21と、電子コンロ23と、冷蔵庫24と、電子レンジ25と関連付けられて登録される。ここでは、調理ボード20は、フロント機器として設定される。なお、フロント機器として設定された機器が同時に被制御機器として登録されてもよい。
サーバ300は、当該電気機器関連テーブルに従って調理ボード20と関連付けられて登録されている電気機器を認識する。制御システム1Bを構成する電気機器のグループは、宅内のキッチンにてユーザが操作を希望する電気機器群で構成されている。また、サーバ300は、電気機器関連テーブルとともに各電気機器を制御するための命令コマンドおよび後述する応答処理テーブルも記憶部330に格納している。
図6(C)を参照して、ここでは、制御システム1Cの人形30と他の電気機器(被制御機器)との関係が示されている。本例においては、当該電気機器関連テーブルは、サーバ300の記憶部330に格納されているものとする。
具体的には、人形30は、テレビ31と、照明32と、エアコン33と、扇風機34と関連付けられて登録される。ここでは、人形30は、フロント機器として設定される。なお、人形30は、被制御機器として登録することを禁止してもよい。
サーバ300は、当該電気機器関連テーブルに従って人形30と関連付けられて登録されている電気機器を認識する。宅内のリビングルームとは別の部屋(たとえば子供部屋)にてユーザが操作を希望する電気機器群で構成されている。また、サーバ300は、電気機器関連テーブルとともに各電気機器を制御するための命令コマンドおよび後述する応答処理テーブルも記憶部330に格納している。
サーバ300は、当該電気機器関連テーブルに基づいてフロント機器からの入力に基づく制御システムを形成することが可能である。
(応答処理テーブル)
図7は、実施形態1に基づく応答処理テーブルの一例を説明する図である。
図7(A)には、認識フレーズに対応するコマンドグループが登録されている場合が示されている。
具体的には、認識フレーズ「涼しくして」、「暖かくして」、「掃除して」とともに対応するコマンドグループが示されている。
一例として、「涼しくして」に対応してコマンドグループAが対応付けられている。
また、「暖かくして」に対応してコマンドグループBが対応付けられている。
また、「掃除して」に対応してコマンドグループCが対応付けられている。
図7(B)は、コマンドグループAの処理を説明するテーブルである。
図7(B)に示されるように、「エアコン」について「温度低」が設定されている。「温度低」は、エアコンの温度を所定温度低くする処理を意味するものとする。
「扇風機」について「風量大」が設定されている。「風量大」は、扇風機の風量を最大にする処理を意味するものとする。
図7(C)は、コマンドグループBの処理を説明するテーブルである。
図7(C)に示されるように、「エアコン」について「温度高」が設定されている。「温度高」は、エアコンの温度を所定温度高くする処理を意味するものとする。
「扇風機」について「風量中」が設定されている。「風量中」は、扇風機の風量を通常程度(「中」)にする処理を意味するものとする。
図7(D)は、コマンドグループCの処理を説明するテーブルである。
図7(D)に示されるように、「掃除ロボット」について「掃除ON」が設定されている。「掃除ON」は、掃除ロボット10が掃除を開始する処理を意味するものとする。
「空気清浄器」について「風量大」が設定されている。「風量大」は、空気清浄器の吸込風量を最大にする処理を意味するものとする。
本例における応答処理の一例として、ユーザから掃除ロボット10に対して発した音データを受け付けて、音声認識して認識フレーズを取得する。そして、サーバ300に送信して、認識フレーズに対応するコマンドグループの処理を実行するように制御する。
具体的には、掃除ロボット10は、認識フレーズ「涼しくして」を認識した場合に、サーバ300に送信する。サーバ300は、応答処理テーブルからコマンドグループAを抽出する。そして、当該コマンドグループAに設定されている処理を実行するように制御システム1Aに含まれる対応する電気機器に命令コマンドを出力する。サーバ300は、エアコン11に対して所定温度低くする命令コマンドを出力する。また、サーバ300は、扇風機16に対して風量を最大にする命令コマンドを出力する。これにより、エアコン11は、サーバ300からの当該命令コマンドを受けて、設定温度を所定温度低く設定する。また、扇風機16は、サーバ300からの当該命令コマンドを受けて、風量を最大に設定する。
また、掃除ロボット10は、認識フレーズ「暖かくして」を認識した場合に、サーバ300に送信する。サーバ300は、応答処理テーブルからコマンドグループBを抽出する。そして、当該コマンドグループBに設定されている処理を実行するように制御システム1Aに含まれる対応する電気機器に命令コマンドを出力する。サーバ300は、エアコン11に対して所定温度高くする命令コマンドを出力する。また、サーバ300は、扇風機16に対して風量を通常程度(中)にする命令コマンドを出力する。これにより、エアコン11は、サーバ300からの当該命令コマンドを受けて、設定温度を所定温度高く設定する。また、扇風機16は、サーバ300からの当該命令コマンドを受けて、風量を通常程度(中)に設定する。
また、掃除ロボット10は、認識フレーズ「掃除して」を認識した場合に、サーバ300に送信する。サーバ300は、応答処理テーブルからコマンドグループCを抽出する。そして、当該コマンドグループCに設定されている処理を実行するように制御システム1Aに含まれる対応する電気機器に命令コマンドを出力する。サーバ300は、掃除ロボット10に対して掃除するように命令コマンドを出力する。また、サーバ300は、空気清浄器17に対して吸込風量を最大にする命令コマンドを出力する。これにより、掃除ロボット10は、サーバ300からの当該命令コマンドを受けて、掃除を開始する。また、空気清浄器17は、サーバ300からの当該命令コマンドを受けて吸込風量を最大にする。
これにより、ユーザが発した音データを掃除ロボット10が受け付けて、サーバ300に送信し、サーバ300が制御システム1Aを構成する各電気機器を制御することが可能である。
本例においては、コマンドグループに含まれる各電気機器の処理は複数設けられている。したがって、1つの認識フレーズに対して、複数の電気機器が制御される。
上記においては、フロント機器について掃除ロボット10について説明したが、別の制御システムにおいては、フロント機器を調理ボード20とする。
図8は、実施形態1に基づく別の応答処理テーブルの一例を説明する図である。
図8(A)は、認識フレーズに対応するコマンドグループが登録されている場合が示されている。
具体的には、認識フレーズ「料理するよ」とともに対応するコマンドグループが示されている。
具体的には、「料理するよ」に対応してコマンドグループDが対応付けられている。
図8(B)は、コマンドグループDの処理を説明するテーブルである。
図8(B)に示されるように「冷蔵庫」について「庫内情報出力」が設定されている。「庫内情報出力」は、冷蔵庫に収められている庫内の物品の情報を出力する処理を意味するものとする。
「電子コンロ」について「ON」が登録されている。「ON」は、電子コンロ23を起動させる処理を意味する。
本例における応答処理の一例として、ユーザから調理ボード20に対して発した音データを受け付けて、音声認識して認識フレーズを取得する。そして、サーバ300に送信して、認識フレーズに対応するコマンドグループの処理を実行するように制御する。
具体的には、調理ボード20は、認識フレーズ「料理するよ」を認識した場合には、サーバ300に送信する。サーバ300は、応答処理テーブルからコマンドグループDを抽出する。そして、当該コマンドグループDに設定されている処理を実行するように制御システム1Bに含まれる対応する電気機器に命令コマンドを出力する。サーバ300は、冷蔵庫24に対して庫内情報の出力を指示する命令コマンドを出力する。また、サーバ300は、電子コンロ23に対して起動する命令コマンドを出力する。これにより、冷蔵庫24は、サーバ300からの当該命令コマンドを受けて、庫内に貯蔵されている品物の名前を音声出力する。また、電子コンロ23は、サーバ300からの当該命令コマンドを受けて起動する。
これにより、ユーザが発した音データを調理ボード20が受け付けて、サーバ300に送信し、サーバ300が制御システム1Bを構成する各電気機器を制御することが可能である。
本例においては、コマンドグループに含まれる各電気機器の処理は複数設けられている。したがって、1つの認識フレーズに対して、複数の電気機器が制御される。
上記においては、フロント機器について掃除ロボット10あるいは調理ボード20について説明したが、さらに別の制御システムにおいては、フロント機器を人形30とする。
図9は、実施形態1に基づくさらに別の応答処理テーブルの一例を説明する図である。
図9(A)は、認識フレーズに対応するコマンドグループが登録されている場合が示されている。
具体的には、認識フレーズ「涼しくして」、「暖かくして」とともに対応するコマンドグループが示されている。
一例として、「涼しくして」に対応してコマンドグループEが対応付けられている。
また、「暖かくして」に対応してコマンドグループFが対応付けられている。
図9(B)は、コマンドグループEの処理を説明するテーブルである。
図9(B)に示されるように、「エアコン」について「温度低」が設定されている。「温度低」は、エアコンの温度を所定温度低くする処理を意味するものとする。
「扇風機」について「風量大」が設定されている。「風量大」は、扇風機の風量を最大にする処理を意味するものとする。
図9(C)は、コマンドグループFの処理を説明するテーブルである。
図9(C)に示されるように、「エアコン」について「温度高」が設定されている。「温度高」は、エアコンの温度を所定温度高くする処理を意味するものとする。
「扇風機」について「風量中」が設定されている。「風量中」は、扇風機の風量を通常程度(「中」)にする命令を意味するものとする。
本例における応答処理の一例として、ユーザから人形30に対して発した音データを受け付けて、音声認識して認識フレーズを取得する。そして、サーバ300に送信して、認識フレーズに対応するコマンドグループの処理を実行するように制御する。
具体的には、人形30は、認識フレーズ「涼しくして」を認識した場合には、サーバ300に送信する。サーバ300は、応答処理テーブルからコマンドグループEを抽出する。そして、当該コマンドグループEに設定されている処理を実行するように制御システム1Cに含まれる対応する電気機器に命令コマンドを出力する。サーバ300は、エアコン33に対して所定温度低くする命令コマンドを出力する。また、サーバ300は、扇風機34に対して風量を最大にする命令コマンドを出力する。これにより、エアコン33は、サーバ300からの当該命令コマンドを受けて、設定温度を所定温度低く設定する。また、扇風機34は、サーバ300からの当該命令コマンドを受けて、風量を最大に設定する。
また、人形30は、認識フレーズ「暖かくして」を認識した場合には、サーバ300に送信する。サーバ300は、応答処理テーブルからコマンドグループFを抽出する。そして、当該コマンドグループFに設定されている処理を実行するように制御システム1Cに含まれる対応する電気機器に命令コマンドを出力する。サーバ300は、エアコン33に対して所定温度高くする命令コマンドを出力する。また、サーバ300は、扇風機34に対して風量を通常程度(中)にする命令コマンドを出力する。これにより、エアコン33は、サーバ300からの当該命令コマンドを受けて、設定温度を所定温度高く設定する。また、扇風機34は、サーバ300からの当該命令コマンドを受けて、風量を通常程度(中)に設定する。
これにより、ユーザが発した音データを人形30が受け付けて、サーバ300に送信し、サーバ300が制御システム1Cを構成する各電気機器を制御することが可能である。
本例においては、コマンドグループに含まれる各電気機器の処理は複数設けられている。したがって、1つの認識フレーズに対応して、複数の電気機器が制御される。なお、音声による認識フレーズを認識させる方法とは別の方法で、上記のコマンドグループの処理を実行するように制御してもよい。例えば、フロント機器が、カメラ部を備える場合には手や指によるジェスチャを認識させる方法、操作部を備える場合は当該操作部への入力を認識させる方法、リモートコントロール機能を有する場合はリモコンの操作部への入力を認識させる方法、外部からの遠隔制御機能を有する場合はスマートフォン等のモバイル端末の操作部への入力を外部からインターネットを経由して認識させる方法等、いずれであってもよい。これらの認識処理は、以下の構成についても同様に適用可能である。
実施形態1における制御システム1Aを構成する電気機器のグループは、宅内のリビングルームにてユーザが操作を希望する電気機器群で構成されている。そして、リビングルーム内において、掃除ロボット10がフロント機器としてユーザと対話し、サーバ300に送信してサーバ300から当該電気機器群に対して応答処理を実行する。したがって、ユーザが存在する場所でグループ化された電気機器群を1つのフロント機器を介して制御することが可能であり、ユーザの状況に従って利用する電気機器等を効率的に制御することが可能である。
また、同様に、制御システム1Bを構成する電気機器のグループは、宅内のキッチンにてユーザが操作を希望する電気機器群で構成されている。そして、キッチン内において、調理ボード20がフロント機器としてユーザと対話し、サーバ300に送信してサーバ300から当該電気機器群に対して応答処理を実行する。したがって、ユーザが存在する場所でグループ化された電気機器群を1つのフロント機器を介して制御することが可能であり、ユーザの状況に従って利用する電気機器等を効率的に制御することが可能である。
また、同様に、制御システム1Cを構成する電気機器のグループは、宅内のリビングルームとは別の部屋(たとえば子供部屋)にてユーザが操作を希望する電気機器群で構成されている。そして、子供部屋内において、人形30がフロント機器としてユーザと対話し、サーバ300に送信してサーバ300から当該電気機器群に対して応答処理を実行する。したがって、ユーザが存在する場所でグループ化された電気機器群を1つのフロント機器を介して制御することが可能であり、ユーザの状況に従って利用する電気機器等を効率的に制御することが可能である。
特に、電気機器群の中の1つのフロント機器を利用するため、ユーザは、電気機器群を構成する各電気機器とそれぞれ対話して制御する必要がなく、効率的に制御することが可能であり、電気機器とのコミュニケーション負荷が減る。
なお、本例においては、一例として、場所(エリア)に従って電気機器群をグループ化する場合について説明したが、タスクに従って電気機器群をグループ化するようにしても良い。タスクとは、ユーザが行動(作業)する態様あるいは動作する態様等を含み、例えば、掃除、調理等を挙げることができる。そして、掃除に関連する電気機器をグループ化して同様に制御することも可能である。また、調理に関連する電気機器をグループ化して同様に制御することも可能である。
また、グループ化された電気機器群の構成は固定的に設定されたものを用いることも可能であるが、例えば、タスク毎にグループ化される電気機器群の構成を動的に変更させるようにしても良い。なお、その場合、電気機器関連テーブルが再構築されるものとする。また、同一の電気機器がグループ化された複数の電気機器群にそれぞれ含まれていても良い。
また、ユーザの嗜好に合わせてグループ化される電気機器群の構成(電気機器関連テーブル)を変更可能にしても良い。例えば、ユーザXとYとが存在する場合に、ユーザに応じてグループ化される電気機器群を変更するようにしても良い。なお、ユーザの音声を予め登録(ユーザ登録)しておくことにより、フロント機器に入力されたユーザの音声入力に基づいてユーザを識別して、ユーザに応じてグループ化される電気機器群を変更することが可能である。
また、本例においては、掃除ロボット10、調理ボード20および人形30が予めフロント機器として設定されている場合について説明したが、特にこれに限られず、他の電気機器をフロント機器として予め設定することも可能である。また、この点で、フロント機器として予め設定していない場合であっても、ユーザから最初の音声入力を受け付けた電気機器をフロント機器に設定して動作させるようにしてもよい。そして、図7の応答処理テーブルを利用して複数の電気機器を制御することが可能である。
なお、本例においては、一例として音声認識処理について掃除ロボット10側で実行する方式について説明するが、特にこれに限られず、音声認識処理もサーバで実行するようにしても良い。音声による認識フレーズを認識させる方法とは別の方法でコマンドグループの処理を実行させる場合の認識処理についても同様である。これらの認識処理は、 以下の構成についても同様である。
<実施形態2>
実施形態1においては、フロント機器でユーザの音声入力を受け付けて音声認識し、認識フレーズをサーバ300に送信して、サーバ300から各電気機器を制御する構成について説明した。
本実施形態2においては、フロント機器から各電気機器を制御する構成について説明する。
図10は、実施形態2に基づく制御システム1Aにおける命令コマンドを取得する処理の流れを説明するシーケンス図である。
掃除ロボット10を掃除ロボット10Aに置換した場合が示されている。掃除ロボット10Aは、サーバ300と通信可能に設けられており、サーバ300から各電気機器を制御するために必要な命令コマンドを取得する。
図10に示されるように、ユーザは、掃除ロボット10Aに対して発話(ユーザ発話とも称する)する(シーケンスsq10)。
掃除ロボット10Aは、ユーザ発話に対して音声の入力を受け付ける(シーケンスsq11)。具体的には、掃除ロボット10Aは、マイクを介して外部からの音の入力を受け付ける。
次に、掃除ロボット10Aは、音声データに対して音声認識する(シーケンスsq12)。具体的には、受け付けた音声データについて音声辞書を参照して認識フレーズを取得する。
次に、掃除ロボット10Aは、認識フレーズのデータをサーバ300に送信する(シーケンスsq14)。
サーバ300は、掃除ロボット10Aから受け付けたデータに従う応答処理を実行する(シーケンスsq15)。まず、掃除ロボット10Aからの入力に基づいて制御システム1Aを形成する。そして、応答処理として、例えば、掃除ロボット10Aから受けた認識フレーズ(「涼しくして」)に対応してコマンドグループAを抽出する。そして、当該コマンドグループAに設定されている処理を実行するための命令コマンドを抽出する。
そして、サーバ300は、掃除ロボット10Aに対して抽出した命令コマンドのデータを送信する(シーケンスsq16)。
そして、掃除ロボット10Aは、サーバ300から受け付けた命令コマンドを出力する処理を実行する(シーケンスsq17)。
例えば、コマンドグループAの命令コマンドとして、エアコン11および扇風機16を制御するものとする。具体的には、掃除ロボット10Aは、エアコン11に対して所定温度低くする命令コマンドを出力する。また、掃除ロボット10Aは、扇風機16に対して風量を最大にする命令コマンドを出力する。これにより、エアコン11は、掃除ロボット10Aからの当該命令を受けて、設定温度を所定温度低く設定する。また、扇風機16は、掃除ロボット10Aからの当該命令を受けて、風量を最大に設定する。
掃除ロボット10Aは、音声認識により取得した認識フレーズをサーバ300に送信することにより、サーバ300から当該認識フレーズに対応するコマンドグループに対応する命令コマンドを取得する。そして、掃除ロボット10Aは、取得した命令コマンドに従って各電気機器を制御する。
当該処理により、ユーザが発話した内容に従って応答処理し、応答内容を示す命令コマンドに従って複数の制御装置を制御することが可能となる。
なお、上記においては、サーバ300側でコマンドグループに含まれる命令コマンドを抽出して、掃除ロボット10Aから出力する場合について説明したが、掃除ロボット10A側において、コマンドグループに含まれる命令コマンドを抽出して、抽出した命令コマンドを各電気機器に送信するようにしても良い。
当該構成により、フロント機器から各電気機器を制御することが可能である。
たとえば、各電気機器がサーバ300と通信可能に設けられていない場合、すなわち各電気機器がフロント機器とのみ通信可能に設けられている場合等においてもフロント機器から各制御機器を制御することが可能である。
なお、本例においては、掃除ロボットについて説明したが他のフロント機器についても同様である。
<実施形態3>
本実施形態3においては、サーバ300を介さない構成について説明する。
図11は、実施形態3に従う制御システム2A〜2Cの構成について説明する図である。
図11(A)〜(C)を参照して、制御システム2A〜2Cは、制御システム1A〜1Cと比較して、サーバ300を設けない構成である点で異なる。具体的には、制御システム2Aは、掃除ロボット10Bが各電気機器と通信可能に設けられている。また、制御システム2Bは、調理ボード20Bと各電気機器と通信可能に設けられている。また、制御システム2Cは、人形30Bと各電気機器と通信可能に設けられている。
掃除ロボット10Bは、ユーザと対話するフロント機器として動作し、人間(ユーザ)から掃除ロボット10Bに対して発した音声が入力されると、掃除ロボット10Bにおいて音声認識されて、認識データに基づいて、入力された音声に対する応答内容を表す命令コマンドを抽出する。そして、掃除ロボット10Bは、通信可能に設けられている制御システム2Aを構成する各電気機器に対して、抽出した命令コマンドを送信する。
調理ボード20Bは、ユーザと対話するフロント機器として動作し、人間(ユーザ)から調理ボード20Bに対して発した音声が入力されると、調理ボード20Bにおいて音声認識されて、認識データに基づいて、入力された音声に対する応答内容を表す命令コマンドを抽出する。調理ボード20Bは、通信可能に設けられている制御システム2Bを構成する各電気機器に対して、抽出した命令コマンドを送信する。
人形30Bは、ユーザと対話するフロント機器として動作し、人間(ユーザ)から人形30Bに対して発した音声が入力されると、人形30Bにおいて音声認識されて、認識データに基づいて、入力された音声に対する応答内容を表す命令コマンドを抽出する。人形30Bは、通信可能に設けられている制御システム2Cを構成する各電気機器に対して、抽出した命令コマンドを送信する。
なお、本例においては、掃除ロボット10Bをユーザと対する電気機器(制御機器)として例に挙げて説明するが、本発明はこれに限定されるものではない。掃除ロボット10B以外の家電機器(例えば、テレビ)等によって実現することも可能である。
なお、上記で説明した電気機器関連テーブル、応答処理テーブルについては、それぞれのフロント機器の記憶部630に格納されている。
(応答処理概要)
図12は、実施形態3に基づく制御システム2Aにおける応答処理の流れを説明するシーケンス図である。
図12に示されるように、ユーザは、掃除ロボット10Bに対して発話(ユーザ発話とも称する)する(シーケンスsq0)。
掃除ロボット10Bは、ユーザ発話に対して音声の入力を受け付ける(シーケンスsq1)。具体的には、掃除ロボット10Bは、マイクを介して外部からの音の入力を受け付ける。
次に、掃除ロボット10Bは、音声データに対して音声認識する(シーケンスsq2)。具体的には、受け付けた音声データについて音声辞書を参照して認識フレーズを取得する。
次に、掃除ロボット10Bは、認識フレーズに基づいて応答処理を実行する(シーケンスsq3#)。例えば、応答処理として、本例においては、制御システム2Aを構成するエアコン11および扇風機16を制御するものとする。
そして、掃除ロボット10Bは、エアコン11および扇風機16を制御する命令コマンドをそれぞれの電気機器に送信する(シーケンスsq4)。
そして、エアコン11は、掃除ロボット10Bから送信された命令コマンドに応じた制御(エアコン制御)を実行する(シーケンスsq5)。
次に、扇風機16は、掃除ロボット10Bら送信された命令コマンドに応じた制御(扇風機制御)を実行する(シーケンスsq6)。
当該処理により、ユーザが発話した内容に従って応答処理し、応答内容を示す命令コマンドに従って複数の制御装置を制御することが可能となる。
<実施形態4>
実施形態4においては、掃除ロボット10を掃除ロボット10Cに置換する構成について説明する。実施形態4においては、各制御機器で命令コマンドを判断する処理について説明する。
図13は、実施形態4に基づく掃除ロボット10Cおよび他の制御機器の処理を説明する図である。
図13(A)を参照して、掃除ロボット10Cを含む制御システムの構成が示されている。本例において、掃除ロボット10Cは、サーバ300と通信可能に設けられている。また、他の制御機器は、サーバ300と通信可能に設けられている。
実施形態4においては、掃除ロボット10Cで受け付けた音データをサーバ300を介して電気機器群の各電気機器にそれぞれ出力する。
そして、各電気機器で掃除ロボット10Cで受け付けた音データに対する応答処理を実行する。
図13(B)には、エアコン11の記憶部が有する応答処理テーブルの一例が示されている。
具体的には、認識フレーズ「涼しくして」に対応するコマンドとして、「温度低」が設定されている。また、「暖かくして」に対応するコマンドとして、「温度高」が設定されている。
本例における応答処理の一例として、ユーザから掃除ロボット10Cに対して発した音データを受け付けて、掃除ロボット10Cは、サーバ300に出力する。そして、サーバ300は、掃除ロボット10Cからの入力に基づいて制御システムを構成し、当該制御システムを構成する複数の制御機器にそれぞれの音データを送信する。各制御機器は、認識フレーズに対応するコマンドの処理を実行する。
具体的には、掃除ロボット10Cは、音データ(「涼しくして」)を受け付けて、サーバ300にそのまま送信する。サーバ300は、掃除ロボット10Cから受け付けた音データを掃除ロボット10Cの制御システム(グループ)を形成する各制御機器に送信する。
一例として、サーバ300は、エアコン11に送信する。エアコン11は、音データ(「涼しくして」)を受け付けて、音声認識し、認識フレーズに対応するコマンドとして、設定温度を所定温度低くする命令コマンドを抽出する。そして、エアコン11は、当該命令コマンドに従って、設定温度を所定温度低く設定する。
同様に、掃除ロボット10Cは、音データ(「暖かくして」)を受け付けて、サーバ300にそのまま送信する。サーバ300は、掃除ロボット10Cから受け付けた音データを掃除ロボット10Cの制御システム(グループ)を形成する各制御機器に送信する。
一例として、サーバ300は、エアコン11に送信する。エアコン11は、音データ(「暖かくして」)を受け付けて、音声認識し、認識フレーズに対応するコマンドとして、設定温度を所定温度高くする命令コマンドを抽出する。そして、エアコン11は、当該命令コマンドに従って、設定温度を所定温度高く設定する。
図13(C)には、扇風機16の記憶部が有する応答処理テーブルの一例が示されている。
具体的には、認識フレーズ「涼しくして」に対応するコマンドとして、「風量大」が設定されている。また、「暖かくして」に対応するコマンドとして、「風量中」が設定されている。
本例における応答処理の一例として、ユーザから掃除ロボット10Cに対して発した音データを受け付けて、掃除ロボット10Cは、サーバ300に出力する。そして、サーバ300は、制御システム(グループ)を構成する複数の制御機器にそれぞれの音データを送信する。各制御機器は、認識フレーズに対応するコマンドの処理を実行する。
具体的には、掃除ロボット10Cは、音データ(「涼しくして」)を受け付けて、サーバ300にそのまま送信する。サーバ300は、掃除ロボット10Cから受け付けた音データを掃除ロボット10Cの制御システム(グループ)を形成する各制御機器に送信する。
一例として、サーバ300は、扇風機16に送信する。扇風機16は、音データ(「涼しくして」)を受け付けて、音声認識し、認識フレーズに対応するコマンドとして、風量を最大にする命令コマンドを抽出する。そして、扇風機16は、当該命令コマンドに従って、風量を最大に設定する。同様に、掃除ロボット10Cは、音データ(「暖かくして」)を受け付けて、サーバ300にそのまま送信する。サーバ300は、掃除ロボット10Cから受け付けた音データを掃除ロボット10Cのグループを形成する各制御機器に送信する。
一例として、サーバ300は、扇風機16に送信する。扇風機16は、音データ(「暖かくして」)を受け付けて、音声認識し、認識フレーズに対応するコマンドとして、風量を通常程度(中)に設定する命令コマンドを抽出する。そして、扇風機16は、当該命令コマンドに従って、風量を通常程度(中)に設定する。
当該処理により、掃除ロボット10Cで受け付けた音データをサーバ300を介して電気機器群の各電気機器にそれぞれ出力することにより、電気機器群の各電気機器を制御することが可能である。
なお、掃除ロボット10Cにおいても音データを受け付けて、音声認識し、認識フレーズに対応する命令コマンドがある場合には、当該命令コマンドに従って応答処理を実行する。
本例においては、音データを各電気機器で音声認識する場合について説明したが、フロント機器である掃除ロボット10Cで音声認識して、認識フレーズを各電気機器に送信するようにしても良い。あるいは、サーバ300で音声認識して、認識フレーズを各電気機器に出力するようにしても良い。
また、サーバから各電気機器(エアコン11、扇風機16)に音データを出力するのではなく、サーバで音声認識して、図13(B)、(C)の応答処理テーブルに従って認識フレーズに対応するコマンドを各電気機器(エアコン11、扇風機16)に出力するようにしてもよい。あるいは、サーバで音声認識することなく、音データと応答処理テーブルをそれぞれの電気機器(エアコン11、扇風機16)に出力して、対応する電気機器において認識フレーズに対応するコマンドの処理を実行するようにしてもよい。
なお、掃除ロボット10Cと各電気機器(エアコン11、扇風機16)との間にサーバを設けない構成としてもよい。たとえば、掃除ロボット10Cで受け付けた音データを直接各電気機器(エアコン11、扇風機16)にそれぞれ音データを出力して上記と同様の動作を実行することが可能である。当該構成により早期に制御することが可能である。
<実施形態5>
実施形態5においては、掃除ロボット10と、調理ボード20と、人形30とが互いに連携する場合について説明する。
図14は、実施形態5に従うフロント機器の連携について説明する図である。
図14に示されるように、掃除ロボット10と、調理ボード20と、人形30とがサーバ300を介して互いに通信可能に設けられている。
本例において、掃除ロボット10は、ユーザが発した「料理するよ」を受け付けた場合に当該認識フレーズを認識できない場合には、サーバ300に音データを転送する。
サーバ300で認識フレーズを認識できるか否かを判断する。サーバ300で「料理するよ」が認識された場合には、応答処理テーブルからコマンドグループDを抽出する。そして、当該コマンドグループDに設定されている処理を実行するように対応する電気機器に命令コマンドを出力する。具体的には、制御システム1Bを構成する各電気機器(冷蔵庫24、電子コンロ23)に命令コマンドを出力する。
サーバ300は、冷蔵庫24に対して庫内情報の出力を指示する命令コマンドを出力する。また、サーバ300は、電子コンロ23に対して起動する命令コマンドを出力する。これにより、冷蔵庫24は、サーバ300からの当該命令コマンドを受けて、庫内に貯蔵されている品物の名前を音声出力する。また、電子コンロ23は、サーバ300からの当該命令コマンドを受けて起動する。
当該方式により、ユーザの発話に対する応答処理がフロント機器と関連付けられている電気機器群に対応していない場合であっても、サーバ300で認識することにより、他の制御システム(他のフロント機器に関連付けられている他の電気機器群)に対してユーザの発話に対する応答処理を実行することが可能である。
<実施形態6>
実施形態5においては、サーバ300を介して掃除ロボット10と、調理ボード20と、人形30とが互いに連携する場合について説明した。実施形態6においては、サーバ300を設けない構成においてフロント機器が連携する場合について説明する。
図15は、実施形態6に従うフロント機器の連携について説明する図である。
図15(A)に示されるように、図11で説明した掃除ロボット10Bと、調理ボード20Bと、人形30Bとが互いに通信可能に設けられており、通信部640による通信の態様は特に限られず、パケット通信、赤外線通信、Bluetooth(登録商標)、NFC(Near Field Communication)等によって実現される。
図15(B)に示されるようにフロント機器の構成が登録されるフロント機器テーブルが示されている。一例として、ここでは、掃除ロボット10Bと、調理ボード20Bと、人形30Bとが登録されている。当該フロント機器テーブルは、各フロント機器の記憶部630に格納されているものとする。
本例において、掃除ロボット10Bは、ユーザが発した「料理するよ」を受け付けた場合に当該認識フレーズを認識できない場合には、調理ボード20Bあるいは人形30Bに音データを転送する。そして、調理ボード20Bあるいは人形30Bで認識フレーズを認識できるか否かを判断する。例えば、調理ボード20Bで「料理するよ」が認識された場合には、応答処理テーブルからコマンドグループDを抽出する。そして、当該コマンドグループDに設定されている処理を実行するように対応する電気機器に命令コマンドを出力する。調理ボード20Bは、冷蔵庫24に対して庫内情報の出力を指示する命令コマンドを出力する。また、調理ボード20Bは、電子コンロ23に対して起動する命令コマンドを出力する。これにより、冷蔵庫24は、調理ボード20Bからの当該命令コマンドを受けて、庫内に貯蔵されている品物の名前を音声出力する。また、電子コンロ23は、調理ボード20Bからの当該命令コマンドを受けて起動する。
当該方式により、ユーザの発話に対する応答処理がフロント機器が制御する電気機器群に対応していない場合であっても、他のフロント機器に当該ユーザの発話に対する音データを転送することにより、他のフロント機器を利用して他の電気機器群に対してユーザの発話に対する応答処理を実行することが可能である。
<実施形態7>
実施形態7においては、実行したコマンドグループのログを記録する場合について説明する。当該ログは、サーバ300の一時記憶部320に記録されている。
図16は、実施形態7に従うコマンドグループのログを記録する場合について説明する図である。
図16(A)には、一時記憶部320のログ記憶領域が示されている。
ここでは、時刻とコマンドとのログが記録されている場合が示されている。当該ログは、コマンドグループに対応してログが登録される。具体的には、時刻「○○/○○」に対応して「コマンドグループA」が登録されており、また、時刻「△△/△△」に対応して「コマンドグループB」が登録されている。
図16(B)を参照して、ここでは、認識フレーズに対する応答処理テーブルの一例が示されている。
具体的には、認識フレーズ「またお願い」に対応するコマンドとして、ログ情報の取得が対応付けられている。また、問い合わせ再生が対応付けられている。問い合わせ再生は、取得したログ情報を利用してユーザに問い合わせする処理を意味する。例えば、「・・・でいいですか」と問い合わせする。
同様に、認識フレーズ「またやってね」に対応するコマンドとして、ログ情報の取得が対応付けられている。また、問い合わせ再生が対応付けられている。
また、認識フレーズ「いいよ」に対応するコマンドとして、ログ情報の実行が対応付けられている。
また、認識フレーズ「だめ」に対応するコマンドとして、リセットが対応付けられている。
本例における応答処理の一例として、ユーザから掃除ロボット10に対して発した音データを受け付けて、認識フレーズに対応するコマンドの処理を実行するように制御する。
具体的には、掃除ロボット10は、認識フレーズ「またお願い」を認識した場合には、サーバ300に送信する。サーバ300は、応答処理テーブルからログ情報取得を抽出する。そして、サーバ300は、一時記憶部320のログ記憶領域からログ情報を取得する。その際、時刻が最も近いログ情報を取得する。本例においては、コマンドグループAをログ情報として取得する。
掃除ロボット10は、認識フレーズ「いいよ」を認識した場合には、サーバ300に送信する。サーバ300は、応答処理テーブルから取得したログ情報を実行する。サーバ300は、一例としてコマンドグループAに設定されている処理を実行するように対応する電気機器に命令コマンドを出力する。
掃除ロボット10は、認識フレーズ「だめ」を認識した場合には、サーバ300に送信する。サーバ300は、取得したログ情報をリセットする。この場合には、取得したログ情報に基づく処理は実行されない。
図17は、実施形態7に基づく制御システム1Aにおける応答処理の流れを説明するシーケンス図である。
図17に示されるように、ユーザは、掃除ロボット10に対して発話(ユーザ発話とも称する)する(シーケンスsq40)。ユーザは、一例として「またお願い」を発話する。
掃除ロボット10は、ユーザ発話に対して音声の入力を受け付ける(シーケンスsq41)。具体的には、掃除ロボット10は、マイクを介して外部からの音の入力を受け付ける。
次に、掃除ロボット10は、音声データに対して音声認識する(シーケンスsq42)。具体的には、受け付けた音声データについて音声辞書を参照して認識フレーズを取得する。本例においては、ユーザ発話として「またお願い」を認識する。
次に、掃除ロボット10は、認識フレーズ(「またお願い」)をサーバ300に送信する(シーケンスsq43)。
次に、サーバ300は、認識フレーズに対応して応答処理テーブルを参照してログ情報取得を抽出する(シーケンスsq44)。具体的には、図16(B)に示される認識フレーズ「またお願い」に対応して、ログ情報取得を抽出する。サーバ300は、一時記憶部320のログ記憶領域からログ情報を取得する。その際、時刻が最も近いログ情報を取得する。本例においては、コマンドグループAをログ情報として取得する。
次に、サーバ300は、応答処理を実行する(シーケンスsq45)。具体的には、取得したログ情報に従うユーザからの認識フレーズを利用してユーザに問い合わせるためのデータを生成する。例えば、サーバ300は、コマンドグループAをログ情報として取得した場合には、コマンドグループAに対応付けられている認識フレーズ「涼しくして」を利用して、問い合わせるフレーズ「涼しくして」「でいいですか」の音データを生成する。
そして、サーバ300は、生成した問い合わせ再生データを掃除ロボット10に送信する(シーケンスsq46)。
そして、掃除ロボット10は、再生データに基づいて音声出力処理を実行する(シーケンスsq47)。
そして、掃除ロボット10は、ユーザに問い合わせ再生する(シーケンスsq48)。具体的には、問い合わせるフレーズ「涼しくして」「でいいですか?」の音データを再生してユーザに問い合わせる。
そして、ユーザは、肯定の回答として「いいよ」を発話する(シーケンスsq49)。
掃除ロボット10は、ユーザ発話に対して音声の入力を受け付ける(シーケンスsq50)。
次に、掃除ロボット10は、音声データに対して音声認識する(シーケンスsq51)。具体的には、受け付けた音声データについて音声辞書を参照して認識フレーズを取得する。本例においては、「いいよ」を認識する。
次に、掃除ロボット10は、認識フレーズをサーバ300に送信する(シーケンスsq52)。
次に、サーバ300は、応答処理を実行する(シーケンスsq53)。本例においては、応答処理テーブルから認識フレーズ(「いいよ」)に対応してログ情報実行を抽出する。そして、取得したログ情報であるコマンドグループAを実行する。具体的には、コマンドグループAに設定されている処理を実行するための命令コマンドを抽出する。
そして、サーバ300は、抽出した命令コマンドを出力する処理を実行する(シーケンスsq56)。本例においては、サーバ300は、エアコン11に対して所定温度低くする命令コマンドを出力する。また、サーバ300は、扇風機16に対して風量を最大にする命令コマンドを出力する。
そして、エアコン11は、サーバ300からの命令コマンドを受けてエアコン制御を実行する(シーケンスsq57)。
また、扇風機16は、サーバ300からの命令コマンドを受けて扇風機制御を実行する(シーケンスsq58)。
これにより、エアコン11は、サーバ300からの命令コマンドを受けて、設定温度を所定温度低く設定する。また、扇風機16は、掃除ロボット10からの命令コマンドを受けて、風量を最大に設定する。
当該処理により、過去の処理の実行を指示する所定フレーズをフロント機器に入力することにより、ユーザの好みの制御を簡易に実行することが可能である。
本例においては、コマンドグループのログの記録を利用して、実行されたコマンドグループに含まれる命令コマンドを用いた制御が可能である。
なお、本例においては、一例として音声認識処理についてフロント機器側で実行する方式について説明したが、サーバ側で実行するようにしても良い。
また、本例においては、サーバ300側でコマンドグループに含まれる命令コマンドを抽出して、当該命令コマンドを各電気機器に送信する場合について説明したが、掃除ロボット10を介して各電気機器に送信して制御するようにしても良い。
なお、本例においては、問い合わせ再生によりユーザに前回の指示内容を確認させて、ユーザの再指示を要求する方式を採用しているが、特にこれに限られず、問い合わせ再生することなく、ログの記録を利用して実行されたコマンドグループに含まれる命令コマンドを用いた制御を即座に実行するようにしても良い。
また、本例においては、サーバ300側からの指示に従って問い合わせ再生する方式について説明したが、特にこれに限られず掃除ロボット10が自律的に問い合わせ再生するようにしてもよく、種々の方式を採用することが可能である。
また、本例においては、音声による認識フレーズを認識させていたが、前述のとおり、音声以外によるものであってもよい。また、音声による問合せを再生させていたが、これらは人の声に限られるものではなくチャイム等、問合せを連想させる音であっても良い。さらに、掃除ロボット10が報知部(表示部)を備える場合には、報知部(表示部)を使用して、文字、図柄、光等で問合せを再生させてもよい。以上の認識方法および問合せの再生方法はいかなる組合せで実現してもよい。これらの処理は、以下の構成についても同様である。
<実施形態8>
実施形態8においては、制御システム1A〜1Cの構成においてサーバ300が共通に設けられている場合について説明する。
実施形態8において、サーバ300の一時記憶部320のログ記憶領域について説明する。
図18は、実施形態8に従うコマンドグループのログを記録する場合について説明する図である。
図18に示されるように、一時記憶部320のログ記憶領域には、時刻とコマンドとフロント機器とが関連付けられてログが記録されている場合が示されている。
当該ログは、コマンドグループに対応してログが登録されるとともにどのフロント機器から受け付けたかが示されている。具体的には、時刻「AA/AA」に対応して「コマンドグループA」が登録されており、フロント機器として「掃除ロボット」が登録されている。また、時刻「BB/BB」に対応して「コマンドグループB」が登録されており、フロント機器として「掃除ロボット」が登録されている。
また、時刻「DD/DD」に対応して「コマンドグループD」が登録されており、フロント機器として「調理ボード」が登録されている。また、時刻「EE/EE」に対応して「コマンドグループE」が登録されており、フロント機器として「人形」が登録されている。
本例における応答処理の一例として、ユーザから掃除ロボット10、調理ボード20あるいは人形30に対して発した音データを受け付けて、認識フレーズに対応するコマンドの処理を実行するように制御する。
具体的には、掃除ロボット10は、認識フレーズ「またお願い」を認識した場合には、サーバ300に送信する。サーバ300は、応答処理テーブルからログ情報取得を抽出する。そして、サーバ300は、一時記憶部320のログ記憶領域から掃除ロボット10のログ情報を取得する。その際、時刻が最も近いログ情報を取得する。本例においては、コマンドグループAをログ情報として取得する。以降の処理は、上記で説明したのと同様である。
また、調理ボード20は、認識フレーズ「またお願い」を認識した場合には、サーバ300に送信する。サーバ300は、応答処理テーブルからログ情報取得を抽出する。そして、サーバ300は、一時記憶部320のログ記憶領域から調理ボード20のログ情報を取得する。その際、時刻が最も近いログ情報を取得する。本例においては、コマンドグループDをログ情報として取得する。以降の処理は、上記で説明したのと同様である。
また、人形30は、認識フレーズ「またお願い」を認識した場合には、サーバ300に送信する。サーバ300は、応答処理テーブルから人形30のログ情報取得を抽出する。そして、サーバ300は、一時記憶部320のログ記憶領域からログ情報を取得する。その際、時刻が最も近いログ情報を取得する。本例においては、コマンドグループEをログ情報として取得する。以降の処理は、上記で説明したのと同様である。
当該処理によりどのフロント機器からのデータに基づいてコマンドグループを実行したかをログに記録しておくことにより、認識フレーズ「またお願い」がどの機器に対する「またお願い」なのかを容易に把握して、適切に処理することが可能である。
<実施形態9>
実施形態9においては、サーバ300を設けない構成において、実行したコマンドグループのログを記録する場合について説明する。ログは、各フロント機器に一時記憶部620に格納されているものとする。
図19は、実施形態9に基づく制御システム2Aにおける応答処理の流れを説明するシーケンス図である。
図19に示されるように、ユーザは、掃除ロボット10Bに対して発話(ユーザ発話とも称する)する(シーケンスsq20)。ユーザは、一例として「またお願い」を発話する。
掃除ロボット10Bは、ユーザ発話に対して音声の入力を受け付ける(シーケンスsq21)。具体的には、掃除ロボット10Bは、マイクを介して外部からの音の入力を受け付ける。
次に、掃除ロボット10Bは、音声データに対して音声認識する(シーケンスsq22)。具体的には、受け付けた音声データについて音声辞書を参照して認識フレーズを取得する。本例においては、ユーザ発話として「またお願い」を認識する。
次に、掃除ロボット10Bは、認識フレーズ(「またお願い」)に対応して応答処理テーブルを参照してログ情報取得を抽出する(シーケンスsq23)。具体的には、図16(B)に示される認識フレーズ「またお願い」に対応して、ログ情報取得を抽出する。掃除ロボット10Bは、一時記憶部620のログ記憶領域からログ情報を取得する。その際、時刻が最も近いログ情報を取得する。本例においては、コマンドグループAをログ情報として取得する。
次に、掃除ロボット10Bは、応答処理を実行する(シーケンスsq24)。具体的には、取得したログ情報に従うユーザからの認識フレーズを利用してユーザに問い合わせるためのデータを生成する。例えば、掃除ロボット10Bは、コマンドグループAをログ情報として取得した場合には、コマンドグループAに対応付けられている認識フレーズ「涼しくして」を利用して、問い合わせるフレーズ「涼しくして」「でいいですか」の音データを生成する。
そして、掃除ロボット10Bは、ユーザに問い合わせ再生する(シーケンスsq25)。具体的には、問い合わせるフレーズ「涼しくして」「でいいですか?」の音データを再生してユーザに問い合わせる。
そして、ユーザは、肯定の回答として「いいよ」を発話する(シーケンスsq26)。
掃除ロボット10Bは、ユーザ発話に対して音声の入力を受け付ける(シーケンスsq27)。
次に、掃除ロボット10Bは、音声データに対して音声認識する(シーケンスsq28)。具体的には、受け付けた音声データについて音声辞書を参照して認識フレーズを取得する。本例においては、「いいよ」を認識する。
次に、掃除ロボット10Bは、応答処理を実行する(シーケンスsq29)。本例においては、応答処理テーブルから認識フレーズ(「いいよ」)に対応してログ情報実行を抽出する。そして、取得したログ情報であるコマンドグループAを実行する。具体的には、コマンドグループAに設定されている処理を実行するための命令コマンドを抽出する。
そして、掃除ロボット10Bは、抽出した命令コマンドを出力する処理を実行する(シーケンスsq30)。本例においては、掃除ロボット10Bは、エアコン11に対して所定温度低くする命令コマンドを出力する。また、掃除ロボット10Bは、扇風機16に対して風量を最大にする命令コマンドを出力する。
そして、エアコン11は、掃除ロボット10Bからの命令コマンドを受けてエアコン制御を実行する(シーケンスsq31)。
また、扇風機16は、掃除ロボット10Bからの命令コマンドを受けて扇風機制御を実行する(シーケンスsq32)。
これにより、エアコン11は、掃除ロボット10Bからの命令コマンドを受けて、設定温度を所定温度低く設定する。また、扇風機16は、掃除ロボット10Bからの命令コマンドを受けて、風量を最大に設定する。
当該処理により、過去の処理の実行を指示する所定フレーズをフロント機器に入力することにより、ユーザの好みの制御を簡易に実行することが可能である。
本例においては、コマンドグループのログの記録を利用して、実行されたコマンドグループに含まれる命令コマンドを用いた制御が可能である。
なお、本例においては、問い合わせ再生によりユーザに前回の指示内容を確認させて、ユーザの再指示を要求する方式を採用しているが、特にこれに限られず、問い合わせ再生することなく、ログの記録を利用して実行されたコマンドグループに含まれる命令コマンドを用いた制御を即座に実行するようにしても良い。
<実施形態10>
上記の実施形態においては、宅内に設けられた掃除ロボットがユーザと対話する機器(フロント機器)として動作する場合について説明したが、他の機器をフロント機器として動作させることも可能である。他の機器としては、携帯可能な情報処理機器(端末)をフロント機器とすることが挙げられる。
実施形態10においては、外部に設けられたネットワークを介して通信可能に設けられた端末をフロント機器として各電気機器を制御する方式について説明する。
図20は、実施形態10に基づく制御システム1A#の構成について説明する図である。
図20を参照して、制御システム1A#は、サーバ300がネットワーク202を介して外部の端末200と通信可能に設けられている場合が示されている。
端末200は、各電気機器を制御するためのインターフェイス画面(操作画面)を表示することが可能であり、当該操作画面に対して操作された指示を受け付けてネットワーク202を介してサーバ300に送信する。
図21は、端末200が有する表示部に表示される操作画面の例を説明する図である。
図21に示されるように、ここでは、操作画面の一例が示されている。
具体的には、操作画面210には、ユーザの選択を受け付けることが可能な複数の制御アイコンが設けられている。一例として、操作画面210には、「掃除して」アイコン212、「暖かくして」アイコン214、「涼しくして」アイコン216が設けられる。
たとえば、「掃除して」アイコン212を選択することにより、端末200からネットワーク202を介してサーバ300に当該アイコン命令が出力される。
同様に、「暖かくして」アイコン214を選択することにより、端末200からネットワーク202を介してサーバ300に当該アイコン命令が出力される。
また、「涼しくして」アイコン216を選択することにより、端末200からネットワーク202を介してサーバ300に当該アイコン命令が出力される。
サーバ300は、ネットワーク202を介して受信する端末200からの当該アイコン命令を受け付けて応答処理し、応答内容を示す命令コマンドに従って複数の電気機器を制御する。
具体的には、サーバ300は、端末200からの「掃除して」アイコン212の操作命令を受け付けた場合には、サーバ300は、応答処理テーブルからコマンドグループAを抽出する。そして、当該コマンドグループAに設定されている処理を実行するように制御システム1Aを構成する対応する電気機器に命令コマンドを出力する。サーバ300は、エアコン11に対して所定温度低くする命令コマンドを出力する。また、サーバ300は、扇風機16に対して風量を最大にする命令コマンドを出力する。これにより、エアコン11は、サーバ300からの当該命令コマンドを受けて、設定温度を所定温度低く設定する。また、扇風機16は、サーバ300からの当該命令コマンドを受けて、風量を最大に設定する。
他の処理についても上記で説明したのと同様に実行される。
したがって、端末200をフロント機器として利用して、遠隔から各電気機器を制御することが可能である。制御するグループに含まれていない制御機器をフロント機器として利用することも可能である。すなわち、フロント機器をグループ外の機器に設定してもよいし、グループ外の機器がフロント機器としてユーザからの要求を受け付けるようにしてもよい。
なお、本例において端末200は、制御システム1Aの各電気機器を制御する場合について説明したが、特にこれに限られず制御システム1B,1Cについても同様に適用可能である。
なお、本例においては、サーバ300から各電気機器に対して命令コマンドが出力される構成について説明したが、特にこれに限られず、図10で説明したようにフロント機器である掃除ロボット10Aから出力する構成としてもよい。
具体的には、端末200からサーバに対してアイコンの操作指示が出力される。そして、サーバは、当該操作指示を受け付けて、掃除ロボット10Aに対して、制御指示を出力する。掃除ロボット10Aは、サーバからの「掃除して」アイコン212の操作に対応する制御指示を受け付けた場合には、掃除ロボット10Aは、応答処理テーブルからコマンドグループAを抽出する。そして、当該コマンドグループAに設定されている処理を実行するように対応する電気機器に命令コマンドを出力する。掃除ロボット10Aは、エアコン11に対して所定温度低くする命令コマンドを出力する。また、掃除ロボット10Aは、扇風機16に対して風量を最大にする命令コマンドを出力する。これにより、エアコン11は、掃除ロボット10Aからの当該命令コマンドを受けて、設定温度を所定温度低く設定する。また、扇風機16は、掃除ロボット10Aからの当該命令コマンドを受けて、風量を最大に設定する。
なお、本例においては、サーバ300は、端末200の操作画面の操作を受け付けて各電気機器を制御する構成について説明したが、端末200の操作画面に限られず、たとえば端末200に設けられたマイクを利用して入力された音声データを受け付けて各電気機器を制御する構成としても良い。
また、本例においては、端末200は、ネットワーク201を介してサーバ300と接続される構成について説明しているが、通信可能に設けられた構成であればどのような構成でもよく、たとえば、別のサーバを介してサーバ300と接続される構成としても良い。
<実施形態11>
各電気機器等の制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合には、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。