(57)【要約】【課題】複数種類の電気機器を制御することが可能な通信端末を利用して、当該通信端末の周囲の電気機器を効率的に制御することができるネットワークシステム、情報処理方法、サーバ、または通信端末を提供する。【解決手段】ネットワークシステム１は、リモコンコードの受信が可能な少なくとも１つの電気機器３００と、双方向通信によって指示を出力する第１の端末５００（４００）と、双方向通信によって第１の端末５００（４００）からの指示を受信して、指示に対応するリモコンコードを発信する通信端末２００と、を備える。【選択図】図２３
2018152756.tif 000002
【特許請求の範囲】
【請求項１】
制御信号の受信が可能な少なくとも１つの電気機器と、
双方向通信によって指示を出力する第１の端末と、
前記双方向通信によって前記第１の端末からの指示を受信して、前記指示に対応する制御信号を発信する通信端末と、を備えるネットワークシステム。
【請求項２】
ユーザからの指示を受け付けて、前記第１の端末に前記指示を送信する第２の端末をさらに備える、請求項１に記載のネットワークシステム。
【請求項３】
前記通信端末は、前記電気機器が前記指示を受け付けたか否かを判断し、前記電気機器が前記指示を受け付けたことを示す情報を前記第１の端末に送信する、請求項１または２に記載のネットワークシステム。
【請求項４】
前記通信端末は、前記電気機器が前記指示を受け付けたかを複数種類の方法で判断するための機能を含む、請求項３に記載のネットワークシステム。
【請求項５】
前記通信端末は、複数種類のセンサを含み、前記複数種類のセンサを利用することによって前記電気機器が前記指示を受け付けたかを複数種類の方法で判断する、請求項４に記載のネットワークシステム。
【請求項６】
前記通信端末は、判断した方法に基づいて、前記情報の正確さを示す情報を前記第１の端末に送信する、請求項４または５に記載のネットワークシステム。
【請求項７】
前記通信端末は、前記電気機器が前記指示を受け付けたか否かを判断した後で、前記第１の端末からの指示に基づいて再度、前記電気機器が前記指示を受け付けたか否かを判断する、請求項３から６のいずれか１項に記載のネットワークシステム。
【請求項８】
前記少なくとも１つの電気機器に関する動作状態を参照可能に保持する、請求項１から６のいずれか１項に記載のネットワークシステム。
【請求項９】
第１の端末が双方向通信によって指示を送信するステップと、
通信端末が前記指示に対応する制御信号を発信するステップと、
電気機器が前記制御信号を受信するステップと、を備える情報処理方法。
【請求項１０】
通信端末と通信するための通信インターフェイスと、
前記通信端末からの検知情報に基づいて、前記通信端末が発信した制御信号を電気機器が受け付けたか否かを判断し、当該判断結果を前記通信インターフェイスを介して前記通信端末に提供するためのプロセッサと、を備えるサーバ。
【請求項１１】
通信インターフェイスを介して通信端末から検知情報を取得するステップと、
前記検知情報に基づいて、前記通信端末が発信した制御信号を電気機器が受け付けたか否かを判断するステップと、
判断結果を前記通信インターフェイスを介して前記通信端末に提供するステップと、を備えるサーバの情報処理方法。
【請求項１２】
双方向通信用の通信インターフェイスと、
制御信号を発信する発信部と、
前記通信インターフェイスを介して第１の端末からの指示を受け付けて、前記発信部に前記指示に対応する制御信号を発信させるためのプロセッサと、を備える通信端末。
【請求項１３】
電気機器に対する指示を送信する第１の端末と、
前記電気機器に対する指示を出力し、前記電気機器が前記指示を受け付けたか否かを判断し、前記電気機器が前記指示を受け付けたことを示す情報と当該情報の正確さを示す情報とを前記第１の端末に提供する通信端末と、を備えるネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気機器をリモートコントロールするための技術に関する。
【背景技術】
【０００２】
従来から、赤外線などを利用して機器をリモートコントロールするための技術が知られている。たとえば、特開平１０−２１５４９３号公報（特許文献１）には、周辺機器コントロール装置が開示されている。特許文献１は、周辺機器コントロール装置をリモコンコードセットのデータベースサービスと接続することにより、新しいリモコンコードセットを学習させる際の手間と取り付きにくい操作を省くものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２１５４９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、複数種類の電気機器を制御することが可能な通信端末を利用して、当該通信端末の周囲の電気機器を効率的に制御することができるネットワークシステム、情報処理方法、サーバ、または通信端末を提供することにある。
【課題を解決するための手段】
【０００５】
本発明のある態様に従うと、ネットワークシステムが提供される。ネットワークシステムは、リモコンコードの受信が可能な少なくとも１つの電気機器と、双方向通信によって指示を出力する第１の端末と、双方向通信によって第１の端末からの指示を受信して、指示に対応するリモコンコードを発信する通信端末と、を備える。
【発明の効果】
【０００６】
以上のように、本発明によれば、複数種類の電気機器を制御することが可能な通信端末を利用して、当該通信端末の周囲の電気機器を効率的に制御することができるネットワークシステム、情報処理方法、サーバ、または通信端末が提供される。
【図面の簡単な説明】
【０００７】
【図１】第１の実施の形態にかかるネットワークシステム１の全体構成と第１の動作概要を示す図である。
【図２】第１の実施の形態にかかるネットワークシステム１の全体構成と第２の動作概要を示す図である。
【図３】第１の実施の形態にかかるネットワークシステム１のリモコン補助サーバ１００の構成を示すブロック図である。
【図４】第１の実施の形態にかかる機器情報テーブル１２１を示すイメージ図である。
【図５】第１の実施の形態にかかるリモコンコードの例を示すイメージ図である。
【図６】第１の実施の形態にかかる標準命令テーブル１２２を示すイメージ図である。
【図７】第１の実施の形態にかかるリモコンコードパターンテーブル１２３を示すイメージ図である。
【図８】第１の実施の形態にかかる確認テーブル１２４を示すイメージ図である。
【図９】第１の実施の形態にかかる状態テーブル１２５を示すイメージ図である。
【図１０】第１の実施の形態にかかるリモコン補助サーバ１００における情報処理を示すフローチャートである。
【図１１】第１の実施の形態にかかるロボット２００の構成を示すブロック図である。
【図１２】第１の実施の形態にかかる第１の電気機器３００の構成を示すブロック図である。
【図１３】第１の実施の形態にかかる第２の電気機器３００の構成を示すブロック図である。
【図１４】第１の実施の形態にかかる家電制御サーバ４００の構成を示すブロック図である。
【図１５】第１の実施の形態にかかるホームコントローラ５００の構成を示すブロック図である。
【図１６】第１の実施の形態にかかるスマートフォン６００の構成を示すブロック図である。
【図１７】第１の実施の形態にかかるネットワークシステム１の全体的な第１の処理を示すイメージ図である。
【図１８】第１の実施の形態にかかるネットワークシステム１におけるリモコンコード特定のための情報処理を示すフローチャートである。
【図１９】第１の実施の形態にかかるガイダンス学習テーブル１２６を示すイメージ図である。
【図２０】第１の実施の形態にかかるこだわり個別テーブル１２７を示すイメージ図である。
【図２１】第１の実施の形態にかかるネットワークシステム１の全体的な第２の処理を示すイメージ図である。
【図２２】第１の実施の形態にかかるネットワークシステム１の全体的な第３の処理を示すイメージ図である。
【図２３】第１の実施の形態にかかるネットワークシステム１の全体的な第４の処理を示すイメージ図である。
【図２４】第２の実施の形態にかかるスマートフォン６００の画面を示すイメージ図である。
【図２５】第２の実施の形態にかかるネットワークシステム１の全体的な第４の処理を示すイメージ図である。
【図２６】第３の実施の形態にかかるスマートフォン６００の画面を示すイメージ図である。
【図２７】第３の実施の形態にかかる確認テーブル１２４Ｂを示すイメージ図である。
【図２８】第３の実施の形態にかかる状態テーブル１２５Ｂを示すイメージ図である。
【図２９】第３の実施の形態にかかるリモコン補助サーバ１００における情報処理を示すフローチャートである。
【図３０】第４の実施の形態にかかる条件テーブル１２９を示すイメージ図である。
【図３１】第６の実施の形態にかかるネットワークシステム１の全体構成と第２の動作概要を示す図である。
【図３２】第６の実施の形態にかかるロボット２００における情報処理を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
＜第１の実施の形態＞
＜ネットワークシステム１の全体構成＞
【０００９】
まず、図１を参照して本実施の形態にかかるネットワークシステム１の全体構成について説明する。本実施の形態にかかるネットワークシステム１は、主に、リモコン補助サーバ１００と、各種サービスをユーザに提供するロボット２００などの通信端末と、照明３００Ａやエアコン３００Ｂや扇風機３００Ｃなどの各種の電気機器と、電気機器を遠隔から制御するための家電制御サーバ４００と、各種の電気機器の消費電力や動作状態を管理するためのホームコントローラ５００などの第１の端末と、ユーザ操作を受け付けるスマートフォン６００などの第２の端末と、を含む。
【００１０】
なお、電気機器は、照明３００Ａやエアコン３００Ｂや扇風機３００Ｃに限らず、冷蔵庫、電子レンジ、洗濯機、掃除機、空気清浄器、加湿器、除湿器、炊飯器、照明などの家電、テレビ、ハードディスクレコーダ、プロジェクタ、音楽プレーヤ、ゲーム機、パーソナルコンピュータ、携帯電話、スマートフォンなどのＡＶ（オーディオ・ビジュアル）機器、太陽光発電機、インターホン、給湯器、温水洗浄便座コントローラなどの住宅設備、などであってもよい。なお、以下では、これらの装置を総称して、電気機器３００ともいう。
＜ネットワークシステム１の動作概要＞
【００１１】
以下では、図１と図２に基づいて、本実施の形態にかかるネットワークシステム１の動作概要について説明する。より詳細には、図１は、双方向通信が可能な照明３００Ａを制御する場合の動作概要を示し、図２は、赤外線通信などの片方向のリモコンコードの受信のみが可能なエアコン３００Ｂや扇風機３００Ｃを制御する場合の動作概要を示す。
【００１２】
図１を参照して、たとえば、ユーザが、ＥＣＨＯＮＥＴ（登録商標）の規格に対応する照明３００Ａに関する命令を、スマートフォン６００に入力する。するとスマートフォン６００は、当該命令を家電制御サーバ４００に送信する。家電制御サーバ４００は、ルータ８００などを介して、当該命令をホームコントローラ５００に送信する。ホームコントローラ５００は、たとえば、ＷｉＦｉ（登録商標）通信などによって、ＥＣＨＯＮＥＴ（登録商標）の規格に沿って、当該命令を照明３００Ａに送信する。
【００１３】
照明３００Ａはホームコントローラ５００とＷｉＦｉ（登録商標）などの双方向通信を行うため、照明３００Ａが当該命令を受け付けたことをホームコントローラ５００は認識することができる。より詳細には、照明３００Ａは、当該命令を受け付けた旨をルータ８００やホームコントローラ５００に返したり、要求された情報をルータ８００・ホームコントローラ５００・家電制御サーバ４００を介してスマートフォン６００に提供したりする。なお、家電制御サーバ４００は、ホームコントローラ５００を介さずに照明３００Ａと情報をやり取りしてもよい。
【００１４】
次に、図２を参照して、たとえば、ユーザが、双方向通信不能な扇風機３００Ｃに対する命令を、スマートフォン６００に入力する。するとスマートフォン６００は、当該命令を家電制御サーバ４００に送信する。家電制御サーバ４００は、ルータ８００などを介して、当該命令をホームコントローラ５００に送信する。ホームコントローラ５００は、ＷｉＦｉ（登録商標）などの双方向通信によって扇風機３００Ｃに命令を送信できないため、ロボット２００に制御命令の伝達の仲介を要求する。
【００１５】
本実施の形態においては、ロボット２００は、ホームコントローラ５００からの指示に基づいて扇風機３００Ｃに対する赤外線のリモコンコードを発信する。ロボット２００は、ロボット２００や扇風機３００Ｃの周囲の状況を検知して、検知結果をルータ８００やインターネットを介してリモコン補助サーバ１００に送信する。リモコン補助サーバ１００は、ロボット２００や扇風機３００Ｃの周囲の状況を示すデータに基づいて、扇風機３００Ｃがリモコンコードを正常に受け付けたか否かを判断する。
【００１６】
より詳細には、リモコン補助サーバ１００は、インターネットやルータ８００を介して判断結果をロボット２００に送信し、ロボット２００は当該判断結果をホームコントローラ５００・家電制御サーバ４００を介してスマートフォン６００に提供する。
【００１７】
このように、本実施の形態においては、双方向通信ができないエアコン３００Ｂや扇風機３００Ｃに関しても、スマートフォン６００やホームコントローラ５００が、ロボット２００を介して命令を送信したり、そのフィードバックを取得したりすることが可能になる。以下、このような機能を実現するためのネットワークシステム１の具体的な構成について詳述する。
＜リモコン補助サーバ１００の構成＞
【００１８】
まず、本実施の形態にかかるネットワークシステム１を構成するリモコン補助サーバ１００の構成の一態様について説明する。図３を参照して、リモコン補助サーバ１００は、主たる構成要素として、ＣＰＵ（Central Processing Unit）１１０と、メモリ１２０と、操作部１４０と、通信インターフェイス１６０とを含む。
【００１９】
ＣＰＵ１１０は、メモリ１２０に記憶されているプログラムを実行することによって、リモコン補助サーバ１００の各部を制御する。たとえば、ＣＰＵ１１０は、各種のデータを参照することによって後述する各種の処理を実行する。
【００２０】
メモリ１２０は、各種のＲＡＭ（Random  Access  Memory）、各種のＲＯＭ（Read-Only  Memory）などによって実現される。メモリ１２０は、ＣＰＵ１１０によって実行されるプログラムや、ＣＰＵ１１０によるプログラムの実行により生成されたデータ、入力されたデータなどを記憶する。
【００２１】
本実施の形態にかかるメモリ１２０は、図４に示すような機器情報テーブル１２１を記憶する。機器情報テーブル１２１は、たとえば機器毎に、機器ＩＤと、機器の種類と、ユーザのＩＤと、ユーザ名と、住所と、アドレスと、リモコンによって制御される際のリモコンコード一式を特定するためのパターンＩＤなどを含む。機器情報テーブル１２１の機器には、操作される側の電気機器３００も、操作する側のロボット２００やホームコントローラ５００なども含まれる。
【００２２】
メモリ１２０は、メーカ毎および電気機器３００の種類毎のリモコンコード一式のデータを記憶する。なお、リモコンコードの各々は、たとえば図５に示すように、メーカを特定するためのコードやエラーをチェックするためのコードやリモコンコードを示すコードなどを含むものである。
【００２３】
メモリ１２０は、図６に示すような、標準命令テーブル１２２を記憶する。標準命令テーブル１２２は、典型的な電気機器３００の種類毎に、典型的な制御命令を含む。なお、本実施の形態においては、典型的な電気機器３００の種類毎に２ケタの識別情報である種類ＩＤが対応付けられ、典型的な制御命令毎に３ケタ以上の識別情報である制御命令ＩＤが対応付けられる。
【００２４】
メモリ１２０は、図７に示すような、リモコンコードパターンテーブル１２３を記憶する。リモコンコードパターンテーブル１２３は、メーカや電気機器３００の種類毎に、リモコンコードパターンＩＤと、メーカＩＤと、メーカ名と、対象となる電気機器３００の種類ＩＤと、対象となる電気機器３００の種類名と、複数の制御命令ＩＤ（図６の３ケタ以上の識別情報）と、当該複数の制御命令のそれぞれに対応する複数のリモコンコードとを含む。なお、制御命令とは、たとえば、リモコンのボタンの名前に相当する情報である。
【００２５】
メモリ１２０は、さらに、図８に示すような、確認テーブル１２４を記憶する。確認テーブル１２４は、制御項目と制御状態とに応じて、音声制御コマンドを示すテキストデータと、確認音声のテキストデータと、リモコンコードと、音声の種類などの動作状態の検知方法と、の対応関係を含む。
【００２６】
メモリ１２０は、さらに、図９に示すような、状態テーブル１２５を記憶する。状態テーブル１２５は、制御対象の電気機器３００毎に、電気機器３００の種類と、リモコンコードの発信手段と、電気機器３００の動作状態の確認手段と、現在の電気機器３００の動作状態との対応関係を含む。リモコン補助サーバ１００は、仲介役のロボット２００毎に、当該ロボット２００の制御対象に関する状態テーブル１２５を記憶する。
【００２７】
なお、リモコン補助サーバ１００は、ＥＣＨＯＮＥＴ（登録商標）に対応していない電気機器３００の動作状態のみ、すなわちロボット２００が赤外線のリモコンコードを送信する役割を負っている電気機器３００の動作状態のみを管理してもよいし、ロボット２００のユーザが所有するＷｉＦｉ（登録商標）通信などが可能な電気機器３００の動作状態も管理するものであってもよい。
【００２８】
図３に戻って、操作部１４０は、サービスの管理者などの命令を受け付けて、当該命令をＣＰＵ１１０に入力する。
【００２９】
通信インターフェイス１６０は、ＣＰＵ１１０からのデータを、インターネット、キャリア網、ルータなどを介してロボット２００などの他の装置に送信する。逆に、通信インターフェイス１６０は、インターネット、キャリア網、ルータなどを介してロボット２００などの他の装置からのデータを受信して、ＣＰＵ１１０に受け渡す。
＜リモコン補助サーバ１００の情報処理＞
【００３０】
次に、図１０を参照して、本実施の形態にかかるリモコン補助サーバ１００の情報処理について説明する。リモコン補助サーバ１００のＣＰＵ１１０は、通信インターフェイス１６０を介して、ロボット２００などの通信端末からデータを受信すると、以下の処理を実行する。
【００３１】
ＣＰＵ１１０は、受信データから、ロボット２００などの通信端末を特定するための機器ＩＤを読み出す（ステップＳ１０１）。ＣＰＵ１１０は、受信データから、通信端末が発信した制御命令と対象の電気機器３００の種類などを特定する（ステップＳ１０２）。ＣＰＵ１１０は、確認テーブル１２４を参照して当該制御命令が電気機器３００に受け付けられたか否かを判断するための確認音声や検知方法を読み出して、通信インターフェイス１６０を介して通信端末に送信する（ステップＳ１０４）。
【００３２】
ＣＰＵ１１０は、通信インターフェイス１６０を介して、通信端末からの回答データを待ち受ける（ステップＳ１０５）。より詳細には、ＣＰＵ１１０は、通信端末からの回答データを受信していない場合（ステップＳ１０５にてＮＯである場合）、確認音声や検知方法を送信してから所定時間が経過したか否かを判断する（ステップＳ１０６）。ＣＰＵ１１０は、所定時間が経過するまで（ステップＳ１０６にてＮＯである場合）、ステップＳ１０５からの処理を繰り返す。所定時間が経過すると（ステップＳ１０６にてＹＥＳである場合）、ＣＰＵ１１０は、ステップＳ１０４からの処理を繰り返す。
【００３３】
通信端末からの回答データを受信すると（ステップＳ１０５にてＹＥＳである場合）、ＣＰＵ１１０は、回答データに基づいて通信端末からの制御命令が電気機器３００に受け付けられたか否かを判断する（ステップＳ１０７）。なお、ＣＰＵ１１０は、制御命令が電気機器３００に受け付けられた場合は、通信端末に対応する状態テーブル１２５の対象となっている電気機器３００の動作状態を更新する。
【００３４】
ＣＰＵ１１０は、通信インターフェイス１６０を介して、判断結果を通信端末に提供する（ステップＳ１０８）。ＣＰＵ１１０は、通信インターフェイス１６０を介して、次の通信端末からのデータを待ち受ける。
【００３５】
なお、ＣＰＵ１１０は、ステップＳ１０７において、制御命令が電気機器３００に受け付けられなかったと判断した場合は、通信インターフェイス１６０を介して、再度おなじ制御命令を発信するようにロボット２００に指示してもよい。そして、所定回数失敗した場合に、制御命令の送信を失敗した旨をホームコントローラ５００や家電制御サーバ４００に送信してもよい。より詳細には、リモコン補助サーバ１００が、リモコンコードの再発信をロボット２００に指示する形態であってもよいし、ロボット２００側の判断でリモコンコードの再発信を実行するものであってもよい。
【００３６】
＜ロボット２００の構成＞
【００３７】
次に、図１１を参照して、ネットワークシステム１を構成するロボット２００の構成の一態様について説明する。ロボット２００は、主たる構成要素として、ＣＰＵ２１０と、メモリ２２０と、ディスプレイ２３０と、操作部２４０と、カメラ２５０、通信インターフェイス２６０と、スピーカ２７０と、マイク２８０と、胴体の周囲の複数の赤外線発信部２６５Ａ，２６５Ｂ・・・と、赤外線受光部２９０と、照度センサ２８１や温度センサ２８２や風量センサ２８３などの各種センサを含む。
【００３８】
ＣＰＵ２１０は、メモリ２２０あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、ロボット２００の各部を制御する。
【００３９】
メモリ２２０は、各種のＲＡＭや、各種のＲＯＭなどによって実現される。メモリ２２０は、ＣＰＵ２１０によって実行されるプログラムや、ＣＰＵ２１０によるプログラムの実行により生成されたデータ、リモコン補助サーバ１００や他のサーバから受信したデータ、操作部２４０を介して入力されたデータ、電気機器３００のリモコンコードなどを記憶する。なお、メモリ２２０が複数種類の電気機器３００のリモコンコード一式を長期間格納するものであってもよいし、ユーザからの制御命令が入力される度にＣＰＵ２１０がリモコン補助サーバ１００から対応するリモコンコードを一時的に取得して赤外線発信部２６５Ａ，２６５Ｂ・・・から発信するものであってもよい。
【００４０】
ディスプレイ２３０は、ＣＰＵ２１０からの信号に基づいて、文字や画像などを出力する。ディスプレイ２３０は、単にライトであってもよい。
【００４１】
操作部２４０は、ボタン、タッチパネルなどによって実現され、ユーザからの命令を受け付けて、当該命令をＣＰＵ２１０に入力する。なお、ディスプレイ２３０と操作部２４０とは、タッチパネルを構成してもよい。
【００４２】
また、操作部２４０は、近接センサや温度センサなどであってもよい。この場合は、ＣＰＵ２１０は、操作部２４０としての近接センサや温度センサを介して、ユーザがロボット２００に手をかざしたことを検知して、各種の動作を開始する。たとえば、近接センサが額の近辺に配置されることによって、ユーザがロボット２００をなでたり・たたいたりすることをロボット２００が検知して、ユーザ操作として受け付けてもよい。
【００４３】
カメラ２５０は、画像を撮影して、画像データをＣＰＵ２１０に受け渡す。ＣＰＵ２１０は、カメラ２５０からの画像データに基づいてユーザの動きを操作命令として特定してもよいし、画像データをリモコン補助サーバ１００に提供してリモコン補助サーバ１００がユーザの動きを操作命令として特定してもよい。
【００４４】
通信インターフェイス２６０は、無線ＬＡＮ通信あるいは有線ＬＡＮなどの通信モジュールによって実現される。通信インターフェイス２６０は、有線通信あるいは無線通信によってリモコン補助サーバ１００などの他の装置との間でデータを送受信する。
【００４５】
スピーカ２７０は、ＣＰＵ２１０からの信号に基づいて、音声を出力する。より詳細には、本実施の形態においては、ＣＰＵ２１０は、通信インターフェイス２６０を介してリモコン補助サーバ１００などの他の装置から受信した音声データに基づいてスピーカ２７０に音声メッセージを出力させる。なお、テキストから音声データに変換する処理は、ロボット２００で行われてもよいし、リモコン補助サーバ１００などの他の装置で行われてもよい。
【００４６】
マイク２８０は、外部からの音声に基づいて音声信号を作成し、ＣＰＵ２１０に入力する。より詳細には、本実施の形態においては、ＣＰＵ２１０は、マイク２８０から取得した音声データを、通信インターフェイス２６０を介してリモコン補助サーバ１００に送信する。なお、音声データの解析処理は、ロボット２００で行われてもよいし、リモコン補助サーバ１００などの他の装置で行われてもよい。
【００４７】
赤外線発信部２６５Ａ，２６５Ｂ・・・は、ロボット２００の外周に配置されており、ＣＰＵ２１０からの信号に応じて、ロボット２００の周囲の各方向に赤外線信号を発信する。
【００４８】
赤外線受光部２９０は、リモコン２００Ｘなどからの赤外線信号を受信して、当該信号をＣＰＵ２１０に入力する。なお、赤外線受光部２９０も赤外線発信部２６５Ａ，２６５Ｂ・・・と同様に複数あることが好ましい。
【００４９】
照度センサ２８１や温度センサ２８２や風量センサ２８３などの各種センサは、ロボット２００の周囲の環境に関する検知結果や測定結果をＣＰＵ２１０に受け渡す。
＜電気機器３００の構成＞
【００５０】
次に、電気機器３００の構成について説明する。まず、図１２を参照して、双方向通信が可能な電気機器３００の構成の一態様について説明する。電気機器３００は、主たる構成要素として、ＣＰＵ３１０と、メモリ３２０と、ディスプレイ３３０と、操作部３４０と、通信インターフェイス３６０と、スピーカ３７０と、赤外線受光部３８０と、機器駆動部３９０とを含む。
【００５１】
ＣＰＵ３１０は、メモリ３２０あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、電気機器３００の各部を制御する。
【００５２】
メモリ３２０は、各種のＲＡＭや、各種のＲＯＭなどによって実現される。メモリ３２０は、ＣＰＵ３１０によって実行されるプログラムや、ＣＰＵ３１０によるプログラムの実行により生成されたデータ、リモコン補助サーバ１００や他のサーバから受信したデータ、操作部３４０を介して入力されたデータなどを記憶する。
【００５３】
ディスプレイ３３０は、ＣＰＵ３１０からの信号に基づいて、文字や画像などを出力する。ディスプレイ３３０は、単にライトであってもよい。
【００５４】
操作部３４０は、ボタン、タッチパネルなどによって実現され、ユーザからの命令を受け付けて、当該命令をＣＰＵ３１０に入力する。なお、ディスプレイ３３０と操作部３４０とは、タッチパネルを構成してもよい。
【００５５】
通信インターフェイス３６０は、無線ＬＡＮ通信あるいは有線ＬＡＮなどの通信モジュールによって実現される。通信インターフェイス３６０は、有線通信あるいは無線通信によってリモコン補助サーバ１００などの他の装置との間でデータを送受信する。
【００５６】
スピーカ３７０は、ＣＰＵ３１０からの信号に基づいて、ＢＥＥＰ音やメッセージなどの音声を出力する。
【００５７】
赤外線受光部３８０は、リモコンやロボット２００などからの赤外線信号を受信して、当該信号をＣＰＵ３１０に入力する。
【００５８】
機器駆動部３９０は、ＣＰＵ３１０からの信号に基づいて、電気機器３００の各部（モータやヒータなど）を制御する。
【００５９】
なお、赤外線などのリモコンコードの受信のみが可能な電気機器３００に関しては、図１３に示すように、通信インターフェイスが搭載されていない点において図１２の電気機器３００と異なる。他の構成は図１２の電気機器３００と同様であるため、ここでは詳細な説明を繰り返さない。
＜家電制御サーバ４００の構成＞
【００６０】
家電制御サーバ４００に関しては、図１４に示すように、図１０に示したリモコン補助サーバ１００と同様の構成を有するため、ここでは説明を繰り返さない。
＜ホームコントローラ５００の構成＞
【００６１】
次に、図１５を参照して、ネットワークシステム１を構成するホームコントローラ５００の構成の一態様について説明する。ホームコントローラ５００は、主たる構成要素として、ＣＰＵ５１０と、メモリ５２０と、ディスプレイ５３０と、操作部５４０と、通信インターフェイス５６０と、スピーカ５７０と、マイク５８０とを含む。
【００６２】
ＣＰＵ５１０は、メモリ５２０あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、ホームコントローラ５００の各部を制御する。
【００６３】
メモリ５２０は、各種のＲＡＭや、各種のＲＯＭなどによって実現される。メモリ５２０は、ＣＰＵ５１０によって実行されるプログラムや、ＣＰＵ５１０によるプログラムの実行により生成されたデータ、家電制御サーバ４００や他のサーバから受信したデータ、操作部５４０を介して入力されたデータなどを記憶する。
【００６４】
ディスプレイ５３０は、ＣＰＵ５１０からの信号に基づいて、文字や画像などを出力する。ディスプレイ５３０は、単にライトであってもよい。操作部５４０は、ボタン、タッチパネルなどによって実現され、ユーザからの命令を受け付けて、当該命令をＣＰＵ５１０に入力する。なお、ディスプレイ５３０と操作部５４０とは、タッチパネル５５０を構成してもよい。
【００６５】
通信インターフェイス５６０は、無線ＬＡＮ通信あるいは有線ＬＡＮなどの通信モジュールによって実現される。通信インターフェイス５６０は、有線通信あるいは無線通信によって家電制御サーバ４００などの他の装置との間でデータを送受信する。
【００６６】
スピーカ５７０は、ＣＰＵ５１０からの信号に基づいて、音声を出力する。マイク５８０は、外部からの音声に基づいて音声信号を作成し、ＣＰＵ５１０に入力する。
＜スマートフォン６００の構成＞
【００６７】
次に、図１６を参照して、ネットワークシステム１を構成するスマートフォン６００の構成の一態様について説明する。スマートフォン６００は、主たる構成要素として、ＣＰＵ６１０と、メモリ６２０と、ディスプレイ６３０と、操作部６４０と、通信インターフェイス６６０と、スピーカ６７０と、マイク６８０とを含む。
【００６８】
ＣＰＵ６１０は、メモリ６２０あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、スマートフォン６００の各部を制御する。
【００６９】
メモリ６２０は、各種のＲＡＭや、各種のＲＯＭなどによって実現される。メモリ６２０は、ＣＰＵ６１０によって実行されるプログラムや、ＣＰＵ６１０によるプログラムの実行により生成されたデータ、家電制御サーバ４００や他のサーバから受信したデータ、操作部６４０を介して入力されたデータなどを記憶する。
【００７０】
ディスプレイ６３０は、ＣＰＵ６１０からの信号に基づいて、文字や画像などを出力する。ディスプレイ６３０は、単にライトであってもよい。操作部６４０は、ボタン、タッチパネルなどによって実現され、ユーザからの命令を受け付けて、当該命令をＣＰＵ６１０に入力する。なお、ディスプレイ６３０と操作部６４０とは、タッチパネル６５０を構成してもよい。
【００７１】
通信インターフェイス６６０は、無線ＬＡＮ通信あるいは有線ＬＡＮなどの通信モジュールによって実現される。通信インターフェイス６６０は、有線通信あるいは無線通信によって家電制御サーバ４００などの他の装置との間でデータを送受信する。
【００７２】
スピーカ６７０は、ＣＰＵ６１０からの信号に基づいて、音声を出力する。マイク６８０は、外部からの音声に基づいて音声信号を作成し、ＣＰＵ６１０に入力する。
＜ネットワークシステム１における情報処理＞
【００７３】
以下では、図１７から図２４を参照しながら、本実施の形態にかかるネットワークシステム１における全体的な処理について説明する。まず、図１７を参照して、ロボット２００に電気機器３００のリモコンコードを覚えさせるための処理について説明する。ロボット２００は、ユーザからの「リモコン学習して」というリモコン学習開始の音声指示などに基づいて、電気機器３００のリモコンコードの学習を開始する。
【００７４】
（１）ロボット２００のＣＰＵ２１０は、赤外線受光部２９０を介してリモコン２００Ｘのいずれかのボタンに対応するリモコンコードを取得する。
【００７５】
（２）ＣＰＵ２１０は、通信インターフェイス２６０を介して、リモコンコードをリモコン補助サーバ１００に送信して、電気機器３００に対応するリモコンコード一式を要求する。
【００７６】
（３）リモコン補助サーバ１００のＣＰＵ１１０は、通信インターフェイス１６０を介して、ロボット２００から受信したリモコンコードに基づいて、当該リモコンコードを含むリモコンコード一式を検索して、リモコンコード一式をロボット２００に提供する。本実施の形態においては、このとき、リモコン補助サーバ１００は、ユーザとの対話シナリオ情報や、ＥＣＨＯＮＥＴ機器オブジェクト情報や、電気機器３００の動作状態の検知方法などもロボット２００に提供する。動作状態の検知方法は、たとえば、電気機器３００がリモコンコードを受け付けた際に出力するＢＥＥＰ音の音声信号やユーザ音声などを含む。
【００７７】
（４）ロボット２００のＣＰＵ２１０は、通信インターフェイス２６０を介してリモコン補助サーバ１００から受信した各種の情報をメモリ２２０に格納する。
【００７８】
（５）ＣＰＵ２１０は、スピーカ２７０に、「扇風機のリモコン信号を覚えたよ。」などの音声を出力させる。
【００７９】
ここで、より詳細に、リモコン補助サーバ１００がロボット２００にリモコンコード一式を提供するための処理の具体例について説明する。図１８は、ロボット２００がリモコンコード一式を取得するための処理を示すフローチャートである。
【００８０】
図１８を参照して、リモコン補助サーバ１００のＣＰＵ１１０は、ロボット２００に制御対象の電気機器３００の名前をユーザに聞くように指示する（ステップＳ１１１）。ロボット２００のＣＰＵ２１０は、リモコン補助サーバ１００からの指示に基づいてスピーカ２７０から、「リモコン学習ですね。学習したい家電はエアコン、テレビ、照明、その他の家電、のどれですか？」というメッセージを出力させる（ステップＳ１１２）。
【００８１】
リモコン補助サーバ１００のＣＰＵ１１０は、エアコン、テレビ、照明以外の電気機器３００のリモコン学習の場合（ステップＳ１１２にてＮＯである場合）、後述する「こだわり個別学習」モードを実行する（ステップＳ１３０）。なお、以下では、テレビのリモコンコード一式を取得したい場合について説明する。
【００８２】
リモコン補助サーバ１００のＣＰＵ１１０は、エアコン、テレビ、照明のいずれかの電気機器３００のリモコン学習の場合（ステップＳ１１２にてＹＥＳである場合）、通信インターフェイス１６０を介して、ロボット２００にメーカ名を要求する。ロボット２００のＣＰＵ２１０は、たとえば、スピーカ２７０から「テレビですね。メーカ名を教えて下さい。」というメッセージを出力させる。ＣＰＵ２１０は、マイク２８０を介して受け付けた音声を、通信インターフェイス２６０を介してリモコン補助サーバ１００に送信する（ステップＳ１１３）。
【００８３】
リモコン補助サーバ１００のＣＰＵ１１０は、音声データから対象となっている電気機器３００がＡ社製であることを認識する。ＣＰＵ１１０は、通信インターフェイス１６０を介して、ロボット２００にリモコンコードを要求する。ロボット２００のＣＰＵ２１０は、スピーカ２７０から「Ａ社のテレビですね。リモコンをこちらに向けて電源ボタンを押してください。」という音声メッセージを出力させる。ＣＰＵ２１０は、リモコン２００Ｘからのリモコンコードを赤外線受光部２９０で検知する（ステップＳ１１３）。
【００８４】
ＣＰＵ１１０は、検知したリモコンコードを、通信インターフェイス２６０を介してリモコン補助サーバ１００に送信する。リモコン補助サーバ１００のＣＰＵ１１０は、受信したリモコンコードを含むリモコンコード一式を検索する（ステップＳ１１４）。
【００８５】
受信したリモコンコードを含むリモコンコード一式が見つかった場合（ステップＳ１１４にてＹＥＳである場合）、ＣＰＵ１１０は、通信インターフェイス１６０を介してロボット２００に「Ａ社のテレビですね。テレビの前に私を置いて下さい。」という音声メッセージを出力させる。ＣＰＵ１１０は、通信インターフェイス１６０を介してロボット２００に、マッチしたリモコンコード一式をダウンロードする（ステップＳ１１５）。
【００８６】
ＣＰＵ２１０は、赤外線発信部２６５Ａ，２６５Ｂからリモコンコード一式のうちの電源ＯＮ／ＯＦＦのリモコンコードを発信する（ステップＳ１１６）。ＣＰＵ２１０は、スピーカ２７０に「テレビはつきましたか、あるいはテレビは消えましたか。」という音声メッセージを出力させる（ステップＳ１１７）。
【００８７】
ユーザが「ついたよ。」とか「反応したよ。」というメッセージを発した場合（ステップＳ１１７にてＹＥＳである場合）、すなわちマイク２８０を介して肯定的なメッセージを受け付けた場合、ＣＰＵ２１０は、その旨をリモコン補助サーバ１００に送信する。リモコン補助サーバ１００のＣＰＵ１１０は、今回選択されたリモコンコード一式のパターンＩＤをロボット２００の機器ＩＤや対象の電気機器３００の種類とともに機器情報テーブル１２１に追加する。そして、ＣＰＵ１１０は、今回の「簡単リモコン学習」モードを終了する（ステップＳ１５０）。なお、ロボット２００のＣＰＵ２１０は、当該信号を含むリモコンコード一式の制御命令を覚えた旨をスピーカ２７０に出力させて、今回の「簡単リモコン学習」モードを終了する。
【００８８】
なお、ユーザが「反応しないよ」とか「つかない。」というメッセージを発した場合（ステップＳ１１７にてＮＯである場合）、すなわちマイク２８０を介して否定的なメッセージを受け付けた場合、ＣＰＵ２１０は、その旨をリモコン補助サーバ１００に送信する。リモコン補助サーバ１００のＣＰＵ１１０は、別のリモコンコード一式に関して、ステップＳ１１５からの処理を繰り返す。
【００８９】
ステップＳ１１４において、ＣＰＵ１１０は、受信したリモコンコードを含むリモコンコード一式が見つからなかった場合（ステップＳ１１４にてＮＯである場合）、ＣＰＵ１１０は、「音声ガイダンス学習」モードを実行してもよい（ステップＳ１２０）。なお、ステップＳ１１７において、否定的なメッセージを所定回数以上受け付けた場合も、ＣＰＵ１１０は、「音声ガイダンス学習」モードを実行してもよい。
【００９０】
なお、「音声ガイダンス学習」モード（ステップＳ１２０）は、標準的なリモコンのボタンに対応するリモコンコードをロボット２００に向けて発信してもらうものである。より詳細には、リモコン補助サーバ１００のメモリ１２０またはロボット２００のメモリ２２０が、図１９に示すようなガイダンス学習テーブル１２６を記憶する。そして、ロボット２００に入力されたリモコンコードを制御命令に対応付けてガイダンス学習テーブル１２６に登録するものである。
【００９１】
より詳細には、ガイダンス学習テーブル１２６は、ガイダンス学習毎に、ガイダンス学習ＩＤと、電気機器３００を操作するロボット２００やリモコンの機器ＩＤと、操作される側の電気機器３００の種類と、１または複数の予め準備された制御命令ＩＤ（図５の３ケタの識別情報）と、当該１または複数の制御命令に対応する複数のリモコンコードを含む。
【００９２】
また、「こだわり個別学習」モード（ステップＳ１３０）は、ユーザオリジナルの命令を音声入力してもらい、当該命令に対応するリモコンコードをロボット２００に向けて発信してもらうものである。より詳細には、リモコン補助サーバ１００のメモリ１２０またはロボット２００のメモリ２２０が、図２０に示すようなこだわり個別テーブル１２７を記憶する。そして、ＣＰＵ１１０は、ロボット２００に入力された制御命令と、ロボット２００に入力されたリモコンコードとを対応付けてこだわり個別テーブル１２７に登録するものである。
【００９３】
より詳細には、こだわり個別テーブル１２７は、こだわり個別学習毎に、個別学習ＩＤと、電気機器３００を操作するロボット２００やリモコンの機器ＩＤと、操作される側の電気機器３００の種類と、１または複数のユーザ指定のテキストの制御命令と、当該１または複数の制御命令毎のリモコンコードを含む。
【００９４】
次に、図２１を参照して、ロボット２００に電気機器３００を制御させるための処理について説明する。（１）ロボット２００のＣＰＵ２１０は、マイク２８０を介して、ユーザからの「扇風機の風を強くして」という音声指示などを受け付ける。
【００９５】
（２）ロボット２００のＣＰＵ２１０は、スピーカ２７０から「わかった」という音声メッセージを出力する。なお、ＣＰＵ２１０は、通信インターフェイス２６０を介して、ユーザの音声データをリモコン補助サーバ１００に送信して、出力すべき音声データをリモコン補助サーバ１００から受信してもよい。
【００９６】
（３）ロボット２００のＣＰＵ２１０は、入力された音声指示に対応するリモコンコードを赤外線発信部２６５Ａ，２６５Ｂ・・・から発信させる。なお、ＣＰＵ２１０は、通信インターフェイス２６０を介して、ユーザの音声データをリモコン補助サーバ１００に送信して、発信すべき制御信号をリモコン補助サーバ１００から受信してもよい。つまり、リモコン補助サーバ１００のＣＰＵ１１０が、確認テーブル１２４を参照して、入力されたユーザ音声に対応するリモコンコードを特定し、通信インターフェイス１６０を介して当該リモコンコードをロボット２００に提供する。
【００９７】
（４）ロボット２００のＣＰＵ２１０は、発信したリモコンコードのための確認用データを通信インターフェイス２６０を介してリモコン補助サーバ１００に要求する。リモコン補助サーバ１００のＣＰＵ１１０は、ロボット２００からの要求に応じて、通信インターフェイス１６０を介して確認用データをロボット２００に提供する。ただし、確認用データは、（３）においてロボット２００が制御信号を発信する前に、ＣＰＵ２１０が通信インターフェイス２６０を介してリモコン補助サーバ１００から取得するものであってもよい。
【００９８】
（５）ロボット２００のＣＰＵ２１０は、確認用データに基づいて、スピーカ２７０から「強くなった？」という音声メッセージを出力させる。
【００９９】
（６）ロボット２００のＣＰＵ２１０は、マイク２８０を介して「なったよ。」という音声を取得して、通信インターフェイス２６０を介してユーザの音声のデータなどの確認用データをリモコン補助サーバ１００に送信する。リモコン補助サーバ１００のＣＰＵ１１０は、通信インターフェイス１６０を介してロボット２００から確認用データに基づいて、対象となる電気機器３００の動作状態を特定し、状態テーブル１２５に動作状態を格納する。
【０１００】
次に、図２２を参照して、スマートフォン６００から扇風機３００Ｃに制御命令を送信するための処理について説明する。（１）スマートフォン６００のＣＰＵ６１０が、タッチパネル６５０を介してユーザの指示を受け付ける。ＣＰＵ６１０は、通信インターフェイス６６０を介して当該指示を家電制御サーバ４００に送信し、家電制御サーバ４００のＣＰＵ４１０は通信インターフェイス４６０を介して当該指示をホームコントローラ５００に送信する。ホームコントローラ５００のＣＰＵ５１０は、通信インターフェイス５６０を利用することによって、ルータ８００を介してロボット２００にＥＣＨＯＮＥＴ（登録商標）の規格に則った指示を送信する。
【０１０１】
（２）ロボット２００のＣＰＵ２１０は、通信インターフェイス２６０を介してホームコントローラ５００から指示を受け付けて、当該指示に対応するリモコンコードを特定する。なお、ＣＰＵ２１０は、通信インターフェイス２６０を介して、当該指示に対応するリモコンコードをリモコン補助サーバ１００からダウンロードしてもよい。ＣＰＵ２１０は、赤外線発信部２６５Ａ，２６５Ｂ・・・から当該リモコンコードを発信する。
【０１０２】
（３）扇風機３００Ｃは、赤外線受光部２９０を介して赤外線のリモコンコードを受信して、リモコンコードに基づいて機器駆動部３９０を制御する。
【０１０３】
（４）ロボット２００のＣＰＵ２１０は、通信インターフェイス２６０を介して、リモコン補助サーバ１００に制御命令に対応する確認用データを要求する。ＣＰＵ２１０は、リモコン補助サーバ１００からの取得した確認用データに基づいて、ロボット２００の周囲の環境を検知することによって扇風機３００Ｃの動作状態を確認する。
【０１０４】
このように、本実施の形態においては、ホームコントローラ５００が、あたかもＥＣＨＯＮＥＴ（登録商標）の規格に則って双方向通信によって扇風機３００Ｃに指示を送ったかのごとく、赤外線制御用の電気機器３００を制御することができる。
【０１０５】
次に、図２３を参照して、スマートフォン６００が扇風機３００Ｃの動作状態を取得するための処理について説明する。（１）スマートフォン６００のＣＰＵ６１０が、タッチパネル６５０を介してユーザの指示を受け付ける。ＣＰＵ６１０は、通信インターフェイス６６０を介して宅内家電状態取得要求を家電制御サーバ４００に送信し、家電制御サーバ４００のＣＰＵ４１０は通信インターフェイス４６０を介して当該要求をホームコントローラ５００に送信する。
【０１０６】
（２）ホームコントローラ５００のＣＰＵ５１０は、通信インターフェイス５６０を利用することによって、ルータ８００を介してロボット２００に扇風機３００Ｃの動作状態を要求する。
【０１０７】
本実施の形態においては、定期的に、ロボット２００が扇風機３００Ｃの動作状態を確認するためのデータをリモコン補助サーバ１００に提供したり、リモコン補助サーバ１００が扇風機３００Ｃの動作状態を更新したりしている。そして、ロボット２００のＣＰＵ２１０は、ホームコントローラ５００からの要求に基づいて、通信インターフェイス２６０を介して、リモコン補助サーバ１００に扇風機３００Ｃの最新の動作状態を要求する。リモコン補助サーバ１００のＣＰＵ１１０は、ロボット２００からの要求に応じて、扇風機３００Ｃの動作状態をロボット２００に提供する。
【０１０８】
（３）ロボット２００のＣＰＵ２１０は、通信インターフェイス２６０を利用することによって、ルータ８００を介してホームコントローラ５００に扇風機３００Ｃの動作状態を送信する。
【０１０９】
（４）ホームコントローラ５００のＣＰＵ５１０は、通信インターフェイス５６０を利用することによって、インターネットなどを介して家電制御サーバ４００に扇風機３００Ｃの動作状態を送信する。家電制御サーバ４００のＣＰＵ４１０は通信インターフェイス４６０を介して動作状態をスマートフォン６００に送信する。スマートフォン６００のＣＰＵ６１０は、扇風機３００Ｃの動作状態をタッチパネル６５０に表示させる。
＜第２の実施の形態＞
【０１１０】
本実施の形態においては、図２４に示すように、複数の電気機器３００の動作状態を列挙して表示するものである。以下では、図２５を参照して、スマートフォン６００が宅内の複数の電気機器３００の動作状態を取得するための処理について説明する。
【０１１１】
（１）スマートフォン６００のＣＰＵ６１０が、タッチパネル６５０を介してユーザの指示を受け付ける。ＣＰＵ６１０は、通信インターフェイス６６０を介して宅内家電状態取得要求を家電制御サーバ４００に送信し、家電制御サーバ４００のＣＰＵ４１０は通信インターフェイス４６０を介して当該要求をホームコントローラ５００に送信する。
【０１１２】
（２）ホームコントローラ５００のＣＰＵ５１０は、通信インターフェイス５６０を利用することによって、ルータ８００を介してＥＣＨＯＮＥＴ（登録商標）に対応する照明３００Ａに動作状態を要求する。そして、ホームコントローラ５００のＣＰＵ５１０は、通信インターフェイス５６０を利用することによって、ルータ８００を介してロボット２００にＷｉＦｉ通信不能なエアコン３００Ｂと扇風機３００Ｃの動作状態を要求する。
【０１１３】
本実施の形態においては、定期的に、ロボット２００がエアコン３００Ｂと扇風機３００Ｃの動作状態を確認するためのデータをリモコン補助サーバ１００に提供したり、リモコン補助サーバ１００がエアコン３００Ｂと扇風機３００Ｃの動作状態を更新したりしている。そして、ロボット２００のＣＰＵ２１０は、ホームコントローラ５００からの要求に基づいて、通信インターフェイス２６０を介して、リモコン補助サーバ１００にエアコン３００Ｂと扇風機３００Ｃの最新の動作状態を要求する。リモコン補助サーバ１００のＣＰＵ１１０は、ロボット２００からの要求に応じて、エアコン３００Ｂと扇風機３００Ｃの動作状態をロボット２００に提供する。
【０１１４】
（３）ロボット２００のＣＰＵ２１０は、通信インターフェイス２６０を利用することによって、ルータ８００を介してホームコントローラ５００にエアコン３００Ｂと扇風機３００Ｃの動作状態を送信する。
【０１１５】
（４）ホームコントローラ５００のＣＰＵ５１０は、通信インターフェイス５６０を利用することによって、直接的に取得した照明３００Ａの動作状態と、ロボット２００を介して取得したエアコン３００Ｂと扇風機３００Ｃの動作状態とを、インターネットなどを介して家電制御サーバ４００に送信する。家電制御サーバ４００のＣＰＵ４１０は通信インターフェイス４６０を介して複数の電気機器３００の動作状態をスマートフォン６００に送信する。スマートフォン６００のＣＰＵ６１０は、たとえば、図２４に示すように、複数の電気機器３００の動作状態をタッチパネル６５０に表示させる。
【０１１６】
なお、電気機器３００の動作状態がリモコン補助サーバ１００に蓄積されている場合は、ホームコントローラ５００のＣＰＵ５１０は、通信インターフェイス５６０を利用することによって照明３００Ａの動作状態を直接的に取得し、エアコン３００Ｂと扇風機３００Ｃの動作状態をリモコン補助サーバ１００から取得してもよい。
＜第３の実施の形態＞
【０１１７】
なお、ロボット２００による電気機器３００の動作確認は双方向通信を利用する場合と比較して精度が低い可能性がある。そこで、本実施の形態においては、図２６に示すように、スマートフォン６００は、複数の電気機器３００の動作状態を、当該情報が正しい可能性を示す情報（以下、確度ともいう。）と共に、列挙して表示するものである。
【０１１８】
本実施の形態においては、リモコン補助サーバ１００のメモリ１２０は、図２７に示すような確認テーブル１２４Ｂを格納する。本実施の形態にかかる確認テーブル１２４Ｂは、確認方法に確度が対応付けられている。たとえば、ユーザに電気機器３００の動作を確認する方法の確度は９０％、電気機器３００が発するＢＥＥＰ音に基づいて電気機器３００の動作を確認する方法の確度は７０％、風量によって扇風機３００Ｃの動作を確認する方法の確度は４０％、その他にも、明るさによって照明の動作を確認する方法の確度は５０％、温度によってエアコンの動作を確認する方法の確度は６０％、などのように設定されている。
【０１１９】
また、本実施の形態においては、リモコン補助サーバ１００のメモリ１２０は、図２８に示すような状態テーブル１２５Ｂを格納する。本実施の形態にかかる状態テーブル１２５Ｂは、機器毎および動作状態毎に、採用された確認方法に対応する確度が対応付けられている。
【０１２０】
次に、図２９を参照して、本実施の形態にかかるリモコン補助サーバ１００の情報処理について説明する。ＣＰＵ１１０は、通信インターフェイス１６０を介して、ロボット２００などの通信端末からデータを受信すると、以下の処理を実行する。
【０１２１】
ＣＰＵ１１０は、受信データから、ロボット２００などの通信端末を特定するための機器ＩＤを読み出す（ステップＳ１０１）。ＣＰＵ１１０は、受信データから、通信端末が発信した制御命令と対象の電気機器３００の種類とを特定する（ステップＳ１０２）。ＣＰＵ１１０は、確認テーブル１２４Ｂを参照して、確度が高い確認方法を選択する（ステップＳ１０３）。ＣＰＵ１１０は、選択された確認用データを読み出して、通信インターフェイス１６０を介して通信端末に送信する（ステップＳ１０４Ｂ）。
【０１２２】
ＣＰＵ１１０は、通信インターフェイス１６０を介して、通信端末からの回答データを待ち受ける（ステップＳ１０５）。より詳細には、ＣＰＵ１１０は、通信端末からの回答データを受信していない場合（ステップＳ１０５にてＮＯである場合）、確認用データを送信してから所定時間が経過したか否かを判断する（ステップＳ１０６）。ＣＰＵ１１０は、所定時間が経過するまで（ステップＳ１０６にてＮＯである場合）、ステップＳ１０５からの処理を繰り返す。
【０１２３】
所定時間が経過すると（ステップＳ１０６にてＹＥＳである場合）、ＣＰＵ１１０は、ステップＳ１０３からの処理を繰り返す。なお、本実施の形態においてはステップＳ１０３において、ＣＰＵ１１０は、確認テーブル１２４Ｂを参照して、次に確度が高い確認方法を選択する。
【０１２４】
通信端末からの回答データを受信すると（ステップＳ１０５にてＹＥＳである場合）、ＣＰＵ１１０は、回答データに基づいて命令が電気機器３００に受け付けられたか否かを判断する（ステップＳ１０７）。なお、ＣＰＵ１１０は、制御命令が電気機器３００に受け付けられた場合は、通信端末に対応する状態テーブル１２５の対象となっている電気機器３００の動作状態を更新する。
【０１２５】
ＣＰＵ１１０は、通信インターフェイス１６０を介して、判断結果を確認方法と確度とともに通信端末に提供する（ステップＳ１０８Ｂ）。ＣＰＵ１１０は、通信インターフェイス１６０を介して、次の通信端末からのデータを待ち受ける。
【０１２６】
なお、ＣＰＵ１１０は、ステップＳ１０７において、制御命令が電気機器３００に受け付けられなかったと判断した場合は、通信インターフェイス１６０を介して、再度おなじ制御命令を発信するようにロボット２００に指示してもよい。そして、所定回数失敗した場合に、制御命令の送信を失敗した旨をホームコントローラ５００や家電制御サーバ４００に送信してもよい。より詳細には、リモコン補助サーバ１００が、リモコンコードの再発信をロボット２００に指示する形態であってもよいし、ロボット２００側の判断でリモコンコードの再発信を実行するものであってもよい。
【０１２７】
図２５を参照して、スマートフォン６００が宅内の複数の電気機器３００の動作状態を取得するためのネットワークシステム１の全体的な処理について説明する。（１）スマートフォン６００のＣＰＵ６１０が、タッチパネル６５０を介してユーザの指示を受け付ける。ＣＰＵ６１０は、通信インターフェイス６６０を介して宅内家電状態取得要求を家電制御サーバ４００に送信し、家電制御サーバ４００のＣＰＵ４１０は通信インターフェイス４６０を介して当該要求をホームコントローラ５００に送信する。
【０１２８】
（２）ホームコントローラ５００のＣＰＵ５１０は、通信インターフェイス５６０を利用することによって、ルータ８００を介してＥＣＨＯＮＥＴ（登録商標）に対応する照明３００Ａに動作状態を要求し、ルータ８００を介してロボット２００にＷｉＦｉ通信不能なエアコン３００Ｂと扇風機３００Ｃの動作状態を要求する。
【０１２９】
本実施の形態においては、定期的に、ロボット２００がエアコン３００Ｂと扇風機３００Ｃの動作状態を確認するためのデータをリモコン補助サーバ１００に提供したり、リモコン補助サーバ１００がエアコン３００Ｂと扇風機３００Ｃの動作状態を更新したりしている。本実施の形態においては、リモコン補助サーバ１００は、電気機器３００毎に、確度が高い確認方法から順に確認処理を試みるように指示するものであって、確認結果としての動作状態に確度を対応付けて蓄積していくものである。そして、ロボット２００のＣＰＵ２１０は、ホームコントローラ５００からの要求に基づいて、通信インターフェイス２６０を介して、リモコン補助サーバ１００にエアコン３００Ｂと扇風機３００Ｃの最新の動作状態を要求する。リモコン補助サーバ１００のＣＰＵ１１０は、ロボット２００からの要求に応じて、エアコン３００Ｂと扇風機３００Ｃの動作状態をロボット２００に提供する。
【０１３０】
（３）ロボット２００のＣＰＵ２１０は、通信インターフェイス２６０を利用することによって、ルータ８００を介してホームコントローラ５００にエアコン３００Ｂと扇風機３００Ｃの動作状態を確度とともに送信する。
【０１３１】
（４）ホームコントローラ５００のＣＰＵ５１０は、通信インターフェイス５６０を利用することによって、直接的に取得した照明３００Ａの動作状態と確度と、ロボット２００を介して取得したエアコン３００Ｂと扇風機３００Ｃの動作状態と確度とを、インターネットなどを介して家電制御サーバ４００に送信する。家電制御サーバ４００のＣＰＵ４１０は通信インターフェイス４６０を介して複数の電気機器３００の動作状態と確度とをスマートフォン６００に送信する。スマートフォン６００のＣＰＵ６１０は、たとえば、図２６に示すように、複数の電気機器３００の動作状態を確度とともにタッチパネル６５０に表示させる。
【０１３２】
なお、電気機器３００の動作状態がリモコン補助サーバ１００に蓄積されている場合は、ホームコントローラ５００のＣＰＵ５１０は、通信インターフェイス５６０を利用することによって照明３００Ａの動作状態を直接的に取得し、エアコン３００Ｂと扇風機３００Ｃの動作状態をリモコン補助サーバ１００から取得してもよい。
＜第４の実施の形態＞
【０１３３】
さらに、複数の電気機器３００の動作状態の確認方法や確度は、電気機器３００の周囲の状態に応じて可変であることが好ましい。
【０１３４】
本実施の形態においては、リモコン補助サーバ１００のメモリ１２０は、第３の実施の形態のものに加えて、図３０に示すような条件テーブル１２９を格納する。本実施の形態にかかる条件テーブル１２９は、確認テーブル１２４Ｂの確認方法や検知方法毎に、確認方法や検知方法を特定するためのＩＤと、当該確認方法や検知方法を優先するための採用条件と、判断方法と、の対応関係を含む。
【０１３５】
本実施の形態においては、図２９のステップＳ１０５において、リモコン補助サーバ１００のＣＰＵ１１０は、確認テーブル１２４Ｂと条件テーブル１２９とを参照して、条件にマッチする確認方法のうちで、確度が高い確認方法を選択する。
【０１３６】
なお、条件テーブル１２９の条件にマッチする確認方法や検知方法の確度を所定値上昇させるものであってもよい。この場合は、図２９のステップＳ１０５において、リモコン補助サーバ１００のＣＰＵ１１０は、条件テーブル１２９と確認テーブル１２４Ｂとを参照して、条件にマッチする確認方法の確度を所定値上昇させた状態で、確度が高い確認方法から順に選択していく。
【０１３７】
さらに、確認方法や検知方法毎に、条件にマッチする場合に上昇させる確度の数値を異なるものに設定してもよい。この場合は、図２９のステップＳ１０５において、リモコン補助サーバ１００のＣＰＵ１１０は、条件テーブル１２９と確認テーブル１２４Ｂとを参照して、条件にマッチする確認方法の確度を確認方法毎に設定されている数値だけ上昇させた状態で、確度が高い確認方法から順に選択していく。
【０１３８】
さらに、確認方法や検知方法による確度が条件や時間によって変更される場合には、定期的にあるいはユーザ命令に基づいて、スマートフォン６００や家電制御サーバ４００などからの指示に応じて、リモコン補助サーバ１００やロボット２００が、ロボット２００からの制御信号が電気機器３００に受け付けられたか否かの再確認や再検知を実行することが好ましい。なお、確度が変更された場合に、リモコン補助サーバ１００やロボット２００が、自動的に再確認や再検知を実行することが好ましい。しかしながら、逆に、確認方法や検知方法による確度が条件や時間によって変更されない形態においても、定期的にあるいはユーザ命令に基づいて、スマートフォン６００や家電制御サーバ４００などからの指示に応じて、リモコン補助サーバ１００やロボット２００が、ロボット２００からの制御信号が電気機器３００に受け付けられたか否かの再確認や再検知を実行してもよい。
＜第５の実施の形態＞
【０１３９】
第１から第４の実施の形態のロボット２００は、電気機器３００のリモコンコードとして赤外線の制御信号を発信するものであったが、たとえば、他の電磁波や音波などを利用してもよい。リモコンからは制御信号を発信しやすいが、電気機器３００からの回答を受け取り難いネットワークシステムに上記の技術は便利である。
【０１４０】
また、図１のような顔や胴体などを有するロボット２００には限られず、自走式の掃除機やスマートフォンなど、他の形状を有する通信端末であってもよい。
＜第６の実施の形態＞
【０１４１】
さらに、第１から第５の実施の形態のような、リモコン補助サーバ１００やロボット２００や家電制御サーバ４００やホームコントローラ５００やスマートフォン６００の構造・機能・動作に限られず、各装置の役割が、他のサーバや端末やデータベースなどの複数の装置に分担されてもよい。逆に、複数の装置の役割の一部または全部が１つの装置に集約されてもよい。
【０１４２】
たとえば、複数の電気機器３００の動作状態を格納する状態テーブル１２５が、ロボット２００などの通信端末やホームコントローラ５００や家電制御サーバ４００に保持されてもよい。あるいは、リモコンコード一式が、家電制御サーバ４００に保持されてもよいし、スマートフォン６００のアプリケーションがロボット２００に提供するものであってもよい。
【０１４３】
具体的な一例として、図３１に示すように、第１から第５の実施の形態にかかるリモコン補助サーバ１００の役割をロボット２００が有してもよい。この場合は、たとえば、ユーザが、ＷｉＦｉ（登録商標）通信不能な扇風機３００Ｃに関する命令を、スマートフォン６００に入力する。するとスマートフォン６００は、当該命令を家電制御サーバ４００に送信する。家電制御サーバ４００は、ルータ８００などを介して、当該命令をホームコントローラ５００に送信する。ホームコントローラ５００は、ＷｉＦｉ（登録商標）通信では扇風機３００Ｃに命令を送信できないため、ロボット２００に仲介を要求する。
【０１４４】
本実施の形態においては、ロボット２００は、扇風機３００Ｃに対する赤外線のリモコンコードを発信する。ロボット２００は、ロボット２００や扇風機３００Ｃの周囲の状況に基づいて、扇風機３００Ｃがリモコンコードを正常に受け付けたか否かを判断する。ロボット２００は、ルータ８００やインターネットを介して、判断結果をホームコントローラ５００・家電制御サーバ４００を介してスマートフォン６００に提供する。
＜ロボット２００の情報処理＞
【０１４５】
次に、図３２を参照して、本実施の形態にかかるロボット２００の情報処理について説明する。ロボット２００のＣＰＵ２１０は、通信インターフェイス２６０を介して、ホームコントローラ５００などからデータを受信すると、以下の処理を実行する。
【０１４６】
ＣＰＵ２１０は、受信データから、対象の電気機器３００の種類と電気機器３００への制御命令とを特定する（ステップＳ２０２）。ＣＰＵ２１０は、確認テーブル１２４を参照して当該命令が電気機器３００に受け付けられたか否かを判断するための確認データを読み出して、確認処理を実行する（ステップＳ２０４）。
【０１４７】
ＣＰＵ２１０は、各種センサ２８１，２８２，２８３・・・を介して、確認が成功するまで待ち受ける（ステップＳ２０５）。より詳細には、ＣＰＵ２１０は、確認できるまで（ステップＳ２０５にてＮＯである場合）、所定時間が経過したか否かを判断する（ステップＳ２０６）。ＣＰＵ２１０は、所定時間が経過するまで（ステップＳ２０６にてＮＯである場合）、ステップＳ２０５からの処理を繰り返す。所定時間が経過すると（ステップＳ２０６にてＹＥＳである場合）、ＣＰＵ２１０は、ステップＳ２０４からの処理を繰り返す。
【０１４８】
確認結果を取得すると（ステップＳ２０５にてＹＥＳである場合）、ＣＰＵ２１０は、確認結果に基づいて命令が電気機器３００に受け付けられたか否かを判断する（ステップＳ２０７）。なお、ＣＰＵ２１０は、制御命令が電気機器３００に受け付けられた場合は、状態テーブル１２５のうちの、現在対象となっている電気機器３００の動作状態を更新する。
【０１４９】
ＣＰＵ２１０は、通信インターフェイス２６０を介して、判断結果をホームコントローラ５００などに提供する（ステップＳ２０８）。ＣＰＵ２１０は、通信インターフェイス２６０を介して、次の指示を待ち受ける。
【０１５０】
なお、ＣＰＵ２１０は、ステップＳ２０７において、制御命令が電気機器３００に受け付けられなかった場合は、再度おなじ制御信号を発信してもよい。そして、所定回数失敗した場合に、制御命令の送信を失敗した旨をホームコントローラ５００や家電制御サーバ４００に送信してもよい。
＜その他の応用例＞
【０１５１】
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体（あるいはメモリ）を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
【０１５２】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１５３】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１５４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わる他の記憶媒体に書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１５５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５６】
１          ：ネットワークシステム
１００      ：リモコン補助サーバ
１１０      ：ＣＰＵ
１２０      ：メモリ
１２１      ：機器情報テーブル
１２２      ：標準命令テーブル
１２３      ：リモコンコードパターンテーブル
１２４      ：確認テーブル
１２４Ｂ    ：確認テーブル
１２５      ：状態テーブル
１２５Ｂ    ：状態テーブル
１２６      ：ガイダンス学習テーブル
１２７      ：個別テーブル
１２９      ：条件テーブル
１４０      ：操作部
１６０      ：通信インターフェイス
２００      ：ロボット
２００Ｘ    ：リモコン
２１０      ：ＣＰＵ
２２０      ：メモリ
２３０      ：ディスプレイ
２４０      ：操作部
２５０      ：カメラ
２６０      ：通信インターフェイス
２６５Ａ    ：赤外線発信部
２６５Ｂ    ：赤外線発信部
２７０      ：スピーカ
２８０      ：マイク
２８１      ：照度センサ
２８２      ：温度センサ
２８３      ：風量センサ
２９０      ：赤外線受光部
３００      ：電気機器
３００Ａ    ：照明
３００Ｂ    ：エアコン
３００Ｃ    ：扇風機
３１０      ：ＣＰＵ
３２０      ：メモリ
３３０      ：ディスプレイ
３４０      ：操作部
３６０      ：通信インターフェイス
３７０      ：スピーカ
３８０      ：赤外線受光部
３９０      ：機器駆動部
４００      ：家電制御サーバ
４１０      ：ＣＰＵ
４６０      ：通信インターフェイス
５００      ：ホームコントローラ
５１０      ：ＣＰＵ
５２０      ：メモリ
５３０      ：ディスプレイ
５４０      ：操作部
５５０      ：タッチパネル
５６０      ：通信インターフェイス
５７０      ：スピーカ
５８０      ：マイク
６００      ：スマートフォン
６１０      ：ＣＰＵ
６２０      ：メモリ
６３０      ：ディスプレイ
６４０      ：操作部
６５０      ：タッチパネル
６６０      ：通信インターフェイス
６７０      ：スピーカ
６８０      ：マイク
８００      ：ルータ
【図１】
2018152756.tif 000003
【図２】
2018152756.tif 000004
【図３】
2018152756.tif 000005
【図４】
2018152756.tif 000006
【図５】
2018152756.tif 000007
【図６】
2018152756.tif 000008
【図７】
2018152756.tif 000009
【図８】
2018152756.tif 000010
【図９】
2018152756.tif 000011
【図１０】
2018152756.tif 000012
【図１１】
2018152756.tif 000013
【図１２】
2018152756.tif 000014
【図１３】
2018152756.tif 000015
【図１４】
2018152756.tif 000016
【図１５】
2018152756.tif 000017
【図１６】
2018152756.tif 000018
【図１７】
2018152756.tif 000019
【図１８】
2018152756.tif 000020
【図１９】
2018152756.tif 000021
【図２０】
2018152756.tif 000022
【図２１】
2018152756.tif 000023
【図２２】
2018152756.tif 000024
【図２３】
2018152756.tif 000025
【図２４】
2018152756.tif 000026
【図２５】
2018152756.tif 000027
【図２６】
2018152756.tif 000028
【図２７】
2018152756.tif 000029
【図２８】
2018152756.tif 000030
【図２９】
2018152756.tif 000031
【図３０】
2018152756.tif 000032
【図３１】
2018152756.tif 000033
【図３２】
2018152756.tif 000034