(57)【要約】【課題】効率的に状況を検知すること。【解決手段】状況検知装置１００は、発電装置１０１と、第１の演算回路１０２と、第２の演算回路１０３と、を有する。発電装置１０１は、設置された環境に応じて得られるエネルギーを用いて発電する。第１の演算回路１０２は、発電装置１０１の発電電力が所定の大きさとなったときに演算動作を行う。第２の演算回路１０３は、第１の演算回路１０２から演算結果を受信する。第２の演算回路１０３は、第１の演算回路１０２からの演算結果の受信頻度に基づいて、発電装置１０１の発電電力の時系列変化をあらわす波形を生成し、生成した波形に基づいて、状況を検知する。【選択図】図１
2019088154.tif 000002
【特許請求の範囲】
【請求項１】
環境に応じて得られるエネルギーを用いて発電する発電装置の発電電力が所定の大きさとなったときに演算動作を行う第１の演算回路と、
前記第１の演算回路から演算結果を受信し、前記第１の演算回路からの演算結果の受信頻度に基づいて、前記発電電力の時系列変化をあらわす波形を生成し、生成した前記波形に基づいて、状況を検知する第２の演算回路と、
を有することを特徴とする状況検知装置。
【請求項２】
さらに、前記発電装置からの発電電力を蓄電し、前記第１の演算回路に電力を供給可能な第１のキャパシタを有し、
前記第１の演算回路には、前記第１のキャパシタの蓄電量が一定以上となったときに電力が供給され、
前記第１の演算回路は、前記第１のキャパシタからの電力が供給されたことに応じて演算動作を行う、ことを特徴とする請求項１に記載の状況検知装置。
【請求項３】
前記第１の演算回路は、前記第２の演算回路から前記波形の情報を受信し、受信した前記波形の情報に基づいて、前記波形の特徴を解析する第１の演算を実行して、前記第２の演算回路に演算結果を送信し、
前記第２の演算回路は、受信した前記演算結果に基づいて、状況を検知する、
ことを特徴とする請求項１または２に記載の状況検知装置。
【請求項４】
前記第２の演算回路は、
生成した前記波形の特徴を解析する第２の演算を実行し、
受信した前記演算結果と、実行した前記第２の演算の演算結果とに基づいて、状況を検知する、ことを特徴とする請求項３に記載の状況検知装置。
【請求項５】
さらに、前記発電装置からの発電電力を蓄電し、前記第２の演算回路に電力を供給可能な第２のキャパシタを有する、ことを特徴とする請求項１〜４のいずれか一つに記載の状況検知装置。
【請求項６】
前記第２の演算回路は、検知した検知結果を出力する、ことを特徴とする請求項１〜５のいずれか一つに記載の状況検知装置。
【請求項７】
環境に応じて得られるエネルギーを用いて発電する複数の発電装置それぞれについて、当該発電装置の発電電力が所定の大きさとなったときに演算動作を行う第１の演算回路を有し、
前記第２の演算回路は、
複数の前記第１の演算回路から演算結果を受信し、複数の前記第１の演算回路からの演算結果の受信頻度に基づいて、前記複数の発電装置それぞれの発電電力の時系列変化をあらわす波形を生成し、生成した前記複数の発電装置それぞれの波形に基づいて、状況を検知する、
ことを特徴とする請求項１〜６のいずれか一つに記載の状況検知装置。
【請求項８】
環境に応じて得られるエネルギーを用いて発電する発電装置の発電電力が所定の大きさとなったときに演算動作を行う第１の演算回路と、
前記第１の演算回路から演算結果を受信し、前記第１の演算回路からの演算結果の受信頻度に基づいて、前記発電電力の時系列変化をあらわす波形を生成し、生成した前記波形に基づいて、状況を検知する第２の演算回路と、
を含むことを特徴とする状況検知システム。
【請求項９】
第１の演算回路と第２の演算回路とを有する状況検知装置が、
前記第１の演算回路により、環境に応じて得られるエネルギーを用いて発電する発電装置の発電電力が所定の大きさとなったときに演算動作を行い、
前記第２の演算回路により、前記第１の演算回路から演算結果を受信し、前記第１の演算回路からの演算結果の受信頻度に基づいて、前記発電電力の時系列変化をあらわす波形を生成し、生成した前記波形に基づいて、状況を検知する、
ことを特徴とする状況検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、状況検知装置、状況検知システムおよび状況検知方法に関する。
【背景技術】
【０００２】
近年、様々な物にセンサを取り付け、センサから得られる値から、コンピュータにより状況の検知を行い、環境の状態を検知するＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）技術の研究開発が行われている。例えば、センサをＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）に取り付けて、盗難などの異常を検知することができる。
【０００３】
また、周りの環境から振動や熱などのエネルギーを採取して、電力を得るエナジーハーベスティングと呼ばれる技術がある。また、加速度センサなどのセンサの利用は電力を消費するため、エナジーハーベスティングデバイス自体をセンサの代用として、状況検知に利用することが行われている。
【０００４】
先行技術としては、監視対象の事象から得られる環境エネルギーをセンシング情報として利用するとともに、環境利用型電源である装置動作電源として利用するセンシング装置がある。また、環境発電素子と、環境発電素子から出力される電力のレベルに応じて３種類以上のレベル判定信号のいずれかを出力する信号出力部と、環境発電素子から出力される電力を用いて駆動するデータ処理部と、を有する環境発電システムがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−００９３０５号公報
【特許文献２】特開２０１７−０２２５０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、エナジーハーベスティングデバイス自体をセンサの代用として使うにあたり、エナジーハーベスティングデバイスからの電力波形そのものを測定する測定回路を設けることになり、状況検知計算に用いる電力が波形測定で消費されてしまう。
【０００７】
一つの側面では、本発明は、効率的に状況を検知することを目的とする。
【課題を解決するための手段】
【０００８】
１つの実施態様では、状況検知装置は、環境に応じて得られるエネルギーを用いて発電する発電装置の発電電力が所定の大きさとなったときに演算動作を行う第１の演算回路と、前記第１の演算回路から演算結果を受信し、前記第１の演算回路からの演算結果の受信頻度に基づいて、前記発電電力の時系列変化をあらわす波形を生成し、生成した前記波形に基づいて、状況を検知する第２の演算回路と、を有する。
【発明の効果】
【０００９】
本発明の一側面によれば、効率的に状況を検知することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態にかかる状況検知方法の一実施例を示す説明図である。
【図２】図２は、状況検知システム２００のシステム構成例を示す説明図である。
【図３】図３は、第１マイコン２０２等のハードウェア構成例を示すブロック図である。
【図４】図４は、演算結果Ｒの具体例を示す説明図である。
【図５】図５は、波形特定情報ｄの具体例を示す説明図である。
【図６】図６は、波形データＤの具体例を示す説明図である。
【図７】図７は、状況検知装置１００の機能的構成例を示すブロック図である。
【図８】図８は、演算結果テーブル８００の記憶内容の一例を示す説明図である。
【図９】図９は、波形Ｗの具体例を示す説明図である。
【図１０】図１０は、窓同士の差の計算例を示す説明図である。
【図１１】図１１は、状況の検知例を示す説明図である。
【図１２】図１２は、第１マイコン２０２の演算処理手順の一例を示すフローチャートである。
【図１３】図１３は、第１マイコン２０２の受信処理手順の一例を示すフローチャートである。
【図１４】図１４は、第２マイコン２０３の第１状況検知処理手順の一例を示すフローチャートである。
【図１５】図１５は、第２マイコン２０３の第２状況検知処理手順の一例を示すフローチャートである。
【図１６】図１６は、異常検知処理の具体的処理手順の一例を示すフローチャートである。
【図１７】図１７は、状況検知装置１００の他の実施例を示す説明図である。
【発明を実施するための形態】
【００１１】
以下に図面を参照して、本発明にかかる状況検知装置、状況検知システムおよび状況検知方法の実施の形態を詳細に説明する。
【００１２】
（実施の形態１）
図１は、実施の形態にかかる状況検知方法の一実施例を示す説明図である。図１において、状況検知装置１００は、状況を検知する装置である。検知対象の状況は、状況検知装置１００が置かれた状況である。例えば、状況検知装置１００は、人や物に設けられ、自装置の状況を検知することで、人や物が置かれた状況を検知可能となる。
【００１３】
ここで、様々な物にセンサを取り付け、センサから得られる値から状況の検知を行う技術がある。一方で、センサや演算回路に常時電力を供給できるとは限らない。例えば、センサをＰＣに取り付けて盗難検知を行う場合、盗難時には電源ケーブルがコンセントから抜かれて電源供給ができない状態となる。電池を用いることも考えられるが、定期的に電池を交換する手間が生じる。
【００１４】
このため、振動発電や熱電発電などを用いたエナジーハーベスティング技術を適用することが考えられる。また、加速度センサなどのセンサの利用は電力を消費するため、エナジーハーベスティングデバイス自体をセンサの代用とし、発電される電力波形そのものを状況検知に利用することが考えられる。
【００１５】
ところが、エナジーハーベスティングデバイスからの電力波形を捉えるために、専用の測定回路（波形測定用の素子）を設けると、波形測定自体に電力が消費されてしまう。例えば、演算回路による状況検知計算に用いる電力が波形測定で消費されると、演算回路において検知精度が高い計算を行うことができなくなるおそれがある。
【００１６】
そこで、本実施の形態では、エナジーハーベスティングデバイスからの電力を、電力波形そのものの測定自体に消費することなく、状況検知計算に利用可能にして効率的に状況を検知する状況検知方法について説明する。以下、状況検知装置１００の一実施例について説明する。
【００１７】
状況検知装置１００は、発電装置１０１と、第１の演算回路１０２と、第２の演算回路１０３と、レギュレータ１０４と、キャパシタ１０５と、を有する。
【００１８】
発電装置１０１は、設置された環境に応じて得られるエネルギーを用いて発電するエナジーハーベスティングデバイスである。発電に用いられるエネルギーとしては、振動、熱、光、電磁波などが挙げられる。例えば、振動エネルギーをエネルギー源とする発電は、振動発電と呼ばれる。振動発電には、振動発電素子を使用して発電するものや、電磁誘導、静電誘導を使用して発電するものがある。
【００１９】
第１の演算回路１０２および第２の演算回路１０３は、演算を実行する演算回路である。第１の演算回路１０２および第２の演算回路１０３は、相互に通信可能である。レギュレータ１０４は、出力される電圧・電流を一定に保つように制御する調整装置である。キャパシタ１０５は、電気を充放電する蓄電装置である。
【００２０】
状況検知装置１００において、第１の演算回路１０２は、発電装置１０１の発電電力が所定の大きさとなったときに演算動作を行う。具体的には、例えば、発電装置１０１の発電電力によって、第１の演算回路１０２が安定して動作できる程度の電力がたまったときに、レギュレータ１０４から電圧・電流が出力される。そして、第１の演算回路１０２は、レギュレータ１０４による整流後の電力波形の立ち上がりに合わせて、所定の演算を実行し、その演算結果を第２の演算回路１０３に通知する。
【００２１】
第２の演算回路１０３は、第１の演算回路１０２から演算結果を受信する。ここで、第１の演算回路１０２は、発電装置１０１の発電電力が所定の大きさとなったときに演算動作を行う。すなわち、第１の演算回路１０２は、発電装置１０１の発電電力がＨｉｇｈ（山）のときだけ演算動作を行う。したがって、第１の演算回路１０２から第２の演算回路１０３への演算結果の通知頻度は、発電装置１０１の発電電力の時系列変化（周波数成分）をあらわしているといえる。
【００２２】
そこで、第２の演算回路１０３は、第１の演算回路１０２からの演算結果の受信頻度に基づいて、発電装置１０１の発電電力の時系列変化をあらわす波形を生成する。そして、第２の演算回路１０３は、生成した波形に基づいて、状況を検知する。具体的には、例えば、第２の演算回路１０３は、生成した波形の特徴を解析した結果から、自装置が正常状態にあるか、または、異常状態にあるかを検知する。
【００２３】
なお、波形の特徴を解析するための演算は、第１の演算回路１０２または第２の演算回路１０３において実行されてもよく、また、第１の演算回路１０２および第２の演算回路１０３で分担して実行されてもよい。
【００２４】
このように、実施の形態１にかかる状況検知装置１００によれば、演算回路を二段構成とすることで、第１の演算回路１０２の動きから、第２の演算回路１０３において、発電装置１０１の発電電力の時系列変化をあらわす波形を復元することができる。そして、状況検知装置１００によれば、復元した波形から、自装置が置かれた状況を検知することができる。
【００２５】
これにより、発電装置１０１からの発電電力を電力波形そのものの測定自体に消費することなく、第２の演算回路１０３による状況検知計算に利用可能にして、効率的に状況を検知することができる。このため、環境エネルギーを利用した発電装置１０１からのわずかな電力でも高精度な状況検知を行うことができる。
【００２６】
また、状況検知装置１００において、第１の演算回路１０２で使用されなかった余剰電力は、キャパシタ１０５に一旦蓄積され第２の演算回路１０３に供給される。これにより、第１の演算回路１０２が停止状態（発電電力がＬｏｗ）のときも、第２の演算回路１０３を動作させることができる。
【００２７】
（実施の形態２）
つぎに、実施の形態２にかかる状況検知装置１００を含む状況検知システム２００のシステム構成例について説明する。なお、実施の形態１で説明した箇所と同様の箇所については、説明を省略する。
【００２８】
図２は、状況検知システム２００のシステム構成例を示す説明図である。図２において、状況検知システム２００は、状況検知装置１００と、管理者端末２４０と、を含む。状況検知システム２００において、状況検知装置１００および管理者端末２４０は、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、ＬＰＷＡ（Ｌｏｗ  Ｐｏｗｅｒ  Ｗｉｄｅ  Ａｒｅａ）ネットワーク、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００２９】
状況検知装置１００は、エナジーハーベスタ２０１と、第１マイコン２０２と、第２マイコン２０３と、第１レギュレータ２０４と、第１キャパシタ２０５と、第２レギュレータ２０６と、第２キャパシタ２０７と、を有する。図２中、ＧＮＤは、接地（Ｇｒｏｕｎｄ）である。ＶＩＮは、入力電圧である。ＶＯＵＴは、出力電圧である。ＶCCは、電源電圧である。ｉｔは、電力の入力端子である。なお、ＧＮＤ等の自明な端子の線は省略している。また、以下の説明では、状況検知装置１００内の点線枠２２０の部分を「１段目プレーン」と表記し、点線枠２３０の部分を「２段目プレーン」と表記する場合がある。
【００３０】
エナジーハーベスタ２０１は、環境に応じて得られるエネルギーを用いて発電する発電装置である。例えば、エナジーハーベスタ２０１は、振動エネルギーを用いて発電する。エナジーハーベスタ２０１は、図１に示した発電装置１０１の一例である。
【００３１】
第１マイコン２０２および第２マイコン２０３は、演算を実行するマイクロコントローラである。第１マイコン２０２と第２マイコン２０３は、相互に通信可能である。例えば、第１マイコン２０２と第２マイコン２０３は、Ｉ２Ｃ（アイ・スクエアド・シー）やＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）などにより接続される。
【００３２】
また、第２マイコン２０３は、ＬＰＷＡモジュール２０８に接続されている。ＬＰＷＡモジュール２０８は、ＬＰＷＡを利用したデータ通信を行う通信モジュールである。例えば、第２マイコン２０３は、ＬＰＷＡモジュール２０８を介して、管理者端末２４０と通信可能である。第１マイコン２０２は、図１に示した第１の演算回路１０２の一例である。第２マイコン２０３は、図１に示した第２の演算回路１０３の一例である。
【００３３】
第１レギュレータ２０４および第２レギュレータ２０６は、出力される電圧・電流を一定に保つように制御する調整装置である。例えば、第１レギュレータ２０４および第２レギュレータ２０６は、出力電圧を３．３［Ｖ］程度の固定電圧に整流する。また、第１レギュレータ２０４および第２レギュレータ２０６は、ＵＶＬＯ（Ｕｎｄｅｒ  Ｖｏｌｔａｇｅ  Ｌｏｃｋ  Ｏｕｔ）機能を有する。ＵＶＬＯ機能は、入力電圧（ＶＩＮ）がＵＶＬＯの閾値（解除電圧）に達するまでは内部回路を準スタンバイ状態にし、誤動作を防止する機能である。また、ＵＶＬＯ機能は、動作中に電源電圧が低下し、ＵＶＬＯの閾値を下回ったときも内部回路を準スタンバイ状態にして誤動作を防止する。ＵＶＬＯの閾値としては、例えば、３〜４［Ｖ］程度の値が設定される。第１レギュレータ２０４は、図１に示したレギュレータ１０４の一例である。
【００３４】
第１キャパシタ２０５および第２キャパシタ２０７は、電気を充放電する蓄電装置である。第１キャパシタ２０５は、エナジーハーベスタ２０１からの発電電力を蓄電し、第１マイコン２０２に電力を供給可能である。第１キャパシタ２０５の容量は、第１マイコン２０２が動作する電力をためられる程度の小さい容量であり、例えば、１０〜１００［μＦ］程度である。第２キャパシタ２０７は、第１キャパシタ２０５よりも容量の大きいキャパシタであって、エナジーハーベスタ２０１からの発電電力を蓄電し、第２マイコン２０３に電力を供給可能である。第２キャパシタ２０７の容量は、例えば、１［Ｆ］程度である。なお、第２キャパシタ２０７には、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）電源などの外部電源に接続されていてもよい。第２キャパシタ２０７は、図１に示したキャパシタ１０５の一例である。
【００３５】
管理者端末２４０は、状況検知システム２００の管理者が使用するコンピュータである。管理者端末２４０は、例えば、ＰＣ、タブレットＰＣ、スマートフォンなどである。
【００３６】
状況検知システム２００において、第１マイコン２０２は、エナジーハーベスタ２０１の発電電力が所定の大きさとなったときに演算動作を行う。具体的には、第１マイコン２０２には、第１キャパシタ２０５の蓄電量が一定以上となったときに電力が供給される。より詳細に説明すると、第１キャパシタ２０５の蓄電量が一定以上となり、第１キャパシタ２０５の電圧が、第１レギュレータ２０４のＵＶＬＯの閾値（例えば、３〜４［Ｖ］）に到達すると、第１マイコン２０２に電力が供給される。ここで、第１キャパシタ２０５の容量は、１０〜１００［μＦ］程度の非常に小さい容量である。このため、エナジーハーベスタ２０１からのわずかな発電電力に連動して、第１マイコン２０２を動作させることができる。なお、第１マイコン２０２に電力が供給されるときの第１キャパシタ２０５の蓄電量は、例えば、電荷量の式「Ｑ＝Ｃ（容量）×Ｖ（電圧）」から導出可能である。
【００３７】
また、第２マイコン２０３には、第２キャパシタ２０７の蓄電量が一定以上となったときに電力が供給される。より詳細に説明すると、第２キャパシタ２０７の蓄電量が一定以上となり、第２キャパシタ２０７の電圧が、第２レギュレータ２０６のＵＶＬＯの閾値（例えば、３〜４［Ｖ］）に到達すると、第２マイコン２０３に電力が供給される。ここで、第２キャパシタ２０７の容量は、１［Ｆ］程度であり、第１キャパシタ２０５の容量に比べて非常に大きい。このため、１段目プレーン２２０で使用されなかった余剰電力により、第１マイコン２０２が停止しているときも第２マイコン２０３を動作させることができる。
【００３８】
また、状況検知システム２００において、状況検知装置１００は、盗難防止等のために例えば、ＰＣ、タブレットＰＣ、サーバなどの監視対象機器に設けられる。そして、状況検知装置１００は、例えば、異常な状況（盗難等）を検知したときに、ＬＰＷＡモジュール２０８により、状況の検知結果を管理者端末２４０に通知する。
【００３９】
これにより、例えば、監視対象機器が盗難されたときに、状況検知システム２００の管理者に通知することができる。なお、状況検知装置１００は、ＬＰＷＡモジュール２０８を有さないことにしてもよい。この場合、状況検知装置１００は、例えば、異常な状況（盗難等）を検知したときに、不図示のＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）ランプを点灯させたり、不図示のブザーから警告音を出力したりすることにしてもよい。
【００４０】
（第１マイコン２０２および第２マイコン２０３のハードウェア構成例）
つぎに、図２に示した第１マイコン２０２および第２マイコン２０３のハードウェア構成例について説明する。ここでは、「第１マイコン２０２および第２マイコン２０３」を「第１マイコン２０２等」と表記する。
【００４１】
図３は、第１マイコン２０２等のハードウェア構成例を示すブロック図である。図３において、第１マイコン２０２等は、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、を有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００４２】
ＭＰＵ３０１は、第１マイコン２０２等の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを有する。具体的には、例えば、ＲＯＭが各種プログラムを記憶し、ＲＡＭがＭＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＭＰＵ３０１にロードされることで、コーディングされている処理をＭＰＵ３０１に実行させる。
【００４３】
Ｉ／Ｆ３０３は、通信回線を通じて、他の装置に接続される。そして、Ｉ／Ｆ３０３は、他の装置からのデータの入出力を制御する。例えば、第１マイコン２０２のＩ／Ｆ３０３は、通信回線を通じて、第２マイコン２０３に接続される。なお、第２マイコン２０３は、上述した構成部のほかに、例えば、タイマを有する。
【００４４】
（演算結果Ｒの具体例）
つぎに、第１マイコン２０２から第２マイコン２０３に送信される演算結果Ｒの具体例について説明する。
【００４５】
図４は、演算結果Ｒの具体例を示す説明図である。図４において、演算結果Ｒは、ｔc0と、ｔpと、ｄ（ｔpｔc0）と、を含む。ここで、ｔc0は、現在窓の先頭の時刻である。ｔpは、過去窓の先頭の時刻である。窓は、時間軸上の一定の区間のことである。現在窓は、窓同士の波形の差を求める際の一方の窓（区間）である。
【００４６】
過去窓は、窓同士の差を求める際の他方の窓（区間）である。時刻は、例えば、エポック秒によってあらわされる。ｄ（ｔpｔc0）は、現在窓と過去窓との窓同士の波形の差をあらわす値であり、例えば、ベクトル間のユークリッド距離によってあらわされる。なお、現在窓および過去窓の一例については、図１０を用いて後述する。
【００４７】
（波形特定情報ｄの具体例）
つぎに、第２マイコン２０３から第１マイコン２０２に送信される波形特定情報ｄの具体例について説明する。
【００４８】
図５は、波形特定情報ｄの具体例を示す説明図である。図５において、波形特定情報ｄは、時刻と、カウント値と、を含む。ここで、時刻は、第２マイコン２０３で管理している時刻である。カウント値は、対応する時刻から一定期間内に、第２マイコン２０３が第１マイコン２０２から演算結果Ｒを受信した回数を示す。一定期間は、例えば、１０秒である。
【００４９】
図５の例では、波形特定情報ｄは、時刻ｔnから一定期間内に、第２マイコン２０３が第１マイコン２０２から演算結果Ｒを３回受信したことを示す。なお、ここでは、波形特定情報ｄに、時刻とカウント値との組み合わせが１組含まれる場合について説明したが、これに限らない。例えば、波形特定情報ｄには、複数の時刻それぞれについて、時刻とカウント値との組み合わせが含まれていてもよい。
【００５０】
（波形データＤの具体例）
つぎに、第１マイコン２０２および第２マイコン２０３が有する波形データＤの具体例について説明する。
【００５１】
図６は、波形データＤの具体例を示す説明図である。図６において、波形データＤは、波形特定情報ｄ０〜ｄｎを含む（ｎ：自然数）。各波形特定情報ｄ０〜ｄｎは、時刻とカウント値とを含む。時刻は、第２マイコン２０３で管理している時刻である。カウント値は、対応する時刻から一定期間内に、第２マイコン２０３が第１マイコン２０２から演算結果Ｒを受信した回数を示す。
【００５２】
すなわち、波形データＤは、第２マイコン２０３が第１マイコン２０２から演算結果Ｒを受信した一定時間ごとの回数（カウント値）を時系列に並べた時系列データである。
【００５３】
（状況検知装置１００の機能的構成例）
つぎに、実施の形態２にかかる状況検知装置１００の機能的構成例について説明する。
【００５４】
図７は、状況検知装置１００の機能的構成例を示すブロック図である。まず、状況検知装置１００が有する第１マイコン２０２の機能的構成例について説明する。第１マイコン２０２は、第１の通信部７１１と、第１の演算部７１２と、を含む。第１の通信部７１１および第１の演算部７１２は制御部となる機能であり、具体的には、例えば、図３に示した第１マイコン２０２のメモリ３０２に記憶されたプログラムをＭＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２に記憶される。
【００５５】
第１の通信部７１１は、第２マイコン２０３から波形特定情報ｄを受信する。ここで、波形特定情報ｄは、波形Ｗの一部または全部を特定する情報である。波形Ｗは、エナジーハーベスタ２０１の発電電力の時系列変化（周波数成分）をあらわす波形であり、後述する第２マイコン２０３の生成部７２２によって生成される波形である。
【００５６】
波形特定情報ｄは、例えば、図５に示したように、時刻とカウント値とを対応付けた情報であり、当該時刻から一定期間内に第２マイコン２０３が第１マイコン２０２から演算結果Ｒを受信した回数を示す。受信された波形特定情報ｄは、波形データＤ（例えば、図６参照）として、第１マイコン２０２のメモリ３０２に格納される。
【００５７】
具体的には、例えば、第１の通信部７１１は、第２マイコン２０３から波形特定情報ｄを受信すると、その都度、受信した波形特定情報ｄを波形データＤとしてメモリ３０２に格納する。これにより、第１マイコン２０２は、第２マイコン２０３において復元された波形Ｗ、すなわち、エナジーハーベスタ２０１の発電電力の時系列変化をあらわす波形Ｗを示す波形データＤを得ることができる。
【００５８】
第１の演算部７１２は、受信された波形特定情報ｄに基づいて、波形Ｗの特徴を解析する第１の演算を実行する。具体的には、例えば、第１の演算部７１２は、ｋ−近傍法を利用して、波形データＤにおいて、過去の一定区間をスライドさせながら、現在の区間（現在窓）と過去の区間（過去窓）との差を求める第１の演算を実行する。波形データＤは、受信された波形特定情報ｄから特定される波形Ｗを示す情報であり、カウント値を時系列に並べた時系列データである。
【００５９】
区間の長さは、任意に設定可能である。以下の説明では、波形データＤにおける各区間に含まれるカウント値の数を「窓幅」と表記する場合がある。第１の演算部７１２において、現在の区間と、過去のどの区間との差を求めるかは、予め設定されている。例えば、第１の演算部７１２は、現在の区間と、過去の全区間それぞれとの差を求めることにしてもよい。また、第１の演算部７１２は、現在の区間との差を求める過去の区間を、第２マイコン２０３の第２の演算部７２３と分担することにしてもよい。
【００６０】
より詳細に説明すると、例えば、第１の演算部７１２は、波形データＤにおける各窓の情報を窓幅分の要素数のベクトルとして、ベクトル間のユークリッド距離を算出することにより、窓同士の差を求める。なお、窓同士の差を求める具体的な計算例については、図１０を用いて後述する。
【００６１】
ただし、第１マイコン２０２において、波形Ｗの特徴を解析可能な分の波形データＤ（例えば、窓幅の２倍以上の波形データＤ）が蓄積されていない場合がある。この場合、第１の演算部７１２は、ダミーデータを用いて、ダミー演算を行うことにしてもよい。具体的には、例えば、第１の演算部７１２は、窓幅と同じ要素数のダミーベクトルを用いてダミー演算を行う。
【００６２】
また、第１の通信部７１１は、第１の演算部７１２によって実行された第１の演算の演算結果Ｒを、第２マイコン２０３に送信する。具体的には、例えば、第１の通信部７１１は、第１の演算部７１２によって窓同士を差（ベクトル間のユークリッド距離）が算出されると、その都度、図４に示したような演算結果Ｒを第２マイコン２０３に送信する。
【００６３】
これにより、第１マイコン２０２において第１の演算が行われたことに応じて、その演算結果Ｒを第１マイコン２０２から第２マイコン２０３に通知することができる。
【００６４】
つぎに、状況検知装置１００が有する第２マイコン２０３の機能的構成例について説明する。第２マイコン２０３は、第２の通信部７２１と、生成部７２２と、第２の演算部７２３と、出力部７２４と、を含む。第２の通信部７２１〜出力部７２４は制御部となる機能であり、具体的には、例えば、図３に示した第２マイコン２０３のメモリ３０２に記憶されたプログラムをＭＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２に記憶される。
【００６５】
第２の通信部７２１は、第１マイコン２０２から演算結果Ｒを受信する。ここで、演算結果Ｒは、第１マイコン２０２において行われた第１の演算の結果であり、例えば、図４に示したように、波形データＤにおける窓同士の差をあらわす値（ベクトル間のユークリッド距離）を含む。
【００６６】
受信された演算結果Ｒは、例えば、図８に示すような演算結果テーブル８００に記憶される。演算結果テーブル８００は、例えば、第２マイコン２０３のメモリ３０２に格納される。ここで、演算結果テーブル８００の記憶内容について説明する。
【００６７】
図８は、演算結果テーブル８００の記憶内容の一例を示す説明図である。図８において、演算結果テーブル８００は、最新窓時刻、過去窓時刻および距離のフィールドを有し、各フィールドに情報を設定することで、演算結果（例えば、演算結果８００−１〜８００−３）をレコードとして記憶する。
【００６８】
ここで、最新窓時刻は、現在窓の先頭の時刻であり、図４に示した「ｔc0」に相当する。過去窓時刻は、過去窓の先頭の時刻であり、図４に示した「ｔp」に相当する。距離は、現在窓と過去窓との窓同士の波形の差をあらわす値であり、図４に示した「ｄ（ｔpｔc0）」に相当する。
【００６９】
第２の通信部７２１は、受信した演算結果Ｒに含まれる最新窓時刻ｔc0と、過去窓時刻ｔpと、距離ｄ（ｔpｔc0）とを対応付けて、演算結果テーブル８００に記憶する。
【００７０】
生成部７２２は、第１マイコン２０２からの演算結果Ｒの受信頻度に基づいて、エナジーハーベスタ２０１の発電電力の時系列変化をあらわす波形Ｗを生成する。具体的には、例えば、生成部７２２は、一定期間ごとに、当該一定期間内に第１マイコン２０２から演算結果Ｒを受信した回数を計数する。一定期間は、任意に設定可能であり、例えば、１０秒程度の期間に設定される。
【００７１】
そして、生成部７２２は、計数した回数（カウント値）と、一定期間に対応する時刻とを対応付けた波形特定情報ｄを、波形データＤ（例えば、図６参照）として、第２マイコン２０３のメモリ３０２に格納する。一定期間に対応する時刻は、例えば、一定期間の先頭または末尾の時刻である。
【００７２】
これにより、一定期間（例えば、１０秒）ごとのカウント値を時系列に並べた波形データＤを生成することができる。一定期間ごとのカウント値は、第２マイコン２０３が第１マイコン２０２から演算結果Ｒを受信した受信頻度をあらわす。また、第１マイコン２０２は、エナジーハーベスタ２０１の発電電力が所定の大きさとなったときに演算動作を行う。したがって、カウント値の時系列変化をあらわす波形データＤは、エナジーハーベスタ２０１の発電電力の時系列変化（周波数成分）をあらわしているといえる。なお、波形Ｗの具体例については、図９を用いて後述する。
【００７３】
また、第２の通信部７２１は、生成された波形Ｗの一部または全部を特定する波形特定情報ｄを第１マイコン２０２に送信する。具体的には、例えば、第２の通信部７２１は、波形Ｗが更新されたことに応じて、更新部分を特定する波形特定情報ｄ（例えば、図５参照）を第１マイコン２０２に送信する。
【００７４】
なお、第１マイコン２０２に電力が供給されず、第１マイコン２０２がスリープ状態となっている場合がある。このため、第２の通信部７２１は、例えば、第１マイコン２０２に波形特定情報ｄを送信した結果、第１マイコン２０２から応答がない場合は、波形特定情報ｄを再送信する、あるいは、次回送信時に前回の波形特定情報ｄを含めて送信することにしてもよい。
【００７５】
第２の演算部７２３は、生成された波形Ｗに基づいて、状況を検知する。検知対象の状況は、状況検知装置１００が置かれた状況である。具体的には、例えば、まず、第２の演算部７２３は、波形データＤに基づいて、波形Ｗの特徴を解析する第２の演算を実行する。
【００７６】
より詳細に説明すると、例えば、第２の演算部７２３は、ｋ−近傍法を利用して、波形データＤにおいて、過去の一定区間をスライドさせながら、現在の区間（現在窓）と過去の区間（過去窓）との差（ベクトル間のユークリッド距離）を求める第２の演算を実行する。ただし、第２の演算部７２３において、現在の区間との差を求める過去の区間は、第１の演算部７１２とは異なる区間である。
【００７７】
第２の演算の演算結果Ｒ’には、最新窓時刻と、過去窓時刻と、距離と、が含まれる。最新窓時刻は、現在窓の先頭の時刻である。過去窓時刻は、過去窓の先頭の時刻である。距離は、現在窓と過去窓との窓同士の波形の差をあらわす値（ベクトル間のユークリッド距離）である。
【００７８】
演算結果Ｒ’は、例えば、図８に示した演算結果テーブル８００に記憶される。例えば、第２の演算部７２３は、演算結果Ｒ’に含まれる最新窓時刻と、過去窓時刻と、距離とを対応付けて、演算結果テーブル８００に記憶する。
【００７９】
そして、第２の演算部７２３は、第１マイコン２０２から受信された演算結果Ｒと、第２の演算の演算結果Ｒ’とに基づいて、状況を検知する。具体的には、例えば、第２の演算部７２３は、演算結果テーブル８００を参照して、各最新窓時刻について、複数の過去窓時刻それぞれに対応する距離のうちの最小値を異常度として特定する。
【００８０】
つぎに、第２の演算部７２３は、特定した異常度が閾値αを超えるか否かを判断する。ここで、異常度が閾値αを超える場合、第２の演算部７２３は、最新窓時刻に対応する時点において自装置が異常状態であることを検知する。一方、異常度が閾値α以下の場合、第２の演算部７２３は、最新窓時刻に対応する時点において自装置が正常状態であることを検知する。最新窓時刻に対応する時点は、例えば、最新窓時刻そのものであってもよく、また、最新窓時刻を先頭の時刻とする現在窓の末尾の時刻であってもよい。
【００８１】
閾値αは、任意に設定可能である。例えば、閾値αは、異常度が閾値αを超えると、波形Ｗが大きく変化しているといえる値に設定される。また、一定期間学習期間（例えば、１時間）を設け、学習期間中の異常度の統計値から閾値αを設定することにしてもよい。例えば、第２の演算部７２３は、学習期間中の異常度の平均値と標準偏差を求め、「平均値＋標準偏差」を閾値αに設定することにしてもよい。
【００８２】
なお、状況の検知例については、図１１を用いて後述する。また、第１の演算部７１２において、現在の区間と過去の全区間それぞれとの差を求める場合、第２の演算部７２３において、現在の区間と過去の区間との差を求める演算は行わなくてよい。この場合、第２の演算部７２３は、第１マイコン２０２から受信された演算結果Ｒに基づいて、状況を検知する。
【００８３】
また、上述した説明では、ｋ−近傍法を利用して、状況検知装置１００の異常状態を検知する場合を例に挙げて説明したが、これに限らない。例えば、第２の演算部７２３は、特異スペクトル変換等の他のアルゴリズムを利用して、状況検知装置１００の異常状態を検知することにしてもよい。
【００８４】
また、第２の演算部７２３は、波形Ｗから特定されるカウント値のパターンと、所定のパターンとに基づいて、状況を検知することにしてもよい。ここで、所定のパターンは、予め設定されたカウント値の時系列変化をあらわすパターンであり、任意に設定可能である。所定のパターンとしては、例えば、通常状態とは異なるものの、状況検知装置１００が正常状態であると扱われるべき状況のときに得られる波形Ｗに基づいて設定される。
【００８５】
一例として、所定のパターンを、監視対象機器のユーザが、当該監視対象機器を持って移動したときに得られる、窓幅分のカウント値を時系列に並べたものとする。この場合、第２の演算部７２３は、例えば、異常度が閾値αを超えたときの現在窓と所定のパターンとの差を算出することにしてもよい。
【００８６】
より詳細に説明すると、例えば、第２の演算部７２３は、現在窓の情報および所定のパターンをそれぞれ窓幅分の要素数のベクトルとして、ベクトル間のユークリッド距離を算出することにより、現在窓と所定のパターンとの差を算出する。そして、第２の演算部７２３は、算出したユークリッド距離が閾値βを超える場合に、自装置が異常状態であることを検知する。一方、算出したユークリッド距離が閾値β以下の場合には、第２の演算部７２３は、異常度が閾値αを超えていても、自装置が正常状態であることを検知する。
【００８７】
これにより、状況検知装置１００が設けられた監視対象機器のユーザが、当該監視対象機器を持って移動したときに、状況検知装置１００が異常状態であると誤検知してしまうのを防ぐことができる。なお、閾値βは、任意に設定可能である。
【００８８】
出力部７２４は、検知された状況の検知結果を出力する。出力部７２４の出力形式としては、例えば、メモリ３０２への記憶、他のコンピュータへの送信、不図示のＬＥＤランプの点灯、ブザーからの警告音出力、ディスプレイへの表示などがある。
【００８９】
具体的には、例えば、出力部７２４は、異常状態であることが検知された場合、ＬＰＷＡモジュール２０８（図２参照）を介して、状況検知装置１００が異常状態であることが検知されたことを示す検知結果を、管理者端末２４０（図２参照）に送信することにしてもよい。これにより、状況検知装置１００の異常状態を状況検知システム２００の管理者に通知することができる。
【００９０】
（波形Ｗの具体例）
つぎに、図９を用いて、第２マイコン２０３の生成部７２２によって生成された波形Ｗの具体例について説明する。
【００９１】
図９は、波形Ｗの具体例を示す説明図である。図９において、波形Ｗは、波形データＤが示す波形であり、エナジーハーベスタ２０１の発電電力の時系列変化をあらわす波形である。図９中、縦軸は、カウント値を示す。また、横軸は、時刻を示す。ここでは、連続する２つの時刻の間隔は、１０秒である。例えば、時刻ｔnと時刻ｔn-1との間隔は、１０秒である。
【００９２】
例えば、時刻ｔnのカウント値は「３」であり、時刻ｔnから１０秒間に、第２マイコン２０３が第１マイコン２０２から演算結果Ｒを３回受信したことを示す。また、時刻ｔn-1のカウント値は「４」であり、時刻ｔn-1から１０秒間に、第２マイコン２０３が第１マイコン２０２から演算結果Ｒを４回受信したことを示す。
【００９３】
（窓同士の差の計算例）
つぎに、図１０を用いて、第１マイコン２０２の第１の演算部７１２および第２マイコン２０３の第２の演算部７２３における窓同士の差の計算例について説明する。
【００９４】
図１０は、窓同士の差の計算例を示す説明図である。図１０において、波形Ｗは、波形データＤが示す波形であり、エナジーハーベスタ２０１の発電電力の時系列変化をあらわす波形である。ここでは、窓幅を「５」とする。また、時刻ｔc0〜ｔc(nW-1)の区間を現在窓とする。ｎＷは、窓幅に相当する。すなわち、ここでは、時刻ｔc(nW-1)は、時刻ｔc4である。
【００９５】
過去窓は、波形Ｗ（波形データＤ）の先頭の時刻ｔ0から１０秒ずつスライドさせた各区間となる。複数の過去窓のうち、第１マイコン２０２（第１の演算部７１２）が現在窓との差を求める過去窓は、奇数番目の過去窓とする。また、複数の過去窓のうち、第２マイコン２０３（第２の演算部７２３）が現在窓との差を求める過去窓は、偶数番目の過去窓とする。
【００９６】
すなわち、現在窓との差を求める過去窓を、第１マイコン２０２（第１の演算部７１２）および第２マイコン２０３（第２の演算部７２３）に先頭から順に交互に割り当てる。これにより、波形Ｗの特徴の分析にかかる処理負荷を、第１マイコン２０２（第１の演算部７１２）および第２マイコン２０３（第２の演算部７２３）に分散することができる。
【００９７】
ここで、現在窓に含まれる各時刻ｔc0〜ｔc4のカウント値は（２，４，５，４，３）である。また、１番目の過去窓の各時刻ｔ0〜ｔ4のカウント値は（３，４，２，５，３）である。この場合、第１マイコン２０２（第１の演算部７１２）は、下記式（１）に示すように、各窓の情報を５次元ベクトルとして、ベクトル間のユークリッド距離ｄ（ｔ0ｔc0）を算出する。
【００９８】
【数１】
2019088154.tif 000003
【００９９】
これにより、１番目の過去窓（先頭の時刻ｔ0）と現在窓との差「ｄ（ｔ0ｔc0）＝３．３２」を求めることができる。
【０１００】
また、２番目の過去窓の各時刻ｔ1〜ｔ5のカウント値は（４，２，５，３，３）である。この場合、第２マイコン２０３（第２の演算部７２３）は、下記式（２）に示すように、各窓の情報を５次元ベクトルとして、ベクトル間のユークリッド距離ｄ（ｔ1ｔc0）を算出する。
【０１０１】
【数２】
2019088154.tif 000004
【０１０２】
これにより、２番目の過去窓（先頭の時刻ｔ1）と現在窓との差「ｄ（ｔ1ｔc0）＝３」を求めることができる。
【０１０３】
（状況の検知例）
つぎに、図１１を用いて、第２マイコン２０３の第２の演算部７２３による状況の検知例について説明する。
【０１０４】
図１１は、状況の検知例を示す説明図である。図１１において、各最新窓時刻ｔ［０］〜ｔ［３］の異常度が示されている。異常度は、現在窓と過去窓との差の最小値である。各最新窓時刻ｔ［０］〜ｔ［３］の異常度は、例えば、演算結果テーブル８００から特定される。
【０１０５】
一例として、最新窓時刻ｔ［０］を例に挙げると、第２の演算部７２３は、演算結果テーブル８００を参照して、最新窓時刻ｔ［０］について、複数の過去窓時刻（例えば、過去窓時刻ｔ０［０］〜ｔ０［２］）それぞれに対応する距離のうちの最小値を異常度として特定する。
【０１０６】
ここでは、各最新窓時刻ｔ［０］〜ｔ［３］の異常度として、「２．３６  １．４１  ３．３２  ５．００」がそれぞれ特定された場合を想定する。また、閾値αを「α＝４．００」とする。この場合、第２の演算部７２３は、最新窓時刻ｔ［３］の異常度「５．００」が閾値αを超えるため、最新窓時刻ｔ［３］に対応する時点において自装置が異常状態であることを検知する。
【０１０７】
なお、状況の検知は、最新の異常度が特定される度に行われてもよい。また、状況の検知は、所定期間分（例えば、１時間分）の異常度が特定される度に、所定期間分の異常度を用いて行われることにしてもよい。
【０１０８】
（状況検知装置１００の各種処理手順）
つぎに、状況検知装置１００の各種処理手順について説明する。まず、図１２を用いて、状況検知装置１００が有する第１マイコン２０２の演算処理手順について説明する。第１マイコン２０２の演算処理は、エナジーハーベスタ２０１の発電電力が所定の大きさとなったときに実行される。
【０１０９】
図１２は、第１マイコン２０２の演算処理手順の一例を示すフローチャートである。図１２のフローチャートにおいて、まず、第１マイコン２０２は、窓幅の２倍以上の波形データＤが、第１マイコン２０２のメモリ３０２に格納されているか否かを判断する（ステップＳ１２０１）。
【０１１０】
ここで、窓幅の２倍以上の波形データＤが格納されていない場合（ステップＳ１２０１：Ｎｏ）、第１マイコン２０２は、ダミーデータを用いて、ダミー演算を行う（ステップＳ１２０２）。そして、第１マイコン２０２は、ダミー演算を行った旨を第２マイコン２０３に通知して（ステップＳ１２０３）、ステップＳ１２０１に戻る。
【０１１１】
一方、窓幅の２倍以上の波形データＤが格納されている場合（ステップＳ１２０１：Ｙｅｓ）、第１マイコン２０２は、波形データＤの最新の窓時刻と計算中最新窓時刻（ｔc0）とが異なるか否かを判断する（ステップＳ１２０４）。なお、初期状態では、計算中最新窓時刻（ｔc0）は未設定である。
【０１１２】
ここで、最新の窓時刻と計算中最新窓時刻（ｔc0）とが異なる場合（ステップＳ１２０４：Ｙｅｓ）、第１マイコン２０２は、最新の窓時刻を計算中最新窓時刻（ｔc0）に設定する（ステップＳ１２０５）。つぎに、第１マイコン２０２は、波形データＤの過去窓のうち最も時刻が早い奇数番目の過去窓の先頭の時刻を計算中過去窓時刻（ｔp）に設定する（ステップＳ１２０６）。
【０１１３】
つぎに、第１マイコン２０２は、計算中最新窓時刻（ｔc0）の現在窓と、計算中過去窓時刻（ｔp）の過去窓との差をあらわす距離ｄ（ｔpｔc0）を算出する（ステップＳ１２０７）。そして、第１マイコン２０２は、計算中最新窓時刻（ｔc0）と、計算中過去窓時刻（ｔp）と、距離ｄ（ｔpｔc0）とを含む演算結果Ｒを第２マイコン２０３に通知して（ステップＳ１２０８）、ステップＳ１２０１に戻る。
【０１１４】
また、ステップＳ１２０４において、最新の窓時刻と計算中最新窓時刻（ｔc0）とが同じ場合（ステップＳ１２０４：Ｎｏ）、第１マイコン２０２は、次の奇数番目の過去窓の先頭の時刻を計算中過去窓時刻（ｔp）に設定する（ステップＳ１２０９）。そして、第１マイコン２０２は、ステップＳ１２０７に移行する。
【０１１５】
これにより、第１マイコン２０２は、エナジーハーベスタ２０１の発電電力が所定の大きさになったことに連動して、波形Ｗの特徴を解析する演算を行って、第２マイコン２０３に演算結果Ｒを通知することができる。なお、ステップＳ１２０９において、次の奇数番目の過去窓がない場合には、第１マイコン２０２は、ダミーデータを用いて、ダミー演算を行うことにしてもよい。
【０１１６】
つぎに、図１３を用いて、状況検知装置１００が有する第１マイコン２０２の受信処理手順について説明する。第１マイコン２０２の受信処理は、エナジーハーベスタ２０１の発電電力が所定の大きさとなったときに、図１２に示した演算処理と並列に実行されてもよく、また、割り込み処理として図１２に示した演算処理を一時中断して実行されてもよい。
【０１１７】
図１３は、第１マイコン２０２の受信処理手順の一例を示すフローチャートである。図１３のフローチャートにおいて、まず、第１マイコン２０２は、第２マイコン２０３から波形特定情報ｄを受信したか否かを判断する（ステップＳ１３０１）。ここで、第１マイコン２０２は、波形特定情報ｄを受信するのを待つ（ステップＳ１３０１：Ｎｏ）。
【０１１８】
そして、第１マイコン２０２は、波形特定情報ｄを受信した場合（ステップＳ１３０１：Ｙｅｓ）、受信した波形特定情報ｄを波形データＤとして、第１マイコン２０２のメモリ３０２に格納して（ステップＳ１３０２）、本フローチャートによる一連の処理を終了する。
【０１１９】
これにより、第１マイコン２０２は、第２マイコン２０３において復元された波形Ｗ、すなわち、エナジーハーベスタ２０１の発電電力の時系列変化をあらわす波形Ｗを示す波形データＤを得ることができる。
【０１２０】
なお、処理対象とする波形データＤ（波形Ｗ）の長さには、上限値が設定されていてもよい。上限値としては、例えば、数時間〜１日程度の長さが設定される。この場合、ステップＳ１３０２において、波形データＤが更新されて、波形データＤの長さが上限値を超える場合、第１マイコン２０２は、波形データＤのうち上限値を超える分の最古のデータを、処理対象外あるいは削除することにしてもよい。
【０１２１】
つぎに、図１４を用いて、状況検知装置１００が有する第２マイコン２０３の第１状況検知処理手順について説明する。
【０１２２】
図１４は、第２マイコン２０３の第１状況検知処理手順の一例を示すフローチャートである。図１４のフローチャートにおいて、まず、第２マイコン２０３は、窓幅の２倍以上の波形データＤが、第２マイコン２０３のメモリ３０２に格納されているか否かを判断する（ステップＳ１４０１）。
【０１２３】
ここで、第２マイコン２０３は、窓幅の２倍以上の波形データＤが格納されるのを待つ（ステップＳ１４０１：Ｎｏ）。そして、窓幅の２倍以上の波形データＤが格納された場合（ステップＳ１４０１：Ｙｅｓ）、第２マイコン２０３は、波形データＤの最新の窓時刻と計算中最新窓時刻（ｔc0）とが異なるか否かを判断する（ステップＳ１４０２）。なお、初期状態では、計算中最新窓時刻（ｔc0）は未設定である。
【０１２４】
ここで、最新の窓時刻と計算中最新窓時刻（ｔc0）とが異なる場合（ステップＳ１４０２：Ｙｅｓ）、第２マイコン２０３は、最新の窓時刻を計算中最新窓時刻（ｔc0）に設定する（ステップＳ１４０３）。つぎに、第２マイコン２０３は、波形データＤの過去窓のうち最も時刻が早い偶数番目の過去窓の先頭の時刻を計算中過去窓時刻（ｔp）に設定する（ステップＳ１４０４）。
【０１２５】
つぎに、第２マイコン２０３は、計算中最新窓時刻（ｔc0）の現在窓と、計算中過去窓時刻（ｔp）の過去窓との差をあらわす距離ｄ（ｔpｔc0）を算出する（ステップＳ１４０５）。そして、第２マイコン２０３は、計算中最新窓時刻（ｔc0）と、計算中過去窓時刻（ｔp）と、距離ｄ（ｔpｔc0）とを含む演算結果Ｒ’を演算結果テーブル８００に記憶する（ステップＳ１４０６）。
【０１２６】
つぎに、第２マイコン２０３は、異常検知処理を実行して（ステップＳ１４０７）、ステップＳ１４０１に戻る。なお、異常検知処理の具体的な処理手順については、図１６を用いて後述する。
【０１２７】
また、ステップＳ１４０２において、最新の窓時刻と計算中最新窓時刻（ｔc0）とが同じ場合（ステップＳ１４０２：Ｎｏ）、第２マイコン２０３は、次の偶数番目の過去窓の先頭の時刻を計算中過去窓時刻（ｔp）に設定する（ステップＳ１４０８）。そして、第２マイコン２０３は、ステップＳ１４０５に移行する。
【０１２８】
これにより、第２マイコン２０３は、波形Ｗの特徴を解析する演算を行って、演算結果テーブル８００に演算結果Ｒ’を記憶することができる。また、第２マイコン２０３は、波形Ｗの特徴を解析した結果をもとに状況検知装置１００の異常状態を検知することができる。
【０１２９】
つぎに、図１５を用いて、状況検知装置１００が有する第２マイコン２０３の第２状況検知処理手順について説明する。第２マイコン２０３の第２状況検知処理は、図１３に示した第１状況検知処理と並列に実行されてもよく、また、割り込み処理として図１３に示した第１状況検知処理を一時中断して実行されてもよい。
【０１３０】
図１５は、第２マイコン２０３の第２状況検知処理手順の一例を示すフローチャートである。図１５のフローチャートにおいて、まず、第２マイコン２０３は、タイマをスタートし（ステップＳ１５０１）、カウンタに「０」を設定する（ステップＳ１５０２）。そして、第２マイコン２０３は、第１マイコン２０２から演算結果Ｒを受信したか否かを判断する（ステップＳ１５０３）。
【０１３１】
ここで、演算結果Ｒを受信していない場合（ステップＳ１５０３：Ｎｏ）、第２マイコン２０３は、ステップＳ１５０７に移行する。一方、演算結果Ｒを受信した場合（ステップＳ１５０３：Ｙｅｓ）、第２マイコン２０３は、カウンタをインクリメントする（ステップＳ１５０４）。
【０１３２】
そして、第２マイコン２０３は、受信した演算結果Ｒを演算結果テーブル８００に記憶する（ステップＳ１５０５）。つぎに、第２マイコン２０３は、異常検知処理を実行する（ステップＳ１５０６）。なお、異常検知処理の具体的な処理手順については、図１６を用いて後述する。
【０１３３】
そして、第２マイコン２０３は、タイマが一定期間経過したか否かを判断する（ステップＳ１５０７）。一定期間は、例えば、１０秒である。ここで、一定期間経過していない場合には（ステップＳ１５０７：Ｎｏ）、第２マイコン２０３は、ステップＳ１５０３に戻る。
【０１３４】
一方、一定期間経過した場合（ステップＳ１５０７：Ｙｅｓ）、第２マイコン２０３は、現在時刻とカウンタ値とを対応付けた波形特定情報ｄを波形データＤとして、第２マイコン２０３のメモリ３０２に格納する（ステップＳ１５０８）。そして、第２マイコン２０３は、現在時刻とカウンタ値とを対応付けた波形特定情報ｄを第１マイコン２０２に送信して（ステップＳ１５０９）、ステップＳ１５０２に戻る。
【０１３５】
これにより、第２マイコン２０３は、エナジーハーベスタ２０１の発電電力の時系列変化をあらわす波形Ｗを復元することができる。また、第２マイコン２０３は、波形Ｗの特徴を解析した結果をもとに状況検知装置１００の異常状態を検知することができる。
【０１３６】
なお、第２マイコン２０３は、ステップＳ１５０３において、第１マイコン２０２からダミー演算を行った旨の通知を受信した場合には、例えば、カウンタをインクリメントして、ステップＳ１５０７に移行する。
【０１３７】
また、処理対象とする波形データＤ（波形Ｗ）の長さには、上限値が設定されていてもよい。この場合、ステップＳ１５０８において、波形データＤが更新されて、波形データＤの長さが上限値を超える場合、第２マイコン２０３は、波形データＤのうち上限値を超える分の最古のデータを、処理対象外あるいは削除することにしてもよい。
【０１３８】
つぎに、図１６を用いて、図１４に示したステップＳ１４０７および図１５に示したステップＳ１５０６の異常検知処理の具体的な処理手順について説明する。
【０１３９】
図１６は、異常検知処理の具体的処理手順の一例を示すフローチャートである。図１６のフローチャートにおいて、まず、第２マイコン２０３は、距離ｄ（ｔpｔc0）が最新時刻に対応する最小値より小さいか否かを判断する（ステップＳ１６０１）。
【０１４０】
なお、最新時刻は、現在窓の末尾の時刻ｔc(nW-1)である。また、距離ｄ（ｔpｔc0）は、図１４に示したステップＳ１４０５において算出された距離、または、図１５に示したステップＳ１５０３において受信された演算結果Ｒに含まれる距離である。
【０１４１】
ここで、距離ｄ（ｔpｔc0）が最新時刻に対応する最小値以上の場合（ステップＳ１６０１：Ｎｏ）、第２マイコン２０３は、ステップＳ１６０３に移行する。一方、距離ｄ（ｔpｔc0）が最新時刻に対応する最小値より小さい場合（ステップＳ１６０１：Ｙｅｓ）、第２マイコン２０３は、距離ｄ（ｔpｔc0）を最新時刻に対応する最小値として保持する（ステップＳ１６０２）。
【０１４２】
なお、距離ｄ（ｔpｔc0）が最新時刻に対応する最小値がない場合にも、第２マイコン２０３は、距離ｄ（ｔpｔc0）を最新時刻に対応する最小値として保持する。
【０１４３】
つぎに、第２マイコン２０３は、計算中最新窓時刻（ｔc0）の現在窓に対して、全ての過去窓との差をあらわす距離が計算済みであるか否かを判断する（ステップＳ１６０３）。ここで、全ての過去窓との差をあらわす距離が計算済みではない場合（ステップＳ１６０３：Ｎｏ）、第２マイコン２０３は、異常検知処理を呼び出したステップに戻る。
【０１４４】
一方、全ての過去窓との差をあらわす距離が計算済みの場合（ステップＳ１６０３：Ｙｅｓ）、第２マイコン２０３は、最新時刻に対応する最小値を、最新時刻に対応する異常値とする（ステップＳ１６０４）。そして、第２マイコン２０３は、最新時刻に対応する異常値が閾値αより大きいか否かを判断する（ステップＳ１６０５）。
【０１４５】
ここで、最新時刻に対応する異常値が閾値α以下の場合（ステップＳ１６０５：Ｎｏ）、第２マイコン２０３は、異常検知処理を呼び出したステップに戻る。一方、最新時刻に対応する異常値が閾値αより大きい場合（ステップＳ１６０５：Ｙｅｓ）、第２マイコン２０３は、最新時刻において自装置が異常状態であることを検知する（ステップＳ１６０６）。
【０１４６】
そして、第２マイコン２０３は、ＬＰＷＡモジュール２０８により、異常状態であることが検知されたことを示すアラートを、管理者端末２４０に送信して（ステップＳ１６０７）、異常検知処理を呼び出したステップに戻る。
【０１４７】
これにより、波形Ｗの特徴を解析した結果をもとに状況検知装置１００の異常状態を検知して、状況検知システム２００の管理者に通知することができる。
【０１４８】
（状況検知装置１００の他の実施例）
上述した説明では、状況検知装置１００がエナジーハーベスタ２０１を１つ有する場合を例に挙げて説明したが、これに限らない。例えば、状況検知装置１００は、複数のエナジーハーベスタ２０１を有することにしてもよい。
【０１４９】
図１７は、状況検知装置１００の他の実施例を示す説明図である。図１７において、状況検知装置１００は、エナジーハーベスタ２０１−１〜２０１−３と、第１マイコン２０２−１〜２０２−３と、第２マイコン２０３と、第１レギュレータ２０４−１〜２０４−３と、第１キャパシタ２０５−１〜２０５−３と、第２レギュレータ２０６と、第２キャパシタ２０７と、を有する。
【０１５０】
エナジーハーベスタ２０１−１〜２０１−３として、それぞれ異なる環境エネルギーを用いて発電するものを採用してもよい。例えば、エナジーハーベスタ２０１−１を振動発電素子とし、エナジーハーベスタ２０１−２をソーラーモジュールとし、エナジーハーベスタ２０１−３を熱電素子としてもよい。
【０１５１】
各第１マイコン２０２−１〜２０２−３は、各エナジーハーベスタ２０１−１〜２０１−３の発電電力が所定の大きさとなったときに演算動作を行う。具体的には、例えば、第１マイコン２０２−１には、第１キャパシタ２０５−１の蓄電量が一定以上となったときに電力が供給される。より詳細に説明すると、第１キャパシタ２０５−１の蓄電量が一定以上となり、第１キャパシタ２０５−１の電圧が、第１レギュレータ２０４−１のＵＶＬＯの閾値に到達すると、第１マイコン２０２−１に電力が供給される。第１マイコン２０２−２，２０２−３についても同様である。
【０１５２】
この場合、第２マイコン２０３は、第１マイコン２０２−１〜２０２−３それぞれから演算結果Ｒ−１〜Ｒ−３を受信する。演算結果Ｒ−１〜Ｒ−３のデータ構造は、例えば、図４に示した演算結果Ｒと同じである。つぎに、第２マイコン２０３は、第１マイコン２０２−１からの演算結果Ｒ−１の受信頻度に基づいて、エナジーハーベスタ２０１−１の発電電力の時系列変化をあらわす波形Ｗ−１を生成する。
【０１５３】
同様に、第２マイコン２０３は、第１マイコン２０２−２からの演算結果Ｒ−２の受信頻度に基づいて、エナジーハーベスタ２０１−２の発電電力の時系列変化をあらわす波形Ｗ−２を生成する。同様に、第２マイコン２０３は、第１マイコン２０２−３からの演算結果Ｒ−３の受信頻度に基づいて、エナジーハーベスタ２０１−３の発電電力の時系列変化をあらわす波形Ｗ−３を生成する。
【０１５４】
そして、第２マイコン２０３は、生成した波形Ｗ−１〜Ｗ−３に基づいて、状況を検知する。具体的には、例えば、第２マイコン２０３は、生成した波形Ｗ−１〜Ｗ−３のうち、時刻ｔの異常度が閾値αを超える波形Ｗが所定数以上（例えば、２以上）ある場合に、時刻ｔにおいて自装置が異常状態であることを検知することにしてもよい。閾値αは、エナジーハーベスタ２０１−１〜２０１−３ごとに設定されてもよい。
【０１５５】
また、第２マイコン２０３は、例えば、エナジーハーベスタ２０１−２（ソーラーモジュール）の発電量が少ないときに、エナジーハーベスタ２０１−１（振動発電素子）の発電電力が所定の大きさとなった場合に、自装置が異常状態であることを検知することにしてもよい。これにより、ソーラーモジュールの発電量が少なくなる夜間に振動が発生した場合に異常状態（盗難）であると検知することができる。
【０１５６】
このように、複数のエナジーハーベスタ２０１の電力波形を用いることで、１つのエナジーハーベスタ２０１の電力波形から状況を検知する場合に比べて、検知精度の向上を図ることができる。また、複数のエナジーハーベスタ２０１を用いることで、第２キャパシタ２０７への蓄電速度を上げることができる。
【０１５７】
以上説明したように、実施の形態２にかかる状況検知装置１００の第１マイコン２０２は、エナジーハーベスタ２０１の発電電力が所定の大きさとなったときに演算動作を行う。また、状況検知装置１００の第２マイコン２０３は、第１マイコン２０２から演算結果Ｒを受信し、第１マイコン２０２からの演算結果Ｒの受信頻度に基づいて、エナジーハーベスタ２０１の発電電力の時系列変化をあらわす波形Ｗを生成する。そして、第２マイコン２０３は、生成した波形Ｗに基づいて、状況を検知する。
【０１５８】
これにより、第１マイコン２０２から第２マイコン２０３への演算結果Ｒの通知頻度から、第２マイコン２０３において、エナジーハーベスタ２０１の電力波形を復元することができる。このため、エナジーハーベスタ２０１からの発電電力を、電力波形そのものの測定自体に消費することなく、第２マイコン２０３による状況検知計算に利用することが可能となる。
【０１５９】
また、状況検知装置１００は、エナジーハーベスタ２０１からの発電電力を蓄電し、第１マイコン２０２に電力を供給可能な第１キャパシタ２０５を有する。第１マイコン２０２には、第１キャパシタ２０５の蓄電量が一定以上となったときに電力が供給される。そして、第１マイコン２０２は、第１キャパシタ２０５からの電力が供給されたことに応じて演算動作を行う。
【０１６０】
これにより、エナジーハーベスタ２０１の発電電力を第１キャパシタ２０５に一旦ためることができ、第１マイコン２０２に安定した電力を供給することができる。また、第１キャパシタ２０５の容量を小さいものとすることで、エナジーハーベスタ２０１からのわずかな発電電力に連動して、第１マイコン２０２を動作させることができる。
【０１６１】
また、第１マイコン２０２は、第２マイコン２０３から波形特定情報ｄを受信し、受信した波形特定情報ｄに基づいて、波形Ｗの特徴を解析する第１の演算を実行して、第２マイコン２０３に演算結果Ｒを送信することにしてもよい。そして、第２マイコン２０３は、受信した演算結果Ｒに基づいて、状況を検知することにしてもよい。これにより、状況を検知するための波形Ｗの特徴解析を第１マイコン２０２に行わせつつ、その演算結果Ｒの通知頻度からエナジーハーベスタ２０１の電力波形を復元することができる。
【０１６２】
また、第２マイコン２０３は、生成した波形Ｗの特徴を解析する第２の演算を実行し、第１マイコン２０２から受信した演算結果Ｒと、実行した第２の演算の演算結果Ｒ’とに基づいて、状況を検知することにしてもよい。これにより、状況を検知するための波形Ｗの特徴解析を、第１マイコン２０２と第２マイコン２０３とで分担して行うことができる。
【０１６３】
また、状況検知装置１００は、第１キャパシタ２０５よりも容量の大きいキャパシタであって、エナジーハーベスタ２０１からの発電電力を蓄電し、第２マイコン２０３に電力を供給可能な第２キャパシタ２０７を有する。また、第２マイコン２０３には、第２キャパシタ２０７の蓄電量が一定以上となったときに電力が供給される。
【０１６４】
これにより、エナジーハーベスタ２０１の発電電力を第２キャパシタ２０７に一旦ためることができ、第２マイコン２０３に安定した電力を供給することができる。このため、１段目プレーン２２０で使用されなかった余剰電力により、第１マイコン２０２が停止しているときも、第２マイコン２０３を安定して動作させることができる。
【０１６５】
また、第２マイコン２０３は、検知した検知結果を出力する。これにより、状況検知装置１００が異常状態であることが検知された際に、状況検知システム２００の管理者等に通知することができ、監視対象機器の盗難等を早期に知らせることができる。
【０１６６】
これらのことから、実施の形態２にかかる状況検知装置１００および状況検知システム２００によれば、環境エネルギーを変換して得られるエナジーハーベスタ２０１からの発電電力を用いて高精度な状況検知を行うことが可能となる。
【０１６７】
なお、本実施の形態で説明した状況検知プログラムは、ハードディスク、フレキシブルディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本状況検知プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１６８】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１６９】
（付記１）環境に応じて得られるエネルギーを用いて発電する発電装置の発電電力が所定の大きさとなったときに演算動作を行う第１の演算回路と、
前記第１の演算回路から演算結果を受信し、前記第１の演算回路からの演算結果の受信頻度に基づいて、前記発電電力の時系列変化をあらわす波形を生成し、生成した前記波形に基づいて、状況を検知する第２の演算回路と、
を有することを特徴とする状況検知装置。
【０１７０】
（付記２）さらに、前記発電装置からの発電電力を蓄電し、前記第１の演算回路に電力を供給可能な第１のキャパシタを有し、
前記第１の演算回路には、前記第１のキャパシタの蓄電量が一定以上となったときに電力が供給され、
前記第１の演算回路は、前記第１のキャパシタからの電力が供給されたことに応じて演算動作を行う、ことを特徴とする付記１に記載の状況検知装置。
【０１７１】
（付記３）前記第１の演算回路は、前記第２の演算回路から前記波形の情報を受信し、受信した前記波形の情報に基づいて、前記波形の特徴を解析する第１の演算を実行して、前記第２の演算回路に演算結果を送信し、
前記第２の演算回路は、受信した前記演算結果に基づいて、状況を検知する、
ことを特徴とする付記１または２に記載の状況検知装置。
【０１７２】
（付記４）前記第２の演算回路は、
生成した前記波形の特徴を解析する第２の演算を実行し、
受信した前記演算結果と、実行した前記第２の演算の演算結果とに基づいて、状況を検知する、ことを特徴とする付記３に記載の状況検知装置。
【０１７３】
（付記５）さらに、前記発電装置からの発電電力を蓄電し、前記第２の演算回路に電力を供給可能な第２のキャパシタを有する、ことを特徴とする付記１〜４のいずれか一つに記載の状況検知装置。
【０１７４】
（付記６）前記第２の演算回路には、前記第２のキャパシタの蓄電量が一定以上となったときに電力が供給される、ことを特徴とする付記５に記載の状況検知装置。
【０１７５】
（付記７）前記第２の演算回路は、検知した検知結果を出力する、ことを特徴とする付記１〜６のいずれか一つに記載の状況検知装置。
【０１７６】
（付記８）環境に応じて得られるエネルギーを用いて発電する複数の発電装置それぞれについて、当該発電装置の発電電力が所定の大きさとなったときに演算動作を行う第１の演算回路を有し、
前記第２の演算回路は、
複数の前記第１の演算回路から演算結果を受信し、複数の前記第１の演算回路からの演算結果の受信頻度に基づいて、前記複数の発電装置それぞれの発電電力の時系列変化をあらわす波形を生成し、生成した前記複数の発電装置それぞれの波形に基づいて、状況を検知する、
ことを特徴とする付記１〜７のいずれか一つに記載の状況検知装置。
【０１７７】
（付記９）環境に応じて得られるエネルギーを用いて発電する発電装置の発電電力が所定の大きさとなったときに演算動作を行う第１の演算回路と、
前記第１の演算回路から演算結果を受信し、前記第１の演算回路からの演算結果の受信頻度に基づいて、前記発電電力の時系列変化をあらわす波形を生成し、生成した前記波形に基づいて、状況を検知する第２の演算回路と、
を含むことを特徴とする状況検知システム。
【０１７８】
（付記１０）第１の演算回路と第２の演算回路とを有する状況検知装置が、
前記第１の演算回路により、環境に応じて得られるエネルギーを用いて発電する発電装置の発電電力が所定の大きさとなったときに演算動作を行い、
前記第２の演算回路により、前記第１の演算回路から演算結果を受信し、前記第１の演算回路からの演算結果の受信頻度に基づいて、前記発電電力の時系列変化をあらわす波形を生成し、生成した前記波形に基づいて、状況を検知する、
ことを特徴とする状況検知方法。
【符号の説明】
【０１７９】
１００  状況検知装置
１０１  発電装置
１０２  第１の演算回路
１０３  第２の演算回路
１０４  レギュレータ
１０５  キャパシタ
２００  状況検知システム
２０１  エナジーハーベスタ
２０２  第１マイコン
２０３  第２マイコン
２０４  第１レギュレータ
２０５  第１キャパシタ
２０６  第２レギュレータ
２０７  第２キャパシタ
２０８  ＬＰＷＡモジュール
２１０  ネットワーク
２４０  管理者端末
３００  バス
３０１  ＭＰＵ
３０２  メモリ
３０３  Ｉ／Ｆ
７１１  第１の通信部
７１２  第１の演算部
７２１  第２の通信部
７２２  生成部
７２３  第２の演算部
７２４  出力部
８００  演算結果テーブル
【図１】
2019088154.tif 000005
【図２】
2019088154.tif 000006
【図３】
2019088154.tif 000007
【図４】
2019088154.tif 000008
【図５】
2019088154.tif 000009
【図６】
2019088154.tif 000010
【図７】
2019088154.tif 000011
【図８】
2019088154.tif 000012
【図９】
2019088154.tif 000013
【図１０】
2019088154.tif 000014
【図１１】
2019088154.tif 000015
【図１２】
2019088154.tif 000016
【図１３】
2019088154.tif 000017
【図１４】
2019088154.tif 000018
【図１５】
2019088154.tif 000019
【図１６】
2019088154.tif 000020
【図１７】
2019088154.tif 000021