(57)【特許請求の範囲】
【請求項１】
１つの無線装置から１ホップの位置に存在する１次近傍無線装置の情報である隣接無線装置情報をｍ（ｍは、４以上の整数）個の無線装置の各々から取得する取得手段と、
前記ｍ個の無線装置についての隣接無線装置情報に基づいて前記ｍ個の無線装置によって構成される無線ネットワークのトポロジーを生成するトポロジー生成手段と、
前記ｍ個の無線装置の仮の自己位置を示すｍ個の仮の自己位置情報を生成する位置情報生成処理を行う位置情報生成手段と、
前記位置情報生成手段によって前記位置情報生成処理が実行されると、前記無線ネットワークのトポロジーおよび前記ｍ個の仮の自己位置情報に基づいて前記ｍ個の無線装置の各々について位置推定処理を所望回数実行してｍ個の無線装置の位置を更新する更新処理を行う位置更新手段と、
前記位置更新手段によって前記更新処理が実行されると、１つの無線装置の推定された位置が前記１つの無線装置の隣接無線装置よりも前記１つの無線装置から２ホップの位置に存在する２次近傍無線装置に近いことを示すトポロジー矛盾の有無を領域判定処理によって判定する判定処理を行う判定手段と、
前記判定手段によって前記トポロジー矛盾が無いと判定されると、前記ｍ個の無線装置の更新されたｍ個の更新位置を用いてｎ（ｎは１以上の整数）ホップの無線装置間の距離、前記ｎホップの無線装置間の距離の平均値および前記ｎホップの無線装置間の距離の期待値を演算する演算手段と、
前記演算手段によって演算されたｎホップの無線装置間の距離の平均値とｎホップの無線装置間の距離の期待値とに基づいて前記ｍ個の無線装置のうちの位置推定の対象となる対象無線装置からｎホップ目までの各位置における無線通信のカバレッジを求め、追加された仮想の無線装置の隣接無線装置情報と前記ｍ個の無線装置の更新された隣接無線装置情報とを前記カバレッジを用いて作成し、その作成した仮想の無線装置の隣接無線装置情報と前記ｍ個の無線装置の更新された隣接無線装置情報とを用いて前記無線ネットワークの仮想トポロジーを生成する仮想トポロジー生成手段とを備え、
前記位置情報生成手段は、前記判定手段によって前記トポロジー矛盾が有ると判定される毎、または前記仮想トポロジー生成手段によって前記仮想トポロジーが生成される毎に前記位置情報生成処理を実行し、
前記位置推定処理は、位置推定の対象となる対象無線装置の仮の自己位置情報と前記対象無線装置からｎホップの位置に存在するｎ次近傍無線装置の仮の自己位置情報とに基づいて計算された前記対象無線装置と前記ｎ次近傍無線装置との間の距離がｎホップのホップ数からなる距離に近づくように前記対象無線装置の仮の自己位置を前記対象無線装置からのホップ数ｎに応じてそれぞれ修正するための１次修正ベクトル、２次修正ベクトル、・・・及びｎ次修正ベクトルからなるｎ個の修正ベクトルを、１次修正ベクトルとｎ次修正ベクトルとからなる第１番目の修正ベクトル、１次修正ベクトルとｎ−１次修正ベクトルとからなる第２番目の修正ベクトル、・・・、１次修正ベクトルと２次修正ベクトルとからなる第ｎ−１番目の修正ベクトルの順に適用して前記対象無線装置の仮の自己位置を推定する処理であり、
前記領域判定処理は、前記対象無線装置の推定された位置と前記対象無線装置の１次近傍無線装置の推定された位置との間の線分の垂直二等分線を基準として前記対象無線装置の２次近傍無線装置の推定された位置が前記対象無線装置および前記対象無線装置の１次近傍無線装置のいずれに近いかを判定し、当該判定に引き続いて、前記対象無線装置と前記対象無線装置の２次近傍無線装置との共通の１次近傍無線装置の推定された位置と前記対象無線装置の推定された位置との間の線分の垂直二等分線を基準として前記対象無線装置の２次近傍無線装置の推定された位置が前記対象無線装置および前記共通の１次近傍無線装置のいずれに近いかを前記共通の１次近傍無線装置を複数回変えて判定する処理であり、
前記位置更新手段は、前記仮想トポロジー生成手段によって前記仮想トポロジーが生成されると、前記位置推定処理において、前記対象無線装置と前記ｎ次近傍無線装置との間の距離が前記演算手段によって演算された前記ｎホップの無線装置間の距離に近づくように前記第１番目の修正ベクトル、前記第２番目の修正ベクトル、・・・、前記第ｎ−１番目の修正ベクトルを順次適用して前記対象無線装置の仮の自己位置を推定する、位置推定装置。
【請求項２】
前記判定手段は、距離矛盾判定処理および前記領域判定処理を順次適用して前記トポロジー矛盾の有無を判定し、
前記距離矛盾判定処理は、前記対象無線装置の複数の１次近傍無線装置と複数の２次近傍無線装置とを用いて、前記対象無線装置の推定された位置が前記対象無線装置の１次近傍無線装置よりも前記対象無線装置の２次近傍無線装置に近いと判定されたとき、トポロジー矛盾があると判定する処理である、請求項１に記載の位置推定装置。
【請求項３】
前記ｍ個の無線装置のうち、ｋ（ｋは３以上の整数または４以上の整数）個の無線装置のｋ個の絶対位置情報に基づいて相対位置を絶対位置に変換するための変換行列を求め、その求めた変換行列を用いて前記ｍ個の無線装置の推定された位置を絶対位置に変換する変換手段を更に備える、請求項１または請求項２に記載の位置推定装置。
【請求項４】
前記ｍ個の仮の自己位置情報の各々は、２次元の位置情報からなる、請求項１から請求項３のいずれか１項に記載の位置推定装置。
【請求項５】
前記ｍ個の仮の自己位置情報の各々は、３次元の位置情報からなる、請求項１から請求項３のいずれか１項に記載の位置推定装置。
【請求項６】
ｍ（ｍは、４以上の整数）個の無線装置の位置推定をコンピュータに実行させるためのプログラムであって、
取得手段が、１つの無線装置から１ホップの位置に存在する１次近傍無線装置の情報である隣接無線装置情報をｍ（ｍは、４以上の整数）個の無線装置の各々から取得する第１のステップと、
トポロジー生成手段が、前記ｍ個の無線装置についての隣接無線装置情報に基づいて前記ｍ個の無線装置によって構成される無線ネットワークのトポロジーを生成する第２のステップと、
位置情報生成手段が、前記ｍ個の無線装置の仮の自己位置を示すｍ個の仮の自己位置情報を生成する位置情報生成処理を行う第３のステップと、
位置更新手段が、前記第３のステップにおいて前記位置情報生成処理が実行されると、前記無線ネットワークのトポロジーおよび前記ｍ個の仮の自己位置情報に基づいて前記ｍ個の無線装置の各々について位置推定処理を所望回数実行してｍ個の無線装置の位置を更新する更新処理を行う第４のステップと、
判定手段が、前記第４のステップにおいて前記更新処理が実行されると、１つの無線装置の推定された位置が前記１つの無線装置の隣接無線装置よりも前記１つの無線装置から２ホップの位置に存在する２次近傍無線装置に近いことを示すトポロジー矛盾の有無を領域判定処理によって判定する判定処理を行う第５のステップと、
演算手段が、前記第５のステップにおいて前記トポロジー矛盾が無いと判定されると、前記ｍ個の無線装置の更新されたｍ個の更新位置を用いてｎ（ｎは１以上の整数）ホップの無線装置間の距離、前記ｎホップの無線装置間の距離の平均値および前記ｎホップの無線装置間の距離の期待値を演算する第６のステップと、
仮想トポロジー生成手段が、前記第６のステップにおいて演算されたｎホップの無線装置間の距離の平均値とｎホップの無線装置間の距離の期待値とに基づいて前記ｍ個の無線装置のうちの位置推定の対象となる対象無線装置からｎホップ目までの各位置における無線通信のカバレッジを求め、追加された仮想の無線装置の隣接無線装置情報と前記ｍ個の無線装置の更新された隣接無線装置情報とを前記カバレッジを用いて作成し、その作成した仮想の無線装置の隣接無線装置情報と前記ｍ個の無線装置の更新された隣接無線装置情報とを用いて前記無線ネットワークの仮想トポロジーを生成する第７のステップとを備え、
前記位置情報生成手段は、前記第５のステップにおいて前記トポロジー矛盾が有ると判定される毎、または前記第７のステップにおいて前記仮想トポロジーが生成される毎に前記位置情報生成処理を実行し、
前記位置推定処理は、前記対象無線装置の仮の自己位置情報と前記対象無線装置からｎホップの位置に存在するｎ次近傍無線装置の仮の自己位置情報とに基づいて計算された前記対象無線装置と前記ｎ次近傍無線装置との間の距離がｎホップのホップ数からなる距離に近づくように前記対象無線装置の仮の自己位置を前記対象無線装置からのホップ数ｎに応じてそれぞれ修正するための１次修正ベクトル、２次修正ベクトル、・・・及びｎ次修正ベクトルからなるｎ個の修正ベクトルを、１次修正ベクトルとｎ次修正ベクトルとからなる第１番目の修正ベクトル、１次修正ベクトルとｎ−１次修正ベクトルとからなる第２番目の修正ベクトル、・・・、１次修正ベクトルと２次修正ベクトルとからなる第ｎ−１番目の修正ベクトルの順に適用して前記対象無線装置の仮の自己位置を推定する処理であり、
前記領域判定処理は、前記対象無線装置の推定された位置と前記対象無線装置の１次近傍無線装置の推定された位置との間の線分の垂直二等分線を基準として前記対象無線装置の２次近傍無線装置の推定された位置が前記対象無線装置および前記対象無線装置の１次近傍無線装置のいずれに近いかを判定し、当該判定に引き続いて、前記対象無線装置と前記対象無線装置の２次近傍無線装置との共通の１次近傍無線装置の推定された位置と前記対象無線装置の推定された位置との間の線分の垂直二等分線を基準として前記対象無線装置の２次近傍無線装置の推定された位置が前記対象無線装置および前記共通の１次近傍無線装置のいずれに近いかを前記共通の１次近傍無線装置を複数回変えて判定する処理であり、
前記位置更新手段は、前記第７のステップにおいて前記仮想トポロジーが生成されると、前記第４のステップの前記位置推定処理において、前記対象無線装置と前記ｎ次近傍無線装置との間の距離が前記第６のステップにおいて演算された前記ｎホップの無線装置間の距離に近づくように前記第１番目の修正ベクトル、前記第２番目の修正ベクトル、・・・、前記第ｎ−１番目の修正ベクトルを順次適用して前記対象無線装置の仮の自己位置を推定する、コンピュータに実行させるためのプログラム。
【請求項７】
前記判定手段は、前記第５のステップにおいて、距離矛盾判定処理および前記領域判定処理を順次適用して前記トポロジー矛盾の有無を判定し、
前記距離矛盾判定処理は、前記対象無線装置の複数の１次近傍無線装置と複数の２次近傍無線装置とを用いて、前記対象無線装置の推定された位置が前記対象無線装置の１次近傍無線装置よりも前記対象無線装置の２次近傍無線装置に近いと判定されたとき、トポロジー矛盾があると判定する処理である、請求項６に記載のコンピュータに実行させるためのプログラム。
【請求項８】
変換手段が、前記ｍ個の無線装置のうち、ｋ（ｋは３以上の整数または４以上の整数）個の無線装置のｋ個の絶対位置情報に基づいて相対位置を絶対位置に変換するための変換行列を求め、その求めた変換行列を用いて前記ｍ個の無線装置の推定された位置を絶対位置に変換する第８のステップを更にコンピュータに実行させる、請求項６または請求項７に記載のコンピュータに実行させるためのプログラム。
【請求項９】
前記ｍ個の仮の自己位置情報の各々は、２次元の位置情報からなる、請求項６から請求項８のいずれか１項に記載のコンピュータに実行させるためのプログラム。
【請求項１０】
前記ｍ個の仮の自己位置情報の各々は、３次元の位置情報からなる、請求項６から請求項８のいずれか１項に記載のコンピュータに実行させるためのプログラム。
【請求項１１】
請求項６から請求項１０のいずれか一項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、位置推定装置、位置推定をコンピュータに実行させるためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
無線センサーネットワークにおいて、センシングデータの取得位置は、重要な情報である。従来、センサーノードの位置を推定する方式として、自己組織化マップ（ＳＯＭ）を用いたセンサーノード位置推定方式（ＳＯＬ：Ｓｅｌｆ−Ｏｒｇａｎｉｚｉｎｇ  Ｌｏｃａｌｉｚａｔｉｏｎ）が知られている（非特許文献１）。
【０００３】
ＳＯＬは、極少数のアンカーノードを使用し、測距デバイスを用いずに、高精度な位置推定が可能であり、障害物による見通し内（ＬＯＳ：Ｌｉｎｅ−Ｏｆ−Ｓｉｇｈｔ）と見通し外（ＮＬＯＳ：Ｎｏｎ−Ｌｉｎｅ−Ｏｆ−Ｓｉｇｈｔ）が混在する環境においても従来方式と比較して位置精度の劣化が少ない。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】高島  優斗、北之馬  貴正、安達  直世、滝沢  泰久，“ＮＬＯＳ混在環境における無線ネットワークの集約型自己組織化ノード位置推定方式”，情報処理学会研究報告マルチメディア通信と分散処理（ＤＰＳ），Ｖｏｌ．２０１５−ＤＰＳ−１６２，Ｎｏ．１８，ｐｐ．１−６，２０１５．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、ＳＯＬでは、位置推定の対象となる対象センサーノードの推定位置が対象センサーノードから１ホップの位置に存在する１次近傍ノードよりも対象センサーノードから２ホップの位置に存在する２次近傍ノードに近くなるトポロジー矛盾を十分に解決できないため、各センサーノードの位置を高精度に推定することが困難である。
【０００６】
そこで、この発明の実施の形態によれば、各無線装置の位置を高精度に推定可能な位置推定装置を提供する。
【０００７】
また、この発明の実施の形態によれば、各無線装置の高精度な位置推定をコンピュータに実行させるためのプログラムを提供する。
【０００８】
さらに、この発明の実施の形態によれば、各無線装置の高精度な位置推定をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【課題を解決するための手段】
【０００９】
この発明の実施の形態によれば、位置推定装置は、取得手段と、トポロジー生成手段と、位置情報生成手段と、位置更新手段と、判定手段と、演算手段と、仮想トポロジー生成手段とを備える。
【００１０】
取得手段は、１つの無線装置から１ホップの位置に存在する１次近傍無線装置の情報である隣接無線装置情報をｍ（ｍは、４以上の整数）個の無線装置の各々から取得する。トポロジー生成手段は、ｍ個の無線装置についての隣接無線装置情報に基づいてｍ個の無線装置によって構成される無線ネットワークのトポロジーを生成する。位置情報生成手段は、ｍ個の無線装置の仮の自己位置を示すｍ個の仮の自己位置情報を生成する位置情報生成処理を行う。位置更新手段は、位置情報生成手段によって位置情報生成処理が実行されると、無線ネットワークのトポロジーおよびｍ個の仮の自己位置情報に基づいてｍ個の無線装置の各々について位置推定処理を所望回数実行してｍ個の無線装置の位置を更新する更新処理を行う。判定手段は、位置更新手段によって更新処理が実行されると、１つの無線装置の推定された位置が１つの無線装置の隣接無線装置よりも１つの無線装置から２ホップの位置に存在する２次近傍無線装置に近いことを示すトポロジー矛盾の有無を領域判定処理によって判定する判定処理を行う。演算手段は、判定手段によってトポロジー矛盾が無いと判定されると、ｍ個の無線装置の更新されたｍ個の更新位置を用いてｎ（ｎは１以上の整数）ホップの無線装置間の距離、ｎホップの無線装置間の距離の平均値およびｎホップの無線装置間の距離の期待値を演算する。仮想トポロジー生成手段は、演算手段によって演算されたｎホップの無線装置間の距離の平均値とｎホップの無線装置間の距離の期待値とに基づいてｍ個の無線装置のうちの位置推定の対象となる対象無線装置からｎホップ目までの各位置における無線通信のカバレッジを求め、追加された仮想の無線装置の隣接無線装置情報とｍ個の無線装置の更新された隣接無線装置情報とをカバレッジを用いて作成し、その作成した仮想の無線装置の隣接無線装置情報とｍ個の無線装置の更新された隣接無線装置情報とを用いて無線ネットワークの仮想トポロジーを生成する。
【００１１】
そして、位置情報生成手段は、判定手段によってトポロジー矛盾が有ると判定される毎、または仮想トポロジー生成手段によって仮想トポロジーが生成される毎に位置情報生成処理を実行する。位置推定処理は、位置推定の対象となる対象無線装置の仮の自己位置情報と前記対象無線装置からｎホップの位置に存在するｎ次近傍無線装置の仮の自己位置情報とに基づいて計算された対象無線装置とｎ次近傍無線装置との間の距離がｎホップのホップ数からなる距離に近づくように対象無線装置の仮の自己位置を対象無線装置からのホップ数ｎに応じてそれぞれ修正するための１次修正ベクトル、２次修正ベクトル、・・・及びｎ次修正ベクトルからなるｎ個の修正ベクトルを、１次修正ベクトルとｎ次修正ベクトルとからなる第１番目の修正ベクトル、１次修正ベクトルとｎ−１次修正ベクトルとからなる第２番目の修正ベクトル、・・・、１次修正ベクトルと２次修正ベクトルとからなる第ｎ−１番目の修正ベクトルの順に適用して前記対象無線装置の仮の自己位置を推定する処理である。
【００１２】
領域判定処理は、対象無線装置の推定された位置と対象無線装置の１次近傍無線装置の推定された位置との間の線分の垂直二等分線を基準として対象無線装置の２次近傍無線装置の推定された位置が対象無線装置および対象無線装置の１次近傍無線装置のいずれに近いかを判定し、当該判定に引き続いて、対象無線装置と対象無線装置の２次近傍無線装置との共通の１次近傍無線装置の推定された位置と対象無線装置の推定された位置との間の線分の垂直二等分線を基準として対象無線装置の２次近傍無線装置の推定された位置が対象無線装置および共通の１次近傍無線装置のいずれに近いかを共通の１次近傍無線装置を複数回変えて判定する処理である。
【００１３】
位置更新手段は、仮想トポロジー生成手段によって仮想トポロジーが生成されると、位置推定処理において、対象無線装置とｎ次近傍無線装置との間の距離が演算手段によって演算されたｎホップの無線装置間の距離に近づくように第１番目の修正ベクトル、第２番目の修正ベクトル、・・・、第ｎ−１番目の修正ベクトルを順次適用して対象無線装置の仮の自己位置を推定する。
【００１４】
また、この発明の実施の形態によれば、コンピュータに実行させるためのプログラムは、ｍ（ｍは、４以上の整数）個の無線装置の位置推定をコンピュータに実行させるためのプログラムであって、取得手段が、１つの無線装置から１ホップの位置に存在する１次近傍無線装置の情報である隣接無線装置情報をｍ（ｍは、４以上の整数）個の無線装置の各々から取得する第１のステップと、トポロジー生成手段が、ｍ個の無線装置についての隣接無線装置情報に基づいてｍ個の無線装置によって構成される無線ネットワークのトポロジーを生成する第２のステップと、位置情報生成手段が、ｍ個の無線装置の仮の自己位置を示すｍ個の仮の自己位置情報を生成する位置情報生成処理を行う第３のステップと、位置更新手段が、第３のステップにおいて位置情報生成処理が実行されると、無線ネットワークのトポロジーおよびｍ個の仮の自己位置情報に基づいてｍ個の無線装置の各々について位置推定処理を所望回数実行してｍ個の無線装置の位置を更新する更新処理を行う第４のステップと、判定手段が、第４のステップにおいて更新処理が実行されると、１つの無線装置の推定された位置が１つの無線装置の隣接無線装置よりも１つの無線装置から２ホップの位置に存在する２次近傍無線装置に近いことを示すトポロジー矛盾の有無を領域判定処理によって判定する判定処理を行う第５のステップと、演算手段が、第５のステップにおいてトポロジー矛盾が無いと判定されると、ｍ個の無線装置の更新されたｍ個の更新位置を用いてｎ（ｎは１以上の整数）ホップの無線装置間の距離、ｎホップの無線装置間の距離の平均値およびｎホップの無線装置間の距離の期待値を演算する第６のステップと、仮想トポロジー生成手段が、第６のステップにおいて演算されたｎホップの無線装置間の距離の平均値とｎホップの無線装置間の距離の期待値とに基づいてｍ個の無線装置のうちの位置推定の対象となる対象無線装置からｎホップ目までの各位置における無線通信のカバレッジを求め、追加された仮想の無線装置の隣接無線装置情報とｍ個の無線装置の更新された隣接無線装置情報とをカバレッジを用いて作成し、その作成した仮想の無線装置の隣接無線装置情報とｍ個の無線装置の更新された隣接無線装置情報とを用いて無線ネットワークの仮想トポロジーを生成する第７のステップとを備え、位置情報生成手段は、第５のステップにおいてトポロジー矛盾が有ると判定される毎、または第７のステップにおいて仮想トポロジーが生成される毎に位置情報生成処理を実行し、位置推定処理は、対象無線装置の仮の自己位置情報と対象無線装置からｎホップの位置に存在するｎ次近傍無線装置の仮の自己位置情報とに基づいて計算された対象無線装置とｎ次近傍無線装置との間の距離がｎホップのホップ数からなる距離に近づくように対象無線装置の仮の自己位置を対象無線装置からのホップ数ｎに応じてそれぞれ修正するための１次修正ベクトル、２次修正ベクトル、・・・及びｎ次修正ベクトルからなるｎ個の修正ベクトルを、１次修正ベクトルとｎ次修正ベクトルとからなる第１番目の修正ベクトル、１次修正ベクトルとｎ−１次修正ベクトルとからなる第２番目の修正ベクトル、・・・、１次修正ベクトルと２次修正ベクトルとからなる第ｎ−１番目の修正ベクトルの順に適用して前記対象無線装置の仮の自己位置を推定する処理であり、領域判定処理は、対象無線装置の推定された位置と対象無線装置の１次近傍無線装置の推定された位置との間の線分の垂直二等分線を基準として対象無線装置の２次近傍無線装置の推定された位置が対象無線装置および対象無線装置の１次近傍無線装置のいずれに近いかを判定し、当該判定に引き続いて、対象無線装置と対象無線装置の２次近傍無線装置との共通の１次近傍無線装置の推定された位置と対象無線装置の推定された位置との間の線分の垂直二等分線を基準として対象無線装置の２次近傍無線装置の推定された位置が対象無線装置および共通の１次近傍無線装置のいずれに近いかを共通の１次近傍無線装置を複数回変えて判定する処理であり、位置更新手段は、第７のステップにおいて仮想トポロジーが生成されると、第４のステップの位置推定処理において、対象無線装置とｎ次近傍無線装置との間の距離が第６のステップにおいて演算されたｎホップの無線装置間の距離に近づくように第１番目の修正ベクトル、第２番目の修正ベクトル、・・・、第ｎ−１番目の修正ベクトルを順次適用して対象無線装置の仮の自己位置を推定する、コンピュータに実行させるためのプログラムである。
【００１５】
さらに、この発明の実施の形態によれば、コンピュータ読み取り可能な記録媒体は、請求項６から請求項１０のいずれか一項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１６】
この発明の実施の形態によれば、領域判定を用いてトポロジーの折れ曲がりによるトポロジー矛盾の有無を検出し、トポロジー矛盾が有ると、そのトポロジー矛盾が無いようにｍ個の無線装置の位置を推定するので、ｍ個の無線装置の位置を高精度に推定できる。
【図面の簡単な説明】
【００１７】
【図１】この発明の実施の形態による無線ネットワークの構成を示す概略図である。
【図２】図１に示すセンサーノードの構成を示す概略図である。
【図３】図１に示すシンクの構成を示す概略図である。
【図４】図１に示す位置推定装置の構成を示す概略図である。
【図５】トポロジー矛盾を示す概念図である。
【図６】領域判定を説明するための概念図である。
【図７】推定カバレッジの概念図である。
【図８】ホップ数とセンサーノード間の距離の期待値との関係を示す図である。
【図９】カバレッジＲを用いて仮想センサーノードの隣接センサーノード情報の作成および実センサーノードの隣接センサーノード情報の更新を行う方法を説明するための図である。
【図１０】図１に示す位置推定装置におけるセンサーノードの位置の推定方法を説明するためのフローチャートである。
【図１１】図１０に示すステップＳ１０の詳細な動作を説明するためのフローチャートである。
【図１２】位置推定の誤りの平均とセンサーノードの個数との関係を示す図である。
【図１３】距離のエラーとセンサーノードの個数との関係を示す図である。
【図１４】シミュレーションの諸元を示す図である。
【図１５】本発明の実施の形態による位置推定方法におけるパラメータ諸元を示す図である。
【図１６】通信回数とセンサーノードの個数との関係を示す図である。
【図１７】障害物により構成されるネットワークのトポロジーの形状を示す図である。
【図１８】Ｃ型トポロジーにおける相対位置評価と絶対位置評価を示す図である。
【図１９】Ｌ型トポロジーにおける相対位置評価と絶対位置評価を示す図である。
【図２０】Ｈ型トポロジーにおける相対位置評価と絶対位置評価を示す図である。
【図２１】Ｏ型トポロジーにおける相対位置評価と絶対位置評価を示す図である。
【図２２】Ｃ型トポロジーにおけるアンカーノードの個数に応じたＤＶ−ｈｏｐの位置推定誤差を示す図である。
【図２３】Ｃ型トポロジーにおけるオリジナルのトポロジーと本発明の位置推定方法とＤＶ−ｈｏｐそれぞれの推定トポロジーを示す図である。
【図２４】Ｌ型トポロジーにおけるオリジナルのトポロジーと本発明の位置推定方法とＤＶ−ｈｏｐそれぞれの推定トポロジーを示す図である。
【図２５】Ｈ型トポロジーにおけるオリジナルのトポロジーと本発明の位置推定方法とＤＶ−ｈｏｐそれぞれの推定トポロジーを示す図である。
【図２６】Ｏ型トポロジーにおけるオリジナルのトポロジーと本発明の位置推定方法とＤＶ−ｈｏｐそれぞれの推定トポロジーを示す図である。
【発明を実施するための形態】
【００１８】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００１９】
図１は、この発明の実施の形態による無線ネットワークの構成を示す概略図である。図１を参照して、この発明の実施の形態による無線ネットワーク１０は、センサーノード１〜７と、シンク８とを備える。
【００２０】
センサーノード１〜７のうちの３個のセンサーノードは、アンカーノードである。センサーノード１〜７は、無線通信空間に配置される。センサーノード１〜７の各々は、温度、湿度、および回転速度等のセンサー値を検出し、その検出したセンサー値を無線通信によってシンク８へ送信する。
【００２１】
また、センサーノード１〜７の各々は、自己の識別情報（例えば、アドレス）を含む広告パケットを生成し、その生成した広告パケットをブロードキャストする。そして、センサーノード１〜７の各々は、他のセンサーノードから広告パケットを受信すると、その受信した広告パケットに含まれる識別情報を検出する。この場合、センサーノード１〜７の各々は、複数の広告パケットを受信した場合、複数の広告パケットから複数の識別情報を検出する。
【００２２】
そうすると、センサーノード１〜７の各々は、その検出した少なくとも１つの識別情報からなる識別情報リストを作成し、その作成した識別情報リストと自己の識別情報とを対応付けた隣接センサーノード情報を生成し、その生成した隣接センサーノード情報を含むパケットＰＫＴ＿ＤＴＧを生成してシンク８へ送信する。この隣接センサーノード情報は、各センサーノード１〜７が他のセンサーノードから直接受信した広告パケットから検出した識別情報を含むので、各センサーノード１〜７から１ホップの位置に存在するセンサーノードの情報を示す。
【００２３】
なお、図１においては、センサーノード１〜７の全てがパケットＰＫＴ＿ＤＴＧをシンク８へ直接送信するように図示しているが、パケットＰＫＴ＿ＤＴＧがセンサーノード１〜７からシンク８へ直接送信できない場合、センサーノード１〜７からのパケットＰＫＴ＿ＤＴＧをマルチホップでシンク８へ送信する。
【００２４】
シンク８は、センサーノード１〜７の各々からパケットＰＫＴ＿ＤＴＧを受信し、その受信したパケットＰＫＴ＿ＤＴＧから隣接センサーノード情報を検出し、その検出した隣接センサーノード情報を位置推定装置９へ送信する。
【００２５】
位置推定装置９は、例えば、クラウド上に設置される。そして、位置推定装置９は、シンク８から隣接センサーノード情報を受信する。これによって、位置推定装置９は、センサーノード１〜７の全てから隣接センサーノード情報を取得する。位置推定装置９は、隣接センサーノード情報を取得すると、その取得した隣接センサーノード情報に基づいて、センサーノード１〜７の配置関係を示すトポロジーを作成する。その後、位置推定装置９は、その作成したトポロジーに基づいて、後述する方法によってセンサーノード１〜７の位置を推定する。
【００２６】
図２は、図１に示すセンサーノード１の構成を示す概略図である。図２を参照して、センサーノード１は、アンテナ１１と、送受信部１２と、制御部１３とを含む。なお、図２においては、センサーノード１が搭載するセンサーを図示していないが、センサーノード１は、センサーを搭載している。
【００２７】
送受信部１２は、アンテナ１１を介して広告パケットを受信し、その受信した広告パケットを制御部１３へ出力する。
【００２８】
また、送受信部１２は、センサーノード１の識別情報を含む広告パケットを制御部１３から受けると、その受けた広告パケットをアンテナ１１を介してブロードキャストする。
【００２９】
さらに、送受信部１２は、隣接センサーノード情報を含むパケットＰＫＴ＿ＤＴＧを制御部１３から受けると、その受けたパケットＰＫＴ＿ＤＴＧをアンテナ１１を介してシンク８へ送信する。
【００３０】
制御部１３は、センサーノード１の識別情報Ａｄｄｒｅｓｓ１を予め保持している。制御部１３は、識別情報Ａｄｄｒｅｓｓ１を含む広告パケットを生成し、その生成した広告パケットを送受信部１２へ出力する。
【００３１】
制御部１３は、送受信部１２から広告パケットを受けると、その受けた広告パケットから識別情報を検出する。例えば、センサーノード１がセンサーノード２，４，５から広告パケットを受信した場合、制御部１３は、３個の広告パケットからそれぞれ識別情報Ａｄｄｒｅｓｓ２，Ａｄｄｒｅｓｓ４，Ａｄｄｒｅｓｓ５を検出する。そして、制御部１３は、識別情報Ａｄｄｒｅｓｓ１と識別情報Ａｄｄｒｅｓｓ２，Ａｄｄｒｅｓｓ４，Ａｄｄｒｅｓｓ５とを対応付けた隣接センサーノード情報を生成し、その生成した隣接センサーノード情報を含むパケットＰＫＴ＿ＤＴＧを生成して送受信部１２へ出力する。
【００３２】
なお、図１に示すセンサーノード２〜７の各々も、図２に示すセンサーノード１と同じ構成からなる。
【００３３】
図３は、図１に示すシンク８の構成を示す概略図である。図３を参照して、シンク８は、アンテナ８１と、送受信部８２と、制御部８３とを含む。
【００３４】
送受信部８２は、アンテナ８１を介してパケットＰＫＴ＿ＤＴＧを受信し、その受信したパケットＰＫＴ＿ＤＴＧを制御部８３へ出力する。
【００３５】
また、送受信部８２は、制御部８３から隣接センサーノード情報を受けると、その受けた隣接センサーノード情報をアンテナ８１およびインターネットを介して位置推定装置９へ送信する。
【００３６】
制御部８３は、送受信部８２からパケットＰＫＴ＿ＤＴＧを受けると、その受けたパケットＰＫＴ＿ＤＴＧから隣接センサーノード情報を検出し、その検出した隣接センサーノード情報を送受信部８２へ出力する。
【００３７】
図４は、図１に示す位置推定装置９の構成を示す概略図である。図４を参照して、位置推定装置９は、受信部９１と、取得手段９２と、トポロジー生成手段９３と、位置更新手段９４と、位置情報生成手段９５と、変換手段９６と、判定手段９７と、演算手段９８と、仮想トポロジー生成手段９９とを含む。
【００３８】
受信部９１は、シンク８からインターネットを介して隣接センサーノード情報を受信し、その受信した隣接センサーノード情報を取得手段９２へ出力する。
【００３９】
取得手段９２は、受信部９１から隣接センサーノード情報を受ける。そして、取得手段９２は、全ての隣接センサーノード情報を受信部９１から受けると、その受けた全ての隣接センサーノード情報をトポロジー生成手段９３および位置情報生成手段９５へ出力する。
【００４０】
トポロジー生成手段９３は、隣接センサーノード情報を取得手段９２から受ける。そして、トポロジー生成手段９３は、隣接センサーノード情報に基づいて、無線ネットワーク１０におけるセンサーノード１〜７の配置関係を示すトポロジーを生成する。そうすると、トポロジー生成手段９３は、その生成したトポロジーを位置更新手段９４へ出力する。
【００４１】
位置更新手段９４は、トポロジー生成手段９３からセンサーノード１〜７のトポロジーを受け、位置情報生成手段９５からセンサーノード１〜７の仮の自己位置情報を受ける。そして、位置更新手段９４は、センサーノード１〜７のトポロジーおよび仮の自己位置情報に基づいて、後述する方法によってセンサーノード１〜７の位置を推定する。
【００４２】
位置更新手段９４は、センサーノード１〜７の位置推定を予め設定された設定回数行うと、その推定したセンサーノード１〜７の位置を変換手段９６へ出力する。
【００４３】
位置更新手段９４は、センサーノード１〜７の推定位置を１回目に変換手段９６へ出力した後、後述する距離Ｄ＿ｃａｌを演算手段９８から受け、仮想トポロジーを仮想トポロジー生成手段９９から受けると、その受けた距離Ｄ＿ｃａｌおよび仮想トポロジーを用いて後述する方法によってセンサーノード１〜７の位置推定を予め設定された設定回数行う。
【００４４】
位置情報生成手段９５は、取得手段９２から隣接センサーノード情報を受け、その受けた隣接センサーノード情報に基づいて、無線ネットワーク１０を構成するセンサーノード１〜７を認識する。
【００４５】
そして、位置情報生成手段９５は、その認識したセンサーノード１〜７の仮の自己位置を示す仮の自己位置情報をランダムに生成する。この場合、位置情報生成手段９５は、センサーノードｉ（ｉ＝１〜７）の仮の自己位置のｔ（ｔは正の整数）回目の更新時に仮の自己位置ｗｉ（ｔ）をランダムに生成する。仮の自己位置ｗｉ（ｔ）は、２次元の位置情報からなる。
【００４６】
また、位置情報生成手段９５は、後述するトポロジー矛盾が有ることを示す信号ＴＰ＿ｉｎｃｏｓを判定手段９７から受けたとき、または仮想トポロジーを生成したことを示す信号ＶＴＰを仮想トポロジー生成手段９９から受けたとき、センサーノード１〜７の仮の自己位置情報をランダムに生成する。
【００４７】
そうすると、位置情報生成手段９５は、その生成したセンサーノード１〜７の仮の自己位置情報を位置更新手段９４へ出力する。
【００４８】
変換手段９６は、アンカーノードの絶対位置を予め保持している。変換手段９６は、センサーノード１〜７の推定された推定位置を位置更新手段９４から受け、その受けたセンサーノード１〜７の推定位置とアンカーノードの絶対位置とに基づいて、後述する方法によってセンサーノード１〜７の推定位置を絶対位置に変換する。そして、変換手段９６は、その変換したセンサーノード１〜７の絶対位置を判定手段９７へ出力する。
【００４９】
判定手段９７は、センサーノード１〜７の絶対位置を変換手段９６から受け、その受けたセンサーノード１〜７の絶対位置に基づいて、後述する方法によってトポロジー矛盾の有無を判定する。
【００５０】
そして、判定手段９７は、トポロジー矛盾が有ると判定したとき、信号ＴＰ＿ｉｎｃｏｓを位置情報生成手段９５へ出力する。
【００５１】
一方、判定手段９７は、トポロジー矛盾が無いと判定したとき、トポロジー矛盾が無いことを示す信号ＴＰ＿ｃｏｓおよびセンサーノード１〜７の絶対位置を演算手段９８および仮想トポロジー生成手段９９へ出力する。
【００５２】
演算手段９８は、信号ＴＰ＿ｃｏｓおよびセンサーノード１〜７の絶対位置を判定手段９７から受けると、センサーノード１〜７の絶対位置に基づいて、センサーノード１〜７の各々を位置推定の対象とした対象センサーノードからｎ（ｎは１≦ｎ≦最大ホップ数）ホップの位置までの距離Ｄ＿ｃａｌ、対象センサーノードからｎホップの位置までの距離Ｄ＿ｃａｌの平均Ｍ、および対象センサーノードからｎホップの位置までの距離Ｄ＿ｃａｌの期待値Ｅを演算する。
【００５３】
そして、演算手段９８は、その演算した距離Ｄ＿ｃａｌを位置更新手段９４へ出力し、その演算した平均Ｍおよび期待値Ｅを仮想トポロジー生成手段９９へ出力する。
【００５４】
仮想トポロジー生成手段９９は、判定手段９７から信号ＴＰ＿ｃｏｓおよびセンサーノード１〜７の絶対位置を受け、演算手段９８から平均Ｍおよび期待値Ｅを受ける。そして、仮想トポロジー生成手段９８は、平均Ｍおよび期待値Ｅに基づいて後述する方法によって無線通信のカバレッジを求め、その求めた無線通信のカバレッジおよびセンサーノード１〜７の絶対位置に基づいて、後述する方法によって仮想トポロジーを生成する。そして、仮想トポロジー生成手段９９は、その生成した仮想トポロジーを位置更新手段９４へ出力する。
【００５５】
［トポロジーの生成］
トポロジー生成手段９３におけるトポロジーの生成方法について説明する。
【００５６】
（１）センサーノードｉの隣接センサーノード情報に含まれるセンサーノードをセンサーノードｉの１次近傍センサーノードｊ（ｊは、ｉ≠ｊを満たし、１〜７）とする。
【００５７】
（２）１次近傍センサーノードｊの隣接センサーノード情報に含まれるセンサーノードで、センサーノードｉの隣接センサーノード情報に含まれないセンサーノードを、センサーノードｊを中継センサーノードとするセンサーノードｉの２次近傍センサーノードとする。
【００５８】
（３）同様に、ｎ次近傍センサーノードｘの隣接センサーノード情報に含まれて、（ｎ−１）次までの近傍センサーノード群の隣接センサーノード情報に含まれないセンサーノードを、センサーノードｘを中継センサーノードとするセンサーノードｉの（ｎ＋１）次近傍センサーノードとする。
【００５９】
（４）上記（１）〜（３）を再帰的に繰り返し、センサーノードｉの近傍トポロジーを拡大し、ネットワーク全体を通してセンサーノードｉの多次近傍センサーノードを設定する。
【００６０】
トポロジー生成手段９３は、上記（１）〜（４）をセンサーノード１〜７の全体について実行し、センサーノード１〜７のトポロジーを生成する。
【００６１】
［位置推定方法］
位置更新手段９４における位置推定方法について説明する。
【００６２】
トポロジーの生成において説明したように、トポロジーは、センサーノードｉからｎ次近傍センサーノードまでを考慮して生成されるので、位置更新手段９４は、センサーノード１〜７のトポロジーを用いてセンサーノードｉの仮の自己位置ｗｉ（ｔ）を更新する場合、センサーノードｉからｎホップ目の位置に存在するｎ次近傍センサーノード以下のセンサーノード（＝多次近傍センサーノード）を認識できる。
【００６３】
多次近傍センサーノードの情報は、ホップ数に応じてセンサーノード間の距離が増加するように構成されている。すなわち、センサーノードｉの位置更新のために選択されるセンサーノードは、センサーノードｉからｎ次近傍センサーノード以下であり、かつ、センサーノードｉからの（ｎ−１）次近傍センサーノードのいずれのセンサーノードよりもセンサーノードｉから遠方に位置する条件を満たす。
【００６４】
従って、１ホップのセンサーノード間の距離を一定距離ｄとすると、センサーノードｉからｎ次近傍センサーノードまでの距離は、一定距離ｄ×ホップｎ＝ｎｄで表される。
【００６５】
そして、この発明の実施の形態においては、位置推定の対象となるセンサーノードｉの仮の自己位置を更新する場合、センサーノードｉの仮の自己位置ｗｉ（ｔ）とｎ次近傍センサーノードの仮の自己位置ｗｎ（ｔ）とを用いて計算された距離｜ｗｉ（ｔ）−ｗｎ（ｔ）｜がセンサーノードｉからｎ次近傍センサーノードまでのホップ数からなる距離ｎｄに近づくようにセンサーノードｉの仮の自己位置ｗｉ（ｔ）を修正する。
【００６６】
この場合、ｎ次近傍センサーノードの仮の自己位置ｗｎ（ｔ）を用いてセンサーノードｉの仮の自己位置ｗｉ（ｔ）を修正するときのｎ次修正ベクトルは、次式によって求められる。
【００６７】
【数１】
0006467334.tif 000002
【００６８】
そして、この発明の実施の形態においては、位置修正の初期段階においては、広い範囲の近傍センサーノードを用いて大域的にトポロジーを形成し、修正段階の進行に伴い、位置修正に使用する近傍センサーノードのホップ数を減少させて、局所的かつ詳細なトポロジーを形成し、収束させる。
【００６９】
従って、次式（２）に従ってセンサーノードｉの仮の自己位置ｗｉ（ｔ）を更新する。
【００７０】
【数２】
0006467334.tif 000003
【００７１】
式（２）において、τｎは、ホップ数ｎにおける更新終了の閾値を示し、τｎ−１は、ホップ数ｎにおける更新開始の閾値を示す。また、式（２）において、αｉ（ｔ）は、ｔ回目の修正におけるセンサーノードｉの学習関数であり、次式（３）によって決定される。
【００７２】
【数３】
0006467334.tif 000004
【００７３】
式（３）において、ηは、正の減衰定数である。また、学習関数αｉ（ｔ）の初期値αｉ（０）は、１である。
【００７４】
最大ホップ数から３ホップまでは、更新回数を均等とし、２ホップは、局所的な位置推定を行うため、他のホップ数における更新回数の２倍の割合として、最大ホップ数から降順に更新開始および更新終了の閾値を設定する。
【００７５】
そして、位置更新手段９４は、式（２）の右辺の最上段の修正ベクトルから最下段の修正ベクトルまでを順次適用して式（２）に従ってセンサーノードｉの仮の自己位置ｗｉ（ｔ）を更新する。
【００７６】
式（２）の右辺の最上段の修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛ｎ｝（ｔ））は、１次修正ベクトルとｎ次修正ベクトルとの和からなり、上から２番目の修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛ｎ−１｝（ｔ））は、１次修正ベクトルと（ｎ−１）次修正ベクトルとの和からなり、以下同様にして、下から２番目の修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛３｝（ｔ））は、１次修正ベクトルと３次修正ベクトルとの和からなり、最下段の修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛２｝（ｔ））は、１次修正ベクトルと２次修正ベクトルとの和からなる。
【００７７】
従って、位置更新手段９４は、センサーノード１の１次近傍センサーノードとｎ次近傍センサーノードとを用いてセンサーノードｉの仮の自己位置ｗｉ（ｔ）を更新し、その後、センサーノード１の１次近傍センサーノードと（ｎ−１）次近傍センサーノードとを用いてセンサーノードｉの仮の自己位置ｗｉ（ｔ）を更新し、以下、同様にして、センサーノード１の１次近傍センサーノードと３次近傍センサーノードとを用いてセンサーノードｉの仮の自己位置ｗｉ（ｔ）を更新し、最終的に、センサーノード１の１次近傍センサーノードと２次近傍センサーノードとを用いてセンサーノードｉの仮の自己位置ｗｉ（ｔ）を更新する。
【００７８】
これによって、センサーノードｉの仮の自己位置ｗｉ（ｔ）を大局的から局所的に更新でき、センサーノードｉの仮の自己位置ｗｉ（ｔ）を一定の位置に収束させることができる。
【００７９】
修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛ｎ｝（ｔ））、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛ｎ−１｝（ｔ））、・・・、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛３｝（ｔ））を用いた仮の自己位置ｗｉ（ｔ）の更新回数は、相互に均等であり、修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛２｝（ｔ））を用いた仮の自己位置ｗｉ（ｔ）の更新回数は、修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛ｎ｝（ｔ））、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛ｎ−１｝（ｔ））、・・・、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛３｝（ｔ））を用いた仮の自己位置ｗｉ（ｔ）の更新回数の２倍である。
【００８０】
従って、１０次修正ベクトル（ｎ＝１０）までを用いてセンサーノードｉの仮の自己位置ｗｉ（ｔ）を更新する場合、修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛１０｝（ｔ））、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛９｝（ｔ））、・・・、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛３｝（ｔ））を用いた更新回数を１回とすれば、修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛２｝（ｔ））を用いた更新回数は、２回である。その結果、全ての修正ベクトルを用いた更新回数は、１０回となる。
【００８１】
また、修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛１０｝（ｔ））、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛９｝（ｔ））、・・・、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛３｝（ｔ））を用いた更新回数を２回とすれば、修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛２｝（ｔ））を用いた更新回数は、４回である。その結果、全ての修正ベクトルを用いた更新回数は、２０回となる。
【００８２】
更に、修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛１０｝（ｔ））、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛９｝（ｔ））、・・・、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛３｝（ｔ））を用いた更新回数を３回とすれば、修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛２｝（ｔ））を用いた更新回数は、６回である。その結果、全ての修正ベクトルを用いた更新回数は、３０回となる。
【００８３】
従って、修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛１０｝（ｔ））、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛９｝（ｔ））、・・・、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛３｝（ｔ））を用いた更新回数をｐ（ｐは整数）回とすれば、全ての修正ベクトルを用いた更新回数は、一般的には、８ｐ＋２ｐ＝１０ｐ回となる。
【００８４】
更新回数１０ｐにおける”１０”は、ｎ次修正ベクトルのｎ＝１０に等しいので、式（２）の右辺における全ての修正ベクトルを用いた更新回数は、一般的には、ｎｐ回となる。
【００８５】
従って、式（２）を用いた仮の自己位置ｗｉ（ｔ）の更新回数は、ｎを決定し、その後、ｐを決定することにより、決定される。ｎを決定することは、センサーノードｉからどの程度のホップ数の位置に存在する近傍センサーノードの仮の自己位置を仮の自己位置ｗｉ（ｔ）の更新に用いるかを決定することに相当する。また、ｐを決定することは、仮の自己位置ｗｉ（ｔ）を大局的に更新する回数を決定することに相当する。
【００８６】
［トポロジー矛盾の判定］
（Ｉ）距離判定
図５は、トポロジー矛盾を示す概念図である。図５を参照して、センサーノードｉは、仮の自己位置ｗｉ（ｔ）に存在する。そして、センサーノードｉから距離ｄ１の位置に１次近傍センサーノードが存在し、センサーノードｉから距離ｄ２の位置に２次近傍センサーノードが存在する。
【００８７】
その結果、センサーノードｉの仮の自己位置ｗｉ（ｔ）は、１次近傍センサーノードよりも２次近傍センサーノードに近い。これは、２次近傍センサーノードがセンサーノードｉから１次近傍センサーノードよりも遠い位置に存在すると言う本来のトポロジーに明らかに矛盾する。
【００８８】
従って、位置推定の対象であるセンサーノードｉの仮の自己位置ｗｉ（ｔ）が１次近傍センサーノードよりも２次近傍センサーノードに近いことをトポロジー矛盾と言う。
【００８９】
そして、位置推定の対象であるセンサーノードｉの仮の自己位置ｗｉ（ｔ）が１次近傍センサーノードよりも２次近傍センサーノードに近いか否かの判定を複数の１次近傍センサーノードと２次近傍センサーノードで実施し、次式を満たさない場合、センサーノードｉの推定位置は、トポロジー矛盾有りと判定する。
【００９０】
【数４】
0006467334.tif 000005
【００９１】
式（４）において、Ｉｉ｛２｝は、センサーノードｉにおいてトポロジー矛盾と判定した２次近傍センサーノードの個数を示し、Ｎｉ｛２｝は、トポロジー矛盾の判定に用いた２次近傍センサーノードの個数を示し、λは、トロポジー矛盾の閾値である。
【００９２】
上記の判定は、距離を用いて行われるので、距離判定と言う。
【００９３】
（ＩＩ）領域判定
図６は、領域判定を説明するための概念図である。
【００９４】
図５に示すように、トポロジー矛盾有りと判定される場合、トポロジーの折れ曲がりが発生する。そして、このトポロジーの折れ曲がりは、センサーノードｉから１次近傍センサーノードまでの距離と、センサーノードｉから２次近傍センサーノードまでの距離とを用いた判定（上述の距離判定）によって検知できない場合がある。
【００９５】
図６の（ａ）に示すように、センサーノードｉ、センサーノードｉの１次近傍センサーノードｊ、およびセンサーノードｉの２次近傍センサーノードであり、かつ、１次近傍センサーノードｊの１次近傍センサーノードであるセンサーノードｌの推定位置をそれぞれｗｉ，ｗｊ，ｗｌとし、センサーノードｌの真の位置をＷｌとすると、ｗｌは、折れ曲がりトポロジーの要因となる。
【００９６】
この場合、ｗｉ，ｗｊを基準点とするｗｌのトポロジー矛盾判定は、ｗｌのトポロジー矛盾を検知できる範囲｜ｗｌ−ｗｉ｜≦｜ｗｊ−ｗｉ｜の外にある（＝トポロジー矛盾無しの条件を満たす）ので、ｗｌによる折れ曲がりを検知できない。すなわち、上述した距離判定によるトポロジー矛盾判定は、折れ曲がりトポロジーを十分に検知可能とする領域をカバーできていない。
【００９７】
そこで、次のように、トポロジー矛盾判定の適応領域を拡大する。
【００９８】
図６の（ｂ）を参照して、基準点ｗｉ，ｗｊにおいて、線分Ｌ１＝ｗｊ−ｗｉの垂直２等分線Ｌ１Ｈを用いてｗｌがｗｉ，ｗｊのいずれかに近い領域に空間を２分割する。
【００９９】
この場合、垂直２等分線Ｌ１Ｈの左側の領域（斜線を施した領域）は、ｗｌがｗｉに近い領域であり、垂直２等分線Ｌ１Ｈの右側の領域は、ｗｌがｗｊに近い領域である。
【０１００】
センサーノードｌは、センサーノードｉの２次近傍センサーノードであるので、ｗｌは、ｗｊに近い領域内に位置しなければならない。
【０１０１】
従って、ｗｌがｗｉに近い領域（斜線を施した領域）に位置する場合（｜ｗｌ―ｗｉ｜≦｜ｗｌ―ｗｊ｜）、トポロジー矛盾有りと判定する。
【０１０２】
更に、折れ曲がりによるトポロジー矛盾の検知領域を拡大するために、図６の（ｃ）に示すように、センサーノードｊに加えてセンサーノードｉとセンサーノードｌの共通の１次近傍センサーノードｋを基準点として用いる。そして、基準点ｗｉ，ｗｋにおいて、線分Ｌ２＝ｗｋ−ｗｉの垂直２等分線Ｌ２Ｈを用いてｗｌがｗｉ，ｗｋのいずれかに近い領域に空間を２分割する。
【０１０３】
この場合、垂直２等分線Ｌ２Ｈの左側の領域（斜線を施した領域）は、ｗｌがｗｉに近い領域であり、垂直２等分線Ｌ２Ｈの右側の領域は、ｗｌがｗｋに近い領域である。
【０１０４】
センサーノードｌは、センサーノードｉの２次近傍センサーノードであるので、ｗｌは、ｗｋに近い領域内に位置しなければならない。
【０１０５】
従って、ｗｌがｗｉに近い領域（斜線を施した領域）に位置する場合（｜ｗｌ―ｗｉ｜≦｜ｗｌ―ｗｋ｜）、トポロジー矛盾有りと判定する。
【０１０６】
図６の（ｃ）に示す領域判定は、共通の１次近傍センサーノードの組み合わせを複数回変えて実施される。そして、複数回実施した結果において、式（５）を満たさない場合、トポロジー矛盾有りと判定する。
【０１０７】
【数５】
0006467334.tif 000006
【０１０８】
式（５）において、Ａは、共通１次近傍群を用いた領域判定を行った回数を示し、ａは、トポロジー矛盾の発生回数を示し、βは、閾値である。
【０１０９】
図６の（ｂ），（ｃ）に示す２つの領域判定を順次適用することにより、折れ曲がりによるトポロジー矛盾の検知領域を拡大でき、折れ曲がりによるトポロジー矛盾を効果的に検知できる。
【０１１０】
上述した距離判定および領域判定の少なくとも１つによってトポロジー矛盾有りと判定された場合、センサーノードｉの学習関数αｉ（ｔ）を初期値（＝１）に戻し、位置推定処理を再度実行する。
【０１１１】
［仮想トポロジーの生成］
上述したトポロジー矛盾の判定において、トポロジー矛盾無しと判定された場合、推定位置は、高い精度で推定された位置となる。すなわち、各センサーノードの推定位置から得られるセンサーノード間の距離も、精度が高いと仮定できる。
【０１１２】
そこで、センサーノード間の距離を用いて次のようにネットワークのトポロジーを再設定する。
【０１１３】
（Ｉ）センサーノード間の距離の変更
センサーノード間の距離をホップ数から推定位置に基づいて得られるセンサーノード間の距離に変更する。すなわち、高い精度を有するセンサーノード間の距離を用いることによって位置推定の精度を向上させる。
【０１１４】
（ＩＩ）仮想センサーノードの追加
センサーノードの推定位置に基づいて、各センサーノードの隣接（１ホップ）センサーノードとの間の距離の平均Ｍ（１）を算出する。
【０１１５】
無線通信のカバレッジをＲとすると、カバレッジＲ内にセンサーノードが一様に分布する場合、カバレッジＲを有するセンサーノードの近傍センサーノードまでの距離の期待値ｄ｛ｎ｝は、次式によって決定される。
【０１１６】
【数６】
0006467334.tif 000007
【０１１７】
式（６）において、ｘは、（ｎ−１）Ｒ≦ｘ≦ｎＲを満たす。
【０１１８】
カバレッジＲを有するセンサーノードと、そのセンサーノードから１ホップの位置に存在するセンサーノードとの間の距離の期待値ｄ｛１｝と平均Ｍ｛１｝とからカバレッジＲを求める。この求めたカバレッジＲを推定カバレッジＲとする。
【０１１９】
そして、任意の仮想センサーノードを既に作成されたトポロジー内に配置し、推定カバレッジＲを用いて仮想センサーノードの隣接センサーノード情報の作成と、実際のセンサーノードの隣接センサーノード情報の更新を行い、仮想トポロジーを生成する。
【０１２０】
図７は、推定カバレッジの概念図である。また、図８は、ホップ数とセンサーノード間の距離の期待値との関係を示す図である。
【０１２１】
図８におけるセンサーノード間の距離の期待値ｄ｛ｎ｝は、式（６）を用いて計算された期待値である。
【０１２２】
図７を参照して、センサーノードｉから（ｎ−１）ホップまでのカバレッジは、（ｎ−１）Ｒによって表され、センサーノードｉからｎホップまでのカバレッジは、ｎＲによって表される。そして、カバレッジ（ｎ−１）Ｒ，ｎＲは、同心円状に配置される。
【０１２３】
その結果、センサーノードｉからｎホップのセンサーノードは、カバレッジｎＲからカバレッジ（ｎ−１）Ｒを除いた領域内に位置する。
【０１２４】
各センサーノードの推定位置に基づいて、１ホップの位置に存在するセンサーノードまでの距離の平均Ｍ｛１｝、２ホップの位置に存在するセンサーノードまでの距離の平均Ｍ｛２｝、・・・、ｎホップの位置に存在するセンサーノードまでの距離の平均Ｍ｛ｎ｝を計算することができる。
【０１２５】
図８に示す期待値ｄ｛ｎ｝によれば、１ホップの位置に存在するセンサーノードまでの距離の期待値ｄ｛１｝は、ｄ｛１｝＝０．６７Ｒによって表され、２ホップの位置に存在するセンサーノードまでの距離の期待値ｄ｛２｝は、ｄ｛２｝＝１．５６Ｒによって表され、３ホップの位置に存在するセンサーノードまでの距離の期待値ｄ｛３｝は、ｄ｛３｝＝２．５３Ｒによって表され、４ホップの位置に存在するセンサーノードまでの距離の期待値ｄ｛４｝は、ｄ｛４｝＝３．５２Ｒによって表され、５ホップの位置に存在するセンサーノードまでの距離の期待値ｄ｛５｝は、ｄ｛５｝＝４．５２Ｒによって表される。
【０１２６】
従って、計算した平均Ｍ｛１｝をｄ｛１｝＝０．６７Ｒの期待値ｄ｛１｝に代入することにより、１ホップの位置におけるカバレッジＲ１を算出できる。また、計算した平均Ｍ｛２｝をｄ｛２｝＝１．５６Ｒの期待値ｄ｛２｝に代入することにより、２ホップの位置におけるカバレッジＲ２を算出できる。以下、同様にして、３ホップの位置におけるカバレッジＲ３、４ホップの位置におけるカバレッジＲ４および５ホップの位置におけるカバレッジＲ５を算出できる。
【０１２７】
図９は、カバレッジＲを用いて仮想センサーノードの隣接センサーノード情報の作成および実センサーノードの隣接センサーノード情報の更新を行う方法を説明するための図である。
【０１２８】
図９を参照して、実センサーノードであるセンサーノード１〜７がそれぞれ推定位置ｗ１〜ｗ７に配置されている。
【０１２９】
そして、４個の仮想センサーノードＶ１〜Ｖ４をそれぞれ位置ｗＶ１〜ｗＶ４に配置する。
【０１３０】
センサーノード１から１ホップ、２ホップ、３ホップ、４ホップおよび５ホップのカバレッジＲ１〜Ｒ５は、センサーノード１を中心として同心円状に配置される。
【０１３１】
そして、領域ＲＥＧ１〜ＲＥＧ５は、それぞれ、センサーノード１から１ホップのセンサーノード、２ホップのセンサーノード、３ホップのセンサーノード、４ホップのセンサーノード、および５ホップのセンサーノードが位置する領域である。
【０１３２】
センサーノード１を中心として同心円状のカバレッジＲ１〜Ｒ５を配置すると、センサーノード２，７，３は、それぞれ、センサーノード１から１ホップ、２ホップおよび３ホップの位置に配置され、センサーノード４，５は、センサーノード１から４ホップの位置に配置され、センサーノード６は、センサーノード１から５ホップの位置に配置されていることが分かる。
【０１３３】
また、仮想センサーノードＶ１，Ｖ２は、それぞれ、センサーノード１から３ホップおよび４ホップの位置に配置され、仮想センサーノードＶ３，Ｖ４は、センサーノード１から５ホップの位置に配置されていることが分かる。
【０１３４】
そうすると、実センサーノード１〜７および仮想センサーノードＶ１〜Ｖ４が配置された状態で、仮想センサーノードＶ１〜Ｖ４の隣接センサーノード情報を作成し、実センサーノード１〜７の隣接センサーノード情報に仮想センサーノードＶ１〜Ｖ４を追加して実センサーノード１〜７の隣接センサーノード情報を更新する。
【０１３５】
そして、仮想センサーノードＶ１〜Ｖ４の隣接センサーノード情報と、実センサーノード１〜７の更新された隣接センサーノード情報とを用いて仮想トポロジーを生成する。
【０１３６】
演算手段９８は、センサーノード１〜７の推定された推定位置を用いて各センサーノードからｎホップの位置に存在するセンサーノードまでの距離の平均Ｍ｛ｎ｝および期待値ｄ｛ｎ｝を演算し、その演算した平均Ｍ｛ｎ｝および期待値ｄ｛ｎ｝を仮想トポロジー生成手段９９へ出力する。
【０１３７】
仮想トポロジー生成手段９９は、平均Ｍ｛ｎ｝および期待値ｄ｛ｎ｝を演算手段９８から受け、その受けた平均Ｍ｛ｎ｝および期待値ｄ｛ｎ｝を用いてカバレッジＲを求め、その求めたカバレッジＲを用いて、上述した方法によって、仮想トポロジーを生成する。そして、仮想トポロジー生成手段９９は、その生成した仮想トポロジーを位置更新手段９４へ出力する。
【０１３８】
なお、追加する仮想センサーノードの個数は、任意であり、仮想センサーノードの配置位置も任意である。
【０１３９】
［絶対位置への変換］
上述した位置推定処理によって推定される位置は、相対位置である。この相対位置をアンカーノードの推定位置と絶対位置とを用いて絶対位置へ変換する。
【０１４０】
アンカーノードの真位置（＝絶対位置）をＷＡ＝（ＸＡ，ＹＡ）とし、推定位置をｗＡ＝（ｘＡ，ｙＡ）とすると、真位置ＷＡ＝（ＸＡ，ＹＡ）は、推定位置ｗＡ＝（ｘＡ，ｙＡ）を用いて次式のように表される。
【０１４１】
【数７】
0006467334.tif 000008
【０１４２】
３つのアンカーノードから構成される連立方程式（７）から６つの係数ａ，ｂ，ｃ，ｄ，ｔｘ，ｔｙを得ることにより、全てのセンサーノードの推定位置ｗｉ＝（ｘｉ，ｙｉ）は、次式によって絶対位置Ｗｉ＝（Ｘｉ，Ｙｉ）へ変換される。
【０１４３】
【数８】
0006467334.tif 000009
【０１４４】
変換手段９６は、式（７）から係数ａ，ｂ，ｃ，ｄ，ｔｘ，ｔｙを決定し、その決定した係数ａ，ｂ，ｃ，ｄ，ｔｘ，ｔｙを式（８）に代入してセンサーノード１〜７の全ての推定位置を絶対位置に変換する。
【０１４５】
位置推定装置９におけるセンサーノード１〜７の位置の推定方法について説明する。
【０１４６】
図１０は、図１に示す位置推定装置９におけるセンサーノード１〜７の位置の推定方法を説明するためのフローチャートである。
【０１４７】
図１０を参照して、位置の推定が開始されると、位置推定装置９の取得手段９２は、上述した方法によって全てのセンサーノード１〜７の隣接センサーノード情報を取得する（ステップＳ１）。
【０１４８】
そして、取得手段９２は、その取得した隣接センサーノード情報をトポロジー生成手段９３および位置情報生成手段９５へ出力する。
【０１４９】
トポロジー生成手段９３は、隣接センサーノード情報を取得手段９２から受け、その受けた隣接センサーノード情報に基づいて、上述した方法によってネットワーク（無線ネットワーク１０）のトポロジーを生成し（ステップＳ２）、その生成したトポロジーを位置更新手段９４へ出力する。
【０１５０】
位置更新手段９４は、トポロジーをトポロジー生成手段９３から受ける。そして、位置更新手段９４は、トポロジーにおけるセンサーノード１〜７間の距離をホップ数に設定し、位置の更新回数を設定し、トポロジー試行回数の上限を設定する（ステップＳ３）。ここで、センサーノード１〜７間の距離をホップ数に設定するとは、センサーノード１〜７間の距離をホップ数によって表すことであり、１ホップ間の距離をｄで表し、２ホップ間の距離を２ｄで表し、以下、同様にしてｎホップ間の距離をｎｄで表すことを意味する。また、更新回数は、上述した［位置推定方法］の項目で説明した修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛ｎ｝（ｔ））、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛ｎ−１｝（ｔ））、・・・、（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛３｝（ｔ））を用いた仮の自己位置ｗｉ（ｔ）の更新回数を設定することを意味する。更に、トポロジー試行回数の上限は、図１０に示すフローチャートを用いてセンサーノード１〜７の位置を推定する回数の上限値を意味する。
【０１５１】
ステップＳ３の後、位置情報生成手段９５は、隣接センサーノード情報を取得手段９２から受け、その受けた隣接センサーノード情報に基づいて、全てのセンサーノード１〜７を認識し、その認識したセンサーノード１〜７の仮の自己位置ｗｉ（ｔ）をランダムに生成する（ステップＳ４）。
【０１５２】
位置更新手段９４は、位置情報生成手段９５から仮の自己位置ｗｉ（ｔ）を受け、その受けた仮の自己位置ｗｉ（ｔ）および式（１）〜（３）を用いて仮の自己位置ｗｉ（ｔ）を更新回数まで更新する（ステップＳ５）。
【０１５３】
そして、位置更新手段９４は、その更新したセンサーノードｉの位置を変換手段９６へ出力し、変換手段９６は、センサーノードｉの推定位置を位置更新手段９４から受ける。
【０１５４】
その後、変換手段９６は、アンカーノードの真位置と推定位置とを用いて上述した方法によってセンサーノードｉの推定位置を絶対位置に変換する（ステップＳ６）。
【０１５５】
そうすると、変換手段９６は、センサーノードｉの絶対位置を判定手段９７へ出力する。
【０１５６】
判定手段９７は、センサーノードｉの絶対位置を変換手段９６から受け、その受けたセンサーノードｉの絶対位置に基づいて、上述した距離判定を行い、トポロジー矛盾が有るか否かを判定する（ステップＳ７）。
【０１５７】
ステップＳ７において、トポロジー矛盾が有ると判定されたとき、判定手段９７は、信号ＴＰ＿ｉｎｃｏｓを生成して位置情報生成手段９５へ出力し、その後、一連の動作は、ステップＳ４へ戻り、ステップＳ７において、トポロジー矛盾が無いと判定されるまで、ステップＳ４〜ステップＳ７が繰り返し実行される。
【０１５８】
なお、ステップＳ４へ戻るとき、学習関数αｉ（ｔ）は、初期値（＝１）に戻される。また、ステップＳ４へ戻るとき、位置情報生成手段９５は、信号ＴＰ＿ｉｎｃｏｓに応じて、センサーノードｉの仮の自己位置ｗｉ（ｔ）をランダムに生成して位置更新手段９４へ出力する。
【０１５９】
そして、ステップＳ７において、トポロジー矛盾が無いと判定されると、判定手段９７は、上述した領域判定を行い、トポロジー矛盾が有るか否かを判定する（ステップＳ８）。
【０１６０】
ステップＳ８において、トポロジー矛盾が有ると判定されたとき、判定手段９７は、信号ＴＰ＿ｉｎｃｏｓを生成して位置情報生成手段９５へ出力し、その後、一連の動作は、ステップＳ４へ戻り、ステップＳ８において、トポロジー矛盾が無いと判定されるまで、上述したステップＳ４〜ステップＳ８が繰り返し実行される。
【０１６１】
なお、ステップＳ８からステップＳ４へ戻る場合も、学習関数αｉ（ｔ）は、初期値（＝１）に戻される。また、この場合も、位置情報生成手段９５は、信号ＴＰ＿ｉｎｃｏｓに応じて、センサーノードｉの仮の自己位置ｗｉ（ｔ）をランダムに生成して位置更新手段９４へ出力する。
【０１６２】
そして、ステップＳ８において、トポロジー矛盾が無いと判定されると、判定手段９７は、試行回数がトポロジー試行回数の上限に等しいか否かを判定する（ステップＳ９）。
【０１６３】
ステップＳ９において、試行回数がトポロジー試行回数の上限に等しくないと判定されたとき、判定手段９７は、信号ＴＰ＿ｃｏｓを生成し、その生成した信号ＴＰ＿ｃｏｓと、センサーノードｉの絶対位置とを演算手段９８および仮想トポロジー生成手段９９へ出力する。
【０１６４】
仮想トポロジー生成手段９９は、信号ＴＰ＿ｃｏｓおよびセンサーノードｉの絶対位置を判定手段９７から受ける。そして、仮想トポロジー生成手段９９は、信号ＴＰ＿ｃｏｓに応じて、後述する方法によって、センサーノードｉ間の距離を推定位置に基づいて算出した距離に設定し、仮想センサーノードを設定して仮想トポロジーを生成する（ステップＳ１０）。そして、仮想トポロジー生成手段９９は、その生成した仮想トポロジーを位置更新手段９４へ出力する。
【０１６５】
その後、一連の動作は、ステップＳ４へ戻り、ステップＳ９において、試行回数がトポロジー試行回数の上限に等しいと判定されるまで、上述したステップＳ４〜ステップＳ１０が繰り返し実行される。
【０１６６】
そして、ステップＳ９において、試行回数がトポロジー試行回数の上限に等しいと判定されると、センサーノードｉの位置推定が終了する。
【０１６７】
図１１は、図１０に示すステップＳ１０の詳細な動作を説明するためのフローチャートである。
【０１６８】
図１１を参照して、図１０のステップＳ９において、試行回数がトポロジー試行回数の上限に等しくないと判定されると、演算手段９８は、信号ＴＰ＿ｃｏｓとセンサーノードｉの絶対位置とを判定手段９７から受ける。そして、演算手段９８は、信号ＴＰ＿ｃｏｓに応じて、センサーノードｉの絶対位置（推定位置）に基づいてセンサーノード間の距離を算出し、その算出したセンサーノード間の距離（センサーノード間演算距離）を位置更新手段９４へ出力し、位置更新手段９４は、演算手段９８から受けたセンサーノード間の距離（センサーノード間演算距離）をセンサーノード間の距離に設定する（ステップＳ１０１）。
【０１６９】
その後、演算手段９８は、センサーノード間の距離の平均および期待値を算出し（ステップＳ１０２）、その算出したセンサーノード間の距離の平均および期待値を仮想トポロジー生成手段９９へ出力する。
【０１７０】
そして、仮想トポロジー生成手段９９は、センサーノード間の距離の平均および期待値を演算手段９８から受け、その受けたセンサーノード間の距離の平均および期待値を用いて上述した方法によって無線通信のカバレッジを算出する（ステップＳ１０３）。
【０１７１】
引き続いて、仮想トポロジー生成手段９９は、任意の位置に任意の数の仮想センサーノードを配置し、センサーノードｉの絶対位置（推定位置）と無線通信のカバレッジとを用いて、上述した方法によって仮想センサーノードの隣接センサーノード情報を作成する（ステップＳ１０４）。
【０１７２】
そして、仮想トポロジー生成手段９９は、センサーノードｉの絶対位置（推定位置）、無線通信のカバレッジ、および仮想センサーノードの位置に基づいて実センサーノードｉの隣接センサーノード情報に仮想センサーノードを追加して実センサーノードｉの隣接センサーノード情報を更新する（ステップＳ１０５）。
【０１７３】
その後、仮想トポロジー生成手段９９は、実センサーノードの更新した隣接センサーノード情報と仮想センサーノードの隣接センサーノード情報とを用いて、トポロジー生成手段９３におけるトポロジーの生成方法と同じ方法によって仮想トポロジーを生成する（ステップＳ１０６）。
【０１７４】
そして、一連の動作は、図１０のステップＳ４へ移行する。
【０１７５】
図１０に示すフローチャートにおいては、ステップＳ７においてトポロジー矛盾が有ると判定されたとき、またはステップＳ８においてトポロジー矛盾が有ると判定されたとき、センサーノードｉの仮の自己位置ｗｉ（ｔ）が新たにランダムに生成され（ステップＳ４参照）、その生成されたセンサーノードｉの仮の自己位置ｗｉ（ｔ）を用いてセンサーノードｉの仮の自己位置ｗｉ（ｔ）が更新される（ステップＳ５参照）。
【０１７６】
そして、ステップＳ７およびステップＳ８の両方において、トポロジー矛盾が無いと判定された場合、仮想センサーノードを追加して仮想トポロジーが生成される（ステップＳ１０参照）。
【０１７７】
すなわち、折れ曲がりによるトポロジー矛盾が解消された場合（ステップＳ８参照）に仮想トポロジーが生成される。
【０１７８】
従って、折れ曲がりによるトポロジー矛盾の発生を抑制してセンサーノードｉの位置を高精度に推定できる。
【０１７９】
また、図１０に示すフローチャートにおいては、ステップＳ１０からステップＳ４へ戻り、その後、ステップＳ５が実行される場合、ステップＳ１０において、センサーノードｉの推定位置を用いて算出した距離にセンサーノード間の距離を設定してセンサーノードｉの仮の自己位置ｗｉ（ｔ）を更新する（ステップＳ５参照）。
【０１８０】
従って、センサーノードｉと１次近傍センサーノード〜ｎ次近傍センサーノードとの間の距離｜ｗｉ（ｔ）−ｗ１（ｔ）｜，｜ｗｉ（ｔ）−ｗ２（ｔ）｜，・・・，｜ｗｉ（ｔ）−ｗｎ（ｔ）｜が、それぞれ推定位置を用いて算出された１ホップ間の距離（１ホップ間の演算距離）、２ホップ間の距離（２ホップ間の演算距離）、・・・、ｎホップ間の距離（ｎホップ間の演算距離）に近づくようにセンサーノードｉの仮の自己位置ｗｉ（ｔ）を更新する。
【０１８１】
推定位置を用いて算出された距離（演算距離）は信頼性が高いので、推定位置を用いて算出された距離（演算距離）に近づくようにセンサーノードｉの仮の自己位置ｗｉ（ｔ）を更新することにより、センサーノードｉの位置を高精度に推定できる。
【０１８２】
更に、図１０に示すフローチャートにおいては、ステップＳ７が実行されなくてもよい。即ち、距離判定によるトポロジー矛盾の有無を判定せず、領域判定によるトポロジー矛盾の有無だけを判定してもよい。
【０１８３】
上述したように、領域判定によってトポロジー矛盾の有無を判定することによって、距離判定の対象領域よりも広い領域に判定対象の領域を拡大できるので、トポロジー矛盾の有無を高精度に判定できるからである。
【０１８４】
更に、図１０に示すフローチャートにおいては、ステップＳ６が実行されなくてもよい。即ち、図１０に示すフローチャートを用いてセンサーノード１〜７の相対位置が推定されてもよい。
【０１８５】
センサーノード１〜７の相対位置が推定された場合、その推定された相対位置に基づいて作成されたトポロジーは、センサーノード１〜７の実際のトポロジーと相似になる。
【０１８６】
従って、センサーノード１〜７のトポロジー形状が実際のトポロジー形状と根本的に異ならない限り、相対位置を用いて作成されたトポロジーの実用性がある。
【０１８７】
図１２は、位置推定の誤りの平均とセンサーノードの個数との関係を示す図である。図１２において、縦軸は、位置推定の誤りの平均ＥＲＲａｖｅを表し、横軸は、センサーノードの個数を表す。
【０１８８】
そして、図１２は、上述した領域判定によるトポロジー矛盾の有無の判定において、共通１次近傍センサーノードの個数を変えたときの位置推定の誤りの平均とセンサーノードの個数との関係を示す。
【０１８９】
図１２を参照して、共通１次近傍センサーノードの個数を変えた場合、位置推定の誤りの平均ＥＲＲａｖｅは、共通１次近傍センサーノードの個数によって大きな違いがなく、領域判定を行わない場合よりも低くなっている。
【０１９０】
従って、この発明の実施の形態においては、領域判定によってトポロジー矛盾の有無を判定する場合、共通１次近傍センサーノードの個数を特に制限することなく、共通１次近傍センサーノードの個数を任意の個数に設定することにした。
【０１９１】
図１３は、距離のエラーとセンサーノードの個数との関係を示す図である。図１３において、縦軸は、距離のエラーを表し、横軸は、センサーノードの個数を表す。
【０１９２】
また、黒三角は、実センサーノードであるセンサーノード１〜７の隣接センサーノード情報を用いて作成したトポロジーを用いたときの距離のエラーとセンサーノードの個数との関係を示し、黒丸は、実センサーノードであるセンサーノード１〜７の隣接センサーノード情報と仮想センサーノードの隣接センサーノード情報とを用いて作成した仮想トポロジーを用いたときの距離のエラーとセンサーノードの個数との関係を示す。
【０１９３】
図１３を参照して、仮想トポロジーを用いたときの距離のエラーは、センサーノードの個数が増加するに従って、実センサーノードだけのトポロジーを用いたときの距離のエラーよりも大きく低下する。
【０１９４】
従って、仮想センサーノードを追加して作成した仮想トポロジーを用いてセンサーノード１〜７の位置を推定することによって、距離のエラーを大きく低減できることが分かった。
【０１９５】
［シミュレーション評価］
シミュレーション評価について説明する。
【０１９６】
図１４は、シミュレーションの諸元を示す図である。図１５は、本発明の実施の形態による位置推定方法におけるパラメータ諸元を示す図である。図１６は、通信回数とセンサーノードの個数との関係を示す図である。図１７は、障害物により構成されるネットワークのトポロジーの形状を示す図である。
【０１９７】
シミュレーションを繰り返し、経験的に得た本発明の実施の形態による位置推定方法に用いる各パラメータを図１５に示す。ＮＬＯＳ混在環境の２次元フィールドを図１７に示す。障害物の配置を４通りとし、それぞれの障害物により構成されるネットワークのトポロジーの形状からＣ型トポロジー、Ｌ型トポロジー、Ｈ型トポロジー、Ｏ型トポロジーと呼ぶ。センサーノード間を結ぶ直線上に障害物がある場合をＮＬＯＳとし、センサーノード間の通信を不可とする。その他の場合は、ＬＯＳとし、センサーノード間の通信を可能とする。また、位置推定においては、フィールド範囲は未知とする。
【０１９８】
図１６に、ＳＯＬと本発明による位置推定方法のそれぞれの位置推定までの全センサーノードの送信回数を示す。図１６を参照して、本発明による位置推定方法は、大幅に送信回数を削減する。ＳＯＬは、位置更新を各センサーノードで実施するため、センサーノード間で更新された仮の自己位置を頻繁に交換する。そのため、通信量は、大きくなる。一方、本発明による位置推定方法は、位置更新をクラウド環境の仮想の無線ネットワークで実施するため、各センサーノードは、位置更新時の仮の自己位置の交換は不要であり、仮想の無線ネットワークの構成のために、自身の隣接センサーノード情報をクラウドサーバへ転送するだけである。従って、通信回数を大幅に低減できる。
【０１９９】
（相対位置評価と絶対位置評価）
以下の方式での比較評価を行う。ＤＶ−ｈｏｐは、アンカーノードの個数が３個でも、推定可能なＲａｎｇｅ−Ｆｒｅｅ方式であるため比較対象とする。他の方式は、各センサーノードが少なくとも３個のアンカーノードとＬＯＳである必要があり、評価条件では適用できない。
【０２００】
・本発明による位置推定方法
・ＳＯＬ
・ＤＶ−ｈｏｐ
評価は、相対位置評価と絶対位置評価の２通り行う。相対位置評価は、推定されたセンサーノードの位置により構成されるネットワークの形状（推定ネットワーク形状）とオリジナルネットワークの形状の相似性を次式（１１），（１２）により評価する。
【０２０１】
【数１１】
0006467334.tif 000010
【０２０２】
【数１２】
0006467334.tif 000011
【０２０３】
ｄｉｊは、推定位置におけるセンサーノードｉとセンサーノードｊの距離(推定距離)であり、Ｄｉｊは、オリジナルのネットワークにおけるセンサーノードｉとセンサーノードｊの距離であり、Ｎは、位置推定センサーノードの集合であり、｜Ｎ｜は、センサーノードの数（集合Ｎの要素数）を示す。Ｖ［ｒｉｊ］が０に近づけば、推定ネットワーク形状は、オリジナルのネットワーク形状と相似となる。すなわち、Ｖ［ｒｉｊ］が０の場合、推定ネットワーク形状は、オリジナルのネットワーク形状にばらつきなく完全に一致する．
絶対位置評価は、推定された各センサーノードの位置と真位置のユークリッド距離の総和の平均である位置推定誤差Ｅｒｒａｖｅを用いて評価する。Ｅｒｒａｖｅは、次式によって求められる。
【０２０４】
【数１３】
0006467334.tif 000012
【０２０５】
Ｗｉは、センサーノードｉの真位置であり、ｗｉは、推定位置を示す。以上の２つの評価を用いて、センサーノード間の相対位置関係が正しく、かつ、個々のセンサーノード位置が絶対位置として正しく推定されて有用な位置であるかを評価する。
【０２０６】
図１８、図１９、図２０、および図２１は、それぞれ、Ｃ型トポロジー、Ｌ型トポロジー、Ｈ型トポロジー、およびＯ型トポロジーにおける相対位置評価と絶対位置評価を示す図である。
【０２０７】
各図は、それぞれの評価ごとに全体スケール(左側)と詳細スケール(右側)とを示す。
【０２０８】
先ず、相対評価について説明する。図１８のＣ型トポロジーの相対位置評価において、本発明の位置推定方法のＶ[ｒｉｊ]は、ＳＯＬのＶ[ｒｉｊ]より低く、かつ、０に極めて近い。一方、ＤＶ−ｈｏｐのＶ[ｒｉｊ]は、ＳＯＬや本発明の位置推定方法と比較すると非常に大きい。この原因は、ＮＬＯＳ混在環境においては、ＤＶ−ｈｏｐでは、算出された１ホップの距離精度が低いため、多角測量の最小二乗法から解が得られず、その場合には、センサーノードの位置を３個のアンカーノード重心として推定するためである。すなわち、ＮＬＯＳ混在環境においてアンカーノードの個数が３個では、ＤＶ−ｈｏｐは、ほぼ機能しない。本発明の位置推定方法とＳＯＬとを比較すると、本発明の位置推定方法のＶ[ｒｉｊ]は、ＳＯＬよりも常に低く、極めて０に近い。すなわち、本発明の位置推定方法は、ＳＯＬよりも高精度なトポロジー形状を再現でき、そのばらつきも極めて小さい。ＳＯＬは、いくつかのケースで折れ曲がりが発生し、Ｖ[ｒｉｊ]が高くなる。
【０２０９】
図１９のＬ型トポロジーの相対評価Ｖ[ｒｉｊ]も、Ｃ型トポロジーと同等の傾向（本発明の位置推定方法は、ＳＯＬよりも常に低く極めて０に近く、ＤＶ−ｈｏｐは、この２方式と比較して非常に高い）であるが、ＳＯＬのＶ[ｒｉｊ]がＣ型トポロジーの場合より低い値になっている。Ｌ型トポロジーは、縦方向と横方向の２つのブロックの組み合わせであり、比較的少ないホップ数でも形状の識別が可能である。一方、Ｃ型トポロジーは、上部と下部の横方向のブロックと左側の縦方向のブロックの３つのブロックの組み合わせであり、Ｌ型トポロジーと比較すると、ホップ数を重ねないと、その形状が識別できない。従って、ＳＯＬは、Ｃ型トポロジーよりＬ型トポロジーにおいて比較的折れ曲がりを抑制でき、そのＶ[ｒｉｊ]が低くなると考えられる。
【０２１０】
図２０のＨ型トポロジーの相対評価は、Ｃ型トポロジーとほぼ同等の結果となる。Ｈ型トポロジーは、左右の縦方向のブロックと中央の横方向のブロックの３つのブロックの組み合わせであることから、Ｃ型トポロジーと同等の結果になると考えられる。
【０２１１】
図２１のＯ型トポロジーの相対評価も同様の傾向であるが、ＳＯＬのＶ[ｒｉｊ]が他の型のトポロジーの場合より高く、ＤＶ−ｈｏｐは、やはり他の２方式と比較すると非常に高い値であるが、Ｖ[ｒｉｊ]がセンサーノード数の増加に従って減少する。ＳＯＬのＶ[ｒｉｊ]が高くなる原因は、Ｏ型トポロジーが上下の横方向のブロックと左右の縦方向のブロックの４つのブロックの組み合わせであり、他の型のトポロジーより形状を識別するにはより多くのホップ数が必要なためと考えられる。ＤＶ−ｈｏｐがセンサーノード数の増加とともにＶ[ｒｉｊ]が減少するのは、多角測量の最小二乗法が収束しないケースが少なくなっているためであるが、その値は、他の２方式と比較して圧倒的に高いことは変わらない。
【０２１２】
以上のことから、
・ＤＶ−ｈｏｐは、いずれの型のトポロジーにおいてもオリジナルの形状を再現できない。すなわち、センサーノード間の相対的位置関係は、著しく不正である。
【０２１３】
・ＳＯＬは、トポロジーの型に依存して形状再現の精度が変動する。すなわち、トポロジーの型に依存してセンサーノード間の相対的位置関係が不正となる場合がある。
【０２１４】
・本発明の位置推定方法は、トポロジーの型に関わらず、高精度に形状を再現する。すなわち、トポロジーの型に依存せずに高精度なセンサーノード間の相対的位置関係を推定できる。
といえる。
【０２１５】
次に、絶対位置評価について述べる。図１８の絶対位置評価において、本発明の位置推定方法は、ＳＯＬと比較して、位置推定誤差が非常に小さく、位置推定精度が圧倒的に高い。ＳＯＬは、少数のネットワークのトポロジーにおいて、部分的な形状は、正しく推定されているが、折れ曲がりが発生し、トポロジー全体として大きな誤差となる。数は少ないが、誤差が非常に大きなケースがあり、これが全トポロジーの平均誤差を大きく引き上げる。
【０２１６】
一方、本発明の位置推定方法は、完全に折れ曲がりトポロジーを抑制し、安定して低い誤差を維持する。ＤＶ−ｈｏｐの位置推定誤差は、ＳＯＬより低くなっているが、相対位置評価で述べたように、ＤＶ−ｈｏｐは、センサーノード間の相対位置関係が全く再現されておらず、位置推定誤差以上に位置情報としての有用性は非常に低い。
【０２１７】
図１９の絶対位置評価では、ＳＯＬの位置推定誤差は、ノード数が増えると小さくなって安定し、ＤＶ−ｈｏｐより良くなる。これは、前述したようにＬ型トポロジーは、少ないホップ数でも形状を識別できるため、ＳＯＬにおいても折れ曲がりが抑制され、Ｃ型トポロジーの場合より改善したためと考えられる。ＤＶ−ｈｏｐは、Ｃ型トポロジーと同様に０．２から０．２５となる。これは、大部分のセンサーノードが３個のアンカーノードの重心位置として推定しているためである。本発明の位置推定方法は、図１８と同様に、その位置推定誤差は、安定して非常に小さい。
【０２１８】
図２０の絶対位置評価では、ＳＯＬの値は、大きく変動し、図１９のＬ型トポロジーの場合と明らかに異なる。大きな値となる場合は、折れ曲がりが多く発生しており、その原因は、相対評価で述べたように、Ｈ型トポロジーは、Ｌ型トポロジーと比較すると、その形状を識別するには多くのホップ数を必要とするためである。ＤＶ−ｈｏｐの位置推定誤差は、上述したのと同様の結果となる。本発明の位置推定方法は、上述したのと同様に安定して非常に低い。
【０２１９】
図２１のＯ型トポロジーの絶対位置評価では、ＳＯＬのＨ型トポロジーと同様に変動する。その原因は、Ｃ型トポロジー、Ｈ型トポロジーと同じ要因による。ＤＶ−ｈｏｐの傾向が異なるが、これは、多角測量における最小二乗法から解が得られるケースが増えているためである。
【０２２０】
図２２は、Ｃ型トポロジーにおけるアンカーノードの個数に応じたＤＶ−ｈｏｐの位置推定誤差を示す図である。この図から分かるようにアンカーノードの個数を増やしても、ＤＶ−ｈｏｐの精度は改善しない。ＤＶ−ｈｏｐでは、アンカーノード間にＮＬＯＳが混在すれば、１ホップの見積もり距離の精度が劣化し、多角測量のセンサーノードとアンカーノードとの間にＮＬＯＳが混在すると、精度の低い１ホップ距離に基づくセンサーノードとアンカーノードとの間の距離の精度は、さらに劣化する。この距離見積もり手法は、アンカーノードを増やしてもアンカーノード間を含むすべてのセンサーノード間においてＮＬＯＳとなる空間を排除できないため、改善されない。すなわち、多角測量は、ＬＯＳ環境の距離を想定しており、ＤＶ−ｈｏｐは、障害物がある環境ではアンカーノードを増やしてもセンサーノード間のＮＬＯＳ環境を排除できないため、位置推定誤差の改善は困難となる。以上のことから、
・ＤＶ−ｈｏｐは、ＮＬＯＳ混在環境では有用な位置推定ができない。
【０２２１】
・ＳＯＬは、トポロジーの型に依存して折れ曲がりが発生し、その位置精度が劣化する。
【０２２２】
・本発明の位置推定方法は、トポロジーの型に依存せず、高精度な位置を推定可能である。
といえる。
【０２２３】
図２３、図２４、図２５および図２６は、それぞれ、Ｃ型トポロジー、Ｌ型トポロジー、Ｈ型トポロジーおよびＯ型トポロジーにおけるオリジナルのトポロジーと本発明の位置推定方法とＤＶ−ｈｏｐそれぞれの推定トポロジーを示す図である。
【０２２４】
図２３において、図１８の相対位置評価が示すように、ＤＶ−ｈｏｐの推定センサーノードの位置により構成されるネットワーク形状は、オリジナルネットワークの形状と著しく異なる。
【０２２５】
一方、本発明の位置推定方法により推定された形状は、オリジナルのネットワーク形状にほぼ一致する。図２４、図２５および図２６に示すネットワーク形状においても、同様に、ＤＶ−ｈｏｐにより推定された形状は、オリジナルのネットワークと著しく異なり、本発明の位置推定方法により推定された形状は、オリジナルのネットワーク形状にほぼ一致する。従って、Ｃ型トポロジー、Ｌ型トポロジー、Ｈ型トポロジー、Ｏ型トポロジーとなるＮＬＯＳ混在環境において、本発明の位置推定方法は、ネットワークのトポロジーの形状再現に圧倒的に優れている。
【０２２６】
以上のことから、本発明の位置推定方法は、ＳＯＬでは折れ曲がる可能性があり、ＤＶ−ｈｏｐでは推定困難であるＮＬＯＳ環境においてもネットワーク全体の高精度な形状再現と高精度なセンサーノードの位置推定が維持可能である。
【０２２７】
上述したシミュレーション評価によって、本発明の位置推定方法は、センサーノードの位置を高精度に推定できることが分かった。
【０２２８】
上記においては、仮の自己位置ｗｉ（ｔ）は、２次元の位置情報からなると説明したが、この発明の実施の形態においては、これに限らず、仮の自己位置ｗｉ（ｔ）は、３次元の位置情報からなっていてもよい。
【０２２９】
この場合、センサーノード１〜７のうち、４個のセンサーノードがアンカーノードであり、アンカーノードの真位置ＷＡ＝（ＸＡ，ＹＡ，ＺＡ）と推定位置ｗＡ＝（ｘＡ，ｙＡ，ｚＡ）との関係は、次式のようになる。
【０２３０】
【数９】
0006467334.tif 000013
【０２３１】
式（９）を用いて、４つのアンカーノードの真位置と推定位置とから１２個の連立方程式を作成し、１２個の連立方程式を解くことにより、係数ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｉ，ｔｘ，ｔｙ，ｔｚを得る。
【０２３２】
そして、得られた係数ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｉ，ｔｘ，ｔｙ，ｔｚを用いて、全てのセンサーノードｉについて、次式によって推定位置ｗｉ＝（ｘｉ，ｙｉ，ｚｉ）を絶対位置Ｗｉ＝（Ｘｉ，Ｙｉ，Ｚｉ）に変換する。
【０２３３】
【数１０】
0006467334.tif 000014
【０２３４】
従って、仮の自己位置ｗｉ（ｔ）が３次元の位置情報からなる場合、変換手段９６は、式（９），（１０）を用いてセンサーノードｉの推定位置ｗｉ＝（ｘｉ，ｙｉ，ｚｉ）を絶対位置Ｗｉ＝（Ｘｉ，Ｙｉ，Ｚｉ）に変換する。
【０２３５】
また、上記においては、無線ネットワーク１０は、センサーノード１〜７を備えると説明したが、この発明の実施の形態においては、これに限らず、無線ネットワーク１０は、一般的には、ｍ（ｍは４以上の整数）個の無線装置を備えていればよい。上述した領域判定によってトポロジー矛盾の有無を判定するためには、位置推定の対象となる対象無線装置と、対象無線装置の１次近傍無線装置と、対象無線装置の２次近傍無線装置と、対象無線装置と２次近傍無線装置との共通１次近傍無線装置とが必要であるので、無線ネットワーク１０は、少なくとも４個の無線装置を備えている必要があるからである。
【０２３６】
位置推定の対象が無線装置である場合、図１０に示すフローチャートのステップＳ５において実行される位置推定処理は、次のように定義される。
【０２３７】
位置推定処理は、前記対象無線装置の仮の自己位置情報と前記対象無線装置からｎホップの位置に存在するｎ次近傍無線装置の仮の自己位置情報とに基づいて計算された前記対象無線装置と前記ｎ次近傍無線装置との間の距離がｎホップのホップ数からなる距離に近づくように前記対象無線装置の仮の自己位置を前記対象無線装置からのホップ数ｎに応じてそれぞれ修正するための１次修正ベクトルＶｉ｛１｝（ｔ）、２次修正ベクトルＶｉ｛２｝（ｔ）、・・・及びｎ次修正ベクトルＶｉ｛ｎ｝（ｔ）からなるｎ個の修正ベクトルＶｉ｛１｝（ｔ）〜Ｖｉ｛ｎ｝（ｔ）を、１次修正ベクトルＶｉ｛１｝（ｔ）とｎ次修正ベクトルとＶｉ｛ｎ｝（ｔ）からなる第１番目の修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛ｎ｝（ｔ））、１次修正ベクトルＶｉ｛１｝（ｔ）とｎ−１次修正ベクトルＶｉ｛ｎ−１｝（ｔ）とからなる第２番目の修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛ｎ−１｝（ｔ））、・・・、１次修正ベクトルＶｉ｛１｝（ｔ）と２次修正ベクトルＶｉ｛２｝（ｔ）とからなる第ｎ−１番目の修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛２｝（ｔ））の順に適用して前記対象無線装置の仮の自己位置を推定する処理である。
【０２３８】
また、図１０に示すフローチャートにおいて、ステップＳ１０の後にステップＳ５が実行される場合、推定された位置を用いて算出された無線装置間の演算距離が用いられるので、位置推定処理は、前記対象無線装置の仮の自己位置情報と前記対象無線装置からｎホップの位置に存在するｎ次近傍無線装置の仮の自己位置情報とに基づいて計算された前記対象無線装置と前記ｎ次近傍無線装置との間の距離が推定位置を用いて算出された前記対象無線装置と前記ｎ次近傍無線装置との間の演算距離に近づくように前記対象無線装置の仮の自己位置を前記対象無線装置からのホップ数ｎに応じてそれぞれ修正するための１次修正ベクトルＶｉ｛１｝（ｔ）、２次修正ベクトルＶｉ｛２｝（ｔ）、・・・及びｎ次修正ベクトルＶｉ｛ｎ｝（ｔ）からなるｎ個の修正ベクトルＶｉ｛１｝（ｔ）〜Ｖｉ｛ｎ｝（ｔ）を、１次修正ベクトルＶｉ｛１｝（ｔ）とｎ次修正ベクトルとＶｉ｛ｎ｝（ｔ）からなる第１番目の修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛ｎ｝（ｔ））、１次修正ベクトルＶｉ｛１｝（ｔ）とｎ−１次修正ベクトルＶｉ｛ｎ−１｝（ｔ）とからなる第２番目の修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛ｎ−１｝（ｔ））、・・・、１次修正ベクトルＶｉ｛１｝（ｔ）と２次修正ベクトルＶｉ｛２｝（ｔ）とからなる第ｎ−１番目の修正ベクトル（Ｖｉ｛１｝（ｔ）＋Ｖｉ｛２｝（ｔ））の順に適用して前記対象無線装置の仮の自己位置を推定する処理である。
【０２３９】
また、領域判定処理は、次のように定義される。領域判定処理は、対象無線装置の推定された位置と対象無線装置の１次近傍無線装置の推定された位置との間の線分の垂直二等分線を基準として対象無線装置の２次近傍無線装置の推定された位置が対象無線装置および対象無線装置の１次近傍無線装置のいずれに近いかを判定し、当該判定に引き続いて、対象無線装置と対象無線装置の２次近傍無線装置との共通の１次近傍無線装置の推定された位置と対象無線装置の推定された位置との間の線分の垂直二等分線を基準として対象無線装置の２次近傍無線装置の推定された位置が対象無線装置および共通の１次近傍無線装置のいずれに近いかを共通の１次近傍無線装置を複数回変えて判定する処理である。
【０２４０】
更に、距離矛盾判定処理は、次のように定義される。距離矛盾判定処理は、対象無線装置の複数の１次近傍無線装置と複数の２次近傍無線装置とを用いて、対象無線装置の推定された位置が対象無線装置の１次近傍無線装置よりも対象無線装置の２次近傍無線装置に近いと判定されたとき、トポロジー矛盾があると判定する処理である。
【０２４１】
図４に示す位置推定装置９の取得手段９２、トポロジー生成手段９３、位置更新手段９４、位置情報生成手段９５、変換手段９６、判定手段９７、演算手段９８および仮想トポロジー生成手段９９は、ソフトウェアによって実現されてもよい。
【０２４２】
この場合、位置推定装置９は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を備える。そして、ＲＯＭは、図１０および図１１に示すフローチャートからなるプログラムＰＲＯＧを記憶する。
【０２４３】
ＣＰＵは、プログラムＰＲＯＧをＲＯＭから読み出して実行し、上述した方法によってｍ個の無線装置の位置を推定する。そして、ＣＰＵは、ステップＳ１０の後にステップＳ５を実行する場合、既に推定された位置を用いて対象無線装置とｎ次近傍無線装置との間の距離を演算し、その演算した演算距離をＲＡＭに記憶しておき、対象無線装置の仮の自己位置とｎ次近傍無線装置の仮の自己位置とを用いて算出された距離が対象無線装置とｎ次近傍無線装置との間の演算距離に近づくように対象無線装置の仮の自己位置を更新する。
【０２４４】
従って、プログラムＰＲＯＧは、ｍ個の無線装置の位置の推定をコンピュータ（ＣＰＵ）に実行させるためのプログラムである。
【０２４５】
この発明の実施の形態においては、プログラムＰＲＯＧは、ＣＤおよびＤＶＤ等の記録媒体に記憶されていてもよい。そして、無線装置の位置を推定しようとするユーザは、その記録媒体をコンピュータにセットし、記録媒体からプログラムＰＲＯＧを読み出して実行する。
【０２４６】
従って、プログラムＰＲＯＧを記録した記録媒体は、コンピュータが読み取り可能な記録媒体である。
【０２４７】
上記においては、位置推定装置９は、クラウド上に配置されると説明したが、この発明の実施の形態においては、これに限らず、位置推定装置９は、シンク８に設置されてもよい。
【０２４８】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０２４９】
この発明は、位置推定装置、位置推定をコンピュータに実行させるためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体に適用される。
【符号の説明】
【０２５０】
１〜７  センサーノード、８  シンク、９  位置推定装置、１０  無線ネットワーク、１１，８１  アンテナ、１２，８２  送受信部、１３，８３  制御部、９１  受信部、９２  取得手段、９３  トポロジー生成手段、９４  位置更新手段９４、９５  位置情報生成手段、９６  変換手段、９７  判定手段、９８  演算手段、９９  仮想トポロジー生成手段。
【図１】
0006467334.tif 000015
【図２】
0006467334.tif 000016
【図３】
0006467334.tif 000017
【図４】
0006467334.tif 000018
【図５】
0006467334.tif 000019
【図６】
0006467334.tif 000020
【図７】
0006467334.tif 000021
【図８】
0006467334.tif 000022
【図９】
0006467334.tif 000023
【図１０】
0006467334.tif 000024
【図１１】
0006467334.tif 000025
【図１２】
0006467334.tif 000026
【図１３】
0006467334.tif 000027
【図１４】
0006467334.tif 000028
【図１５】
0006467334.tif 000029
【図１６】
0006467334.tif 000030
【図１７】
0006467334.tif 000031
【図１８】
0006467334.tif 000032
【図１９】
0006467334.tif 000033
【図２０】
0006467334.tif 000034
【図２１】
0006467334.tif 000035
【図２２】
0006467334.tif 000036
【図２３】
0006467334.tif 000037
【図２４】
0006467334.tif 000038
【図２５】
0006467334.tif 000039
【図２６】
0006467334.tif 000040