以下に図面を参照して、本発明にかかる状況検知装置、状況検知システムおよび状況検知方法の実施の形態を詳細に説明する。
(実施の形態1)
図1は、実施の形態にかかる状況検知方法の一実施例を示す説明図である。図1において、状況検知装置100は、状況を検知する装置である。検知対象の状況は、状況検知装置100が置かれた状況である。例えば、状況検知装置100は、人や物に設けられ、自装置の状況を検知することで、人や物が置かれた状況を検知可能となる。
ここで、様々な物にセンサを取り付け、センサから得られる値から状況の検知を行う技術がある。一方で、センサや演算回路に常時電力を供給できるとは限らない。例えば、センサをPCに取り付けて盗難検知を行う場合、盗難時には電源ケーブルがコンセントから抜かれて電源供給ができない状態となる。電池を用いることも考えられるが、定期的に電池を交換する手間が生じる。
このため、振動発電や熱電発電などを用いたエナジーハーベスティング技術を適用することが考えられる。また、加速度センサなどのセンサの利用は電力を消費するため、エナジーハーベスティングデバイス自体をセンサの代用とし、発電される電力波形そのものを状況検知に利用することが考えられる。
ところが、エナジーハーベスティングデバイスからの電力波形を捉えるために、専用の測定回路(波形測定用の素子)を設けると、波形測定自体に電力が消費されてしまう。例えば、演算回路による状況検知計算に用いる電力が波形測定で消費されると、演算回路において検知精度が高い計算を行うことができなくなるおそれがある。
そこで、本実施の形態では、エナジーハーベスティングデバイスからの電力を、電力波形そのものの測定自体に消費することなく、状況検知計算に利用可能にして効率的に状況を検知する状況検知方法について説明する。以下、状況検知装置100の一実施例について説明する。
状況検知装置100は、発電装置101と、第1の演算回路102と、第2の演算回路103と、レギュレータ104と、キャパシタ105と、を有する。
発電装置101は、設置された環境に応じて得られるエネルギーを用いて発電するエナジーハーベスティングデバイスである。発電に用いられるエネルギーとしては、振動、熱、光、電磁波などが挙げられる。例えば、振動エネルギーをエネルギー源とする発電は、振動発電と呼ばれる。振動発電には、振動発電素子を使用して発電するものや、電磁誘導、静電誘導を使用して発電するものがある。
第1の演算回路102および第2の演算回路103は、演算を実行する演算回路である。第1の演算回路102および第2の演算回路103は、相互に通信可能である。レギュレータ104は、出力される電圧・電流を一定に保つように制御する調整装置である。キャパシタ105は、電気を充放電する蓄電装置である。
状況検知装置100において、第1の演算回路102は、発電装置101の発電電力が所定の大きさとなったときに演算動作を行う。具体的には、例えば、発電装置101の発電電力によって、第1の演算回路102が安定して動作できる程度の電力がたまったときに、レギュレータ104から電圧・電流が出力される。そして、第1の演算回路102は、レギュレータ104による整流後の電力波形の立ち上がりに合わせて、所定の演算を実行し、その演算結果を第2の演算回路103に通知する。
第2の演算回路103は、第1の演算回路102から演算結果を受信する。ここで、第1の演算回路102は、発電装置101の発電電力が所定の大きさとなったときに演算動作を行う。すなわち、第1の演算回路102は、発電装置101の発電電力がHigh(山)のときだけ演算動作を行う。したがって、第1の演算回路102から第2の演算回路103への演算結果の通知頻度は、発電装置101の発電電力の時系列変化(周波数成分)をあらわしているといえる。
そこで、第2の演算回路103は、第1の演算回路102からの演算結果の受信頻度に基づいて、発電装置101の発電電力の時系列変化をあらわす波形を生成する。そして、第2の演算回路103は、生成した波形に基づいて、状況を検知する。具体的には、例えば、第2の演算回路103は、生成した波形の特徴を解析した結果から、自装置が正常状態にあるか、または、異常状態にあるかを検知する。
なお、波形の特徴を解析するための演算は、第1の演算回路102または第2の演算回路103において実行されてもよく、また、第1の演算回路102および第2の演算回路103で分担して実行されてもよい。
このように、実施の形態1にかかる状況検知装置100によれば、演算回路を二段構成とすることで、第1の演算回路102の動きから、第2の演算回路103において、発電装置101の発電電力の時系列変化をあらわす波形を復元することができる。そして、状況検知装置100によれば、復元した波形から、自装置が置かれた状況を検知することができる。
これにより、発電装置101からの発電電力を電力波形そのものの測定自体に消費することなく、第2の演算回路103による状況検知計算に利用可能にして、効率的に状況を検知することができる。このため、環境エネルギーを利用した発電装置101からのわずかな電力でも高精度な状況検知を行うことができる。
また、状況検知装置100において、第1の演算回路102で使用されなかった余剰電力は、キャパシタ105に一旦蓄積され第2の演算回路103に供給される。これにより、第1の演算回路102が停止状態(発電電力がLow)のときも、第2の演算回路103を動作させることができる。
(実施の形態2)
つぎに、実施の形態2にかかる状況検知装置100を含む状況検知システム200のシステム構成例について説明する。なお、実施の形態1で説明した箇所と同様の箇所については、説明を省略する。
図2は、状況検知システム200のシステム構成例を示す説明図である。図2において、状況検知システム200は、状況検知装置100と、管理者端末240と、を含む。状況検知システム200において、状況検知装置100および管理者端末240は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LPWA(Low Power Wide Area)ネットワーク、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
状況検知装置100は、エナジーハーベスタ201と、第1マイコン202と、第2マイコン203と、第1レギュレータ204と、第1キャパシタ205と、第2レギュレータ206と、第2キャパシタ207と、を有する。図2中、GNDは、接地(Ground)である。VINは、入力電圧である。VOUTは、出力電圧である。VCCは、電源電圧である。itは、電力の入力端子である。なお、GND等の自明な端子の線は省略している。また、以下の説明では、状況検知装置100内の点線枠220の部分を「1段目プレーン」と表記し、点線枠230の部分を「2段目プレーン」と表記する場合がある。
エナジーハーベスタ201は、環境に応じて得られるエネルギーを用いて発電する発電装置である。例えば、エナジーハーベスタ201は、振動エネルギーを用いて発電する。エナジーハーベスタ201は、図1に示した発電装置101の一例である。
第1マイコン202および第2マイコン203は、演算を実行するマイクロコントローラである。第1マイコン202と第2マイコン203は、相互に通信可能である。例えば、第1マイコン202と第2マイコン203は、I2C(アイ・スクエアド・シー)やSPI(Serial Peripheral Interface)などにより接続される。
また、第2マイコン203は、LPWAモジュール208に接続されている。LPWAモジュール208は、LPWAを利用したデータ通信を行う通信モジュールである。例えば、第2マイコン203は、LPWAモジュール208を介して、管理者端末240と通信可能である。第1マイコン202は、図1に示した第1の演算回路102の一例である。第2マイコン203は、図1に示した第2の演算回路103の一例である。
第1レギュレータ204および第2レギュレータ206は、出力される電圧・電流を一定に保つように制御する調整装置である。例えば、第1レギュレータ204および第2レギュレータ206は、出力電圧を3.3[V]程度の固定電圧に整流する。また、第1レギュレータ204および第2レギュレータ206は、UVLO(Under Voltage Lock Out)機能を有する。UVLO機能は、入力電圧(VIN)がUVLOの閾値(解除電圧)に達するまでは内部回路を準スタンバイ状態にし、誤動作を防止する機能である。また、UVLO機能は、動作中に電源電圧が低下し、UVLOの閾値を下回ったときも内部回路を準スタンバイ状態にして誤動作を防止する。UVLOの閾値としては、例えば、3~4[V]程度の値が設定される。第1レギュレータ204は、図1に示したレギュレータ104の一例である。
第1キャパシタ205および第2キャパシタ207は、電気を充放電する蓄電装置である。第1キャパシタ205は、エナジーハーベスタ201からの発電電力を蓄電し、第1マイコン202に電力を供給可能である。第1キャパシタ205の容量は、第1マイコン202が動作する電力をためられる程度の小さい容量であり、例えば、10~100[μF]程度である。第2キャパシタ207は、第1キャパシタ205よりも容量の大きいキャパシタであって、エナジーハーベスタ201からの発電電力を蓄電し、第2マイコン203に電力を供給可能である。第2キャパシタ207の容量は、例えば、1[F]程度である。なお、第2キャパシタ207には、USB(Universal Serial Bus)電源などの外部電源に接続されていてもよい。第2キャパシタ207は、図1に示したキャパシタ105の一例である。
管理者端末240は、状況検知システム200の管理者が使用するコンピュータである。管理者端末240は、例えば、PC、タブレットPC、スマートフォンなどである。
状況検知システム200において、第1マイコン202は、エナジーハーベスタ201の発電電力が所定の大きさとなったときに演算動作を行う。具体的には、第1マイコン202には、第1キャパシタ205の蓄電量が一定以上となったときに電力が供給される。より詳細に説明すると、第1キャパシタ205の蓄電量が一定以上となり、第1キャパシタ205の電圧が、第1レギュレータ204のUVLOの閾値(例えば、3~4[V])に到達すると、第1マイコン202に電力が供給される。ここで、第1キャパシタ205の容量は、10~100[μF]程度の非常に小さい容量である。このため、エナジーハーベスタ201からのわずかな発電電力に連動して、第1マイコン202を動作させることができる。なお、第1マイコン202に電力が供給されるときの第1キャパシタ205の蓄電量は、例えば、電荷量の式「Q=C(容量)×V(電圧)」から導出可能である。
また、第2マイコン203には、第2キャパシタ207の蓄電量が一定以上となったときに電力が供給される。より詳細に説明すると、第2キャパシタ207の蓄電量が一定以上となり、第2キャパシタ207の電圧が、第2レギュレータ206のUVLOの閾値(例えば、3~4[V])に到達すると、第2マイコン203に電力が供給される。ここで、第2キャパシタ207の容量は、1[F]程度であり、第1キャパシタ205の容量に比べて非常に大きい。このため、1段目プレーン220で使用されなかった余剰電力により、第1マイコン202が停止しているときも第2マイコン203を動作させることができる。
また、状況検知システム200において、状況検知装置100は、盗難防止等のために例えば、PC、タブレットPC、サーバなどの監視対象機器に設けられる。そして、状況検知装置100は、例えば、異常な状況(盗難等)を検知したときに、LPWAモジュール208により、状況の検知結果を管理者端末240に通知する。
これにより、例えば、監視対象機器が盗難されたときに、状況検知システム200の管理者に通知することができる。なお、状況検知装置100は、LPWAモジュール208を有さないことにしてもよい。この場合、状況検知装置100は、例えば、異常な状況(盗難等)を検知したときに、不図示のLED(Light Emitting Diode)ランプを点灯させたり、不図示のブザーから警告音を出力したりすることにしてもよい。
(第1マイコン202および第2マイコン203のハードウェア構成例)
つぎに、図2に示した第1マイコン202および第2マイコン203のハードウェア構成例について説明する。ここでは、「第1マイコン202および第2マイコン203」を「第1マイコン202等」と表記する。
図3は、第1マイコン202等のハードウェア構成例を示すブロック図である。図3において、第1マイコン202等は、MPU(Micro Processor Unit)301と、メモリ302と、I/F(Interface)303と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
MPU301は、第1マイコン202等の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)などを有する。具体的には、例えば、ROMが各種プログラムを記憶し、RAMがMPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、MPU301にロードされることで、コーディングされている処理をMPU301に実行させる。
I/F303は、通信回線を通じて、他の装置に接続される。そして、I/F303は、他の装置からのデータの入出力を制御する。例えば、第1マイコン202のI/F303は、通信回線を通じて、第2マイコン203に接続される。なお、第2マイコン203は、上述した構成部のほかに、例えば、タイマを有する。
(演算結果Rの具体例)
つぎに、第1マイコン202から第2マイコン203に送信される演算結果Rの具体例について説明する。
図4は、演算結果Rの具体例を示す説明図である。図4において、演算結果Rは、tc0と、tpと、d(tptc0)と、を含む。ここで、tc0は、現在窓の先頭の時刻である。tpは、過去窓の先頭の時刻である。窓は、時間軸上の一定の区間のことである。現在窓は、窓同士の波形の差を求める際の一方の窓(区間)である。
過去窓は、窓同士の差を求める際の他方の窓(区間)である。時刻は、例えば、エポック秒によってあらわされる。d(tptc0)は、現在窓と過去窓との窓同士の波形の差をあらわす値であり、例えば、ベクトル間のユークリッド距離によってあらわされる。なお、現在窓および過去窓の一例については、図10を用いて後述する。
(波形特定情報dの具体例)
つぎに、第2マイコン203から第1マイコン202に送信される波形特定情報dの具体例について説明する。
図5は、波形特定情報dの具体例を示す説明図である。図5において、波形特定情報dは、時刻と、カウント値と、を含む。ここで、時刻は、第2マイコン203で管理している時刻である。カウント値は、対応する時刻から一定期間内に、第2マイコン203が第1マイコン202から演算結果Rを受信した回数を示す。一定期間は、例えば、10秒である。
図5の例では、波形特定情報dは、時刻tnから一定期間内に、第2マイコン203が第1マイコン202から演算結果Rを3回受信したことを示す。なお、ここでは、波形特定情報dに、時刻とカウント値との組み合わせが1組含まれる場合について説明したが、これに限らない。例えば、波形特定情報dには、複数の時刻それぞれについて、時刻とカウント値との組み合わせが含まれていてもよい。
(波形データDの具体例)
つぎに、第1マイコン202および第2マイコン203が有する波形データDの具体例について説明する。
図6は、波形データDの具体例を示す説明図である。図6において、波形データDは、波形特定情報d0~dnを含む(n:自然数)。各波形特定情報d0~dnは、時刻とカウント値とを含む。時刻は、第2マイコン203で管理している時刻である。カウント値は、対応する時刻から一定期間内に、第2マイコン203が第1マイコン202から演算結果Rを受信した回数を示す。
すなわち、波形データDは、第2マイコン203が第1マイコン202から演算結果Rを受信した一定時間ごとの回数(カウント値)を時系列に並べた時系列データである。
(状況検知装置100の機能的構成例)
つぎに、実施の形態2にかかる状況検知装置100の機能的構成例について説明する。
図7は、状況検知装置100の機能的構成例を示すブロック図である。まず、状況検知装置100が有する第1マイコン202の機能的構成例について説明する。第1マイコン202は、第1の通信部711と、第1の演算部712と、を含む。第1の通信部711および第1の演算部712は制御部となる機能であり、具体的には、例えば、図3に示した第1マイコン202のメモリ302に記憶されたプログラムをMPU301に実行させることにより、または、I/F303により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302に記憶される。
第1の通信部711は、第2マイコン203から波形特定情報dを受信する。ここで、波形特定情報dは、波形Wの一部または全部を特定する情報である。波形Wは、エナジーハーベスタ201の発電電力の時系列変化(周波数成分)をあらわす波形であり、後述する第2マイコン203の生成部722によって生成される波形である。
波形特定情報dは、例えば、図5に示したように、時刻とカウント値とを対応付けた情報であり、当該時刻から一定期間内に第2マイコン203が第1マイコン202から演算結果Rを受信した回数を示す。受信された波形特定情報dは、波形データD(例えば、図6参照)として、第1マイコン202のメモリ302に格納される。
具体的には、例えば、第1の通信部711は、第2マイコン203から波形特定情報dを受信すると、その都度、受信した波形特定情報dを波形データDとしてメモリ302に格納する。これにより、第1マイコン202は、第2マイコン203において復元された波形W、すなわち、エナジーハーベスタ201の発電電力の時系列変化をあらわす波形Wを示す波形データDを得ることができる。
第1の演算部712は、受信された波形特定情報dに基づいて、波形Wの特徴を解析する第1の演算を実行する。具体的には、例えば、第1の演算部712は、k-近傍法を利用して、波形データDにおいて、過去の一定区間をスライドさせながら、現在の区間(現在窓)と過去の区間(過去窓)との差を求める第1の演算を実行する。波形データDは、受信された波形特定情報dから特定される波形Wを示す情報であり、カウント値を時系列に並べた時系列データである。
区間の長さは、任意に設定可能である。以下の説明では、波形データDにおける各区間に含まれるカウント値の数を「窓幅」と表記する場合がある。第1の演算部712において、現在の区間と、過去のどの区間との差を求めるかは、予め設定されている。例えば、第1の演算部712は、現在の区間と、過去の全区間それぞれとの差を求めることにしてもよい。また、第1の演算部712は、現在の区間との差を求める過去の区間を、第2マイコン203の第2の演算部723と分担することにしてもよい。
より詳細に説明すると、例えば、第1の演算部712は、波形データDにおける各窓の情報を窓幅分の要素数のベクトルとして、ベクトル間のユークリッド距離を算出することにより、窓同士の差を求める。なお、窓同士の差を求める具体的な計算例については、図10を用いて後述する。
ただし、第1マイコン202において、波形Wの特徴を解析可能な分の波形データD(例えば、窓幅の2倍以上の波形データD)が蓄積されていない場合がある。この場合、第1の演算部712は、ダミーデータを用いて、ダミー演算を行うことにしてもよい。具体的には、例えば、第1の演算部712は、窓幅と同じ要素数のダミーベクトルを用いてダミー演算を行う。
また、第1の通信部711は、第1の演算部712によって実行された第1の演算の演算結果Rを、第2マイコン203に送信する。具体的には、例えば、第1の通信部711は、第1の演算部712によって窓同士を差(ベクトル間のユークリッド距離)が算出されると、その都度、図4に示したような演算結果Rを第2マイコン203に送信する。
これにより、第1マイコン202において第1の演算が行われたことに応じて、その演算結果Rを第1マイコン202から第2マイコン203に通知することができる。
つぎに、状況検知装置100が有する第2マイコン203の機能的構成例について説明する。第2マイコン203は、第2の通信部721と、生成部722と、第2の演算部723と、出力部724と、を含む。第2の通信部721~出力部724は制御部となる機能であり、具体的には、例えば、図3に示した第2マイコン203のメモリ302に記憶されたプログラムをMPU301に実行させることにより、または、I/F303により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302に記憶される。
第2の通信部721は、第1マイコン202から演算結果Rを受信する。ここで、演算結果Rは、第1マイコン202において行われた第1の演算の結果であり、例えば、図4に示したように、波形データDにおける窓同士の差をあらわす値(ベクトル間のユークリッド距離)を含む。
受信された演算結果Rは、例えば、図8に示すような演算結果テーブル800に記憶される。演算結果テーブル800は、例えば、第2マイコン203のメモリ302に格納される。ここで、演算結果テーブル800の記憶内容について説明する。
図8は、演算結果テーブル800の記憶内容の一例を示す説明図である。図8において、演算結果テーブル800は、最新窓時刻、過去窓時刻および距離のフィールドを有し、各フィールドに情報を設定することで、演算結果(例えば、演算結果800-1~800-3)をレコードとして記憶する。
ここで、最新窓時刻は、現在窓の先頭の時刻であり、図4に示した「tc0」に相当する。過去窓時刻は、過去窓の先頭の時刻であり、図4に示した「tp」に相当する。距離は、現在窓と過去窓との窓同士の波形の差をあらわす値であり、図4に示した「d(tptc0)」に相当する。
第2の通信部721は、受信した演算結果Rに含まれる最新窓時刻tc0と、過去窓時刻tpと、距離d(tptc0)とを対応付けて、演算結果テーブル800に記憶する。
生成部722は、第1マイコン202からの演算結果Rの受信頻度に基づいて、エナジーハーベスタ201の発電電力の時系列変化をあらわす波形Wを生成する。具体的には、例えば、生成部722は、一定期間ごとに、当該一定期間内に第1マイコン202から演算結果Rを受信した回数を計数する。一定期間は、任意に設定可能であり、例えば、10秒程度の期間に設定される。
そして、生成部722は、計数した回数(カウント値)と、一定期間に対応する時刻とを対応付けた波形特定情報dを、波形データD(例えば、図6参照)として、第2マイコン203のメモリ302に格納する。一定期間に対応する時刻は、例えば、一定期間の先頭または末尾の時刻である。
これにより、一定期間(例えば、10秒)ごとのカウント値を時系列に並べた波形データDを生成することができる。一定期間ごとのカウント値は、第2マイコン203が第1マイコン202から演算結果Rを受信した受信頻度をあらわす。また、第1マイコン202は、エナジーハーベスタ201の発電電力が所定の大きさとなったときに演算動作を行う。したがって、カウント値の時系列変化をあらわす波形データDは、エナジーハーベスタ201の発電電力の時系列変化(周波数成分)をあらわしているといえる。なお、波形Wの具体例については、図9を用いて後述する。
また、第2の通信部721は、生成された波形Wの一部または全部を特定する波形特定情報dを第1マイコン202に送信する。具体的には、例えば、第2の通信部721は、波形Wが更新されたことに応じて、更新部分を特定する波形特定情報d(例えば、図5参照)を第1マイコン202に送信する。
なお、第1マイコン202に電力が供給されず、第1マイコン202がスリープ状態となっている場合がある。このため、第2の通信部721は、例えば、第1マイコン202に波形特定情報dを送信した結果、第1マイコン202から応答がない場合は、波形特定情報dを再送信する、あるいは、次回送信時に前回の波形特定情報dを含めて送信することにしてもよい。
第2の演算部723は、生成された波形Wに基づいて、状況を検知する。検知対象の状況は、状況検知装置100が置かれた状況である。具体的には、例えば、まず、第2の演算部723は、波形データDに基づいて、波形Wの特徴を解析する第2の演算を実行する。
より詳細に説明すると、例えば、第2の演算部723は、k-近傍法を利用して、波形データDにおいて、過去の一定区間をスライドさせながら、現在の区間(現在窓)と過去の区間(過去窓)との差(ベクトル間のユークリッド距離)を求める第2の演算を実行する。ただし、第2の演算部723において、現在の区間との差を求める過去の区間は、第1の演算部712とは異なる区間である。
第2の演算の演算結果R’には、最新窓時刻と、過去窓時刻と、距離と、が含まれる。最新窓時刻は、現在窓の先頭の時刻である。過去窓時刻は、過去窓の先頭の時刻である。距離は、現在窓と過去窓との窓同士の波形の差をあらわす値(ベクトル間のユークリッド距離)である。
演算結果R’は、例えば、図8に示した演算結果テーブル800に記憶される。例えば、第2の演算部723は、演算結果R’に含まれる最新窓時刻と、過去窓時刻と、距離とを対応付けて、演算結果テーブル800に記憶する。
そして、第2の演算部723は、第1マイコン202から受信された演算結果Rと、第2の演算の演算結果R’とに基づいて、状況を検知する。具体的には、例えば、第2の演算部723は、演算結果テーブル800を参照して、各最新窓時刻について、複数の過去窓時刻それぞれに対応する距離のうちの最小値を異常度として特定する。
つぎに、第2の演算部723は、特定した異常度が閾値αを超えるか否かを判断する。ここで、異常度が閾値αを超える場合、第2の演算部723は、最新窓時刻に対応する時点において自装置が異常状態であることを検知する。一方、異常度が閾値α以下の場合、第2の演算部723は、最新窓時刻に対応する時点において自装置が正常状態であることを検知する。最新窓時刻に対応する時点は、例えば、最新窓時刻そのものであってもよく、また、最新窓時刻を先頭の時刻とする現在窓の末尾の時刻であってもよい。
閾値αは、任意に設定可能である。例えば、閾値αは、異常度が閾値αを超えると、波形Wが大きく変化しているといえる値に設定される。また、一定期間学習期間(例えば、1時間)を設け、学習期間中の異常度の統計値から閾値αを設定することにしてもよい。例えば、第2の演算部723は、学習期間中の異常度の平均値と標準偏差を求め、「平均値+標準偏差」を閾値αに設定することにしてもよい。
なお、状況の検知例については、図11を用いて後述する。また、第1の演算部712において、現在の区間と過去の全区間それぞれとの差を求める場合、第2の演算部723において、現在の区間と過去の区間との差を求める演算は行わなくてよい。この場合、第2の演算部723は、第1マイコン202から受信された演算結果Rに基づいて、状況を検知する。
また、上述した説明では、k-近傍法を利用して、状況検知装置100の異常状態を検知する場合を例に挙げて説明したが、これに限らない。例えば、第2の演算部723は、特異スペクトル変換等の他のアルゴリズムを利用して、状況検知装置100の異常状態を検知することにしてもよい。
また、第2の演算部723は、波形Wから特定されるカウント値のパターンと、所定のパターンとに基づいて、状況を検知することにしてもよい。ここで、所定のパターンは、予め設定されたカウント値の時系列変化をあらわすパターンであり、任意に設定可能である。所定のパターンとしては、例えば、通常状態とは異なるものの、状況検知装置100が正常状態であると扱われるべき状況のときに得られる波形Wに基づいて設定される。
一例として、所定のパターンを、監視対象機器のユーザが、当該監視対象機器を持って移動したときに得られる、窓幅分のカウント値を時系列に並べたものとする。この場合、第2の演算部723は、例えば、異常度が閾値αを超えたときの現在窓と所定のパターンとの差を算出することにしてもよい。
より詳細に説明すると、例えば、第2の演算部723は、現在窓の情報および所定のパターンをそれぞれ窓幅分の要素数のベクトルとして、ベクトル間のユークリッド距離を算出することにより、現在窓と所定のパターンとの差を算出する。そして、第2の演算部723は、算出したユークリッド距離が閾値βを超える場合に、自装置が異常状態であることを検知する。一方、算出したユークリッド距離が閾値β以下の場合には、第2の演算部723は、異常度が閾値αを超えていても、自装置が正常状態であることを検知する。
これにより、状況検知装置100が設けられた監視対象機器のユーザが、当該監視対象機器を持って移動したときに、状況検知装置100が異常状態であると誤検知してしまうのを防ぐことができる。なお、閾値βは、任意に設定可能である。
出力部724は、検知された状況の検知結果を出力する。出力部724の出力形式としては、例えば、メモリ302への記憶、他のコンピュータへの送信、不図示のLEDランプの点灯、ブザーからの警告音出力、ディスプレイへの表示などがある。
具体的には、例えば、出力部724は、異常状態であることが検知された場合、LPWAモジュール208(図2参照)を介して、状況検知装置100が異常状態であることが検知されたことを示す検知結果を、管理者端末240(図2参照)に送信することにしてもよい。これにより、状況検知装置100の異常状態を状況検知システム200の管理者に通知することができる。
(波形Wの具体例)
つぎに、図9を用いて、第2マイコン203の生成部722によって生成された波形Wの具体例について説明する。
図9は、波形Wの具体例を示す説明図である。図9において、波形Wは、波形データDが示す波形であり、エナジーハーベスタ201の発電電力の時系列変化をあらわす波形である。図9中、縦軸は、カウント値を示す。また、横軸は、時刻を示す。ここでは、連続する2つの時刻の間隔は、10秒である。例えば、時刻tnと時刻tn-1との間隔は、10秒である。
例えば、時刻tnのカウント値は「3」であり、時刻tnから10秒間に、第2マイコン203が第1マイコン202から演算結果Rを3回受信したことを示す。また、時刻tn-1のカウント値は「4」であり、時刻tn-1から10秒間に、第2マイコン203が第1マイコン202から演算結果Rを4回受信したことを示す。
(窓同士の差の計算例)
つぎに、図10を用いて、第1マイコン202の第1の演算部712および第2マイコン203の第2の演算部723における窓同士の差の計算例について説明する。
図10は、窓同士の差の計算例を示す説明図である。図10において、波形Wは、波形データDが示す波形であり、エナジーハーベスタ201の発電電力の時系列変化をあらわす波形である。ここでは、窓幅を「5」とする。また、時刻tc0~tc(nW-1)の区間を現在窓とする。nWは、窓幅に相当する。すなわち、ここでは、時刻tc(nW-1)は、時刻tc4である。
過去窓は、波形W(波形データD)の先頭の時刻t0から10秒ずつスライドさせた各区間となる。複数の過去窓のうち、第1マイコン202(第1の演算部712)が現在窓との差を求める過去窓は、奇数番目の過去窓とする。また、複数の過去窓のうち、第2マイコン203(第2の演算部723)が現在窓との差を求める過去窓は、偶数番目の過去窓とする。
すなわち、現在窓との差を求める過去窓を、第1マイコン202(第1の演算部712)および第2マイコン203(第2の演算部723)に先頭から順に交互に割り当てる。これにより、波形Wの特徴の分析にかかる処理負荷を、第1マイコン202(第1の演算部712)および第2マイコン203(第2の演算部723)に分散することができる。
ここで、現在窓に含まれる各時刻tc0~tc4のカウント値は(2,4,5,4,3)である。また、1番目の過去窓の各時刻t0~t4のカウント値は(3,4,2,5,3)である。この場合、第1マイコン202(第1の演算部712)は、下記式(1)に示すように、各窓の情報を5次元ベクトルとして、ベクトル間のユークリッド距離d(t0tc0)を算出する。
これにより、1番目の過去窓(先頭の時刻t0)と現在窓との差「d(t0tc0)=3.32」を求めることができる。
また、2番目の過去窓の各時刻t1~t5のカウント値は(4,2,5,3,3)である。この場合、第2マイコン203(第2の演算部723)は、下記式(2)に示すように、各窓の情報を5次元ベクトルとして、ベクトル間のユークリッド距離d(t1tc0)を算出する。
これにより、2番目の過去窓(先頭の時刻t1)と現在窓との差「d(t1tc0)=3」を求めることができる。
(状況の検知例)
つぎに、図11を用いて、第2マイコン203の第2の演算部723による状況の検知例について説明する。
図11は、状況の検知例を示す説明図である。図11において、各最新窓時刻t[0]~t[3]の異常度が示されている。異常度は、現在窓と過去窓との差の最小値である。各最新窓時刻t[0]~t[3]の異常度は、例えば、演算結果テーブル800から特定される。
一例として、最新窓時刻t[0]を例に挙げると、第2の演算部723は、演算結果テーブル800を参照して、最新窓時刻t[0]について、複数の過去窓時刻(例えば、過去窓時刻t0[0]~t0[2])それぞれに対応する距離のうちの最小値を異常度として特定する。
ここでは、各最新窓時刻t[0]~t[3]の異常度として、「2.36 1.41 3.32 5.00」がそれぞれ特定された場合を想定する。また、閾値αを「α=4.00」とする。この場合、第2の演算部723は、最新窓時刻t[3]の異常度「5.00」が閾値αを超えるため、最新窓時刻t[3]に対応する時点において自装置が異常状態であることを検知する。
なお、状況の検知は、最新の異常度が特定される度に行われてもよい。また、状況の検知は、所定期間分(例えば、1時間分)の異常度が特定される度に、所定期間分の異常度を用いて行われることにしてもよい。
(状況検知装置100の各種処理手順)
つぎに、状況検知装置100の各種処理手順について説明する。まず、図12を用いて、状況検知装置100が有する第1マイコン202の演算処理手順について説明する。第1マイコン202の演算処理は、エナジーハーベスタ201の発電電力が所定の大きさとなったときに実行される。
図12は、第1マイコン202の演算処理手順の一例を示すフローチャートである。図12のフローチャートにおいて、まず、第1マイコン202は、窓幅の2倍以上の波形データDが、第1マイコン202のメモリ302に格納されているか否かを判断する(ステップS1201)。
ここで、窓幅の2倍以上の波形データDが格納されていない場合(ステップS1201:No)、第1マイコン202は、ダミーデータを用いて、ダミー演算を行う(ステップS1202)。そして、第1マイコン202は、ダミー演算を行った旨を第2マイコン203に通知して(ステップS1203)、ステップS1201に戻る。
一方、窓幅の2倍以上の波形データDが格納されている場合(ステップS1201:Yes)、第1マイコン202は、波形データDの最新の窓時刻と計算中最新窓時刻(tc0)とが異なるか否かを判断する(ステップS1204)。なお、初期状態では、計算中最新窓時刻(tc0)は未設定である。
ここで、最新の窓時刻と計算中最新窓時刻(tc0)とが異なる場合(ステップS1204:Yes)、第1マイコン202は、最新の窓時刻を計算中最新窓時刻(tc0)に設定する(ステップS1205)。つぎに、第1マイコン202は、波形データDの過去窓のうち最も時刻が早い奇数番目の過去窓の先頭の時刻を計算中過去窓時刻(tp)に設定する(ステップS1206)。
つぎに、第1マイコン202は、計算中最新窓時刻(tc0)の現在窓と、計算中過去窓時刻(tp)の過去窓との差をあらわす距離d(tptc0)を算出する(ステップS1207)。そして、第1マイコン202は、計算中最新窓時刻(tc0)と、計算中過去窓時刻(tp)と、距離d(tptc0)とを含む演算結果Rを第2マイコン203に通知して(ステップS1208)、ステップS1201に戻る。
また、ステップS1204において、最新の窓時刻と計算中最新窓時刻(tc0)とが同じ場合(ステップS1204:No)、第1マイコン202は、次の奇数番目の過去窓の先頭の時刻を計算中過去窓時刻(tp)に設定する(ステップS1209)。そして、第1マイコン202は、ステップS1207に移行する。
これにより、第1マイコン202は、エナジーハーベスタ201の発電電力が所定の大きさになったことに連動して、波形Wの特徴を解析する演算を行って、第2マイコン203に演算結果Rを通知することができる。なお、ステップS1209において、次の奇数番目の過去窓がない場合には、第1マイコン202は、ダミーデータを用いて、ダミー演算を行うことにしてもよい。
つぎに、図13を用いて、状況検知装置100が有する第1マイコン202の受信処理手順について説明する。第1マイコン202の受信処理は、エナジーハーベスタ201の発電電力が所定の大きさとなったときに、図12に示した演算処理と並列に実行されてもよく、また、割り込み処理として図12に示した演算処理を一時中断して実行されてもよい。
図13は、第1マイコン202の受信処理手順の一例を示すフローチャートである。図13のフローチャートにおいて、まず、第1マイコン202は、第2マイコン203から波形特定情報dを受信したか否かを判断する(ステップS1301)。ここで、第1マイコン202は、波形特定情報dを受信するのを待つ(ステップS1301:No)。
そして、第1マイコン202は、波形特定情報dを受信した場合(ステップS1301:Yes)、受信した波形特定情報dを波形データDとして、第1マイコン202のメモリ302に格納して(ステップS1302)、本フローチャートによる一連の処理を終了する。
これにより、第1マイコン202は、第2マイコン203において復元された波形W、すなわち、エナジーハーベスタ201の発電電力の時系列変化をあらわす波形Wを示す波形データDを得ることができる。
なお、処理対象とする波形データD(波形W)の長さには、上限値が設定されていてもよい。上限値としては、例えば、数時間~1日程度の長さが設定される。この場合、ステップS1302において、波形データDが更新されて、波形データDの長さが上限値を超える場合、第1マイコン202は、波形データDのうち上限値を超える分の最古のデータを、処理対象外あるいは削除することにしてもよい。
つぎに、図14を用いて、状況検知装置100が有する第2マイコン203の第1状況検知処理手順について説明する。
図14は、第2マイコン203の第1状況検知処理手順の一例を示すフローチャートである。図14のフローチャートにおいて、まず、第2マイコン203は、窓幅の2倍以上の波形データDが、第2マイコン203のメモリ302に格納されているか否かを判断する(ステップS1401)。
ここで、第2マイコン203は、窓幅の2倍以上の波形データDが格納されるのを待つ(ステップS1401:No)。そして、窓幅の2倍以上の波形データDが格納された場合(ステップS1401:Yes)、第2マイコン203は、波形データDの最新の窓時刻と計算中最新窓時刻(tc0)とが異なるか否かを判断する(ステップS1402)。なお、初期状態では、計算中最新窓時刻(tc0)は未設定である。
ここで、最新の窓時刻と計算中最新窓時刻(tc0)とが異なる場合(ステップS1402:Yes)、第2マイコン203は、最新の窓時刻を計算中最新窓時刻(tc0)に設定する(ステップS1403)。つぎに、第2マイコン203は、波形データDの過去窓のうち最も時刻が早い偶数番目の過去窓の先頭の時刻を計算中過去窓時刻(tp)に設定する(ステップS1404)。
つぎに、第2マイコン203は、計算中最新窓時刻(tc0)の現在窓と、計算中過去窓時刻(tp)の過去窓との差をあらわす距離d(tptc0)を算出する(ステップS1405)。そして、第2マイコン203は、計算中最新窓時刻(tc0)と、計算中過去窓時刻(tp)と、距離d(tptc0)とを含む演算結果R’を演算結果テーブル800に記憶する(ステップS1406)。
つぎに、第2マイコン203は、異常検知処理を実行して(ステップS1407)、ステップS1401に戻る。なお、異常検知処理の具体的な処理手順については、図16を用いて後述する。
また、ステップS1402において、最新の窓時刻と計算中最新窓時刻(tc0)とが同じ場合(ステップS1402:No)、第2マイコン203は、次の偶数番目の過去窓の先頭の時刻を計算中過去窓時刻(tp)に設定する(ステップS1408)。そして、第2マイコン203は、ステップS1405に移行する。
これにより、第2マイコン203は、波形Wの特徴を解析する演算を行って、演算結果テーブル800に演算結果R’を記憶することができる。また、第2マイコン203は、波形Wの特徴を解析した結果をもとに状況検知装置100の異常状態を検知することができる。
つぎに、図15を用いて、状況検知装置100が有する第2マイコン203の第2状況検知処理手順について説明する。第2マイコン203の第2状況検知処理は、図13に示した第1状況検知処理と並列に実行されてもよく、また、割り込み処理として図13に示した第1状況検知処理を一時中断して実行されてもよい。
図15は、第2マイコン203の第2状況検知処理手順の一例を示すフローチャートである。図15のフローチャートにおいて、まず、第2マイコン203は、タイマをスタートし(ステップS1501)、カウンタに「0」を設定する(ステップS1502)。そして、第2マイコン203は、第1マイコン202から演算結果Rを受信したか否かを判断する(ステップS1503)。
ここで、演算結果Rを受信していない場合(ステップS1503:No)、第2マイコン203は、ステップS1507に移行する。一方、演算結果Rを受信した場合(ステップS1503:Yes)、第2マイコン203は、カウンタをインクリメントする(ステップS1504)。
そして、第2マイコン203は、受信した演算結果Rを演算結果テーブル800に記憶する(ステップS1505)。つぎに、第2マイコン203は、異常検知処理を実行する(ステップS1506)。なお、異常検知処理の具体的な処理手順については、図16を用いて後述する。
そして、第2マイコン203は、タイマが一定期間経過したか否かを判断する(ステップS1507)。一定期間は、例えば、10秒である。ここで、一定期間経過していない場合には(ステップS1507:No)、第2マイコン203は、ステップS1503に戻る。
一方、一定期間経過した場合(ステップS1507:Yes)、第2マイコン203は、現在時刻とカウンタ値とを対応付けた波形特定情報dを波形データDとして、第2マイコン203のメモリ302に格納する(ステップS1508)。そして、第2マイコン203は、現在時刻とカウンタ値とを対応付けた波形特定情報dを第1マイコン202に送信して(ステップS1509)、ステップS1502に戻る。
これにより、第2マイコン203は、エナジーハーベスタ201の発電電力の時系列変化をあらわす波形Wを復元することができる。また、第2マイコン203は、波形Wの特徴を解析した結果をもとに状況検知装置100の異常状態を検知することができる。
なお、第2マイコン203は、ステップS1503において、第1マイコン202からダミー演算を行った旨の通知を受信した場合には、例えば、カウンタをインクリメントして、ステップS1507に移行する。
また、処理対象とする波形データD(波形W)の長さには、上限値が設定されていてもよい。この場合、ステップS1508において、波形データDが更新されて、波形データDの長さが上限値を超える場合、第2マイコン203は、波形データDのうち上限値を超える分の最古のデータを、処理対象外あるいは削除することにしてもよい。
つぎに、図16を用いて、図14に示したステップS1407および図15に示したステップS1506の異常検知処理の具体的な処理手順について説明する。
図16は、異常検知処理の具体的処理手順の一例を示すフローチャートである。図16のフローチャートにおいて、まず、第2マイコン203は、距離d(tptc0)が最新時刻に対応する最小値より小さいか否かを判断する(ステップS1601)。
なお、最新時刻は、現在窓の末尾の時刻tc(nW-1)である。また、距離d(tptc0)は、図14に示したステップS1405において算出された距離、または、図15に示したステップS1503において受信された演算結果Rに含まれる距離である。
ここで、距離d(tptc0)が最新時刻に対応する最小値以上の場合(ステップS1601:No)、第2マイコン203は、ステップS1603に移行する。一方、距離d(tptc0)が最新時刻に対応する最小値より小さい場合(ステップS1601:Yes)、第2マイコン203は、距離d(tptc0)を最新時刻に対応する最小値として保持する(ステップS1602)。
なお、距離d(tptc0)が最新時刻に対応する最小値がない場合にも、第2マイコン203は、距離d(tptc0)を最新時刻に対応する最小値として保持する。
つぎに、第2マイコン203は、計算中最新窓時刻(tc0)の現在窓に対して、全ての過去窓との差をあらわす距離が計算済みであるか否かを判断する(ステップS1603)。ここで、全ての過去窓との差をあらわす距離が計算済みではない場合(ステップS1603:No)、第2マイコン203は、異常検知処理を呼び出したステップに戻る。
一方、全ての過去窓との差をあらわす距離が計算済みの場合(ステップS1603:Yes)、第2マイコン203は、最新時刻に対応する最小値を、最新時刻に対応する異常値とする(ステップS1604)。そして、第2マイコン203は、最新時刻に対応する異常値が閾値αより大きいか否かを判断する(ステップS1605)。
ここで、最新時刻に対応する異常値が閾値α以下の場合(ステップS1605:No)、第2マイコン203は、異常検知処理を呼び出したステップに戻る。一方、最新時刻に対応する異常値が閾値αより大きい場合(ステップS1605:Yes)、第2マイコン203は、最新時刻において自装置が異常状態であることを検知する(ステップS1606)。
そして、第2マイコン203は、LPWAモジュール208により、異常状態であることが検知されたことを示すアラートを、管理者端末240に送信して(ステップS1607)、異常検知処理を呼び出したステップに戻る。
これにより、波形Wの特徴を解析した結果をもとに状況検知装置100の異常状態を検知して、状況検知システム200の管理者に通知することができる。
(状況検知装置100の他の実施例)
上述した説明では、状況検知装置100がエナジーハーベスタ201を1つ有する場合を例に挙げて説明したが、これに限らない。例えば、状況検知装置100は、複数のエナジーハーベスタ201を有することにしてもよい。
図17は、状況検知装置100の他の実施例を示す説明図である。図17において、状況検知装置100は、エナジーハーベスタ201-1~201-3と、第1マイコン202-1~202-3と、第2マイコン203と、第1レギュレータ204-1~204-3と、第1キャパシタ205-1~205-3と、第2レギュレータ206と、第2キャパシタ207と、を有する。
エナジーハーベスタ201-1~201-3として、それぞれ異なる環境エネルギーを用いて発電するものを採用してもよい。例えば、エナジーハーベスタ201-1を振動発電素子とし、エナジーハーベスタ201-2をソーラーモジュールとし、エナジーハーベスタ201-3を熱電素子としてもよい。
各第1マイコン202-1~202-3は、各エナジーハーベスタ201-1~201-3の発電電力が所定の大きさとなったときに演算動作を行う。具体的には、例えば、第1マイコン202-1には、第1キャパシタ205-1の蓄電量が一定以上となったときに電力が供給される。より詳細に説明すると、第1キャパシタ205-1の蓄電量が一定以上となり、第1キャパシタ205-1の電圧が、第1レギュレータ204-1のUVLOの閾値に到達すると、第1マイコン202-1に電力が供給される。第1マイコン202-2,202-3についても同様である。
この場合、第2マイコン203は、第1マイコン202-1~202-3それぞれから演算結果R-1~R-3を受信する。演算結果R-1~R-3のデータ構造は、例えば、図4に示した演算結果Rと同じである。つぎに、第2マイコン203は、第1マイコン202-1からの演算結果R-1の受信頻度に基づいて、エナジーハーベスタ201-1の発電電力の時系列変化をあらわす波形W-1を生成する。
同様に、第2マイコン203は、第1マイコン202-2からの演算結果R-2の受信頻度に基づいて、エナジーハーベスタ201-2の発電電力の時系列変化をあらわす波形W-2を生成する。同様に、第2マイコン203は、第1マイコン202-3からの演算結果R-3の受信頻度に基づいて、エナジーハーベスタ201-3の発電電力の時系列変化をあらわす波形W-3を生成する。
そして、第2マイコン203は、生成した波形W-1~W-3に基づいて、状況を検知する。具体的には、例えば、第2マイコン203は、生成した波形W-1~W-3のうち、時刻tの異常度が閾値αを超える波形Wが所定数以上(例えば、2以上)ある場合に、時刻tにおいて自装置が異常状態であることを検知することにしてもよい。閾値αは、エナジーハーベスタ201-1~201-3ごとに設定されてもよい。
また、第2マイコン203は、例えば、エナジーハーベスタ201-2(ソーラーモジュール)の発電量が少ないときに、エナジーハーベスタ201-1(振動発電素子)の発電電力が所定の大きさとなった場合に、自装置が異常状態であることを検知することにしてもよい。これにより、ソーラーモジュールの発電量が少なくなる夜間に振動が発生した場合に異常状態(盗難)であると検知することができる。
このように、複数のエナジーハーベスタ201の電力波形を用いることで、1つのエナジーハーベスタ201の電力波形から状況を検知する場合に比べて、検知精度の向上を図ることができる。また、複数のエナジーハーベスタ201を用いることで、第2キャパシタ207への蓄電速度を上げることができる。
以上説明したように、実施の形態2にかかる状況検知装置100の第1マイコン202は、エナジーハーベスタ201の発電電力が所定の大きさとなったときに演算動作を行う。また、状況検知装置100の第2マイコン203は、第1マイコン202から演算結果Rを受信し、第1マイコン202からの演算結果Rの受信頻度に基づいて、エナジーハーベスタ201の発電電力の時系列変化をあらわす波形Wを生成する。そして、第2マイコン203は、生成した波形Wに基づいて、状況を検知する。
これにより、第1マイコン202から第2マイコン203への演算結果Rの通知頻度から、第2マイコン203において、エナジーハーベスタ201の電力波形を復元することができる。このため、エナジーハーベスタ201からの発電電力を、電力波形そのものの測定自体に消費することなく、第2マイコン203による状況検知計算に利用することが可能となる。
また、状況検知装置100は、エナジーハーベスタ201からの発電電力を蓄電し、第1マイコン202に電力を供給可能な第1キャパシタ205を有する。第1マイコン202には、第1キャパシタ205の蓄電量が一定以上となったときに電力が供給される。そして、第1マイコン202は、第1キャパシタ205からの電力が供給されたことに応じて演算動作を行う。
これにより、エナジーハーベスタ201の発電電力を第1キャパシタ205に一旦ためることができ、第1マイコン202に安定した電力を供給することができる。また、第1キャパシタ205の容量を小さいものとすることで、エナジーハーベスタ201からのわずかな発電電力に連動して、第1マイコン202を動作させることができる。
また、第1マイコン202は、第2マイコン203から波形特定情報dを受信し、受信した波形特定情報dに基づいて、波形Wの特徴を解析する第1の演算を実行して、第2マイコン203に演算結果Rを送信することにしてもよい。そして、第2マイコン203は、受信した演算結果Rに基づいて、状況を検知することにしてもよい。これにより、状況を検知するための波形Wの特徴解析を第1マイコン202に行わせつつ、その演算結果Rの通知頻度からエナジーハーベスタ201の電力波形を復元することができる。
また、第2マイコン203は、生成した波形Wの特徴を解析する第2の演算を実行し、第1マイコン202から受信した演算結果Rと、実行した第2の演算の演算結果R’とに基づいて、状況を検知することにしてもよい。これにより、状況を検知するための波形Wの特徴解析を、第1マイコン202と第2マイコン203とで分担して行うことができる。
また、状況検知装置100は、第1キャパシタ205よりも容量の大きいキャパシタであって、エナジーハーベスタ201からの発電電力を蓄電し、第2マイコン203に電力を供給可能な第2キャパシタ207を有する。また、第2マイコン203には、第2キャパシタ207の蓄電量が一定以上となったときに電力が供給される。
これにより、エナジーハーベスタ201の発電電力を第2キャパシタ207に一旦ためることができ、第2マイコン203に安定した電力を供給することができる。このため、1段目プレーン220で使用されなかった余剰電力により、第1マイコン202が停止しているときも、第2マイコン203を安定して動作させることができる。
また、第2マイコン203は、検知した検知結果を出力する。これにより、状況検知装置100が異常状態であることが検知された際に、状況検知システム200の管理者等に通知することができ、監視対象機器の盗難等を早期に知らせることができる。
これらのことから、実施の形態2にかかる状況検知装置100および状況検知システム200によれば、環境エネルギーを変換して得られるエナジーハーベスタ201からの発電電力を用いて高精度な状況検知を行うことが可能となる。
なお、本実施の形態で説明した状況検知プログラムは、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disk)、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本状況検知プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)環境に応じて得られるエネルギーを用いて発電する発電装置の発電電力が所定の大きさとなったときに演算動作を行う第1の演算回路と、
前記第1の演算回路から演算結果を受信し、前記第1の演算回路からの演算結果の受信頻度に基づいて、前記発電電力の時系列変化をあらわす波形を生成し、生成した前記波形に基づいて、状況を検知する第2の演算回路と、
を有することを特徴とする状況検知装置。
(付記2)さらに、前記発電装置からの発電電力を蓄電し、前記第1の演算回路に電力を供給可能な第1のキャパシタを有し、
前記第1の演算回路には、前記第1のキャパシタの蓄電量が一定以上となったときに電力が供給され、
前記第1の演算回路は、前記第1のキャパシタからの電力が供給されたことに応じて演算動作を行う、ことを特徴とする付記1に記載の状況検知装置。
(付記3)前記第1の演算回路は、前記第2の演算回路から前記波形の情報を受信し、受信した前記波形の情報に基づいて、前記波形の特徴を解析する第1の演算を実行して、前記第2の演算回路に演算結果を送信し、
前記第2の演算回路は、受信した前記演算結果に基づいて、状況を検知する、
ことを特徴とする付記1または2に記載の状況検知装置。
(付記4)前記第2の演算回路は、
生成した前記波形の特徴を解析する第2の演算を実行し、
受信した前記演算結果と、実行した前記第2の演算の演算結果とに基づいて、状況を検知する、ことを特徴とする付記3に記載の状況検知装置。
(付記5)さらに、前記発電装置からの発電電力を蓄電し、前記第2の演算回路に電力を供給可能な第2のキャパシタを有する、ことを特徴とする付記1~4のいずれか一つに記載の状況検知装置。
(付記6)前記第2の演算回路には、前記第2のキャパシタの蓄電量が一定以上となったときに電力が供給される、ことを特徴とする付記5に記載の状況検知装置。
(付記7)前記第2の演算回路は、検知した検知結果を出力する、ことを特徴とする付記1~6のいずれか一つに記載の状況検知装置。
(付記8)環境に応じて得られるエネルギーを用いて発電する複数の発電装置それぞれについて、当該発電装置の発電電力が所定の大きさとなったときに演算動作を行う第1の演算回路を有し、
前記第2の演算回路は、
複数の前記第1の演算回路から演算結果を受信し、複数の前記第1の演算回路からの演算結果の受信頻度に基づいて、前記複数の発電装置それぞれの発電電力の時系列変化をあらわす波形を生成し、生成した前記複数の発電装置それぞれの波形に基づいて、状況を検知する、
ことを特徴とする付記1~7のいずれか一つに記載の状況検知装置。
(付記9)環境に応じて得られるエネルギーを用いて発電する発電装置の発電電力が所定の大きさとなったときに演算動作を行う第1の演算回路と、
前記第1の演算回路から演算結果を受信し、前記第1の演算回路からの演算結果の受信頻度に基づいて、前記発電電力の時系列変化をあらわす波形を生成し、生成した前記波形に基づいて、状況を検知する第2の演算回路と、
を含むことを特徴とする状況検知システム。
(付記10)第1の演算回路と第2の演算回路とを有する状況検知装置が、
前記第1の演算回路により、環境に応じて得られるエネルギーを用いて発電する発電装置の発電電力が所定の大きさとなったときに演算動作を行い、
前記第2の演算回路により、前記第1の演算回路から演算結果を受信し、前記第1の演算回路からの演算結果の受信頻度に基づいて、前記発電電力の時系列変化をあらわす波形を生成し、生成した前記波形に基づいて、状況を検知する、
ことを特徴とする状況検知方法。