(57)【要約】【課題】振動媒体の伝達特性が異なっても、振動センサで得られた意思情報を正確に判別することが可能なプログラム、システム及び機器制御装置を提供する。【解決手段】機器制御プログラムにおいて、コンピュータに、振動媒体を介して伝達された振動を検出する手段によって検出した振動に対応する第１振動データに基づいて、振動に対応するリファレンス振動データを、振動媒体を特定する情報と対応付けて格納する手段を参照して第１振動データに対応する振動媒体を選択させ、検出振動に対応する第２振動データとリファレンス振動データの補正値に基づいて、格納されたリファレンス振動データの中から、第２振動データ及び選択された振動媒体に対応するリファレンス振動データを選択させ、第２振動データに基づいて、選択されたリファレンス振動データの補正値を更新し、選択されたリファレンス振動データに基づいて、機器制御信号を生成する。【選択図】図２
2014155154.tif 000002
【特許請求の範囲】
【請求項１】
制御対象となる機器を制御するための機器制御プログラムであって、
コンピュータに、
振動媒体を介して伝達された振動を検出する振動検出手段によって検出した振動に対応する第１振動データに基づいて、振動に対応するリファレンス振動データを、前記振動媒体を特定する振動媒体情報と対応付けて格納するリファレンスデータ格納手段を参照することにより、前記第１振動データに対応する前記振動媒体を選択させ、
前記振動検出手段によって検出した振動に対応する第２振動データと前記リファレンス振動データの補正値に基づいて、前記リファレンスデータ格納手段に格納されたリファレンス振動データの中から、前記第２振動データ及び前記選択された振動媒体に対応するリファレンス振動データを選択させ、
前記第２振動データに基づいて、前記選択されたリファレンス振動データの補正値を更新し、
前記選択されたリファレンス振動データに基づいて、前記機器を制御する制御信号を生成する、
ことを特徴とする機器制御プログラム。
【請求項２】
前記機器は、エアコンであり、前記振動媒体はベッドであることを特徴とする請求項１に記載の機器制御プログラム。
【請求項３】
前記振動データは、ユーザの意図的に発生された振動に対応するメッセージデータと、前記ユーザの体動により発生した振動に対する体動データを含み、
前記リファレンスデータは、前記メッセージデータに対するリファレンスデータと、前記体動データに対するリファレンスデータを含む
ことを特徴とする請求項１又は２に記載の機器制御プログラム。
【請求項４】
前記リファレンス振動データの補正値の更新は、前記第２振動データを周波数変換した値と、前記選択されたリファレンス振動データを周波数変換した値との差分値を、前記リファレンス振動データの補正値として算出することにより行われることを特徴とする請求項１ないし３のいずれか一項に記載の機器制御プログラム。
【請求項５】
前記リファレンス振動データの選択は、前記第２振動データの値から、前記第２振動データより前に前記振動検出手段によって検出した振動に対応する振動データに基づいて算出された前記リファレンス振動データの補正値を差し引いた値に基づいて行われることを特徴とする請求項４記載の機器制御プログラム。
【請求項６】
振動を伝達する振動媒体と、制御対象となる機器と、前記機器を制御する機器制御装置とを備える機器制御システムであって、
前記機器制御装置は、
前記振動媒体を介して伝達された振動を検出する振動検出手段と、
前記振動に対応するリファレンス振動データを、前記振動媒体を特定する振動媒体情報と対応付けて格納するリファレンスデータ格納手段と、
前記振動検出手段によって検出した振動に対応する第１振動データに基づいて、前記リファレンスデータ格納手段を参照することにより、前記第１振動データに対応する前記振動媒体を選択する事前キャリブレーション手段と、
前記振動検出手段によって検出した振動に対応する第２振動データと前記リファレンス振動データの補正値に基づいて、前記リファレンスデータ格納手段に格納されたリファレンス振動データの中から、前記第２振動データ及び前記選択された振動媒体に対応するリファレンス振動データを選択させるとともに、前記第２振動データに基づいて、前記選択されたリファレンス振動データの補正値を更新する運用キャリブレーション手段と、
前記運用キャリブレーション手段によって選択されたリファレンス振動データに基づいて、前記機器を制御する制御信号を生成し、前記生成された制御信号を前記機器に送信する制御信号送信手段と、
を備えることを特徴とする機器制御システム。
【請求項７】
制御対象となる機器を制御する機器制御装置であって、
振動媒体を介して伝達された振動を検出する振動検出手段と、
前記振動に対応するリファレンス振動データを、前記振動媒体を特定する振動媒体情報と対応付けて格納するリファレンスデータ格納手段と、
前記振動検出手段によって検出した振動に対応する第１振動データに基づいて、前記リファレンスデータ格納手段を参照することにより、前記第１振動データに対応する前記振動媒体を選択する事前キャリブレーション手段と、
前記振動検出手段によって検出した振動に対応する第２振動データと前記リファレンス振動データの補正値に基づいて、前記リファレンスデータ格納手段に格納されたリファレンス振動データの中から、前記第２振動データ及び前記選択された振動媒体に対応するリファレンス振動データを選択させるとともに、前記第２振動データに基づいて、前記選択されたリファレンス振動データの補正値を更新する運用キャリブレーション手段と、
前記運用キャリブレーション手段によって選択されたリファレンス振動データに基づいて、前記機器を制御する制御信号を生成する制御信号生成手段と、
を備えることを特徴とする機器制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器を制御するための機器制御プログラム、制御機器システム及び機器制御装置に関する。
【背景技術】
【０００２】
電子機器の一例として、エアコンディショナー（以下、エアコンという）がある。例えば、エアコンにおいては、ユーザが常に快適と感じる空調温度で運転されることが理想である。通常、空調温度はユーザによりリモートコントローラ（以下、リモコンという）を用いて設定され、その設定温度に室内が維持されるようエアコンの動作制御が行われる。そして、ユーザが暑いと感じたとき、又は寒いと感じたときは、これもユーザがリモコンを用いて適宜空調温度の設定を変更することで快適性が保たれる。
【０００３】
ところが、リモコンが手元にないような場合、ユーザはエアコンの動作を制御することが出来なくなる。例えば、就寝時には、リモコンを近くに置いておけなかったり、暗くて又は眠たくてリモコンを見つけ出すことが出来なかったりする。
【０００４】
このようにリモコンを操作することが出来ないような場合は、画像認識技術や音声認識技術を用いて、ユーザの動きや音声でエアコンを制御する技術も開示されているが、就寝時は暗い状況であるのが通常であるため適切な画像処理が行えなかったり、周囲への配慮からも音声認識を行うことが出来なかったりする。
【０００５】
また、暗い環境下で大きな音を出さずにユーザの指示を電子機器に伝達する技術としては、外的衝撃をユーザ入力信号とする技術が開示されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−３２３９４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したように、例えば、エアコンの場合、暗く静かな就寝時にユーザの指示をエアコンに伝達するためには、外的衝撃をユーザ入力信号とする技術が有効である。
しかしながら、外的衝撃をエアコンに伝達するための振動媒体の伝達特性は、その個体によって大きく異なるため、振動センサで得られた意思情報を正確に判別することが困難である、という問題点があった。
【０００８】
本発明は、外的衝撃を電子機器に伝達するための振動媒体の伝達特性が異なっても、振動センサで得られた意思情報を正確に判別することが可能な機器制御プログラム、制御機器システム及び機器制御装置の提供を目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上記課題を解決するため、下記のような構成を採用した。
１つの案では、制御対象となる機器を制御するための機器制御プログラムにおいて、コンピュータに、振動媒体を介して伝達された振動を検出する振動検出手段によって検出した振動に対応する第１振動データに基づいて、振動に対応するリファレンス振動データを、前記振動媒体を特定する振動媒体情報と対応付けて格納するリファレンスデータ格納手段を参照することにより、前記第１振動データに対応する前記振動媒体を選択させ、前記振動検出手段によって検出した振動に対応する第２振動データと前記リファレンス振動データの補正値に基づいて、前記リファレンスデータ格納手段に格納されたリファレンス振動データの中から、前記第２振動データ及び前記選択された振動媒体に対応するリファレンス振動データを選択させ、前記第２振動データに基づいて、前記選択されたリファレンス振動データの補正値を更新し、前記選択されたリファレンス振動データに基づいて、前記機器を制御する制御信号を生成することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、外的衝撃を電子機器に伝達するための振動媒体の伝達特性が異なっても、振動センサで得られた意思情報を正確に判別することができる、という効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明の概要を説明するための図である。
【図２】機器制御装置１のハードウエア構成図である。
【図３】機器制御装置１が実行する機器制御プログラムの処理の流れを示すフローチャートである。
【図４】リファレンスデータの登録処理の概略を説明するための図である。
【図５】リファレンスデータの登録処理の流れを示すフローチャートである。
【図６】リファレンスデータの構造例を示す図である。
【図７】運用前のキャリブレーション処理の概略を説明するための図である。
【図８】リファレンスデータ（最大・標準・最小）とのマッチング方法について説明するための図である。
【図９】運用前のキャリブレーション処理の流れを示すフローチャートである。
【図１０】運用時のキャリブレーション処理の概略を説明するための図である。
【図１１】メッセージデータの検知方法を説明するための図である。
【図１２】運用時のキャリブレーション処理と意思情報検知後の応用例（その１）の流れを示すフローチャートである。
【図１３】意思情報検知後の応用例（その２）の流れを示すフローチャートである。
【図１４】本発明を適用した機器制御装置１のハードウエア構成を示す図である。
【図１５】情報処理装置にプログラムやデータを提供する方法を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図１は、本発明の概要を説明するための図である。
図１において、本発明を適用した制御機器システム１０は、機器制御装置１、振動媒体３及びエアコンユニット４を備える。そして、制御機器システム１０において、ユーザ２からの指示が振動媒体３を介して機器制御装置１に伝達され、その指示を解析した機器制御装置１が、後述する機器制御プログラムを実行することによりエアコンユニット４の動作を制御する。振動媒体３は例えば、ベッドである。
【００１３】
振動媒体３は、ユーザ２により発生された振動情報を、ユーザ２の指示として機器制御装置１に伝達する。ユーザ２の指示は、大きく分けて２種類の指示がある。１つ目は、ユーザ２が手等で意識的に振動媒体３を叩くことによる指示である。振動媒体３は、叩くタイミングや叩く回数などで指示を機器制御装置１に伝達する。このような指示を、ここでは「メッセージデータ」という。２つ目は、ユーザ２の寝返りなどの体動で発生され無意識に伝達される指示であり、ここでは「体動データ」という。
【００１４】
機器制御装置１は、機器制御プログラムの実行により、ユーザ２によって発生されたこれらの指示を解析し、特定の命令情報を、例えば赤外線通信等によりエアコンユニット４に入力する。エアコンユニット４は、入力された特定の命令情報に従って室内の空調を行う。例えば、電源のオン又はオフ、設定温度の変更等の空調を行う。
【００１５】
図２は、機器制御装置１のハードウエア構成図である。
図２において、機器制御装置１は、振動センサモジュール１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３、外部記録装置１４、温度センサモジュール１５、湿度センサモジュール１６、ＣＰＵ（Central Processing Unit）１７、ＲＴＣ（Real Time Clock）１８、表示モジュール１９、及び制御情報送受信モジュール２０を備える。
【００１６】
振動センサモジュール１１は、例えば、振動媒体３を介して機器制御装置１に伝達してきた振動を検出する加速度センサである。なお、振動センサモジュール１１、温度センサモジュール１５、湿度センサモジュール１６は、機器制御装置１の内部に備えず、外部に接続する形態でも良い。
【００１７】
ＲＯＭ１２は、機器制御プログラム及びリファレンスデータ等を格納する。ＲＡＭ１３は、機器制御プログラム等を実行するためのメモリである。例えば、ＲＯＭ１２に予め記憶されている機器制御プログラムが、ＲＡＭ１３を作業用メモリとして実行される。外部記録装置１４は、運用前のキャリブレーションデータ（選択されたリファレンスデータ）、運用時の補正量、及び検知した体動データやメッセージデータ等を格納する。
【００１８】
温度センサモジュール１５は、室内の温度を検出し、湿度センサモジュール１６、室内の湿度を検出する。
【００１９】
ＣＰＵ１７は、振動センサモジュール１１、ＲＯＭ１２、ＲＡＭ１３、外部記録装置１４、温度センサモジュール１５、湿度センサモジュール１６、ＲＴＣ（Real Time Clock）１８、表示モジュール１９、及び制御情報送受信モジュール２０を制御することにより、機器制御装置１の全体を制御する。
【００２０】
ＲＴＣ１８は、振動センサモジュール１１、温度センサモジュール１５及び湿度センサモジュール１６からのセンサデータ取得時、並びに体動データ及びメッセージデータの検出時などに現在時刻を計時する。
【００２１】
表示モジュール１９は、振動センサモジュール１１による振動検出の有無、振動の強さ並びに温度及び湿度等の各種の情報を表示する。制御情報送受信モジュール２０は、赤外線等を用いて制御機器４Ａの制御情報送受信モジュール４０Ａ又は制御機器４Ｂの制御情報送受信モジュール４０Ｂに対して、制御機器４Ａ又は４Ｂの電源のオンオフ制御情報、温度制御情報等の通信を制御する。
【００２２】
次に、機器制御装置１が実行する機器制御プログラムの処理について説明する。なお、本実施の形態においては、特に夏季におけるエアコンユニット４のクーラー機能の制御について説明する。
【００２３】
図３は、機器制御装置１が実行する機器制御プログラムの処理の流れを示すフローチャートである。
まず、ステップＳ３０１において、サブルーチン「リファレンスデータの登録」処理を実行する。特性の異なるいくつかの振動媒体３を用いて、キャリブレーションデータや意思情報の計測及び登録を行う。これがリファレンスデータとなる。リファレンスデータの登録処理の詳細は後述する。
【００２４】
次に、ステップＳ３０２において、サブルーチン「運用前のキャリブレーション」処理を実行する。実際にユーザ２が使用する振動媒体３を用いてキャリブレーションデータの計測を行い、リファレンスデータに最も近い振動媒体３を検索し決定する。後述する「運用時のキャリブレーション」処理においては、ここで決定した振動媒体３の意思情報（メッセージデータ及び体動データ）に基づいて検知を行う。運用前のキャリブレーション処理の詳細は後述する。
【００２５】
次に、ステップＳ３０３において、省電力のためのＣＰＵ１７のスリープ制御として、振動センサモジュール１１の閾値割込みと定期的なタイマ割込みを設定する。
【００２６】
そして、ステップＳ３０４において、サブルーチン「運用時のキャリブレーション」処理を実行する。運用時のキャリブレーション処理は、制御機器システム１０の運用時に常時実行される。リファレンスデータが登録された振動媒体３とユーザ２が使用する振動媒体３との特性誤差、及び環境による特性誤差を補正し、意思情報の検知精度を逐次向上させることができる。意思情報検知時の機器制御装置１、より正確には振動センサモジュール１１の位置や、意思情報を伝える衝撃点（振動点）の場所が変わる場合があり、また、振動媒体３に物体（人、布団など）が定常的に置かれる場合がある。このような場合に変化する伝達特性の誤差を、環境による特性誤差という。詳細は後述する。
【００２７】
リファレンスデータの登録処理について説明する。
図４は、リファレンスデータの登録処理の概略を説明するための図である。
「リファレンスデータの登録」では、スプリングコイル、低反発ウレタン、スポンジ等の伝達特性の異なるいくつかの振動媒体３（振動媒体Ａ、振動媒体Ｂ、振動媒体Ｃ、・・・）を用意し、特定の配置で運用前のキャリブレーション情報と意思情報を計測し、振動媒体３単位で保存する。キャリブレーションは、ユーザ２の手又は特定の治具などによる衝撃を振動媒体３に与えることで行う。意識的な情報伝達（メッセージデータ）は、計測したキャリブレーションの情報を合成して作成してもよい。
【００２８】
より具体的には、振動媒体３単位で、振動量一定で振動センサモジュール１１と衝撃点（入力）の距離Ｌを変化させるか、あるいは距離Ｌを一定にして入力する衝撃に大きさを変化させて測定を行う。そして、信号の増減情報（スケール範囲「最大・標準・最小」）を保存（登録）する。なお、手などによる衝撃は、振動媒体３に対するインパルス入力（全周波数入力）と考えることができる。インパルス入力を行うことで、減衰する周波数の違いから特定の振動媒体３の伝達特性が分かる。また、振動媒体３が温度変化などによって伝達特性が変化する場合、同一の振動媒体３で複数のリファレンスデータを登録してもよい。また、体動データなど温度や湿度との相関が高い情報は、温度や湿度に関する情報を登録してもよい。この際、本データを検知時の閾値として利用することもできる。
【００２９】
図５は、リファレンスデータの登録処理の流れを示すフローチャートであり、図６は、リファレンスデータの構造例を示す図である。
リファレンスデータの登録処理は、伝達特性の異なるいくつかの振動媒体３単位で実行する。
【００３０】
まず、ステップＳ５０１において、一定の大きさの衝撃で、振動センサモジュール１１と衝撃点の距離を変化させるか、あるいは振動センサモジュール１１と衝撃点の距離を一定にし、入力する衝撃の大きさを変化させて測定を行い、信号の増減情報（スケール範囲「最大・標準・最小」）を保存（登録）する。そして、各スケール範囲で周波数変換を行う。
【００３１】
次に、ステップＳ５０２において、登録データ（体動データ／メッセージデータ）の同期加算、あるいは合成を行う。メッセージデータは、キャリブレーション用データを利用して合成することもできる。メッセージデータについては、各信号間の時間差（マージン）を相互相関によって事前に計測しておく。そして、周波数変換を行う。
【００３２】
次に、ステップＳ５０３において、検知を行うために、登録データと取得データの相互相関の閾値、メッセージデータに関しては、信号間のマージン範囲（最大及び最小）、スケール範囲（最大及び最小）、ブロック単及びスペクトル単位の閾値（最大及び最小）を設定する。また、登録データにおいて、温度や湿度との相関が高い意思情報は、温度や湿度の閾値を登録してもよい。登録した閾値を検知時の閾値として利用してもよい。各閾値の例は図６に示される。
【００３３】
そして、ステップＳ５０４において、ステップＳ５０１で登録した登録データを、実運用時の入力データとして捉え、登録済みの体動データやメッセージデータに検知しないかを判断する。
【００３４】
検知した場合（ステップＳ５０４：ＹＥＳ）、ステップＳ５０５において、再計測や再合成を行うか閾値を調整するかを決定する。再計測や再合成を行う場合は、ステップＳ５０２に戻り、閾値を調整する場合は、ステップＳ５０３に戻る。
【００３５】
他方、登録済みの体動データやメッセージデータに検知しない場合（ステップＳ５０４：ＮＯ）、ステップＳ５０６において、体動データ及びメッセージデータの仮登録を行う。
【００３６】
そして、ステップＳ５０７において、検知精度のチェックを行い、精度が所定の条件を満たしていなければ（ステップＳ５０７：ＮＧ）、ステップＳ５０５に進み、満たしていれば（ステップＳ５０７：ＯＫ）、ステップＳ５０８において、体動データ及びメッセージデータの本登録を行う。
【００３７】
そして、ステップＳ５０９において、体動データ及びメッセージデータの登録が完了したか否かを判断し、完了していなければ（ステップＳ５０９：ＮＯ）、ステップＳ５０２に戻り、完了していれば、次の振動媒体３のリファレンスデータの登録処理を実行する。そして、全ての振動媒体３のリファレンスデータの登録処理が終了すると、図６に示したようなデータセットが完了する。
【００３８】
次に、運用前のキャリブレーション処理について説明する。
図７は、運用前のキャリブレーション処理の概略を説明するための図である。
運用前のキャリブレーション処理は、ユーザ２の使用する振動媒体３が、上述のリファレンスデータが登録された振動媒体３のいずれに最も近いかマッチングさせる処理である。
【００３９】
リファレンスデータ登録の際の計測時の配置で、ユーザ２が手などによる衝撃を振動媒体３に与え、計測及び分析を行い、登録されたリファレンスデータとのマッチングを行う。計測は複数回行うこともできる。
【００４０】
より具体的には、図７中のＳＴＥＰ１に示すように、振動量が閾値範囲内であるデータを対象とし、次の信号との相互相関を行い、相関値が閾値を超えた信号について同期加算を行う。
【００４１】
次に、図７中のＳＴＥＰ２に示すように、登録済みのリファレンスデータの振動媒体３毎の総エネルギー量に合わせて、同期加算したデータを正規化した上でリファレンスデータとの相互相関を行う。なお、計測データと登録済みリファレンスデータとの相互相関を行ってもよい。そして、振動媒体３単位で相関値を保存する。
【００４２】
次に、図７中のＳＴＥＰ３に示すように、同期加算し正規化した計測データを周波数変換し、各スペクトル単位で振動媒体３のリファレンスデータとの差分値の合計を算出する。振動媒体３単位で差分値を保存する。そして、相関値及び差分値に基づいて、相関値が高く差分値が低い振動媒体３を選出し、運用時に利用するリファレンスデータとして決定する。決定した振動媒体３との相関値及び差分値は保存しておく。なお、振動量を均一化し、計測精度を上げるため、計測中は、ユーザ２に逐次振動情報を提示してもよい。また、ユーザ２が実運用前に適切な振動量（叩く強さ）を自身で認知するため、振動媒体３の決定後に、振動テストとして逐次振動情報を提示しても良い。
【００４３】
そして、相互相関により位置合わせを行った後に、図８を用いて後述する方法によって、リファレンスデータ（最大・標準・最小）とのマッチングを行い、強弱情報などとして逐次ユーザに提示する。なお、振動媒体３の特徴が事前に分かっている場合には、計測を行わずリファレンスデータで登録されている振動媒体３の種類を提示しユーザ２に選択させることもできる。
【００４４】
図８は、リファレンスデータ（最大・標準・最小）とのマッチング方法について説明するための図である。
図８（Ａ）に示したように、最大リファレンスデータ８１、標準リファレンスデータ８２及び最小リファレンスデータ８３の総エネルギー量を事前に算出する。図８（Ｂ）に示すように、標準リファレンスデータ８２との位置合わせ（類似性チェック）は、取得データ８４との相互相関を随時実施することで行う。そして、位置合わせ後、取得データの総エネルギー量を算出し、いずれのリファレンスデータ（最大リファレンスデータ８１、標準リファレンスデータ８２及び最小リファレンスデータ８３）に最も近いかを決定する。図８（Ｂ）に示した例では、標準リファレンスデータ８２に最も近いと判定している。
【００４５】
そして、図８（Ｃ）に示すように、決定したリファレンスデータ（ここでは標準リファレンスデータ８２）と取得データ８４の総エネルギー量の比からリファレンスデータあるいは取得データのいずれかを正規化する。図８（Ｃ）に示した例では、取得データ８４を正規化し、正規化取得データ８５を得ている。
【００４６】
そして、図８（Ｄ）に示すように、リファレンスデータを利用して取得データの検知を行う。なお、ブロック単位の閾値は、正規化量に合わせて調整してもよい。
【００４７】
図９は、運用前のキャリブレーション処理の流れを示すフローチャートである。
まず、ステップＳ９０１において、キャリブレーション計測を行うか、あるいは振動媒体３の選択をするかを判断する。
振動媒体３の選択をする場合は、ステップＳ９０５に進み、キャリブレーション計測を行う場合は、ステップＳ９０２において、キャリブレーション用データの計測（同期加算）を行う。具体的には、まず、リファレンスデータ登録時の測定環境に合わせるため、振動センサモジュール１１と衝撃点との間の距離をユーザ２に提示する。そして、振動量が閾値範囲内のデータを対象として、相互相関を行い相関値が閾値を超えた信号について同期加算を行う。なお、計測中、計測データと閾値を逐次ユーザ２に提示してもよい。
【００４８】
次に、ステップＳ９０３において、登録済みリファレンスデータの振動媒体３毎の総エネルギー量に合わせて、同期加算したデータを図８に示したようにして正規化し、リファレンスデータとの相互相関を行う。そして、相関値を保存する。
【００４９】
次に、ステップＳ９０４において、同期加算し正規化した計測データを周波数変換し、各スペクトル単位で振動媒体３（リファレンスデータ）との差分値合計を算出する。そして、差分値を保存する。
【００５０】
これらのステップＳ９０３及びＳ９０４の処理は、リファレンスデータが登録された振動媒体３単位で繰り返し実行する。
【００５１】
次に、ステップＳ９０５において、相関値及び差分値に基づいて、相関値が高く差分値が低い振動媒体３を選出し、該当する振動媒体３のリファレンスデータ(メッセージデータ、体動データ)を取り出す。このリファレンスデータは、後述する運用時のキャリブレーションに用いる。
【００５２】
次に、ステップＳ９０６において、振動テストを行うか否かを判断する。
行わない場合（ステップＳ９０６：ＮＯ）は、運用前のキャリブレーション処理を終了し、行う場合（ステップＳ９０６：ＹＥＳ）は、ステップＳ９０７において、振動テストを実施する。具体的には、選出した振動媒体３と取得データとの相互相関に基づいて位置合わせを行った後に、図８を用いて説明したような方法によって、リファレンスデータ(最大・標準・最小)とのマッチングを行い、強弱情報などとして逐次ユーザ２に提示する。
【００５３】
次に、運用時のキャリブレーション処理について説明する。
図１０は、運用時のキャリブレーション処理の概略を説明するための図である。
図１０中のＳＴＥＰ１に示すように、運用時のキャリブレーション処理は、上述の運用前のキャリブレーション処理でマッチングした登録済みのリファレンスデータ（振動媒体３）と振動センサモジュール１１から取得した振動情報のデータに基づいて、意思情報の検知を行う。ただし、手の衝撃による意識的なメッセージデータについては、経年劣化や温度変化等によって振動媒体３が登録データと異なることがあったり、定常的に物体が置かれたり、振動センサモジュール１１や衝撃点の配置が運用前のキャリブレーション処理時とは異なるため、衝撃を与える衝撃点やその振動量が変化することから、伝達特性は変化し検知精度が落ちる。
【００５４】
これを補正するために、図１０中のＳＴＥＰ２に示すように、検知後に振動情報のデータの周波数変換を行い、登録済みのリファレンスデータの周波数情報との差をリファレンスデータの補正値として抽出する。この補正値は、過去数回分の平均を算出することで均一化できる。また、事前に、振動センサモジュール１１から取得した振動情報のデータ値から、周波数領域でリファレンスデータの補正値を差し引いておき、補正値を差し引いた後の振動情報のデータに基づいて上述の意思情報の検知を行うことで、周波数領域での検知精度を向上させ、時間領域に戻すことで時間領域での検知精度を向上することができる。
【００５５】
ここで、メッセージデータの検知方法について説明する。
図１１は、メッセージデータの検知方法を説明するための図である。
メッセージデータの検知は、リファレンスデータと取得データとの相互相関を行い、相関値が閾値を満たしている場合に仮検知とする。そして、仮検知したデータについて、図８に示したようにして信号の正規化を行った後、信号間の時間差が範囲内にあるか、あるいはブロック単位のエネルギー量が閾値範囲内にあるかどうかをチェックし、検知か否かを判定する。更に、正規化後の信号を周波数変換し、各スペクトル単位のエネルギー量が閾値範囲内にあるかどうかを判定する。検知を行うためには、リファレンスデータと取得データの相互相関の閾値、信号間のマージン範囲（最大及び最小）、スケール範囲（最大及び最小）、ブロック及びスペクトル単位の閾値（最大及び最小）、並びにメッセージ情報として信号毎の強度を利用する場合には、信号間のスケール比とその許容範囲、温度や湿度の閾値などを設定する。設定値の初期値は、図６に示したようなデータセットを利用する。なお、上記各閾値は、幅を広げると検知ミスが減り、誤検知が増加し、幅を狭めると検知ミスが増加し、誤検知が減少する。また、リファレンスデータと取得データの差分情報（補正値）を利用して、逐次各閾値をコントロールすることもできる。
【００５６】
なお、図１１（Ａ）中の符号１１１は、リファレンスデータのブロック単位ごとの最大値と最小値の範囲を示す。また、符号１１４は、第１信号と第２信号の時間差の最大値であり、符号１１２は、第１信号と第２信号の時間差の標準値であり、符号１１６は、第１信号と第２信号の時間差の最小値である。また、符号１１５は、第２信号と第３信号の時間差の最大値であり、符号１１３は、第２信号と第３信号の時間差の標準値であり、符号１１７は、第２信号と第３信号の時間差の最小値である。また、図１１（Ｂ）中の符号１１８は、リファレンスデータのスペクトル単位ごとの最大値と最小値の範囲を示す。
【００５７】
図１２は、運用時のキャリブレーション処理と意思情報検知後の応用例（その１）の流れを示すフローチャートであり、図１３は、意思情報検知後の応用例（その２）の流れを示すフローチャートである。
【００５８】
図１２に示した運用時のキャリブレーション処理と意思情報検知後の応用例（その１）は、振動センサモジュール１１の割込み閾値以上の振動によって起動される。また、図１３に示した意思情報検知後の応用例（その２）は、定期的な割込み、例えば５分毎の間隔で起動される。
【００５９】
まず、図１２のステップＳ１２０１において、タイマを起動する。このタイマが駆動している間、後述のステップＳ１２０２以降が実行される。
【００６０】
ステップＳ１２０２において、振動センサモジュール１１からのデータを読み出し、時刻情報とともにリングバッファへ保存する。
【００６１】
次に、ステップＳ１２０３において、連続検知を避けるため、過去所定時間内に検知したデータがあるか否かを判断する。
【００６２】
検知したデータがあれば（ステップＳ１２０３：ＹＥＳ）、ステップＳ１２１５へ進み、なければ（ステップＳ１２０３：ＮＯ）、ステップＳ１２０４において、書込み時刻からデータの連続性を確認し、必要なデータを直線又はスプライト補完処理を行い、利用データの開始時刻を決定する。
【００６３】
次に、ステップＳ１２０５において、補正量ΣC(f)が所定の閾値以内か否かを判断する。ここで、補正量ΣC(f)は、周波数変換したリファレンスデータYref(f)と取得データY(f)の差分情報である補正値C(f)の累積値である。
【００６４】
補正量ΣC(f)が所定の閾値以内でない場合（ステップＳ１２０５：ＮＯ）、ステップＳ１２０６において、補正値C(f)を初期化（C(f)＝０）してステップＳ１２０８へ進む。
【００６５】
他方、補正量ΣC(f)が所定の閾値以内である場合（ステップＳ１２０５：ＹＥＳ）、ステップＳ１２０７において、取得データを周波数変換処理（ＦＦＴ）し、周波数領域で補正値C(f)を差し引いてから、逆変換処理（ＩＦＦＴ）で時間情報へ戻す。なお、初回は、C(f)＝０である。また、補正量ΣC(f)に合わせて、検知時に用いる閾値を調整してもよい。
【００６６】
次に、ステップＳ１２０８において、図１１を用いて説明したような方法で時間情報におけるメッセージデータ及び体動データの検知を行う。なお、ステップＳ１２０５で閾値以内でない場合（ステップＳ１２０５：ＮＯ）は、上述の「運用前のキャリブレーション」処理で選択した振動媒体３での補正量ΣC(f)の結果と、他の振動媒体３を選択した場合の補正量ΣC(f)の結果を比較し、補正量がより小さな方の振動媒体３を「運用前のキャリブレーション」処理で選択した振動媒体３として再決定することもできる。
【００６７】
そして、時間情報におけるメッセージデータ及び体動データを検知しない場合は、ステップＳ１２１５へ進み、検知した場合は、ステップＳ１２０９において、周波数情報におけるメッセージデータ及び体動データの検知を行う。正規化した取得データを周波数変換し、各スペクトル単位でリファレンスデータと取得データとの差分を算出し、閾値範囲であれば検知とする。なお、同時にリファレンスデータと取得データとの補正値C(f)を算出する。また、正規化については、正規化前の時間情報を周波数情報にしてから、主要周波数で正規化を行ってもよい。
【００６８】
そして、周波数情報におけるメッセージデータ及び体動データを検知しない場合は、ステップＳ１２１５へ進み、検知した場合は、ステップＳ１２１０乃至Ｓ１２１３のような処理を実行する。
【００６９】
すなわち、寝返り（体動データ）を検出した場合は、ステップＳ１２１０において、寝返り回数を１加算する。
【００７０】
また、エアコン電源オフのメッセージデータを検出した場合は、ステップＳ１２１１において、エアコン電源オフ信号をエアコンユニット４へ送出し、メッセージ内容と室温を保存する。
【００７１】
また、エアコン電源オンのメッセージデータを検出した場合は、ステップＳ１２１２において、現在の室温が事前に登録されている下限値温度以上の場合のみ、エアコン電源オン信号をエアコンユニット４へ送出し、メッセージ内容と室温を保存する。
【００７２】
また、テレビ電源オンのメッセージデータを検出した場合は、ステップＳ１２１３において、テレビ電源オン信号を送出し、メッセージ内容を保存する。
【００７３】
そして、ステップＳ１２１４において、検知内容と検知時刻を記録し、一度検知したら、所定時間検知しないようにする。
【００７４】
ステップＳ１２０３で過去所定時間内に検知したデータがあると判断された場合、ステップＳ１２０８で時間情報におけるメッセージデータ及び体動データを検知しない場合、及びステップＳ１２０９で周波数情報におけるメッセージデータ及び体動データを検知しない場合は、ステップＳ１２１５において、所定時間を経過したか否かを判断する。
【００７５】
所定時間経過していない場合（ステップＳ１２１５：ＮＯ）は、ステップＳ１２０２のタイマループの最初に戻り、所定時間経過した場合（ステップＳ１２１５：ＹＥＳ）は、ステップＳ１２１６において、取得データの振動量が閾値以上か否かを判断する。
【００７６】
そして、取得データの振動量が閾値以上であれば（ステップＳ１２１６：ＹＥＳ）、ステップＳ１２０２のタイマループの最初に戻り、閾値以上でなければ（ステップＳ１２１６：ＮＯ）、運用時のキャリブレーション処理と意思情報検知後の応用例（その１）を終了する。
【００７７】
次に、意思情報検知後の応用例（その２）について説明する。
まず、図１３のステップＳ１３０１において、体動データである現在の寝返りの回数、室温、現在時刻を不揮発メモリへ保存する。保存後、寝返り回数を０で初期化し。過去所定期間の寝返り総回数を算出する。また、過去所定期間のエアコンユニット４に対する電源オン制御（メッセージデータ）時の平均温度を算出する。
【００７８】
次に、ステップＳ１３０２において、現在のエアコン設定がオンであり、現在室温が登録している下限温度よりも低い（現在室温＜登録している下限温度）か、もしくは過去所定期間の寝返り総回数が所定の閾値Ａより少ない（過去所定期間の寝返り総回数＜閾値Ａ）か否かを判断する。
【００７９】
現在のエアコン設定がオンであり、現在室温が登録している下限温度よりも低いか、過去所定期間の寝返り総回数が所定の閾値Ａより少ない場合（ステップＳ１３０２：ＹＥＳ）、ステップＳ１３０３において、エアコン電源オフ信号をエアコンユニット４へ送出し、テレビ電源オフ信号を送出する。
【００８０】
また、ステップＳ１３０４において、現在のエアコン設定が電源オフであり、現在室温が登録している下限温度より高く（現在室温＞登録している下限温度）、かつ寝返り回数が所定の閾値Ｂより大きい（寝返り回数＞閾値Ｂ）場合（ステップＳ１３０４：ＹＥＳ）、ステップＳ１３０５において、エアコン電源オン「設定温度（下限値）」信号をエアコンユニット４へ送出する。
【００８１】
また、ステップＳ１３０６において、現在のエアコン設定が電源オン「設定温度（下限値）」であり、過去所定期間の寝返り総回数が所定の閾値Ｃより少ない（過去所定期間の寝返り総回数＜閾値Ｃ）場合（ステップＳ１３０６：ＹＥＳ）、ステップＳ１３０７において、エアコン電源オン「設定温度（上限値）」信号をエアコンユニット４へ送出する。
【００８２】
また、ステップＳ１３０８において、現在のエアコン設定が電源オン「設定温度（上限値）」であり、過去所定期間の寝返り総回数が所定の閾値Ｄより多い（過去所定期間の寝返り総回数＞閾値Ｄ）場合（ステップＳ１３０８：ＹＥＳ）、ステップＳ１３０９において、エアコン電源オン「設定温度（下限値）」信号をエアコンユニット４へ送出する。
【００８３】
また、ステップＳ１３１０において、現在のエアコン設定が電源オフであり、現在の室温が過去所定期間のエアコンオン（メッセージデータ）時の平均温度＋αより高い（現在室温＞過去所定期間のエアコンオン（メッセージデータ）時の平均温度＋α「重み」）場合（ステップＳ１３１０：ＹＥＳ）、ステップＳ１３１１において、エアコン電源オン「設定温度（下限値）」信号をエアコンユニット４へ送出する。
【００８４】
図１４は、本発明を適用した機器制御装置１のハードウエア構成を示す図である。
図１に示す機器制御装置１は、例えば図１４に示す情報処理装置（コンピュータ）を使用して実現することができる。図１４に示す機器制御装置１は、ＣＰＵ１７、メモリ（ＲＯＭ１２、ＲＡＭ１３）、入力装置１００３、出力装置１００４、外部記録装置１４、媒体駆動装置１００６、及びネットワーク接続装置１００７を備える。また、これらはバス１００８により互いに接続されている。
【００８５】
メモリ（ＲＯＭ１２、ＲＡＭ１３）は、機器制御装置に用いられるプログラム及びデータを格納する。ＣＰＵ１７は、メモリ（ＲＯＭ１２、ＲＡＭ１３）を利用してプログラムを実行することにより、上述の機器制御処理を行う。
【００８６】
入力装置１００３は、例えば、キーボード、ポインティングデバイス等であり、ユーザからの指示や情報の入力に用いられる。出力装置１００４は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザへの問い合わせや処理結果の出力に用いられる。出力装置１００４は、図１の表示モジュール１９としても使用できる。
【００８７】
外部記録装置１４は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。この外部記録装置１４には、ハードディスクドライブも含まれる。機器制御装置１は、この外部記録装置１４にプログラム及びデータを格納しておき、それらをメモリ（ＲＯＭ１２、ＲＡＭ１３）にロードして使用することができる。
【００８８】
媒体駆動装置１００６は、可搬型記録媒体１００９を駆動し、その記録内容にアクセスする。可搬型記録媒体１００９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。この可搬型記録媒体１００９には、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＵＳＢ（Universal Serial Bus）メモリ等も含まれる。ユーザは、この可搬型記録媒体１００９にプログラム及びデータを格納しておき、それらをメモリ（ＲＯＭ１２、ＲＡＭ１３）にロードしたり、メモリ（ＲＯＭ１２、ＲＡＭ１３）や外部記憶装置１４に保存されている検知情報などを保存したりすることができる。
【００８９】
このように、機器制御処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ（ＲＯＭ１２、ＲＡＭ１３）、外部記録装置１４、及び可搬型記録媒体１００９のような、物理的な（非一時的な）記録媒体が含まれる。
【００９０】
ネットワーク接続装置１００７は、ＬＡＮ（Local Area Network）等の有線または無線の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。機器制御装置１は、プログラム及びデータを外部の装置からネットワーク接続装置１００７を介して受け取り、それらをメモリ（ＲＯＭ１２、ＲＡＭ１３）にロードして使用することができる。また、機器制御装置１は、一般的には「組み込み機器」と呼ばれる比較的小さな機器（装置）を想定しており、リモコン等に実装可能である。
【００９１】
図１５は、情報処理装置にプログラムやデータを提供する方法を示す図である。
例えば、外部記録装置１４に格納したプログラムやデータは、機器制御装置１のメモリ（ＲＯＭ１２、ＲＡＭ１３）にロードされる。また、ネットワーク接続装置１００７を介して接続可能な外部装置は、プログラムやデータ１１２０を搬送する搬送信号を生成し、通信ネットワーク上の任意の伝送媒体を介して機器制御装置１に送信する。
【００９２】
機器制御装置１の制御プログラムや基礎データをメモリ（ＲＯＭ１２、ＲＡＭ１３）にロードする方法としては、一般的には専用の治具（一般的にＩＣＥ（In-circuit emulator）と呼ばれる機器）などで、ＲＡＭ１３にロードしたりＲＯＭ１２に書き込んだりする。また、上述のようにして書込んだ制御プログラムが、制御プログラムや基礎データをアップデートできるような機構を実装している場合、例えば、ネットワーク装置（無線ＬＡＮなどのネットワーク通信）を利用して、自動で書換えを行う、あるいは、上記記載のように様々なデータを外部に出力することが可能である。上述した図２のスマートフォンとのやり取りがこれに該当する。
【００９３】
開示した実施の形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができる。
【符号の説明】
【００９４】
１      機器制御装置
２      ユーザ
３      振動媒体
４      エアコンユニット
４Ａ、４Ｂ      制御機器
１０      制御機器システム
１１      振動センサモジュール
１２      ＲＯＭ
１３      ＲＡＭ
１４      外部記録装置
１５      温度センサモジュール
１６      湿度センサモジュール
１７      ＣＰＵ
１８      ＲＴＣ
１９      表示モジュール
２０      制御情報送受信モジュール
４０Ａ、４０Ｂ      制御情報送受信モジュール
８１      最大リファレンスデータ
８２      標準リファレンスデータ
８３      最小リファレンスデータ
８４      取得データ
８５      正規化取得データ
１００３      入力装置
１００４      出力装置
１００６      媒体駆動装置
１００７      ネットワーク接続装置
１００８      バス
１００９      可搬型記録媒体
１１２０      プログラムやデータ
【図３】
2014155154.tif 000003
【図５】
2014155154.tif 000004
【図６】
2014155154.tif 000005
【図９】
2014155154.tif 000006
【図１２】
2014155154.tif 000007
【図１３】
2014155154.tif 000008
【図１４】
2014155154.tif 000009
【図１５】
2014155154.tif 000010
【図１】
2014155154.tif 000011
【図２】
2014155154.tif 000012
【図４】
2014155154.tif 000013
【図７】
2014155154.tif 000014
【図８】
2014155154.tif 000015
【図１０】
2014155154.tif 000016
【図１１】
2014155154.tif 000017