(57)【要約】【課題】対象の位置を推定するセンサシステムにおいて、低コスト、かつ、場所及び時間に制限されないセンサ端末の相対位置のキャリブレーションを実現する。【解決手段】センサシステムは、複数のセンサ端末、及びセンサ端末の相対位置を管理し、検出対象の位置を推定する制御部を備え、センサ端末は、キャリブレーション信号を発生させる信号発生装置及びセンサを有し、制御部は、キャリブレーション信号に関する情報を含むセンサデータを受信した場合、当該センサデータに基づいて複数のセンサ端末の相対位置のキャリブレーションを実行する。【選択図】図１
2020091183.tif 000002
【特許請求の範囲】
【請求項１】
センサシステムであって、
複数のセンサ端末、及び前記複数のセンサ端末の相対位置を管理し、検出対象の位置を推定する制御部を備え、
前記複数のセンサ端末の各々は、キャリブレーション信号を発生させる信号発生装置及び前記検出対象から発生した振動及び前記キャリブレーション信号を計測するセンサを有し、
前記複数のセンサ端末は、計測した前記振動に関する情報を含む第１のセンサデータ、及び計測した前記キャリブレーション信号に関する情報を含む第２のセンサデータの少なくともいずれかを前記制御部に送信し、
前記制御部は、
前記第１のセンサデータを受信した場合、前記複数のセンサ端末の相対位置及び前記第１のセンサデータに基づいて前記検出対象の位置を推定し、
前記第２のセンサデータを受信した場合、前記第２のセンサデータに基づいて前記複数のセンサ端末の相対位置のキャリブレーションを実行することを特徴とするセンサシステム。
【請求項２】
請求項１に記載のセンサシステムであって、
前記制御部は、前記キャリブレーションの実行イベントを検出した場合、前記複数のセンサ端末の各々に、前記キャリブレーション信号の送信及び受信を行わせるためのキャリブレーション実行指示を送信することを特徴とするセンサシステム。
【請求項３】
請求項１に記載のセンサシステムであって、
前記制御部は、
前記複数のセンサ端末の各々の時刻を調整するための補正値を算出し、
前記複数のセンサ端末に、前記複数のセンサ端末の各々の前記補正値を送信することを特徴とするセンサシステム。
【請求項４】
請求項２に記載のセンサシステムであって、
前記信号発生装置は、パターンが異なる前記キャリブレーション信号を発生させることができ、
前記キャリブレーション実行指示には、前記複数のセンサ端末の各々が発生させる前記キャリブレーション信号のパターンを指定する情報が含まれることを特徴とするセンサシステム。
【請求項５】
請求項２に記載のセンサシステムであって、
前記キャリブレーションの実行イベントは、タイマの経過、前記センサ端末による任意のパターンの振動の計測、前記センサ端末の起動、前記センサシステムにおける前記センサ端末の構成の変更、及び前記センサシステムにおける環境の変化の少なくともいずれかであることを特徴とするセンサシステム。
【請求項６】
請求項１に記載のセンサシステムであって、
少なくとも一つのセンサ端末が、前記制御部を有することを特徴とするセンサシステム。
【請求項７】
センサシステムの制御方法であって、
前記センサシステムは、複数のセンサ端末、及び前記複数のセンサ端末の相対位置を管理し、検出対象の位置を推定する制御部を有し、
前記複数のセンサ端末の各々は、キャリブレーション信号を発生させる信号発生装置及び前記検出対象から発生した振動及び前記キャリブレーション信号を計測するセンサを有し、
前記複数のセンサ端末の各々が、計測した前記振動に関する情報を含む第１のセンサデータ、及び計測した前記キャリブレーション信号に関する情報を含む第２のセンサデータの少なくともいずれかを前記制御部に送信する第１のステップと、
前記制御部が、前記第１のセンサデータを受信した場合、前記複数のセンサ端末の相対位置及び前記第１のセンサデータに基づいて前記検出対象の位置を推定する第２のステップと、
前記制御部が、前記第２のセンサデータを受信した場合、前記第２のセンサデータに基づいて前記複数のセンサ端末の相対位置のキャリブレーションを実行する第３のステップと、を含むことを特徴とするセンサシステムの制御方法。
【請求項８】
請求項７に記載のセンサシステムの制御方法であって、
前記制御部が、前記キャリブレーションの実行イベントを検出した場合、前記複数のセンサ端末の各々に、前記キャリブレーション信号の送信及び受信を行わせるためのキャリブレーション実行指示を送信するステップを含むことを特徴とするセンサシステムの制御方法。
【請求項９】
請求項７に記載のセンサシステムの制御方法であって、
前記第３のステップは、
前記制御部が、前記複数のセンサ端末の各々の時刻を調整するための補正値を算出するステップと、
前記制御部が、前記複数のセンサ端末に、前記複数のセンサ端末の各々の前記補正値を送信するステップと、を含むことを特徴とするセンサシステムの制御方法。
【請求項１０】
請求項８に記載のセンサシステムの制御方法であって、
前記信号発生装置は、パターンが異なる前記キャリブレーション信号を発生させることができ、
前記キャリブレーション実行指示には、前記複数のセンサ端末の各々が発生させる前記キャリブレーション信号のパターンを指定する情報が含まれることを特徴とするセンサシステムの制御方法。
【請求項１１】
請求項８に記載のセンサシステムの制御方法であって、
前記キャリブレーションの実行イベントは、タイマの経過、前記センサ端末による任意のパターンの振動の計測、前記センサ端末の起動、前記センサシステムにおける前記センサ端末の構成の変更、及び前記センサシステムにおける環境の変化の少なくともいずれかであることを特徴とするセンサシステムの制御方法。
【請求項１２】
請求項７に記載のセンサシステムの制御方法であって、
少なくとも一つのセンサ端末が、前記制御部を有することを特徴とするセンサシステムの制御方法。
【請求項１３】
センサシステムを構成する複数のセンサ端末と接続され、前記複数のセンサ端末の相対位置を管理し、検出対象の位置を推定する制御装置であって、
前記複数のセンサ端末の各々は、キャリブレーション信号を発生させる信号発生装置及び前記検出対象から発生した振動及び前記キャリブレーション信号を計測するセンサを有し、
前記制御装置は、
演算装置、前記演算装置に接続される記憶装置、及び、前記演算装置に接続されるネットワークインタフェースを備え、
前記センサ端末によって計測された前記振動に関する情報を含む第１のセンサデータ及び前記センサ端末によって計測された前記キャリブレーション信号に関する情報を含む第２のセンサデータの少なくともいずれかを受信し、
前記第１のセンサデータを受信した場合、前記複数のセンサ端末の相対位置及び前記第１のセンサデータに基づいて前記検出対象の位置を推定し、
前記第２のセンサデータを受信した場合、前記第２のセンサデータに基づいて前記複数のセンサ端末の相対位置及び時刻のキャリブレーションを実行し、
前記複数のセンサ端末の各々の時刻を調整するための補正値を算出し、
前記複数のセンサ端末に、前記複数のセンサ端末の各々の前記補正値を送信することを特徴とする制御装置。
【請求項１４】
請求項１３に記載の制御装置であって、
前記信号発生装置は、パターンが異なる前記キャリブレーション信号を発生させることができ、
前記制御装置は、前記キャリブレーションの実行イベントを検出した場合、前記複数のセンサ端末の各々に、前記キャリブレーション信号の送信及び受信を行わせるためのキャリブレーション実行指示を送信し、
前記キャリブレーション実行指示には、前記複数のセンサ端末の各々が発生させる前記キャリブレーション信号のパターンを指定する情報が含まれることを特徴とする制御装置。
【請求項１５】
請求項１４に記載の制御装置であって、
前記キャリブレーションの実行イベントは、タイマの経過、前記センサ端末による任意のパターンの振動の計測、前記センサ端末の起動、前記センサシステムにおける前記センサ端末の構成の変更、及び前記センサシステムにおける環境の変化の少なくともいずれかであることを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のセンサ端末から構成され、対象の位置を推定するセンサシステムに関する。
【背景技術】
【０００２】
社会環境において、都市計画及び交通計画、災害時の避難及び救出活動、並びにマーケティングの利用を目的として、人及び物等の対象の分布及び流動状況をリアルタイムに把握する技術が求められている。一方、公共空間における情報の取得においてはプライバシへの配慮が求められる。そのため、個人に関する情報を特定することなく、対象の位置情報の取得が可能な技術が必要とされている。
【０００３】
これらを実現する技術として、複数の振動センサ又は音響センサを用いて、対象が空間で発する振動及び音を計測することによって、対象の位置情報を取得するセンサシステムが考えられている。
【０００４】
センサシステムを利用して正確な対象の位置情報を取得するためには、予め、複数のセンサの位置をキャリブレーションしておく必要がある。センサシステムのキャリブレーションに関する技術として特許文献１及び特許文献２に記載の技術が知られている。
【０００５】
特許文献１には、「コンピュータは、各センサからの出力に基づいて、センサ毎に人観測点を検出し、その人観測点の時間変化から人間の移動軌跡を算出する。次に、各センサの出力に基づいて算出された移動軌跡を、センサ間で一致させる。一致させた移動軌跡上の２つの人観測点が所定のルールに従って抽出され、それらを用いてこの移動軌跡を生成したセンサ間の距離および相対的な角度についてのセンサ間の制約を、移動軌跡が一致されたセンサの組毎に算出する。そして、センサ間の制約を用いて、全センサの位置および向きを推定する」ことが記載されている。
【０００６】
特許文献２には、「センサ間の直接送受された超音波の伝搬距離と走査方向からセンサ間の相対位置を求め、検査対象からの反射波の伝搬距離と走査方向から検査対象上の超音波探傷センサの位置を求め、探傷が必要な個所に超音波を確実に送受信する」超音波探傷法が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−８８１３５号公報
【特許文献２】特開２０１４−４１０６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載の技術は、人の移動を計測する必要である。また、特許文献２に記載の技術は、センサと検査対象との間の相対位置を評価するものであり、また、検査対象から反射した超音波を計測する必要がある。
【０００９】
したがって、従来技術では、任意のタイミング及び任意の空間において、センサの相対位置のキャリブレーションを実行できない。例えば、従来技術では、センサの設置場所及び設置環境の変化した場合に、センサの相対位置のキャリブレーションを実行できない。また、従来技術では、キャリブレーションの実行に要する時間及び計算量等のコストが高いという問題がある。
【００１０】
本発明は、以上の問題点を解決するセンサシステムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、センサシステムであって、複数のセンサ端末、及び前記複数のセンサ端末の相対位置を管理し、検出対象の位置を推定する制御部を備え、前記複数のセンサ端末の各々は、キャリブレーション信号を発生させる信号発生装置及び前記検出対象から発生した振動及び前記キャリブレーション信号を計測するセンサを有し、前記複数のセンサ端末は、計測した前記振動に関する情報を含む第１のセンサデータ、及び計測した前記キャリブレーション信号に関する情報を含む第２のセンサデータの少なくともいずれかを前記制御部に送信し、前記制御部は、前記第１のセンサデータを受信した場合、前記複数のセンサ端末の相対位置及び前記第１のセンサデータに基づいて前記検出対象の位置を推定し、前記第２のセンサデータを受信した場合、前記第２のセンサデータに基づいて前記複数のセンサ端末の相対位置のキャリブレーションを実行する。
【発明の効果】
【００１２】
本発明の一形態によれば、コストを低減し、かつ、任意のタイミング及び任意の空間にいて、任意のタイミングでセンサ端末の相対位置を算出できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】実施例１のセンサシステムの構成例を示す図である。
【図２Ａ】実施例１のセンサ端末の構成例を示す図である。
【図２Ｂ】実施例１のセンサ端末の構成例を示す図である。
【図３】実施例１のセンサ端末が発生させる信号のパターンの一例を示す図である。
【図４Ａ】実施例１のセンサシステムにおける計測アルゴリズムの一例を説明する図である。
【図４Ｂ】実施例１のセンサシステムにおける計測アルゴリズムの一例を説明する図である。
【図５】実施例１のセンサ端末が実行する処理の一例を説明するフローチャートである。
【図６】実施例１の制御装置が実行する処理の一例を説明するフローチャートである。
【図７】実施例１のキャリブレーション処理の一例を説明する図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００１５】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【００１６】
本明細書等における「第１」、「第２」、「第３」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
【００１７】
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例１】
【００１８】
図１は、実施例１のセンサシステムの構成例を示す図である。図２Ａ及び図２Ｂは、実施例１のセンサ端末１１０の構成例を示す図である。図３は、実施例１のセンサ端末１１０が発生させる信号のパターンの一例を示す図である。
【００１９】
センサシステム１０は、制御装置１００、複数のセンサ端末１１０、及びユーザ端末１２０から構成される。
【００２０】
制御装置１００及び複数のセンサ端末１１０は、ネットワークを介して接続され、制御装置１００及びユーザ端末１２０は、ネットワークを介して接続される。ネットワークは例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）及びＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等である。接続方式は有線又は無線のいずれでもよい。
【００２１】
なお、制御装置１００及び複数のセンサ端末１１０は直接接続されてもよいし、また、制御装置１００及びユーザ端末１２０は直接されてもよい。
【００２２】
センサ端末１１０は、空間に設置され、当該空間に存在する検出対象（例えば、人及び物）から発生した振動等の信号を計測し、計測結果を含むセンサデータを制御装置１００に送信する。
【００２３】
センサ端末１１０は、例えば、床、通路、壁、硝子等に固定された状態で設置される。また、計測される振動は、例えば、空気の振動（音）、及び、検出対象の振動等である。計測結果には、計測時刻、信号のパターン、及び信号の強度等が含まれる。なお、センサデータには、後述するキャリブレーション信号を出力した時刻等が含まれてもよい。なお、センサ端末１１０の詳細な構成については後述する。
【００２４】
制御装置１００は、センサデータの収集及び蓄積を行い、また、センサデータを解析することによって、空間内の検出対象の位置を推定する。制御装置１００は、検出対象の位置を推定するための情報として、複数のセンサ端末１１０の相対位置を管理する。また、制御装置１００は、キャリブレーションの実行時にセンサデータを解析することによって、センサ端末１１０の相対位置を算出し、また、時刻を調整するための補正値を算出する。
【００２５】
制御装置１００は、演算装置１０１、記憶装置１０２、及び通信装置１０３を有する。
【００２６】
演算装置１０１は、制御装置１００全体を制御する装置であり、例えば、ＣＰＵ及びマイコン等である。演算装置１０１は、記憶装置１０２に格納されるプログラムを実行する。演算装置１０１は、プログラムを実行することによって、所定の機能を実現するモジュールとして動作する。
【００２７】
記憶装置１０２は、メモリ等であり、演算装置１０１が実行するプログラム及びプログラムが使用する情報を格納する。実施例１の記憶装置１０２には、センサデータ、検出対象の位置、センサ端末１１０の相対位置、及び補正値等が格納される。なお、記憶装置１０２に格納されるデータは、ユーザ端末１２０がアクセスできるように管理されているものとする。
【００２８】
通信装置１０３は、ネットワークインタフェース等であり、ネットワークを介して、外部装置と通信する。実施例１の通信装置１０３は、通信装置１０３を介して、複数のセンサ端末１１０及びユーザ端末１２０に接続される。
【００２９】
ユーザ端末１２０は、制御装置１００を操作するための端末である。ユーザ端末１２０は、図示しない演算装置、記憶装置、及び通信装置を有する。なお、制御装置１００にキーボード及びマウス等の入力装置、並びに、ディスプレイ等の出力装置が接続されている場合、センサシステム１０はユーザ端末１２０を含まなくてもよい。
【００３０】
なお、図１では、センサシステム１０を制御する構成として制御装置１００を説明したが、ＩｏＴゲートウェイ及び解析サーバ化構成される制御システムに置き換えてもよい。例えば、センサ端末１１０の近傍にＩｏＴゲートウェイを設置し、クラウド又は遠隔地に解析サーバを設置するシステム構成が考えられる。
【００３１】
なお、少なくとも一つのセンサ端末１１０が、制御装置１００が有する機能を有するようにしてもよい。この場合、センサシステム１０はセンサ端末１１０のみから構成される。
【００３２】
ここで、図２Ａ及び図２Ｂを用いて、センサ端末１１０の構成について説明する。
【００３３】
図２Ａは、全てのハードウェア構成が内蔵されたセンサ端末１１０の構成例を示す。センサ端末１１０は、演算装置２００、センサ２０１、信号発生装置２０２、及び通信装置２０３を有する。演算装置２００及び通信装置２０３は、演算装置１０１及び通信装置２０３と同一の構成である。
【００３４】
センサ２０１は、振動を計測する装置である。検出対象の振動を計測するセンサ２０１としては、例えば、加速度センサ及び変位計等が挙げられる。音を計測するセンサ２０１としては、例えば、マイクロホン及び超音波センサ等が挙げられる。
【００３５】
信号発生装置２０２は、キャリブレーションに使用する信号（キャリブレーション信号）を発生させるための装置である。信号発生装置２０２は、物体の振動を発生させる振動発生装置、及び音を発生させる音発生装置等である。振動発生装置としては、振幅、周波数、及び位相を制御可能な振動モータ、インパルスの出力が可能なメカニカルリレー等が挙げられる。音発生装置としては、圧電スピーカ及び超音波発生器等が挙げられる。
【００３６】
信号発生装置２０２は、図３に示すようにパターンの異なるキャリブレーション信号を発生させてもよい。
【００３７】
例えば、信号発生装置２０２は、信号３００−１を基準のキャリブレーション信号として生成する。信号発生装置２０２は、信号３００−１を変調することによって、信号３００−１と周波数成分が異なる信号３００−２、信号３００-１と時間成分が異なる信号３００−３を生成する。また、信号発生装置２０２は、信号３００−１を変調することによって、複雑なパターンの信号３００−４を生成してもよい。
【００３８】
信号発生装置２０２は、特定の周波数帯域が減数又は増幅する等の空間の特性に基づいて、キャリブレーション信号のパターンを選択してもよい。
【００３９】
演算装置２００は、センサ２０１が計測した信号に対するデジタル処理を実行することによってセンサデータを生成し、通信装置２０３を介してセンサデータを制御装置１００に送信する。
【００４０】
図２Ｂは、一部のハードウェア構成が外付けされたセンサ端末１１０の構成例を示す。センサ端末１１０は、演算装置２００、信号発生装置２０２、通信装置２０３、及び接続装置２０４を有する。
【００４１】
接続装置２０４は、外部装置と接続する装置であり、例えば、ＩＯインタフェースである。接続装置２０４は、配線を介してセンサ２０１及び信号発生装置２０２と接続する。配線を介して、センサ２０１及び信号発生装置２０２への給電及びデータ通信が行われる。
【００４２】
センサ２０１は、治具２１０を介して、床、通路、壁、及び硝子等に固定される。また、信号発生装置２０２は、治具２１１を介して、床、通路、壁、及び硝子等に固定される。
【００４３】
センサ端末１１０からセンサ２０１及び信号発生装置２０２を分離することによって、設置空間が狭い場合でもセンサ２０１及び信号発生装置２０２を設置することができる。
【００４４】
なお、センサ２０１及び信号発生装置２０２のいずれか一方のみがセンサ端末１１０に外付けされてもよい。
【００４５】
なお、信号発生装置２０２による振動以外の振動は外乱信号となるため、当該振動の発生を抑制する必要がある。そのため、外乱信号となる振動を発生する機構を搭載しない、又は、振動の発生を低減するように制御することが望ましい。例えば、排熱用の冷却ファンの振動は外乱信号となり得る。発熱の抑制はセンサ端末１１０の消費電力の削減効果と、外乱信号となる振動の発生の抑止効果とを考慮し、ファンの回転速度を調整すればよい。また、一定の強度の振動を計測するように制御する。
【００４６】
図４Ａ及び図４Ｂは、実施例１のセンサシステム１０における計測アルゴリズムの一例を説明する図である。
【００４７】
まず、図４Ａに示すような１次元空間の計測アルゴリズムについて説明する。
【００４８】
二つのセンサ端末１１０−１、１１０−２を結ぶ直線上に検出対象４００−１、４００−２が存在しているものとする。ここで、センサ端末１１０−１と検出対象４００−１との間の距離をＸ１、センサ端末１１０−１と検出対象４００−２との間の距離をＸ’１、センサ端末１１０−２と検出対象４００−１との間の距離をＸ２、センサ端末１１０−２と検出対象４００−２との間の距離をＸ’２とする。センサ端末１１０−１に対する検出対象４００−１の振動の伝播時間をｔ１、センサ端末１１０−２に対する検出対象４００−１の振動の伝播時間をｔ２、センサ端末１１０−１に対する検出対象４００−２の振動の伝播時間をｔ’１、センサ端末１１０−２に対する検出対象４００−２の振動の伝播時間をｔ’２とする。また、検出対象４００−１、４００−２において発生した振動の空間内における伝播速度をＣとする。
【００４９】
このとき、距離Ｘ１、Ｘ２、Ｘ’１、Ｘ’２は式（１）、（２）、（３）、（４）で与えられる。なお、計測した振動が音声の場合、Ｃは音速となる。音速は式（５）に示すように、振動が伝播する媒体の密度ρおよび体積弾性率κに依存する。
【００５０】
【数１】
2020091183.tif 000003
【００５１】
【数２】
2020091183.tif 000004
【００５２】
【数３】
2020091183.tif 000005
【００５３】
【数４】
2020091183.tif 000006
【００５４】
【数５】
2020091183.tif 000007
【００５５】
このとき、センサ端末１１０−１とセンサ端末１１０−２の中点と、検出対象４００−１の位置とのズレΔＸは式（６）で与えられる。
【００５６】
【数６】
2020091183.tif 000008
【００５７】
式（６）に示すように、伝播時間の差に基づいて、センサ端末１１０間の中点からの検出対象の位置を求めることができる。
【００５８】
同様に、センサ端末１１０−１とセンサ端末１１０−２の中点と、検出対象４００−２の位置とのズレΔＸ’は式（７）で与えられる。
【００５９】
【数７】
2020091183.tif 000009
【００６０】
このように、センサシステムは、伝播時間の違いから、検出対象４００の位置を推定できる。なお、検出対象４００−１、４００−２が同じ位置に存在する場合、センサシステムは、振動の特性（大きさ、周波数等）の違いに基づいて、二つの検出対象４００−１、４００−２を区別することができる。
【００６１】
検出対象４００の位置を推定するためには必要な中点を求めるためには、センサ端末１１０−１、１１０−２の相対位置を算出する必要がある。センサ端末１１０−１、１１０−２の相対位置は相対距離に基づいて算出できる。
【００６２】
また、伝播時間を求めるためには、センサ端末１１０−１、１１０−２の時刻を同期する必要がある。時刻の誤差は信号の計測時刻に基づいて算出できる。
【００６３】
次に、図４Ｂに示すような２次元空間の計測アルゴリズムについて説明する。三つのセンサ端末１１０−１、１１０−２、１１０−３から定まる三角形の領域４１０の内部に検出対象４００が存在するものとする。
【００６４】
センサシステムは、各センサ端末１１０−１、１１０−２、１１０−３との間の距離が同一である位置、すなわち、三角形の領域４１０の外心と、検出対象４００の位置のズレを基準として、領域４１０内の検出対象４００の位置を推定する。検出対象４００と外心との間のズレは、振動の伝播時間の差として得られる。
【００６５】
検出対象４００の位置を推定するために必要な領域４１０の外心を求めるためには、センサ端末１１０−１、１１０−２、１１０−３の相対位置を算出する必要がある。センサ端末１１０-１、１１０−２、１１０−３の相対位置は、各センサ端末１１０の相対距離に基づいて算出できる。なぜならば、三つの辺の長さから領域４１０の形状を求めることができるためである。
【００６６】
また、伝播時間を求めるためには、センサ端末１１０−１、１１０−２、１１０−３の時刻を同期する必要がある。時刻の誤差は信号の計測時刻に基づいて算出できる。
【００６７】
図４Ａ及び図４Ｂを用いて説明したように、検出対象４００の位置は、センサ端末１１０の相対位置及び振動の伝播時間に基づいて推定される。そのため、センサ端末１１０間の相対位置及び時刻の誤差を求めるキャリブレーションを実行する必要がある。
【００６８】
図５は、実施例１のセンサ端末１１０が実行する処理の一例を説明するフローチャートである。
【００６９】
センサ端末１１０は、通常、検出対象４００から発生した振動を計測する位置検出モードで稼働しているものとする。
【００７０】
センサ端末１１０は、検出対象４００から発生した振動の計測を実行する（ステップＳ１０１）。
【００７１】
具体的には、センサ端末１１０は、検出対象から発生した振動を検出した場合、センサデータを制御装置１００に送信する。
【００７２】
センサ端末１１０は、キャリブレーションの実行イベントを検出したか否かを判定する（ステップＳ１０２）。
【００７３】
キャリブレーションの実行イベントは、センサ端末１１０自身が検出してもよいし、制御装置１００が検出してもよい。
【００７４】
センサ端末１１０自身が検出するキャリブレーションの実行イベントは、例えば、センサ端末１１０の初期起動又は再起動、実行周期を表すタイマの経過、異常信号の検出、及び気温等の環境の変化等が考えられる。
【００７５】
また、制御装置１００が検出するキャリブレーションの実行イベントは、例えば、実行周期の経過、センサ端末１１０の異常の検出、空間内におけるセンサ端末１１０の増減等が考えられる。制御装置１００がキャリブレーションの実行イベントを検出した場合、キャリブレーション実行指示が各センサ端末１１０に送信される。この場合、センサ端末１１０は、キャリブレーション実行指示の受信を、キャリブレーションの実行イベントとして検出する。
【００７６】
キャリブレーションの実行イベントを検出していない場合、センサ端末１１０は、ステップＳ１０１に戻り、位置検出モードでの稼働を継続する。
【００７７】
キャリブレーションの実行イベントを検出した場合、センサ端末１１０は、キャリブレーションモードに移行し、キャリブレーション信号の出力、及び、他のセンサ端末１１０が出力したキャリブレーション信号の検出を行う（ステップＳ１０３）。キャリブレーション信号の出力タイミングは、予め設定されてもよいし、制御装置１００が指定してもよい。
【００７８】
なお、キャリブレーションモードでは、キャリブレーション信号以外の信号が検出される可能性があるが、特徴的なキャリブレーション信号のパターンを予め設定することによって、センサ端末１１０はキャリブレーション信号を識別することができる。
【００７９】
センサ端末１１０は、制御装置１００から補正値を受信した場合（ステップＳ１０４）、補正値に基づいて相対時刻を補正するための適用処理を実行する（ステップＳ１０５）。
【００８０】
次に、センサ端末１１０は、キャリブレーションの終了条件を満たすか否かを判定する（ステップＳ１０６）。
【００８１】
例えば、センサ端末１１０は、前回受信した補正値と今回受信した補正値とが同一である場合、キャリブレーションの終了条件を満たすと判定する。
【００８２】
キャリブレーションの終了条件を満たさないと判定された場合、センサ端末１１０は、ステップＳ１０３に戻り、同様の処理を実行する。なお、制御装置１００からシステム異常を通知する信号を受信した場合、センサ端末１１０は異常処理を実行する。例えば、センサ端末１１０の停止及び再起動等を行う。
【００８３】
キャリブレーションの終了条件を満たすと判定された場合、センサ端末１１０は、位置検出モードに移行した後、ステップＳ１０１に戻る。
【００８４】
図６は、実施例１の制御装置１００が実行する処理の一例を説明するフローチャートである。
【００８５】
制御装置１００は、通常、センサデータに基づいて検出対象４００の位置を推定する位置検出モードで稼働しているものとする。
【００８６】
制御装置１００は、センサデータを受信し、当該センサデータを用いて検出対象４００の位置を推定する（ステップＳ２０１）。制御装置１００は、受信したセンサデータ、及び検出対象４００の位置に関する情報を記憶装置１０２に格納する。
【００８７】
制御装置１００は、キャリブレーションの実行イベントを検出したか否かを判定する（ステップＳ２０２）。
【００８８】
キャリブレーションの実行イベントは、センサ端末１１０が検出してもよいし、制御装置１００自身が検出してもよい。なお、センサ端末１１０がキャリブレーションの実行イベントを検出した場合、制御装置１００は、当該センサ端末１１０から送信されたキャリブレーションの実行要求を受信する。この場合、制御装置１００は、キャリブレーションの実行要求の受信を、キャリブレーションの実行イベントとして検出する。
【００８９】
キャリブレーションの実行イベントを検出していない場合、制御装置１００は、ステップＳ２０１に戻り、位置検出モードでの稼働を継続する。
【００９０】
キャリブレーションの実行イベントを検出した場合、制御装置１００は、キャリブレーションモードに移行し、キャリブレーション実行指示を各センサ端末１１０に送信する（ステップＳ２０３）。なお、キャリブレーション実行指示には、キャリブレーション信号のパターン及び発生タイミング等を指定する情報が含まれてもよい。
【００９１】
制御装置１００は、センサ端末１１０からセンサデータを受信し、当該センサデータを用いてキャリブレーション処理を実行する（ステップＳ２０４）。これによって、センサ端末１１０の相対位置及び時刻の誤差が算出され、また、時刻の誤差を調整するための補正値が算出される。キャリブレーション処理の詳細は図６を用いて説明する。
【００９２】
制御装置１００は、各センサ端末１１０に補正値を送信する（ステップＳ２０５）。なお、補正値を送信する必要がない場合、ステップＳ２０５の処理は省略されてもよい。また、制御装置１００は、補正値とともに、センサ端末１１０の相対位置に関する情報を送信してもよい。
【００９３】
制御装置１００は、キャリブレーションの終了条件を満たすか否かを判定する（ステップＳ２０６）。
【００９４】
例えば、制御装置１００は、全てのセンサ端末１１０について、前回算出した補正値と今回算出した補正値とが同一である場合、キャリブレーションの終了条件を満たすと判定する。
【００９５】
キャリブレーションの終了条件を満たさないと判定された場合、制御装置１００は、ステップＳ２０４に戻り、同様の処理を実行する。なお、制御装置１００は、キャリブレーション処理の実行回数が閾値より大きい場合、システム異常と判定し、各センサ端末１１０にシステム異常を通知する信号を送信してもよい。
【００９６】
キャリブレーションの終了条件を満たすと判定された場合、制御装置１００は、位置検出モードに移行した後、ステップＳ２０１に戻る。
【００９７】
図７は、実施例１のキャリブレーション処理の一例を説明する図である。ここでは、説明の簡単のために、センサ端末１１０は２次元空間に配置されるものとする。
【００９８】
（処理１）制御装置１００は、三つのセンサ端末１１０の組を生成する。なお、四つ以上のセンサ端末１１０の組を生成してもよい。
【００９９】
（処理２）制御装置１００は、一つの組を選択し、当該組に含まれるセンサ端末１１０から、二つのセンサ端末１１０のペアを生成する。
【０１００】
（処理３）制御装置１００は、一つペアを選択し、一つのセンサ端末１１０がキャリブレーション信号を出力し、もう一つのセンサ端末１１０が当該キャリブレーション信号を検出した後にキャリブレーション信号を出力するように制御する。制御装置１００は、キャリブレーション信号の計測結果を含むセンサデータを受信した場合、二つのセンサ端末１１０間の距離及び時刻差を算出する。なお、制御装置１００は、全てのペアについて同様の処理を実行する。
【０１０１】
（処理４）制御装置１００は、一つの組を構成する三つのセンサ端末１１０の各々の相対距離に基づいて、三つのセンサ端末１１０の相対位置を算出する。
【０１０２】
なお、パターンが異なるキャリブレーション信号を用いることによって、同時に複数のキャリブレーション信号を出力できる。これによって、キャリブレーション処理に要する処理時間を短縮することができる。また、パターンが異なるキャリブレーション信号の計測結果に基づいて、センサ端末１１０間の距離及び時刻差が算出されてもよい。
【０１０３】
ここで、二つのセンサ端末１１０の相対距離及び時刻差の算出方法の具体例を説明する。制御装置１００は、図７に示すように、センサ端末１１０−１がキャリブレーション信号を出力し、センサ端末１１０−２がキャリブレーション信号を検出した後にキャリブレーション信号を出力するように制御しているものとする。
【０１０４】
ここで、センサ端末１１０間のキャリブレーション信号の伝播時間をｔとし、センサ端末１１０−１、１１０−２間の距離をＸ１２とする。センサ端末１１０−１がキャリブレーション信号を出力し、センサ端末１１０−２から出力されたキャリブレーション信号を検出するまでの時間をｔ１２とする。センサ端末１１０−２がセンサ端末１１０−１から出力されたキャリブレーション信号を検出してからキャリブレーション信号を出力するまでの時間をｔ２１とする。また、センサ端末１１０−１、１１０−２の時刻差をｄｔとする。
【０１０５】
このとき、距離Ｘ１２は、式（８）で与えられる。また、伝播時間ｔは式（９）で与えられる。
【０１０６】
【数８】
2020091183.tif 000010
【０１０７】
【数９】
2020091183.tif 000011
【０１０８】
制御装置１００は、センサ端末１１０−１から受信したセンサデータから、キャリブレーション信号の出力時刻及びキャリブレーション信号の検出時刻を取得することによってｔ１２を算出できる。また、ｔ２１は、演算装置２００の動作タイミングで決まるため一定値とみなせる。したがって、制御装置１００はｔ１２を算出し、ｔ１２及びｔ２１を式（９）に代入することによって伝播時間ｔを算出する。さらに、制御装置１００は、伝播時間ｔを式（８）に代入することによって、センサ端末１１０−１、１１０−２間の距離Ｘ１２を算出する。
【０１０９】
さらに、制御装置１００は、センサ端末１１０間の距離に基づいて、センサ端末１１０の相対位置を算出する。また、制御装置１００は、伝播時間ｔからセンサ端末１１０−１、１１０−２の時刻差ｄｔを算出する。制御装置１００は時刻差ｄｔを補正値としてセンサ端末１１０−１及びセンサ端末１１０−２に送信する。
【０１１０】
例えば、センサ端末１１０−１がキャリブレーション信号を出力した時刻をＴ０とし、センサ端末１１０−２がセンサ端末１１０−１から出力されたキャリブレーション信号を検出した時刻をＴ２とする。センサ端末１１０−１、１１０−２の時刻が同期している場合、Ｔ２は式（１０）で算出される。しかし、センサ端末１１０−１、１１０−２の時刻が同期していない場合、時刻差ｄｔは式（１１）で与えられる。
【０１１１】
【数１０】
2020091183.tif 000012
【０１１２】
【数１１】
2020091183.tif 000013
【０１１３】
なお、図７を用いて説明したキャリブレーション処理は一例であって、これに限定されない。
【０１１４】
なお、空間におけるセンサ端末１１０の絶対位置及び絶対時刻に対する誤差を把握するために、空間内の特定の位置にキャリブレーション信号を発生させる信号源を設けてもよい。信号源は、例えば、時報又はチャイムを発するスピーカが考えられる。この場合、制御装置１００は、信号源から発生したキャリブレーション信号を計測したセンサ端末１１０からセンサデータを取得し、信号源とセンサ端末１１０との間の距離、及び絶対時刻とセンサ端末１１０のシステム時刻との誤差を算出する。
【０１１５】
なお、制御装置１００は、地震又は建物の振動を検出した場合、当該振動をキャリブレーション信号として用いてもよい。
【０１１６】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０１１７】
以上で説明したように、センサシステム１０は、任意のタイミングで発生するキャリブレーションの実行イベントを検出した場合、センサ端末１１０の相対位置のキャリブレーションを実行することができる。キャリブレーションの実行時では、センサ端末１１０は、キャリブレーション信号の出力及び受信を行うだけでよいため、処理に要する時間及び計算量が少ない。
【０１１８】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０１１９】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｐｙｔｈｏｎ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０１２０】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０１２１】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０１２２】
１０  センサシステム
１００  制御装置
１０１、２００  演算装置
１０２  記憶装置
１０３、２０３  通信装置
１１０  センサ端末
１２０  ユーザ端末
２０１  センサ
２０２  信号発生装置
２０４  接続装置
２１０、２１１  治具
【図１】
2020091183.tif 000014
【図２Ａ】
2020091183.tif 000015
【図２Ｂ】
2020091183.tif 000016
【図３】
2020091183.tif 000017
【図４Ａ】
2020091183.tif 000018
【図４Ｂ】
2020091183.tif 000019
【図５】
2020091183.tif 000020
【図６】
2020091183.tif 000021
【図７】
2020091183.tif 000022