(57)【要約】  位置推定装置（１００）は、親機（１０２）の各々について、通信結果に基づく対象センサーノード（１０１）から親機（１０２）までのホップ数を取得する。位置推定装置（１００）は、親機（１０２）の各々について、取得したホップ数と、記憶装置（１１０）内の推定距離の分布と、によって、親機（１０２）との間の通信が取得したホップ数となる推定距離の分布を算出する。位置推定装置（１００）は、親機（１０２）の各々について、推定距離の分布と、所定領域（Ａ）の範囲を表す情報と、親機（１０２）の位置情報とによって、所定領域（Ａ）内における推定位置の分布を算出する。位置推定装置（１００）は、親機（１０２）の各々についての推定位置の分布の和に基づいて、所定領域（Ａ）内の各位置について対象センサーノード（１０１）の位置である確からしさを示す指標を算出し、対象センサーノード（１０１）の推定位置を導出する。
2014013578.tif 000002
【特許請求の範囲】
【請求項１】
各々が所定の位置に設けられた複数の第１通信装置の各々について、所定領域内に位置する複数の第２通信装置の各々と前記第１通信装置との間で直接または前記複数の第２通信装置のうちの他の第２通信装置を介して無線通信を行う経路内の各ホップの推定距離の分布を記憶する記憶装置にアクセス可能なコンピュータが、
前記複数の第１通信装置の各々について、前記第１通信装置と前記複数の第２通信装置のうちの位置特定の対象装置との通信結果に基づく、前記対象装置からのデータが前記第１通信装置に到達するまでのホップ数を取得し、
前記複数の第１通信装置の各々について、取得した前記ホップ数と、前記記憶装置に記憶された前記第１通信装置についての前記各ホップの推定距離の分布と、によって、前記複数の第２通信装置と前記第１通信装置との間の通信にかかるホップ数が取得した前記ホップ数となる推定距離の分布を算出し、
前記複数の第１通信装置の各々について、算出した前記推定距離の分布と、前記所定領域の範囲を表す情報と、前記第１通信装置の位置情報とによって、前記所定領域内における推定位置の分布を算出し、
前記複数の第１通信装置の各々についての算出した前記推定位置の分布の和に基づいて、前記所定領域内の各位置について前記対象装置の位置である確からしさを示す指標を算出し、
算出した前記所定領域内の各位置についての前記確からしさを示す指標から前記対象装置の推定位置を導出する、
処理を実行することを特徴とする位置推定方法。
【請求項２】
前記記憶装置は、前記第１通信装置からの各ホップ数について前記各ホップの推定距離の分布を記憶し、
前記複数の第２通信装置と前記第１通信装置との間の通信にかかるホップ数が取得した前記ホップ数となる推定距離の分布を算出する処理は、
前記複数の第１通信装置の各々について、取得した前記ホップ数以下のホップ数の各々に対応する前記各ホップの推定距離の分布の和に基づいて、前記複数の第２通信装置と前記第１通信装置との間の通信にかかるホップ数が取得した前記ホップ数となる推定距離の分布を算出することを特徴とする請求項１に記載の位置推定方法。
【請求項３】
前記所定領域内の各位置について前記対象装置の位置である確からしさを示す指標を算出する処理は、
算出した前記所定領域内の各位置についての前記確からしさを示す指標から、前記確からしさが最大である推定位置を導出することを特徴とする請求項１または２に記載の位置推定方法。
【請求項４】
前記所定領域内の各位置について前記対象装置の位置である確からしさを示す指標を算出する処理は、
前記対象装置について算出した前記所定領域内の各位置についての前記確からしさを示す指標と、前記対象装置（以下、「第１対象装置」）と１ホップで通信可能な第２対象装置について算出した前記所定領域内の各位置についての前記確からしさを示す指標と、のそれぞれから、前記第１対象装置の推定位置と前記第２対象装置の推定位置との距離が閾値未満となる前記第１対象装置の推定位置と前記第２対象装置の推定位置とを導出することを特徴とする請求項１または２に記載の位置推定方法。
【請求項５】
前記所定領域内の各位置について前記対象装置の位置である確からしさを示す指標を算出する処理は、
前記閾値未満となる前記第１対象装置の推定位置と前記第２対象装置の推定位置との中で、それぞれの前記確からしさを表す指標が最大である推定位置を導出することを特徴とする請求項４に記載の位置推定方法。
【請求項６】
前記所定領域内の各位置について前記対象装置の位置である確からしさを示す指標を算出する処理は、
前記複数の第２通信装置のうちの少なくとも一部の第２通信装置の各々について前記所定領域内の各位置についての前記確からしさを示す指標から、前記一部の第２通信装置のうち１ホップで通信可能である２つの第２通信装置の推定位置間の距離が閾値未満となる前記一部の第２通信装置の各々についての推定位置を導出することを特徴とする請求項１または２に記載の位置推定方法。
【請求項７】
前記所定領域内の各位置について前記対象装置の位置である確からしさを示す指標を算出する処理は、
前記推定位置間の距離が前記閾値未満となる推定位置の中で前記確からしさが最大である前記一部の第２通信装置の各々についての推定位置を導出することを特徴とする請求項６に記載の位置推定方法。
【請求項８】
前記コンピュータまたは前記コンピュータと異なるコンピュータが、
前記所定領域を示す範囲に含まれる前記複数の第２通信装置の各々の位置を示す位置情報をランダムに複数回発生させ、
前記第２通信装置の位置情報が発生する都度、前記複数の第１通信装置の各々について、１ホップで通信可能な距離に基づいて、前記複数の第２通信装置の各々の位置情報から選択された位置情報が示す位置から前記第１通信装置の位置までの通信経路を探索し、
前記複数の第１通信装置の各々について、探索した通信経路上にある第２通信装置の位置情報と前記第１通信装置の位置情報に基づいて、前記探索された通信経路の各ホップの距離を検出し、
前記複数の第１通信装置の各々について、検出した各距離の検出頻度を導出する、
処理を実行し、
前記記憶装置に記憶された推定距離の分布は、導出した各距離の検出頻度を表す分布であることを特徴とする請求項１に記載の位置推定方法。
【請求項９】
前記コンピュータまたは前記コンピュータと異なるコンピュータが、
前記所定領域を表す情報内の前記複数の第２通信装置の各々の位置を示す位置情報をランダムに複数回発生させ、
前記第２通信装置の位置情報が発生する都度、前記複数の第１通信装置の各々について、１ホップで通信可能な距離に基づいて、前記複数の第２通信装置の各々の位置情報から選択された位置情報が示す位置から前記第１通信装置の位置までの通信経路を探索し、
前記複数の第１通信装置の各々について、探索した通信経路上にある第２通信装置の位置情報と前記第１通信装置の位置情報に基づいて、前記探索した通信経路の各ホップの距離を検出し、
前記複数の第１通信装置の各々について、前記探索した通信経路のホップ数以下のホップ数の各々に対応して検出した各距離の検出頻度を導出する、
処理を実行し、
前記記憶装置に記憶された推定距離の分布は、導出した各距離の検出頻度を表す分布であることを特徴とする請求項２に記載の位置推定方法。
【請求項１０】
各々が所定の位置に設けられた複数の第１通信装置と、
所定領域内に位置し、前記第１通信装置との間で直接または他の通信装置を介して無線通信を行う複数の第２通信装置と、
前記複数の第１通信装置から受信した情報を記憶する記憶装置と、前記記憶装置に記憶した情報を処理する処理装置とを有する第３通信装置と、
を有し、前記処理装置は、
前記複数の第１通信装置の各々について、前記複数の第２通信装置の各々と前記第１通信装置との間で直接または前記複数の第２通信装置のうちの他の第２通信装置を介して無線通信を行う経路内の各ホップの推定距離の分布を前記記憶装置に記憶させ、
前記複数の第１通信装置の各々について、前記第１通信装置と前記複数の第２通信装置のうちの位置特定の対象装置との通信結果に基づく、前記対象装置からのデータが前記第１通信装置に到達するまでのホップ数を取得し、
前記複数の第１通信装置の各々について、取得した前記ホップ数と、前記記憶装置に記憶された前記第１通信装置についての前記各ホップの推定距離の分布と、によって、前記複数の第２通信装置と前記第１通信装置との間の通信にかかるホップ数が前記ホップ数となる推定距離の分布を算出し、
前記複数の第１通信装置の各々について算出した前記推定距離の分布と、前記所定領域の範囲を表す情報と、前記第１通信装置の位置情報とによって、前記所定領域内における推定位置の分布を算出し、
前記複数の第１通信装置の各々について算出した前記推定位置の分布の和に基づいて、前記所定領域内の各位置について前記対象装置の位置である確からしさを示す指標を算出し、
算出した前記所定領域内の各位置についての前記確からしさを示す指標から前記対象装置の推定位置を導出する、
ことを特徴とするシステム。
【請求項１１】
各々が所定の位置に設けられた複数の第１通信装置から受信した情報を記憶する記憶装置と、
前記記憶装置に記憶した情報を処理する処理装置と、
を有し、
前記複数の第１通信装置の各々について、所定領域内に位置する複数の第２通信装置の各々と前記第１通信装置との間で直接または前記複数の第２通信装置のうちの他の第２通信装置を介して無線通信を行う経路内の各ホップの推定距離の分布を前記記憶装置に記憶させ、
前記処理装置は、
前記複数の第１通信装置の各々について、前記第１通信装置と前記複数の第２通信装置のうちの位置特定の対象装置との通信結果に基づく、前記対象装置からのデータが前記第１通信装置に到達するまでのホップ数を取得し、
前記複数の第１通信装置の各々について、取得した前記ホップ数と、前記記憶装置に記憶された前記第１通信装置についての前記各ホップの推定距離の分布と、によって、前記複数の第２通信装置と前記第１通信装置との間の通信にかかるホップ数が取得した前記ホップ数となる推定距離の分布を算出し、
前記複数の第１通信装置の各々について、算出した前記推定距離の分布と、前記所定領域の範囲を表す情報と、前記第１通信装置の位置情報とによって、前記所定領域内における推定位置の分布を算出し、
前記複数の第１通信装置の各々についての算出した前記推定位置の分布の和に基づいて、前記所定領域内の各位置について前記対象装置の位置である確からしさを示す指標を算出し、
算出した前記所定領域内の各位置についての前記確からしさを示す指標から前記対象装置の推定位置を導出する、
ことを特徴とする位置推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置推定方法、システム、および位置推定装置に関する。
【背景技術】
【０００２】
従来、複数の通信装置の位置が不明な場合に、位置特定の対象の通信装置から、位置が既知の通信装置までの通信経路が探索されることにより、対象の通信装置の位置が特定される技術が知られている。たとえば、探索された通信経路内の隣り合うノード間の距離が電波の強度や電波の遅延により特定されることにより、ノードの位置が推定される（たとえば、下記特許文献１参照。）。または、たとえば、位置が既知の複数のノードまでの通信経路が特定され、各通信経路のホップ数と１ホップで通信可能な距離と、位置が既知の複数のノードの位置情報と、によってノードの概略の位置が推定される（たとえば、下記特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２２１５４１号公報
【特許文献２】特開２００６−２２９８４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、通信環境や他の通信装置の配置によっては対象の通信装置の位置を精度よく推定することができない場合がある。【０００５】
１つの側面では、本発明は、通信装置の位置の推定精度を向上させることができる位置推定方法、システム、および位置推定装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一側面によれば、各々が所定の位置に設けられた複数の第１通信装置の各々について、所定領域内に位置する複数の第２通信装置の各々と前記第１通信装置との間で直接または前記複数の第２通信装置のうちの他の第２通信装置を介して無線通信を行う経路内の各ホップの推定距離の分布を記憶する記憶装置にアクセス可能であって、前記複数の第１通信装置の各々について、前記第１通信装置と前記複数の第２通信装置のうちの位置特定の対象装置との通信結果に基づく、前記対象装置からのデータが前記第１通信装置に到達するまでのホップ数を取得し、前記複数の第１通信装置の各々について、取得した前記ホップ数と、前記記憶装置に記憶された前記第１通信装置についての前記各ホップの推定距離の分布と、によって、前記複数の第２通信装置と前記第１通信装置との間の通信にかかるホップ数が取得した前記ホップ数となる推定距離の分布を算出し、前記複数の第１通信装置の各々について、算出した前記推定距離の分布と、前記所定領域の範囲を表す情報と、前記第１通信装置の位置情報とによって、前記所定領域内における推定位置の分布を算出し、前記複数の第１通信装置の各々についての算出した前記推定位置の分布の和に基づいて、前記所定領域内の各位置について前記対象装置の位置である確からしさを示す指標を算出し、算出した前記所定領域内の各位置についての前記確からしさを示す指標から前記対象装置の推定位置を導出する位置推定方法、システム、および位置推定装置が提案される。
【発明の効果】
【０００７】
本発明の一態様によれば、通信装置の位置の推定精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明の一動作例を示す説明図である。
【図２】図２は、センサーネットワークシステムの一例を示す説明図である。
【図３】図３は、センサーノードの内構成例を示す説明図である。
【図４】図４は、センサーノードのＲＯＭと不揮発メモリの記憶例を示す説明図である。
【図５】図５は、センサーノードの送信データの構造例を示す説明図である。
【図６】図６は、センサーノードが行うセンシング時の処理手順例を示すフローチャートである。
【図７】図７は、センサーノードが行うデータ受信時の処理手順例を示すフローチャートである。
【図８】図８は、親機の内部構成例を示す説明図である。
【図９】図９は、親機のＲＯＭと不揮発メモリの記憶例を示す説明図である。
【図１０】図１０は、親機の送信データの構造例を示す説明図である。
【図１１】図１１は、親機が行う処理手順例を示すフローチャートである。
【図１２】図１２は、位置推定装置のハードウェア構成例を示すブロック図である。
【図１３】図１３は、位置推定装置の機能的構成例を示すブロック図である。
【図１４】図１４は、各ホップで距離が異なる例を示す説明図である。
【図１５】図１５は、探索例（その１）を示す説明図である。
【図１６】図１６は、探索例（その２）を示す説明図である。
【図１７】図１７は、探索例（その３）を示す説明図である。
【図１８】図１８は、探索された通信経路を示す説明図である。
【図１９】図１９は、距離の算出例を示す説明図である。
【図２０】図２０は、記憶装置に記憶された推定距離の分布例を示す説明図である。
【図２１】図２１は、位置推定装置が行う分布の作成処理手順の一例を示すフローチャート（その１）である。
【図２２】図２２は、位置推定装置が行う分布の作成処理手順の一例を示すフローチャート（その２）である。
【図２３】図２３は、ホップ数蓄積テーブル例を示す説明図である。
【図２４】図２４は、１ホップ到達センサーテーブル例を示す説明図である。
【図２５】図２５は、親機との間の通信が到達最小ホップ数となる推定位置の分布を示す説明図である。
【図２６】図２６は、ｒとθの範囲を示す説明図である。
【図２７】図２７は、ｆ（θ）の比例関係を示す説明図である。
【図２８】図２８は、推定位置の導出例１を示す説明図である。
【図２９】図２９は、推定位置の導出例２を示す説明図である。
【図３０】図３０は、位置推定装置による位置推定処理手順の例１を示すフローチャートである。
【図３１】図３１は、位置推定装置による位置推定処理手順の例２を示すフローチャート（その１）である。
【図３２】図３２は、位置推定装置による位置推定処理手順の例２を示すフローチャート（その２）である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、本発明にかかる位置推定方法、システム、および位置推定装置の実施の形態を詳細に説明する。本実施の形態で説明するセンサーネットワークでは、多数のセンサーを所定領域に設置して、各センサーがそれぞれ検出した検出情報を無線送信し、所定領域内のセンサーと無線通信可能な親機により検出情報を収集する。所定領域は、たとえば、コンクリート、土、水、空気などの物質で満たされた領域である。または、所定領域は、宇宙空間などの真空の領域であってもよい。ここで、センサーとセンサーが検知したデータを処理可能なプロセッサを搭載した装置をセンサーノードと称する。たとえば、センサーノードは、所定領域内に数百個〜数万個配置されることとする。
【００１０】
図１は、本発明の一動作例を示す説明図である。位置推定装置１００は、記憶装置１１０にアクセス可能であり、所定領域Ａ内に位置する複数の第２通信装置である複数のセンサーノード１０１−１〜１０１−ｎの位置を推定する機能を有するコンピュータである。ここで、各センサーノード１０１は、たとえば、所定領域Ａにばら撒かれたり、所定領域Ａを満たす物質に混ぜ込まれたりすることによって所定領域Ａに配置される。このため、各センサーノード１０１の位置は未知である。
【００１１】
複数の第１通信装置である複数の親機１０２−１〜１０２−ｍ（図１ではｍ＝３である。）は、所定の位置に設けられている。ここでの所定の位置は、たとえば、センサーネットワークの設計者や利用者によって決定された位置である。たとえば、所定の位置は、所定領域Ａ内に位置であってもよいし、所定領域Ａ内を複数の親機１０２が所定領域Ａを囲うように配置されていてもよい。さらに、たとえば、複数の親機１０２が同一位置にならないように設けられる。
【００１２】
本実施の形態で挙げる無線通信は、センサーノード１０１が相互に通信していくマルチホップ通信である。具体的には、各センサーノード１０１は、直接親機１０２とデータの送信および受信を行う。または、センサーノード１０１と親機１０２の位置とが無線通信ができない程度に離れて設置されている場合、各センサーノード１０１は、隣接する他のデータ処理装置に到達可能な無線電波を送信し、当該他のデータ処理装置との間でデータをリレー転送する。このため、各センサーノード１０１が有する無線通信回路は、隣接するセンサーノード１０１との間で通信できる程度の小さな無線出力を有していればよく、センサーノード１０１を小型省電力化できる。
【００１３】
記憶装置１１０は、親機１０２の各々について、センサーノード１０１の各々と親機１０２との間で無線通信を行う経路内の各ホップの推定距離の分布を記憶する。たとえば、分布は、横軸が１ホップでデータが親機に近づく距離であり、縦軸が各ホップの推定距離がシミュレーションによって発生する確率や頻度である。シミュレーションについての詳細な説明は、後述する。図１の例では、親機１０２−１についての推定距離の分布はｄｂ１であり、親機１０２−２についての推定距離の分布はｄｂ２であり、親機１０２−３についての推定距離の分布はｄｂ３である。
【００１４】
位置推定装置１００は、親機１０２の各々について、複数のセンサーノード１０１のうちの位置特定の対象センサーノード１０１からのデータが親機１０２に到達するまでのホップ数を取得する。ホップ数は、リレー転送させた際の転送数である。
【００１５】
位置推定装置１００は、親機１０２の各々について、取得したホップ数と、記憶装置１１０に記憶された親機１０２についての推定距離の分布と、によって、親機１０２との間の通信が取得したホップ数となる推定距離の分布を算出する。
【００１６】
位置推定装置１００は、親機１０２の各々について、算出した推定距離の分布と、所定領域Ａの範囲を表す情報と、親機１０２の位置情報とによって、所定領域Ａ内における推定位置の分布を算出する。図１の中央に親機１０２の各々について、所定領域Ａ内における推定位置の分布を示している。親機１０２−１についての所定領域Ａ内における推定位置の分布はｐｄｂ１であり、親機１０２−２についての所定領域Ａ内における推定位置の分布はｐｄｂ２であり、親機１０２−３についての所定領域Ａ内における推定位置の分布はｐｄｂ３である。色が濃い箇所ほど確率密度の大きさが大きく、色が淡い箇所ほど確率密度の大きさが小さい。
【００１７】
位置推定装置１００は、複数の親機１０２の各々についての算出した推定位置の分布の和に基づいて、所定領域Ａ内の各位置について対象センサーノード１０１の位置である確からしさを示す指標を算出する。図１の右側では、各位置について対象センサーノード１０１の位置である確からしさを示す指標を分布ｐｄｂ１０として表している。図１の右側に所定領域Ａ内の各位置について対象センサーノード１０１の位置である確からしさを示す指標を示している。色が濃い箇所ほど確からしさが大きい位置であり、色が薄い箇所ほど確からしさが小さい位置である。たとえば、図１の中央において３つの分布の色が濃い箇所が重なっている箇所が、図１の右側において色が濃い箇所になっている。
【００１８】
位置推定装置１００は、所定領域Ａ内の各位置についての確からしさを示す指標から対象センサーノード１０１の推定位置を導出する。各位置についての確からしさを示す指標のうちの指標が最大となる位置を対象センサーノード１０１の推定位置としてもよい。
【００１９】
これにより、図１の例によれば、センサーノードの位置の推定精度を向上させることができる。
【００２０】
（センサーネットワークシステム）
図２は、センサーネットワークシステムの一例を示す説明図である。センサーネットワークシステム２００は、複数の親機１０２と、センサーノード１０１と、位置推定装置１００と、利用者端末２０１と、を含む。複数の親機１０２と、位置推定装置１００と、利用者端末２０１とは、ネットワークＮＥＴを介して接続される。
【００２１】
（センサーノード１０１の内構成例）
図３は、センサーノードの内構成例を示す説明図である。第２通信装置であるセンサーノード１０１は、センサー３０１と、無線通信回路３０３と、マイクロプロセッサ（ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ））３０５と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０６と、を有している。センサーノード１０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０７と、不揮発メモリ３０８と、アンテナ３１０と、ハーベスタ３１１と、バッテリ３１２と、を有している。
【００２２】
センサー３０１は、設置箇所における所定の変位量を検出する。センサー３０１は、たとえば、設置箇所の圧力を検出する圧電素子や、光を検出する光電素子等を用いることができる。アンテナ３１０は、親機１０２と無線通信する電波を送受信する。無線通信回路（ＲＦ）３０３は、受信した無線電波を受信信号として出力し、送信信号を無線電波としてアンテナ３１０を介して送信する。
【００２３】
マイクロプロセッサ（ＭＣＵ３０５）は、センサー３０１が検出したデータを処理する。ＲＡＭ３０６は、ＭＣＵ３０５における処理の一時データを格納する。ＲＯＭ３０７は、ＭＣＵ３０５が実行する処理プログラム等を格納する。不揮発メモリ３０８は、電力供給が途絶えたとき等においても書き込まれた所定のデータを保持する。また、センサー３０１〜不揮発メモリ３０８は、バス３０９を介して接続されている。
【００２４】
また、センサーノード１０１は、ハーベスタ３１１と、バッテリ３１２を有している。ハーベスタ３１１は、センサーノード１０１の設置箇所における外部環境、たとえば、光、振動、温度、無線電波（受信電波）等のエネルギー変化に基づき発電を行う。バッテリ３１２は、ハーベスタ３１１により発電された電力を蓄え、センサーノード１０１の各部の駆動電源として供給する。すなわち、センサーノード１０１は、二次電池や外部電源等が不要であり、動作に必要な電力を自装置の内部で生成する。
【００２５】
図４は、センサーノードのＲＯＭと不揮発メモリの記憶例を示す説明図である。ＲＯＭ３０７には、上述した処理プログラムの他に、たとえば、センサーノード１０１の識別情報である自センサーＩＤが記憶されている。
【００２６】
不揮発メモリ３０８には、たとえば、自センサーセンシング回数と、受信済データ情報テーブルと、が記憶されている。自センサーセンシング回数とは、センサーが検知したデータが何回目のセンシングによって得られたデータであるかを示す情報である。これにより、センサーが検知したデータが識別される。
【００２７】
受信済データ情報テーブルは、センサーノード１０１が他のセンサーノード１０１から受信したデータに関する情報である。たとえば、受信済データ情報テーブルは、センサーＩＤ、センシング回数のフィールドを有している。センサーＩＤのフィールドには、センサーノード１０１が受信したデータがいずれのセンサーノード１０１によって検知されたかを示す識別情報が登録される。センシング回数のフィールドには、センサーノード１０１が受信したデータのセンシング回数が登録される。各フィールドに情報が設定されることにより、レコードとして記憶される。
【００２８】
図５は、センサーノードの送信データの構造例を示す説明図である。センサーノード１０１の送信データは、たとえば、経由センサー情報と、検出センサー情報と、センシングデータと、を有している。経由センサー情報とは、いずれのセンサーノード１０１を経由してデータが親機１０２まで転送されたかを判定するための情報である。検出センサー情報は、センシングデータを識別するための情報である。検出センサー情報は、いずれのセンサーノード１０１によって検出されたデータであるかを示すセンサーＩＤと、センシング回数と、を有している。
【００２９】
図６は、センサーノードが行うセンシング時の処理手順例を示すフローチャートである。センサーノード１０１内のセンサーがセンシングを行うと、センサーノード１０１は、自センサーセンシング回数を１インクリメントし（ステップＳ６０１）、自センサーセンシング回数と自センサーＩＤを併せて不揮発メモリ３０８の受信済データ情報テーブルに記憶する（ステップＳ６０２）。センサーノード１０１は、自センサーセンシング回数と自センサーＩＤを併せて検出センサー情報として送信し（ステップＳ６０３）、一連の処理を終了する。
【００３０】
図７は、センサーノードが行うデータ受信時の処理手順例を示すフローチャートである。センサーノード１０１は、受信したデータの検出センサー情報が不揮発メモリ３０８内の検出センサー情報テーブルにあるか否かを判断する（ステップＳ７０１）。受信されたデータの検出センサー情報が不揮発メモリ３０８内の検出センサー情報テーブルにない場合（ステップＳ７０１：Ｎｏ）、センサーノード１０１は、受信済データ情報テーブルに検出センサー情報を記録する（ステップＳ７０２）。
【００３１】
センサーノード１０１は、受信したデータの経由センサー情報領域に自センサーノード１０１のセンサーＩＤを付与して転送し（ステップＳ７０３）、一連の処理を終了する。ステップＳ７０１において、受信されたデータの検出センサー情報が不揮発メモリ内の検出センサー情報テーブルにある場合（ステップＳ７０１：Ｙｅｓ）、一連の処理を終了する。これにより、同一センサーが同じデータを繰り返し送信することがなくなる。
【００３２】
（親機１０２の内部構成例）
図８は、親機の内部構成例を示す説明図である。第１通信装置である親機１０２は、センサーノード１０１と異なり、外部電源に基づき動作する。親機１０２は、センサーノード１０１のプロセッサ（ＭＣＵ３０５）よりも高性能なプロセッサ（ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ））８０１と、大容量のＲＯＭ８０２およびＲＡＭ８０３と、を有している。親機１０２は、不揮発メモリ８０９と、インターフェース（Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ））回路８０４と、これらＣＰＵ８０１〜Ｉ／Ｏ回路８０４および不揮発メモリ８０９を接続するバス８０５と、を有している。
【００３３】
また、Ｉ／Ｏ回路８０４には、センサーノード１０１と無線通信するためのアンテナ８０６および無線通信回路（ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ））８０７と、ネットワークＩ／Ｆ８０８が接続されている。これにより、親機１０２は、ネットワークＩ／Ｆ８０８を介して、ＴＣＰ／ＩＰのプロトコル処理等により、インターネット等のネットワークＮＥＴを介して位置推定装置１００や利用者端末２０１、等の外部装置と通信を行うことができる。
【００３４】
図９は、親機のＲＯＭと不揮発メモリの記憶例を示す説明図である。ＲＯＭ８０２には、親機１０２が行う処理に関する処理プログラムの他に、たとえば、親機１０２の識別情報である親機ＩＤが記憶されている。
【００３５】
不揮発メモリ８０９には、たとえば、受信済データ情報テーブルが記憶されている。受信済データ情報テーブルは、センサーノード１０１から受信したデータに関する情報である。たとえば、受信済データ情報テーブルは、センサーＩＤ、センシング回数のフィールドを有している。センサーＩＤのフィールドには、センサーノード１０１が受信したデータがいずれのセンサーノード１０１によって検知されたかを示す識別情報が登録される。センシング回数のフィールドには、センサーノード１０１が受信したデータのセンシング回数が登録される。各フィールドに情報が設定されることにより、レコードとして記憶される。
【００３６】
図１０は、親機の送信データの構造例を示す説明図である。親機１０２の送信データは、たとえば、経由センサー情報と、検出センサー情報と、センシングデータと、を有している。経由センサー情報とは、いずれのセンサーノード１０１を経由してデータが親機１０２まで転送されたかを判定するための情報である。検出センサー情報は、センシングデータを識別するための情報である。検出センサー情報は、いずれのセンサーノード１０１によって検出されたデータであるかを示すセンサーＩＤと、センシング回数と、を有している。
【００３７】
図１１は、親機が行う処理手順例を示すフローチャートである。センサーノード１０１は、受信したデータの検出センサー情報が不揮発メモリ８０９内の検出センサー情報テーブルにあるか否かを判断する（ステップＳ１１０１）。受信されたデータの検出センサー情報が不揮発メモリ８０９内の検出センサー情報テーブルにない場合（ステップＳ１１０１：Ｎｏ）、センサーノード１０１は、受信済データ情報テーブルに検出センサー情報を記録する（ステップＳ１１０２）。
【００３８】
センサーノード１０１は、受信したデータの経由センサー情報領域に自親機ＩＤを付与して位置推定装置１００に転送し（ステップＳ１１０３）、一連の処理を終了する。ステップＳ１１０１において、受信したデータの検出センサー情報が不揮発メモリ８０９内の検出センサー情報テーブルにある場合（ステップＳ１１０１：Ｙｅｓ）、一連の処理を終了する。
【００３９】
（位置推定装置１００のハードウェア構成例）
図１２は、位置推定装置のハードウェア構成例を示すブロック図である。図１２において、位置推定装置１００は、ＣＰＵ１２０１と、ＲＯＭ１２０２と、ＲＡＭ１２０３と、磁気ディスクドライブ１２０４と、磁気ディスク１２０５と、光ディスクドライブ１２０６と、光ディスク１２０７と、を有している。位置推定装置１００は、ネットワークＩ／Ｆ１２０８と、入力装置１２０９と、出力装置１２１０と、を有している。また、各部はバス１２００によってそれぞれ接続されている。
【００４０】
ここで、ＣＰＵ１２０１は、位置推定装置１００の全体の制御を司る。ＲＯＭ１２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１２０３は、ＣＰＵ１２０１のワークエリアとして使用される。磁気ディスクドライブ１２０４は、ＣＰＵ１２０１の制御にしたがって磁気ディスク１２０５に対するデータのリード／ライトを制御する。磁気ディスク１２０５は、磁気ディスクドライブ１２０４の制御で書き込まれたデータを記憶する。
【００４１】
光ディスクドライブ１２０６は、ＣＰＵ１２０１の制御にしたがって光ディスク１２０７に対するデータのリード／ライトを制御する。光ディスク１２０７は、光ディスクドライブ１２０６の制御で書き込まれたデータを記憶したり、光ディスク１２０７に記憶されたデータをコンピュータに読み取らせたりする。
【００４２】
ネットワークＩ／Ｆ１２０８は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワークＮＥＴに接続され、このネットワークＮＥＴを介して他の装置に接続される。そして、ネットワークＩ／Ｆ１２０８は、ネットワークＮＥＴと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。ネットワークＩ／Ｆ１２０８には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００４３】
入力装置１２０９は、キーボード、マウス、タッチパネルなど利用者の操作により、各種データの入力を行うインターフェースである。また、入力装置１２０９は、カメラから画像や動画を取り込むこともできる。また、入力装置１２０９は、マイクから音声を取り込むこともできる。出力装置１２１０は、ＣＰＵ１２０１の指示により、データを出力するインターフェースである。出力装置１２１０には、ディスプレイやプリンタが挙げられる。
【００４４】
（位置推定装置１００の機能的構成例）
図１３は、位置推定装置の機能的構成例を示すブロック図である。位置推定装置１００は、発生部１３０１と、選択部１３０２と、探索部１３０３と、検出部１３０４と、導出部１３０５と、を有している。さらに、位置推定装置１００は、取得部１３１１と、第１算出部１３１２と、第２算出部１３１３と、第３算出部１３１４と、導出部１３１５と、を有している。発生部１３０１から導出部１３０５に関する処理は、取得部１３１１から導出部１３１５に関する処理が行われるより前に行われる。ここでは、発生部１３０１から導出部１３０５は、センサーネットワークシステム２００の運用前に行われることとし、取得部１３１１から導出部１３１５は、センサーネットワークシステム２００の運用中に行われることとする。
【００４５】
発生部１３０１から導出部１３０５と取得部１３１１から導出部１３１５とのそれぞれに関する処理は、たとえば、ＲＯＭ１２０２、磁気ディスク１２０５、光ディスク１２０７などの記憶装置に記憶された位置推定プログラムにコーディングされている。そして、ＣＰＵ１２０１が記憶装置から位置推定プログラムを読み出して、位置推定プログラムにコーディングされている処理を実行することにより、各部の処理が、実現される。ＣＰＵ１２０１が、ネットワークＩ／Ｆ１２０８を介してネットワークＮＥＴから解析プログラムを読み出してもよい。
【００４６】
（運用前の処理）
まず、センサーネットワークシステム２００の運用前の処理として、発生部１３０１から導出部１３０５によって、推定距離の分布が作成される例について説明する。ここで、親機１０２ごとの各ホップで距離が異なる例について説明する。
【００４７】
図１４は、各ホップで距離が異なる例を示す説明図である。たとえば、中央のセンサーノード１０１から親機１０２−３までの距離ｄ３はセンサーノード１０１から親機１０２−２までの距離ｄ２の２倍程度である。一方、たとえば、センサーノード１０１から親機１０２−３までのホップ数は、センサーノード１０１から親機１０２−２までのホップ数の２倍未満である。１ホップで通信可能な距離とホップ数との乗算を行うだけでは、センサーノード１０１の位置を特定することができない。センサーノード１０１が任意で配置されると、センサーノード１０１が配置領域内に均一に配置されるとは限らないためである。さらに、センサーノード１０１が偏って配置される場合もある。上述したように、センサーノード１０１は、たとえば、所定領域Ａにばら撒かれたり、所定領域Ａを満たす物質に混ぜ込まれたりすることによって所定領域Ａに配置される。そのため、各センサーノード１０１の配置にはむらがあり、所定領域Ａにはセンサーノード１０１が存在しない空白領域が存在する場合がある。また、所定領域Ａの内部にある柱などの物体によって、センサーノード１０１が存在しない空白領域が発生する場合もある。そのため、たとえば、センサーノード１０１から親機１０２−１までの経路中の各ホップの距離（たとえば、ｄ１１〜ｄ１４）は、同一にならない。図１４の例では、理解の容易化のために各ホップの距離が同一にならないように所定領域Ａの形状を変形させているが、たとえば、図１４の所定領域Ａの形状に限らず、各ホップの距離は同一にならない。たとえば、配置領域が正方形の場合に、正方形の角に配置された親機１０２と正方形の中央に配置された親機１０２とでは、各ホップの距離の期待値は異なる。
【００４８】
そこで、本実施の形態では、位置推定装置１００は、親機１０２の各々について、所定領域Ａ内に位置する複数のセンサーノード１０１の各々から親機１０２までの通信経路を模擬する。位置推定装置１００は、親機１０２からの各ホップ数について模擬によって得られた通信経路の各ホップの分布を作成する。位置推定装置１００は、作成された分布を、推定距離の分布として扱う。これにより、実際の通信結果によるホップ数と予め作成された推定距離の分布と、によって、より精度の高い、親機１０２と複数のセンサーノード１０１との間の通信にかかるホップ数が当該通信結果によるホップ数となる推定距離の分布が得られる。
【００４９】
本実施の形態における入力情報例を以下に示す。
親機１０２−１の位置：（０，１００）
親機１０２−２の位置：（０，０）
親機１０２−３の位置：（１００，１００）
センサーノード１０１の位置する所定領域Ａの範囲：｛（ｘ，ｙ）｜０≦ｘ≦１００，０≦ｙ≦１００｝
センサーノード１０１の数：ｎ［個］
１ホップで通信可能な距離：ｒ［ｍ］
【００５０】
１ホップで通信可能な距離については、状況によって変化する場合やアンテナに指向性がある場合には、確率分布ｆ（ｒ）で与えてもよい。
【００５１】
発生部１３０１は、所定領域Ａを示す範囲に含まれる複数のセンサーノード１０１の各々の位置を示す位置情報をランダムに複数回発生させる。ランダム発生を行う回数については、センサーネットワークシステム２００の開発者が設定する。
【００５２】
選択部１３０２は、複数のセンサーノード１０１の各々の位置情報から１つの位置情報を選択する、ここで、選択される位置情報は、任意に選択してもよいし、定められた領域から選択してもよい。
【００５３】
探索部１３０３は、発生部１３０１によってセンサーノード１０１の位置情報が発生される都度、複数の親機１０２の各々について、１ホップで通信可能な距離に基づいて、選択された位置情報が示す位置から親機１０２の位置までの通信経路を探索する。
【００５４】
図１５は、探索例（その１）を示す説明図である。たとえば、図１５の例では、センサーノード１０１−４５が選択された例を示している。ログファイルは通信経路を記憶するテーブルである。ログファイルには、ＩＤ、経由センサーのフィールドを有している。
【００５５】
図１６は、探索例（その２）を示す説明図である。つぎに、センサーノード１０１の位置情報が示す位置を中心として１ホップで通信可能な距離に含まれるセンサーノード１０１を探索する。図１６の例では、センサーノード１０１−４，１０１，１４，３３，５０が探索される。ログファイルのＩＤのフィールドには、４，１０１，１４，３３，５０が登録される。
【００５６】
図１７は、探索例（その３）を示す説明図である。探索されたセンサーノード１０１の各々の位置情報が示す位置を中心として１ホップで通信可能なセンサーノード１０１を探索する。これにより、センサーノード１０１の位置情報が示す位置から親機１０２の位置に辿り着くまでの経路が探索される。たとえば、センサーノード１０１−５０の位置情報が示す位置から１ホップで通信可能な距離にセンサーノード１０１−２１の位置情報が示す位置が含まれる。ログファイルのＩＤのフィールドには、２１が登録され、経由センサーのフィールドには、４５，５０，２１が登録される。
【００５７】
図１８は、探索された通信経路を示す説明図である。図１８では、センサーノード１０１の位置情報が示す位置から親機１０２の位置までの通信経路を示している。
【００５８】
図１９は、距離の算出例を示す説明図である。検出部１３０４は、親機１０２の各々について、探索された通信経路上にあるセンサーノード１０１の位置情報と親機１０２の位置情報に基づいて、探索された通信経路の各ホップの距離を検出する。たとえば、親機１０２−１からセンサーノード１０１−４４までの距離ｌ11が検出され、センサーノード１０１−４４からセンサーノード１０１−２１までの距離ｌ12が検出される。センサーノード１０１−２１からセンサーノード１０１−５０までの距離ｌ13が検出され、センサーノード１０１−５０からセンサーノード１０１−４５までの距離ｌ14が検出される。
【００５９】
導出部１３０５は、親機１０２の各々について、検出された各距離の検出頻度を導出する。また、導出部１３０５は、複数のセンサーノードの各々について、検出された各距離の検出分布に基づく確率分布を導出してもよい。導出部１３０５は、図１に示したように記憶装置１１０に記憶する。
【００６０】
また、導出部１３０５は、親機１０２の各々について、探索された通信経路のホップ数以下のホップ数の各々に対応して検出された各距離の検出頻度を導出する。また、導出部１３０５は、親機１０２の各々について、探索された通信経路のホップ数以下のホップ数の各々に対応して検出された各距離の検出分布に基づく確率分布を導出してもよい。導出部１３０５は、各距離の検出頻度に基づく確率を示す分布を、各ホップ数について各ホップの推定距離の分布として記憶する。
【００６１】
ここでは、導出部１３０５は、親機１０２からのホップ数に対応する各ホップの距離の検出頻度に基づく確率を示す分布を親機１０２ごとに導出することとする。乱数発生させた番号をｋとし、親機１０２をｉとした場合に、親機１０２から逆算してｊホップ目で進む距離をｌijkと表す。各ホップの距離の検出頻度に基づく確率を示す分布が正規分布であるとして、導出部１３０５は、当該分布の平均μijと分散σ2ijをそれぞれ以下式（１）と（２）に基づいて算出する。＃ＫijはＫijの要素数である。
【００６２】
【数１】
2014013578.tif 000003
【００６３】
【数２】
2014013578.tif 000004
【００６４】
そして、導出部１３０５は、ｌijの分布の平均と分散を以下式（３）に与えることにより得られる。
【００６５】
【数３】
2014013578.tif 000005
【００６６】
図２０は、記憶装置に記憶された推定距離の分布例を示す説明図である。記憶装置１１０には、導出部１３０５によって導出された親機１０２ごとに親機１０２からのホップ数に対応する各ホップの距離の検出頻度に基づく確率を示す分布が記憶される。
【００６７】
＜運用前に位置推定装置が行う分布の作成処理手順例＞
図２１および図２２は、位置推定装置が行う分布の作成処理手順の一例を示すフローチャートである。位置推定装置１００は、ｋ＝１とし（ステップＳ２１０１）、複数のセンサーノード１０１のＩＤごとに位置情報をランダムに発生させる（ステップＳ２１０２）。位置推定装置１００は、複数のセンサーノード１０１の位置情報から１つのセンサーノード１０１の位置情報を選択する（ステップＳ２１０３）。位置推定装置１００は、ランダムに選択してもよいし、選択する領域を定めて当該領域から選択してもよい。
【００６８】
位置推定装置１００は、１ホップで通信可能な距離に基づき、親機１０２の位置情報ごとに選択されたセンサーノード１０１の位置情報が示す位置から親機１０２の位置までの最短経路を探索する（ステップＳ２１０４）。位置推定装置１００は、最短経路を出力する（ステップＳ２１０５）。
【００６９】
位置推定装置１００は、ｊ＝１とし（ステップＳ２１０６）、各親機１０２からｊホップで進む距離を検出する（ステップＳ２１０７）。位置推定装置１００は、検出結果を出力し（ステップＳ２１０８）、ｊ≦最短経路の最大ホップ数であるか否かを判断する（ステップＳ２１０９）。ｊ≦最短経路の最大ホップ数である場合（ステップＳ２１０９：Ｙｅｓ）、位置推定装置１００は、ｊ＝ｊ＋１とし（ステップＳ２１１０）、ステップＳ２１０７へ戻る。
【００７０】
ｊ≦最短経路の最大ホップ数でない場合（ステップＳ２１０９：Ｎｏ）、位置推定装置１００は、ｋ≦所定回数であるか否かを判断する（ステップＳ２２０１）。ｋ≦所定回数である場合（ステップＳ２２０１：Ｙｅｓ）、位置推定装置１００は、ｋ＝ｋ＋１とし（ステップＳ２２０２）、ステップＳ２１０２へ戻る。ｋ≦所定回数でない場合（ステップＳ２２０１：Ｎｏ）、位置推定装置１００は、ｊ＝１とし（ステップＳ２２０３）、各親機１０２からｊホップ目に進む距離の分布を算出する（ステップＳ２２０４）。たとえば、各距離の検出頻度に基づいて確率分布が導出されてもよい。
【００７１】
位置推定装置１００は、ｊ≦最短経路の最大ホップ数であるか否かを判断する（ステップＳ２２０５）。ｊ≦最短経路の最大ホップ数でない場合（ステップＳ２２０５：Ｎｏ）、位置推定装置１００は、ｊ＝ｊ＋１とし（ステップＳ２２０６）、ステップＳ２２０４へ戻る。ｊ≦最短経路の最大ホップ数である場合（ステップＳ２２０５：Ｙｅｓ）、一連の処理を終了する。
【００７２】
また、発生部１３０１から導出部１３０５については位置推定装置１００が行うこととしているが、位置推定装置１００と異なる他のコンピュータが行ってもよい。他のコンピュータが行う場合、他のコンピュータは作成した分布を位置推定装置１００がアクセス可能な記憶装置に記憶させればよい。
【００７３】
（運用中の処理）
つぎに、センサーネットワークシステム２００を運用中に、位置推定装置１００が、センサーノード１０１の位置を推定する処理について説明する。
【００７４】
図２３は、ホップ数蓄積テーブル例を示す説明図である。位置推定装置１００は、各親機１０２との間で通信を行うことにより、各センサーノード１０１が親機１０２までにいくつのホップ数で到達するかを示す情報を取得して、ホップ数蓄積テーブル２３００としてテーブル化していることとする。
【００７５】
ホップ数蓄積テーブル２３００は、センサーＩＤ、親機１到達最小ホップ数、親機２到達最小ホップ数、親機３到達最小ホップ数のフィールドを有している。各フィールドに情報が設定されることにより、レコード（たとえば、２３０１−１，２３０１−２）として記憶される。ホップ数蓄積テーブル２３００は、ＲＡＭ１２０３、磁気ディスク１２０５、光ディスク１２０７などの記憶装置によって実現される。センサーＩＤのフィールドには、各センサーノード１０１の識別情報が登録される。
【００７６】
親機１到達最小ホップ数のフィールドには、センサーＩＤのフィールドに登録された識別情報が示すセンサーノード１０１のデータが親機１０２−１に到達するまでのホップ数のうち、最小のホップ数が登録される。親機２到達最小ホップ数のフィールドには、センサーＩＤのフィールドに登録された識別情報が示すセンサーノード１０１のデータが親機１０２−２に到達するまでのホップ数のうち、最小のホップ数が登録される。親機３到達最小ホップ数のフィールドには、センサーＩＤのフィールドに登録された識別情報が示すセンサーノード１０１のデータが親機１０２−３に到達するまでのホップ数のうち、最小のホップ数が登録される。
【００７７】
図２４は、１ホップ到達センサーテーブル例を示す説明図である。位置推定装置１００は、各親機１０２との間で通信を行うことにより、各センサーノード１０１がいずれのセンサーノード１０１と１ホップで通信可能であるかを示す情報を取得し、１ホップ到達センサーテーブル２４００としてテーブル化していることとする。１ホップ到達センサーテーブル２４００は、たとえば、センサーＩＤ、１ホップ到達センサーＩＤのフィールドを有している。
【００７８】
各フィールドに情報が設定されることにより、レコード（たとえば、２４０１−１）として記憶される。１ホップ到達センサーテーブル２４００は、ＲＡＭ１２０３、磁気ディスク１２０５、光ディスク１２０７などの記憶装置によって実現される。センサーＩＤのフィールドには、各センサーノード１０１の識別情報が登録される。１ホップ到達センサーＩＤのフィールドには、センサーＩＤのフィールドに登録された識別情報が示すセンサーノード１０１が１ホップで通信可能なセンサーノード１０１の識別情報が登録される。
【００７９】
まず、取得部１３１１は、親機１０２の各々について、親機１０２と複数のセンサーノード１０１のうちの位置特定の対象センサーノード１０１との通信結果に基づく、対象センサーノード１０１からのデータが親機１０２に到達するまでのホップ数を取得する。具体的には、取得部１３１１は、対象センサーノード１０１のＩＤに基づいて、ホップ数蓄積テーブル２３００から親機１０２ごとに到達最小ホップ数を取得する。
【００８０】
つぎに、第１算出部１３１２は、親機１０２の各々について、最小到達ホップ数と、記憶装置１１０に記憶された推定距離の分布と、によって、複数のセンサーノード１０１と親機１０２との間の通信が最小到達ホップ数となる推定距離の分布を算出する。また、第１算出部１３１２は、親機１０２の各々について、最小到達ホップ数以下のホップ数の各々に対応する１ホップの推定距離の分布の和に基づいて、複数のセンサーノード１０１と親機１０２との間の通信が最小到達ホップ数となる推定距離の分布を算出する。
【００８１】
図２５は、親機との間の通信が到達最小ホップ数となる推定位置の分布を示す説明図である。ここでは、親機１０２を例に挙げ、最小到達ホップ数をｈとする。対象センサーノード１０１をｓとしている。具体的には、第１算出部１３１２は、記憶装置１１０から、Ｎ（μ21，σ221）からＮ（μ2h，σ22h）を取得する。第１算出部１３１２は、Ｎ（μ21，σ221）からＮ（μ2h，σ22h）の和を算出する。和が表す分布が親機１０２との間の通信が最小到達ホップ数となる推定距離ｒｈの分布である。
【００８２】
つぎに、第２算出部１３１３は、親機１０２の各々について、算出された推定距離の分布と、所定領域Ａの範囲を表す情報と、親機１０２の位置情報とによって、所定領域Ａ内における推定位置の分布を算出する。図２５内において、色が濃いほど推定位置の分布の確率密度の大きさが大きく、色が淡い箇所ほど確率密度の大きさが小さい。
【００８３】
具体的には、第２算出部１３１３は、親機１０２−ｐからの距離に基づく極座標系（ｒ，θ）での対象センサーノード１０１の推定位置の分布を算出する。ｐは親機１０２の識別情報を表している。θを固定した場合のｒの確率分布であり、条件付分布ｆs,p（ｒ｜θ）は以下式（４）から（６）で表される。
【００８４】
【数４】
2014013578.tif 000006
【００８５】
図２６は、ｒとθの範囲を示す説明図である。図２７は、ｆ（θ）の比例関係を示す説明図である。ｒとθは、図に示すように範囲が定まる。ｆ（θ）は図中の長さに比例する。したがって、ｆs,p（θ）は以下式（７）から（９）で表される。
【００８６】
【数５】
2014013578.tif 000007
【００８７】
ｋ０については、以下式（１０）に示す。
【００８８】
【数６】
2014013578.tif 000008
【００８９】
ｆs,p（ｒ，θ）は以下式（１１）で与えられるため、ｆs,p（ｒ，θ）は以下式（１２）から（１４）で表される。
【００９０】
ｆs,p（ｒ，θ）＝ｆs,p（ｒ，θ）・ｆs,p（θ）・・・（１１）
【００９１】
【数７】
2014013578.tif 000009
【００９２】
つぎに、第２算出部１３１３は、親機１０２−ｐからの距離に基づく、極座標系（ｒ，θ）でのセンサーノード１０１−ｓの推定位置の分布ｆs,p（ｒ｜θ）を直交座標系ｆs,p（ｘ，ｙ）に変換する。極座標と直交座標との関係は、「ｘ＝ｒｃｏｓθ」、「ｙ＝ｒｓｉｎθ」で与えられるため、以下式（１５）、（１６）である。
【００９３】
【数８】
2014013578.tif 000010
【００９４】
上記式（１２）に示した確率密度関数を直交座標系に変換すると、以下式（１７）となる。同様に、上記式（１３）、（１４）に示した確率密度関数を直交座標系に変換すると、それぞれ以下式（１８）、（１９）となる。これにより、第２算出部１３１３は、式（１７）から式（１９）に基づいて、推定位置の分布の和を算出することができる。
【００９５】
【数９】
2014013578.tif 000011
【００９６】
つぎに、第３算出部１３１４は、複数の親機１０２の各々についての第２算出部１３１３によって算出された推定位置の分布の和に基づいて、所定領域Ａ内の各位置について対象センサーノード１０１の位置である確からしさを示す指標を算出する。具体的には、たとえば、第３算出部１３１４は、以下式（２０）に基づいて算出する。本実施の形態例では、Ｐは親機１０２の数であるため、第３算出部１３１４は、３つの推定位置の分布の総和を算出して３で除算する。
【００９７】
【数１０】
2014013578.tif 000012
【００９８】
導出部１３１５は、第３算出部１３１４によって算出された所定領域Ａ内の各位置についての確からしさを示す指標から対象センサーノード１０１の推定位置を導出する。ここで、２つの導出例を挙げる。
【００９９】
＜推定位置の導出例１＞
図２８は、推定位置の導出例１を示す説明図である。図２８に示す分布は、第３算出部１３１４によって算出された所定領域Ａ内の各位置についての確からしさを示す指標である。色が濃いほど対象センサーノード１０１の位置である確からしさが高く、色が淡いほど、分布が低い対象センサーノード１０１の位置である確からしさが低い。
【０１００】
たとえば、導出部１３１５は、第３算出部１３１４によって算出された所定領域Ａ内の各位置についての確からしさを示す指標から、確からしさが最大である推定位置を導出する。
【０１０１】
＜推定位置の導出例２＞
図２９は、推定位置の導出例２を示す説明図である。図２９の例では、複数のセンサーノード１０１のうち、２つのセンサーノード１０１について、各位置についての確からしさを示す指標が算出されていることとする。当該２つのセンサーノード１０１は、１ホップで通信可能とする。導出部１３１５は、上述した１ホップ到達センサーテーブル２４００によって１ホップで通信可能な２つのセンサーノード１０１を特定することができる。
【０１０２】
導出部１３１５は、１ホップで通信可能な２つのセンサーノード１０１についての推定位置を導出する。導出部１３１５は、２つのセンサーノード１０１の各々に対応する各位置についての確からしさを示す指標から、２つのセンサーノード１０１の推定位置間の距離が閾値未満となる２つのセンサーノード１０１の推定位置を導出する。
【０１０３】
図２９の例では、第１対象センサーノード１０１の推定位置を（ｘ１，ｙ１）とし、第２対象センサーノード１０１の推定位置を（ｘ２，ｙ２）とし、導出部１３１５は、２つのセンサーノード１０１の推定位置間の距離が閾値ｒ０未満であるか否かを判断する。閾値は、たとえば、センサーノード１０１間でデータを確実に受信できない距離の中で、最も短い距離である。閾値については、センサーネットワークシステム２００の開発者によってＲＡＭ１２０３、磁気ディスク１２０５、光ディスク１２０７などの記憶装置に予め記憶されていることとする。
【０１０４】
たとえば、推定位置ｐ０−１は確からしさが大きい位置であり、推定位置ｐ０−２は確からしさが大きい位置であるが、推定位置ｐ０−１と推定位置ｐ０−２との距離ｄ００は閾値ｒ０以上である。そのため、ｐ０−１は、第１対象センサーノード１０１についての推定位置でないと判定され、ｐ０−２は、第２対象センサーノード１０１についての推定位置でないと判定される。
【０１０５】
たとえば、推定位置ｐ１−１と推定位置ｐ１−２との距離ｄ０１は閾値ｒ０未満である。そのため、ｐ１−１は、第１対象センサーノード１０１についての推定位置であると判定され、ｐ１−２は、第２対象センサーノード１０１についての推定位置であると判定される。
【０１０６】
さらに、導出部１３１５は、閾値未満となる第１対象センサーノード１０１の推定位置と第２対象センサーノード１０１の推定位置との中で、それぞれの確からしさが最大である推定位置を導出する。
【０１０７】
また、導出部１３１５は、複数のセンサーノード１０１のうちの少なくとも一部のセンサーノード１０１の各々について同時に推定位置を導出する。ここで、一部のセンサーノード１０１は、各位置についての確からしさを示す指標が第３算出部１３１４によって算出済であるセンサーノード１０１である。導出部１３１５は、一部のセンサーノード１０１の各々について各位置についての確からしさを示す指標から、１ホップで通信可能な２つのセンサーノード１０１の位置間の距離が閾値未満となる一部のセンサーノード１０１の各々についての推定位置を導出する。
【０１０８】
たとえば、導出部１３１５は、以下式（２１）の下線（ｂ）の条件を満たす、式（２１）の下線（ａ）を解く。Λは、１ホップ到達センサーテーブル２４００から得られる１ホップで通信可能なセンサーＩＤの組み合わせの集合である。
【０１０９】
【数１１】
2014013578.tif 000013
【０１１０】
たとえば、上記式（２１）を解くために、ラグランジュの未定乗数法が用いられる。そして、導出部１３１５は、以下の連立方程式（２２）、（２３）、（２４）、（２５）を解けばよい。
【０１１１】
【数１２】
2014013578.tif 000014
【０１１２】
さらに、センサーノード１０１が配置される所定領域Ａが｛（ｘ，ｙ）｜０≦ｘ≦１００，０≦ｙ≦１００｝である場合、ｘｓ、ｙｓのとれる範囲は０〜１００の任意であるため、すべてのセンサーノード１０１の推定位置の組み合わせは無限にある。そのため、連立方程式（２３）、（２４）、（２５）が解けない場合、導出部１３１５は、ｘｓ、ｙｓのとれる範囲を０，１，・・・，１００などの離散値として再度式（２１）を解いてもよい。これにより、すべてのセンサーノード１０１の推定位置の組み合わせは有限となるため、すべてのセンサーノード１０１の推定位置の組み合わせが無限の場合よりも推定位置の精度は落ちるが式（２１）から解が得られる。
【０１１３】
（位置推定装置１００による位置推定処理手順）
図３０は、位置推定装置による位置推定処理手順の例１を示すフローチャートである。図３０では、上述した導出例１に対応する位置推定処理手順について説明する。位置推定装置１００は、ホップ数蓄積テーブル２３００から、位置推定の対象センサーノード１０１のＩＤを選択する（ステップＳ３００１）。位置推定装置１００は、ｐ＝１とし（ステップＳ３００２）、ｐ≦親機１０２の数であるか否かを判断する（ステップＳ３００３）。
【０１１４】
ｐ≦親機１０２の数である場合（ステップＳ３００３：Ｙｅｓ）、位置推定装置１００は、ホップ数蓄積テーブル２３００から、選択されたＩＤに基づいて、対象センサーノードから親機１０２−ｐまでのホップ数を取得する（ステップＳ３００４）。位置推定装置１００は、記憶装置１１０から、取得されたホップ数に対応する推定距離の分布を取得し（ステップＳ３００５）、取得された分布に基づき、親機１０２−ｐとの間の通信が取得されたホップ数となる推定距離の分布を算出する（ステップＳ３００６）。位置推定装置１００は、推定距離の分布と、所定領域Ａの範囲を表す情報と、親機１０２−ｐの位置情報とによって、所定領域Ａ内における推定位置の分布を算出し（ステップＳ３００７）、ｐ＝ｐ＋１とし（ステップＳ３００８）、ステップＳ３００３へ戻る。
【０１１５】
ｐ≦親機１０２の数でない場合（ステップＳ３００３：Ｎｏ）、位置推定装置１００は、各親機１０２についての推定位置の分布の和に基づく、対象センサーノード１０１についての推定位置の分布を算出する（ステップＳ３００９）。位置推定装置１００は、対象センサーノード１０１についての推定位置の分布から、対象センサーノード１０１である確からしさが最大の推定位置を導出する（ステップＳ３０１０）。位置推定装置１００は、対象センサーノード１０１のＩＤと、最大の推定位置と、を関連付けて出力し（ステップＳ３０１１）、一連の処理を終了する。
【０１１６】
図３１および図３２は、位置推定装置による位置推定処理手順の例２を示すフローチャートである。ここでは、上述した導出例２に対応する位置推定処理手順について説明する。位置推定装置１００は、ホップ数蓄積テーブル２３００から、未選択なセンサーノード１０１のＩＤがあるか否かを判断する（ステップＳ３１０１）。未選択なセンサーノード１０１のＩＤがある場合（ステップＳ３１０１：Ｙｅｓ）、位置推定装置１００は、未選択なセンサーノード１０１のＩＤから１つのセンサーノード１０１のＩＤを選択する（ステップＳ３１０２）。ここでは、選択されたＩＤが示すセンサーノード１０１を対象センサーノード１０１とする。位置推定装置１００は、ホップ数蓄積テーブル２３００に、対象センサーノード１０１の最小到達ホップ数が登録済みか否かを判断する（ステップＳ３１０３）。ここでは、対象センサーノード１０１の最小到達ホップ数がすべての親機１０２について登録されているか否かが判断される。
【０１１７】
対象センサーノード１０１の最小到達ホップ数が登録済みでない場合（ステップＳ３１０３：Ｎｏ）、ステップＳ３１０１へ戻る。対象センサーノード１０１の最小到達ホップ数が登録済みである場合（ステップＳ３１０３：Ｙｅｓ）、位置推定装置１００は、ｐ＝１とし（ステップＳ３１０４）、ｐ≦親機１０２の数であるか否かを判断する（ステップＳ３１０５）。ｐは親機１０２のＩＤを指定するための変数である。ｐ≦親機１０２の数である場合（ステップＳ３１０５：Ｙｅｓ）、位置推定装置１００は、ホップ数蓄積テーブル２３００から、対象センサーノード１０１から親機１０２−ｐまでのホップ数を取得する（ステップＳ３１０６）。
【０１１８】
位置推定装置１００は、記憶装置１１０から、取得されたホップ数に対応する推定距離の分布を取得し（ステップＳ３１０７）、取得された分布に基づき、親機１０２−ｐとの間の通信が取得されたホップ数となる推定距離の分布を算出する（ステップＳ３１０８）。位置推定装置１００は、所定領域Ａ内における推定位置の分布を算出し（ステップＳ３１０９）、ｐ＝ｐ＋１とし（ステップＳ３１１０）、ステップＳ３１０５へ戻る。
【０１１９】
ｐ≦親機１０２の数でない場合（ステップＳ３１０５：Ｎｏ）、位置推定装置１００は、各親機１０２についての推定位置の分布の和に基づく、対象センサーノード１０１についての推定位置の分布を算出し（ステップＳ３１１１）、ステップＳ３１０１へ戻る。
【０１２０】
ステップＳ３１０１において、未選択なセンサーノード１０１のＩＤがない場合（ステップＳ３１０１：Ｎｏ）、位置推定装置１００は、１ホップ到達センサーテーブル２４００から、１ホップで通信可能なセンサーノード１０１の組み合わせを取得する（ステップＳ３２０１）。位置推定装置１００は、各々の推定位置の分布から、組み合わせ間の距離が閾値未満となる各々についての推定位置を導出する（ステップＳ３２０２）。位置推定装置１００は、導出できたか否かを判断する（ステップＳ３２０３）。導出できた場合（ステップＳ３２０３：Ｙｅｓ）、ステップＳ３２０６へ移行する。導出できなかった場合（ステップＳ３２０３：Ｎｏ）、位置推定装置１００は、所定領域Ａの範囲を示す情報を離散値に設定する（ステップＳ３２０４）。これにより、センサーノード１０１の推定位置の組み合わせが有限の数になる。
【０１２１】
位置推定装置１００は、設定後の所定領域Ａの範囲を示す情報に基づいて、各々の推定位置の分布から、組み合わせ間の距離が閾値未満となる各々についての推定位置を導出する（ステップＳ３２０５）。位置推定装置１００は、それぞれの確からしさが最大値となる推定位置を導出し（ステップＳ３２０６）、一連の処理を終了する。位置推定装置１００は、導出結果を、ＲＡＭ１２０３、磁気ディスクドライブ１２０４、光ディスクドライブ１２０６などの記憶装置に記憶させてもよいし、出力装置１２１０を介して出力してもよい。
【０１２２】
以上説明したように、位置推定方法、システム、および位置推定装置によれば、各親機と各センサーとの経路の各ホップの推定距離の分布を予め記憶装置に記憶する。位置推定装置は、実通信での各親機と対象センサーノードとの各ホップ数と、推定距離分布とによって、対象センサーノードについての推定位置の分布を特定する。これにより、対象センサーノードの位置の推定精度を向上させることができる。また、位置推定装置は、電波の強度や電波の遅延などを各センサーノードが検出しなくとも、対象センサーノードの位置を推定することができる。したがって、センサーノードの負荷を低減させることができる。
【０１２３】
また、センサーノードを配置する所定領域の形状によって、センサーノードが偏って配置される場合もある。そのため、センサーノードから親機までの経路中の各ホップの距離は、同一にならない。そこで、親機からの各ホップ数について経路の各ホップの推定距離の分布を記憶装置に記憶する。位置推定装置は、親機ごとに、取得されたホップ数以下のホップ数の各々に対応する各ホップの推定距離の分布の和に基づいて、親機との間の通信が取得されたホップ数となる推定距離の分布を算出する。これにより、対象センサーノードの位置の推定精度をより向上させることができる。
【０１２４】
また、対象センサーノードについての推定位置の分布から、最も確からしさが大きい位置を特定する。これにより、対象センサーノードの位置である可能性が最も高い推定位置を特定することができる。したがって、対象センサーノードの位置の推定精度を向上させることができる。
【０１２５】
また、位置推定装置は、第１対象センサーノードについての推定位置の分布と、第１対象センサーノードと１ホップで通信可能な第２対象センサーノードについての推定位置の分布と、から、２つの推定位置間の距離が閾値未満となる推定位置を導出する。これにより、２つのセンサーノードの位置関係を維持させることにより、より精度の高いセンサーノードの位置を推定することができる。
【０１２６】
また、位置推定装置は、複数のセンサーノードの各々について、１ホップで通信可能なセンサーノードのペアの位置間が閾値未満であることを条件としてセンサーノードの推定位置と特定する。これにより、より精度の高いセンサーノードの位置を推定することができる。
【０１２７】
また、位置推定装置は、センサーノードの各々の位置情報を所定領域内にランダムに所定回数発生させて、選択された位置情報が示す位置から親機の位置までの経路を探索する。位置推定装置は、探索された経路の各ホップを検出して、距離ごとに距離の検出頻度を導出する。推定距離の分布が距離ごとの検出頻度である。これにより、センサーノードの位置が不明であっても、各ホップの距離の分布を得ることができる。したがって、対象センサーノードの位置の推定精度を向上させることができる。
【０１２８】
また、上述したように、センサーノードを配置する所定領域の形状によって、センサーノードが偏って配置される場合もある。そのため、センサーノードから親機までの経路中の各ホップの距離は、同一にならない。そこで、位置推定装置は、探索された経路のホップ数以下のホップ数の各々に対応して検出された各距離の検出頻度を導出する。記憶装置に記憶された推定距離の分布は、導出された各距離の検出頻度を表す分布である。これにより、センサーノードの位置が不明であっても、各ホップの距離の分布を算出することができる。したがって、対象センサーノードの位置の推定精度を向上させることができる。
【０１２９】
なお、本実施の形態で説明した位置推定方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本位置推定プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本位置推定プログラムは、インターネット等のネットワークを介して配布してもよい。
【符号の説明】
【０１３０】
１００  位置推定装置
１１０  記憶装置
１０１  センサーノード
１０２  親機
２００  センサーネットワークシステム
１３０１  発生部
１３０２  選択部
１３０３  探索部
１３０４  検出部
１３０５，１３１５  導出部
１３１１  取得部
１３１２  第１算出部
１３１３  第２算出部
１３１４  第３算出部
ｐｄｂ１〜ｐｄｂ３，ｐｄｂ１０  分布
Ａ  所定領域
【図１】
2014013578.tif 000015
【図２】
2014013578.tif 000016
【図３】
2014013578.tif 000017
【図４】
2014013578.tif 000018
【図５】
2014013578.tif 000019
【図６】
2014013578.tif 000020
【図７】
2014013578.tif 000021
【図８】
2014013578.tif 000022
【図９】
2014013578.tif 000023
【図１０】
2014013578.tif 000024
【図１１】
2014013578.tif 000025
【図１２】
2014013578.tif 000026
【図１３】
2014013578.tif 000027
【図１４】
2014013578.tif 000028
【図１５】
2014013578.tif 000029
【図１６】
2014013578.tif 000030
【図１７】
2014013578.tif 000031
【図１８】
2014013578.tif 000032
【図１９】
2014013578.tif 000033
【図２０】
2014013578.tif 000034
【図２１】
2014013578.tif 000035
【図２２】
2014013578.tif 000036
【図２３】
2014013578.tif 000037
【図２４】
2014013578.tif 000038
【図２５】
2014013578.tif 000039
【図２６】
2014013578.tif 000040
【図２７】
2014013578.tif 000041
【図２８】
2014013578.tif 000042
【図２９】
2014013578.tif 000043
【図３０】
2014013578.tif 000044
【図３１】
2014013578.tif 000045
【図３２】
2014013578.tif 000046
【国際調査報告】
2014013578.tif 000047
2014013578.tif 000048
2014013578.tif 000049
2014013578.tif 000050