(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023122345
(43)【公開日】2023-09-01
(54)【発明の名称】位置推定装置、位置推定システムおよび移動ノード
(51)【国際特許分類】
G01S 5/14 20060101AFI20230825BHJP
【FI】
G01S5/14
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022026000
(22)【出願日】2022-02-22
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 1.開催日:令和3年9月16日 2.電子情報通信学会ソサイエティ大会2021(通信講演) 3.予稿発行:令和3年8月31日 〔刊行物等〕 1.開催日:令和3年11月12日 2.AXIES高品質・セキュリティICTワークショップ2021 3.予稿発行:なし 〔刊行物等〕 1.開催日:令和3年11月26日 2.電子情報通信学会ネットワークシステム研究会2021 3.予稿発行:令和3年11月18日
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.ZIGBEE
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和3年度、国立研究開発法人科学技術振興機構、研究成果展開事業「接触情報の活用によるミクロ人流データ計測技術の研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】304021831
【氏名又は名称】国立大学法人千葉大学
(74)【代理人】
【識別番号】100091487
【弁理士】
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100103263
【弁理士】
【氏名又は名称】川崎 康
(74)【代理人】
【識別番号】100118876
【弁理士】
【氏名又は名称】鈴木 順生
(72)【発明者】
【氏名】塩田 茂雄
(72)【発明者】
【氏名】白木 詩乃
【テーマコード(参考)】
5J062
【Fターム(参考)】
5J062BB05
5J062CC18
5J062FF01
(57)【要約】
【課題】位置推定の精度が高くかつ低コストの位置推定装置、位置推定システムおよび移動ノードを提供する。
【解決手段】本開示の位置推定装置は、移動ノードの位置を推定する位置推定装置である。移動ノードおよび固定ノードの各ノードは、当該ノードに割り当てられた識別子を無線信号に含めてブロードキャストする。位置推定装置は、移動ノードおよび固定ノードの各ノードから、当該ノードによって所定の閾値以上の受信信号強度で受信される無線信号に含まれる他のノードの識別子を含む、近接情報を受信する受信部と、近接情報に基づいて、各ノード間の近接関係を特定する近接関係特定部と、各ノード間の近接関係および固定ノードの位置に基づいて、移動ノードの位置を推定する位置推定部とを備える。
【選択図】
図4
【特許請求の範囲】
【請求項1】
移動ノードの位置を推定する位置推定装置であって、
前記移動ノードおよび固定ノードの各ノードは、当該ノードに割り当てられた識別子を無線信号に含めてブロードキャストし、
前記位置推定装置は、
前記移動ノードおよび前記固定ノードの各ノードから、当該ノードによって所定の閾値以上の受信信号強度で受信される無線信号に含まれる他のノードの識別子を含む、近接情報を受信する受信部と、
前記近接情報に基づいて、前記各ノード間の近接関係を特定する近接関係特定部と、
前記各ノード間の近接関係および前記固定ノードの位置に基づいて、前記移動ノードの位置を推定する位置推定部と
を備える、位置推定装置。
【請求項2】
前記近接関係特定部は、互いに相手の識別子を受信可能なノードのペアを特定することによって、前記各ノード間の近接関係を特定する、請求項1に記載の位置推定装置。
【請求項3】
前記位置推定部は、前記各ノード間の近接関係に基づいて、各ノード間のホップ数を算出するホップ数算出部を含む、請求項1または2に記載の位置推定装置。
【請求項4】
前記位置推定部は、前記各ノード間のホップ数および前記固定ノードの位置に基づいて、前記各ノード間の実際の距離を推定する距離推定部を含む、請求項3に記載の位置推定装置。
【請求項5】
前記距離推定部は、前記各ノード間のホップ数および前記固定ノードの位置に基づいて、1ホップあたりの平均距離を算出し、該1ホップあたりの平均距離および前記各ノード間のホップ数から、前記各ノード間の実際の距離を推定する、請求項4に記載の位置推定装置。
【請求項6】
前記位置推定部は、1つまたは複数の前記移動ノードの位置を、該移動ノードと前記固定ノードとの間の前記推定された実際の距離に基づいて、多辺測量の手法によって個別に推定する個別位置推定部を含む、請求項1~5のいずれか一項に記載の位置推定装置。
【請求項7】
前記位置推定部は、複数の前記移動ノードの各位置を変数として含む最適化問題を解くことによって、複数の前記移動ノードの各位置を同時に推定する協調位置推定部を含む、請求項1~6のいずれか一項に記載の位置推定装置。
【請求項8】
無線信号を送受信可能な移動ノードと、
無線信号を送受信可能な固定ノードと、
位置推定装置と
を備え、
前記移動ノードおよび前記固定ノードの各ノードは、
当該ノードに割り当てられた識別子を含む無線信号をブロードキャストするブロードキャスト部と、
他のノードによってブロードキャストされた無線信号を受信する第1の受信部と、
前記第1の受信部によって受信された無線信号のうち、所定の閾値以上の受信信号強度で受信される無線信号に含まれる前記他のノードの識別子を含む、近接情報を作成する作成部と、
前記近接情報を前記位置推定装置に送信する送信部と
を含み、
前記位置推定装置は、
前記移動ノードおよび前記固定ノードから前記近接情報を受信する第2の受信部と、
前記近接情報に基づいて、各ノード間の近接関係を特定する近接関係特定部と、
前記各ノード間の近接関係および前記固定ノードの位置に基づいて、前記移動ノードの位置を推定する位置推定部と
を含む、位置推定システム。
【請求項9】
無線信号を送受信可能な移動ノードであって、
前記移動ノードに割り当てられた識別子を含む無線信号をブロードキャストするブロードキャスト部と、
他のノードによってブロードキャストされた無線信号を受信する第1の受信部と、
前記第1の受信部によって受信された無線信号のうち、所定の閾値以上の受信信号強度で受信される無線信号に含まれる前記他のノードの識別子を含む、近接情報を作成する作成部と、
前記近接情報を前記他のノードに送信する送信部と、
前記他のノードから前記近接情報を受信する第2の受信部と、
前記近接情報に基づいて、各ノード間の近接関係を特定する近接関係特定部と、
前記各ノード間の近接関係および固定ノードの位置に基づいて、前記移動ノードの位置を推定する位置推定部と
を備える、移動ノード。
【請求項10】
無線信号を送受信可能な移動ノードであって、
固定ノードから前記移動ノードまでのホップ数および前記固定ノードの位置を格納する記憶部と、
前記記憶部に格納されている前記固定ノードから前記移動ノードまでのホップ数および前記固定ノードの位置をブロードキャストするブロードキャスト部と、
他のノードによってブロードキャストされた無線信号を受信する受信部と、
前記受信部によって受信された無線信号のうち、所定の閾値以上の受信信号強度で受信される無線信号に含まれる、前記固定ノードから前記他のノードまでのホップ数および前記固定ノードの位置のいずれかまたは両方に基づいて、前記固定ノードから前記移動ノードまでのホップ数および前記固定ノードの位置を前記記憶部に追加する追加部と、
前記記憶部に格納されている前記固定ノードから前記移動ノードまでのホップ数および前記固定ノードの位置に基づいて、前記移動ノードの位置を推定する位置推定部と
を備える、移動ノード。
【請求項11】
前記位置推定部は、前記固定ノードから前記移動ノードまでのホップ数および前記固定ノードの位置に基づいて、前記固定ノードから前記移動ノードまでの実際の距離を推定する距離推定部を含む、請求項10に記載の移動ノード。
【請求項12】
前記位置推定部は、前記移動ノードの位置を、前記固定ノードから前記移動ノードまでの前記推定された実際の距離および前記固定ノードの位置に基づいて、多辺測量の手法によって推定する、個別位置推定部をさらに含む、請求項11に記載の移動ノード。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、位置推定装置、位置推定システムおよび移動ノードに関する。
【背景技術】
【0002】
GPSの電波が届きにくい屋内における位置推定の方法として、Wi-Fi、Bluetooth、BLE(Bluetooth Low Energy)等の無線通信技術を利用する方法が各種提案されている。
【0003】
非特許文献1には、屋内に無線信号を送信する複数の信号源(ビーコン)を設置し、無線信号の受信信号強度(RSSI:Received Signal Strength Indicator)に基づいて各信号源からの距離を推定し、推定された距離を用いて位置推定を行う方法が記載されている。
【0004】
しかしながら、RSSIと信号源からの距離との関係は、電波伝播環境に依存して変化する。そのため、現実には、RSSIに基づいて信号源からの距離を正確に推定することは困難であり、不正確な距離を用いて推定される位置も同様に不正確となる。また、RSSIに基づいて推定される距離の誤差は、信号源からの距離に比例して増大する。そのため、位置推定の精度を向上させるためには、多数の信号源を密に設置しなければならず高コストとなる。
【0005】
また、非特許文献1には、屋内の領域を複数区画に分割し、区画ごとにRSSIを事前計測しておき、事前計測されたRSSIの中から現在のRSSIに最も近いものを選択することによって位置推定を行う方法(フィンガープリント法)が記載されている。しかしながら、フィンガープリント法においても、位置推定の精度を向上させるためには、多数の信号源を設置しなければならず同様に高コストとなる。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】F. Zafari, A. Gkelias, K.K. Leung, "A Survey of Indoor Localization Systems and Technologies," IEEE Communications Surveys & Tutorials, Vol. 21, No. 3, pp. 2568-2599, 2019.
【発明の概要】
【発明が解決しようとする課題】
【0007】
本開示は、上記のような課題を解決するためのものであり、位置推定を高精度に行う位置推定装置、位置推定システムおよび移動ノードを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、本開示に係る位置推定装置は、移動ノードの位置を推定する位置推定装置であって、移動ノードおよび固定ノードの各ノードは、当該ノードに割り当てられた識別子を無線信号に含めてブロードキャストし、位置推定装置は、移動ノードおよび固定ノードの各ノードから、当該ノードによって所定の閾値以上の受信信号強度で受信される無線信号に含まれる他のノードの識別子を含む、近接情報を受信する受信部と、近接情報に基づいて、各ノード間の近接関係を特定する近接関係特定部と、各ノード間の近接関係および固定ノードの位置に基づいて、移動ノードの位置を推定する位置推定部とを備える。
【0009】
また、本開示に係る位置推定システムは、無線信号を送受信可能な移動ノードと、無線信号を送受信可能な固定ノードと、位置推定装置とを備え、移動ノードおよび固定ノードの各ノードは、当該ノードに割り当てられた識別子を含む無線信号をブロードキャストするブロードキャスト部と、他のノードによってブロードキャストされた無線信号を受信する第1の受信部と、第1の受信部によって受信された無線信号のうち、所定の閾値以上の受信信号強度で受信される無線信号に含まれる他のノードの識別子を含む、近接情報を作成する作成部と、近接情報を位置推定装置に送信する送信部とを含み、位置推定装置は、移動ノードおよび固定ノードから近接情報を受信する第2の受信部と、近接情報に基づいて、各ノード間の近接関係を特定する近接関係特定部と、各ノード間の近接関係および固定ノードの位置に基づいて、移動ノードの位置を推定する位置推定部とを含む。
【0010】
また、本開示に係る移動ノードは、無線信号を送受信可能な移動ノードであって、移動ノードに割り当てられた識別子を含む無線信号をブロードキャストするブロードキャスト部と、他のノードによってブロードキャストされた無線信号を受信する第1の受信部と、第1の受信部によって受信された無線信号のうち、所定の閾値以上の受信信号強度で受信される無線信号に含まれる他のノードの識別子を含む、近接情報を作成する作成部と、近接情報を他のノードに送信する送信部と、他のノードから近接情報を受信する第2の受信部と、近接情報に基づいて、各ノード間の近接関係を特定する近接関係特定部と、各ノード間の近接関係および固定ノードの位置に基づいて、移動ノードの位置を推定する位置推定部とを備える。
【0011】
また、本開示に係る別の移動ノードは、無線信号を送受信可能な移動ノードであって、固定ノードから移動ノードまでのホップ数および固定ノードの位置を格納する記憶部と、記憶部に格納されている固定ノードから移動ノードまでのホップ数および固定ノードの位置をブロードキャストするブロードキャスト部と、他のノードによってブロードキャストされた無線信号を受信する受信部と、受信部によって受信された無線信号のうち、所定の閾値以上の受信信号強度で受信される無線信号に含まれる、固定ノードから他のノードまでのホップ数および固定ノードの位置のいずれかまたは両方に基づいて、固定ノードから移動ノードまでのホップ数および固定ノードの位置を記憶部に追加する追加部と、記憶部に格納されている固定ノードから移動ノードまでのホップ数および固定ノードの位置に基づいて、移動ノードの位置を推定する位置推定部とを備える。
【図面の簡単な説明】
【0012】
【
図1】実施の形態1に係る位置推定システムの構成を示す図である。
【
図2】移動ノードによって送信される近接情報の一例を示す図である。
【
図3】移動ノードの機能的な構成を示すブロック図である。
【
図4】位置推定サーバの機能的な構成を示すブロック図である。
【
図5】移動ノードおよびアンカーノードによって実行される処理の詳細を説明するフローチャートである。
【
図6】移動ノードおよびアンカーノードが作成する各近接情報の一例を示す図である。
【
図7】位置推定サーバによって実行される処理の詳細を説明するフローチャートである。
【
図8A】各ノードの近接関係を表現する無向グラフの一例を示す図である。
【
図10】1ホップあたりの平均距離の算出方法を示す図である。
【
図12】実施の形態2に係る位置推定システムの構成を示す図である。
【
図13】移動ノードの記憶部に格納される自ノードのホップ数およびアンカーノードの位置の一例を示す図である。
【
図14】移動ノードの機能的な構成を示すブロック図である。
【
図15】移動ノードによって実行される処理の詳細を説明するフローチャートである。
【
図16】移動ノードによって実行される処理の過程を示す図である。
【
図17】移動ノードによって実行される処理の過程を示す図である。
【
図18】移動ノードによって実行される処理の過程を示す図である。
【
図19】移動ノードによって実行される処理の過程を示す図である。
【発明を実施するための形態】
【0013】
以下では、図面を参照しながら、本開示の実施の形態について説明する。図面において同一又は対応する要素には同じ参照符号を付し、詳細な説明は適宜省略する。
【0014】
(実施の形態1)
図1は、本開示の実施の形態1に係る位置推定システム100の構成を示す図である。
図1には、屋内の監視領域Sが示されている。監視領域Sを有する施設の具体例としては、製造業の施設(製造現場、倉庫、オフィス等)、病院、大規模商業施設、および公共施設(駅、空港、市庁舎等)などが挙げられる。
【0015】
監視領域Sには、無線信号を送受信可能な無線通信装置である3つの固定ノード(アンカーノード)A~Cが設置されている。アンカーノードA~Cの2次元平面上の各位置(X座標とY座標)は既知である。アンカーノードA~Cの設置方法は、特に限定されるものではないが、監視領域Sの床面上に設置されてもよいし、壁面または天井面に取り付けられてもよい。アンカーノードA~Cには、各アンカーノードを一意に識別可能な固有の識別子ID_A~ID_Cがそれぞれ割り当てられている。なお、アンカーノードの数は3つに限定されるものではなく、3つ以上であればよい。アンカーノードの数が3つ以上である理由は、後述する多辺測量の手法を用いる際に、位置が既知の信号源が3つ以上必要であるためである。
【0016】
アンカーノードA~Cは、専用の無線通信機器またはIoT(Internet of Things)機器等であってもよい。また、アンカーノードA~Cの無線通信方式は、特に限定されるものではないが、例えば、Wi-Fi、Bluetooth、BLE、RFID(Radio Frequency Identifier)、ZigBee、またはUWB(Ultra Wide Band)等であってもよい。
【0017】
また、監視領域Sには、無線信号を送受信可能な無線通信装置である移動ノード1~6を携帯する6人の人間が存在している。移動ノード1~6の2次元平面上の各位置(X座標とY座標)は、移動ノード1~6を携帯する各人が監視領域S内を動き回るとそれに伴って変化する。移動ノード1~6には、各移動ノードを一意に識別可能な固有の識別子ID_1~ID_6がそれぞれ割り当てられている。なお、移動ノードの数は6つに限定されるものではなく、1つ以上であればよい。
【0018】
移動ノード1~6は、専用のウェアラブル端末またはIoT機器等であってもよいし、携帯電話、スマートフォン、タブレット、PDA(Personal Digital Assistant)、またはパーソナルコンピュータ等の無線通信機能を有する携帯可能なデバイスであってもよい。また、移動ノード1~6の無線通信方式は、特に限定されるものではないが、例えば、Wi-Fi、Bluetooth、BLE、ZigBee、またはUWB等であってもよい。
【0019】
移動ノード1~6およびアンカーノードA~Cは、自ノードの識別子を含む無線信号を所定の送信電力で周囲に常時ブロードキャストしている。また、移動ノード1~6およびアンカーノードA~Cは、他ノードによってブロードキャストされた無線信号のうち、自ノードによって所定の閾値以上のRSSIで受信される無線信号に含まれる識別子を取得する。
【0020】
移動ノード1~6およびアンカーノードA~Cは、自ノードによって所定の閾値以上のRSSIで受信される無線信号に含まれる他ノードの識別子を含む「近接情報」を、所定の第1の周期で位置推定サーバ20に送信する。なお、近接情報に含まれる他ノードの識別子として、自ノードによって所定の閾値以上のRSSIで受信される識別子のみが含まれるということは、自ノードの比較的近傍に存在する他ノードの識別子のみが含まれるということを意味している。
【0021】
図2は、移動ノード1によって送信される近接情報の一例を示す図である。近接情報の1番目の識別子は、自ノードの識別子である。したがって、
図2の例では、移動ノード1の識別子であるID_1が格納されている。ただし、位置推定サーバ20が近接情報の送信元ノードを他の手段、例えば無線信号に含まれるヘッダ情報等を参照することによって特定可能である場合には、自ノードの識別子は省略されてもよい。近接情報の2番目以降の識別子は、自ノードによって所定の閾値以上のRSSIで受信される他ノードの識別子、すなわち自ノードの比較的近傍に存在する他ノードの識別子である。
図2の例では、移動ノード3の識別子であるID_3と、移動ノード5の識別子であるID_5と、アンカーノードCの識別子であるID_Cとが格納されている。
【0022】
位置推定サーバ20は、監視領域Sの近くに設置されており、移動ノード1~6およびアンカーノードA~Cから所定の第1の周期で送信される近接情報を受信する。位置推定サーバ20は、移動ノード1~6およびアンカーノードA~Cから近接情報が受信されると、当該近接情報および位置が既知であるアンカーノードA~Cの各位置に基づいて、移動ノード1~6の2次元平面上の各位置を推定する。なお、位置推定サーバ20の設置場所は監視領域Sの近くではなく、監視領域S内であってもよい。
【0023】
図3は、移動ノード1の機能的な構成を示すブロック図である。なお、移動ノード2~6およびアンカーノードA~Cの機能的な構成も同様である。移動ノード1は、ブロードキャスト部11と、受信部12と、作成部13と、送信部14と、無線通信インターフェース15とを備えている。ただし、
図3に示される構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
【0024】
ブロードキャスト部11は、自ノードの識別子であるID_1を含む無線信号を、無線通信インターフェース15を介して所定の送信電力で周囲にブロードキャストする。受信部12は、他ノードによってブロードキャストされた無線信号を、無線通信インターフェース15を介して受信する。作成部13は、受信部12によって受信された無線信号のうち、所定の閾値以上のRSSIで受信される無線信号に含まれる他ノードの識別子を取得し、当該他ノードの識別子を含む近接情報を作成する。送信部14は、作成部13によって作成された近接情報を、無線通信インターフェース15を介して位置推定サーバ20に送信する。なお、アンカーノードA~Cについては、図示しない有線通信インターフェースをさらに備え、作成部13によって作成された近接情報を有線通信によって位置推定サーバ20に送信してもよい。
【0025】
図4は、位置推定サーバ20の機能的な構成を示すブロック図である。位置推定サーバ20は、無線通信インターフェース21と、受信部22と、近接関係特定部23と、位置推定部24と、表示部25とを備えている。ただし、
図4に示される構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。また、位置推定サーバ20の各機能は、物理的に分離された複数の構成に分散して実装されてもよい。
【0026】
受信部22は、移動ノード1~6およびアンカーノードA~Cから、無線通信インターフェース21を介して、近接情報を受信する。上述したように、近接情報には、自ノードによって所定の閾値以上のRSSIで受信される無線信号に含まれる他ノードの識別子が含まれている。なお、アンカーノードA~Cが有線通信インターフェースを備える場合には、位置推定サーバ20も図示しない有線通信インターフェースを備え、アンカーノードA~Cから近接情報を有線通信によって受信してもよい。
【0027】
近接関係特定部23は、近接情報に基づいて、各ノード間の近接関係を表現する無向グラフを作成する。位置推定部24は、各ノード間の近接関係を表現する無向グラフおよび位置が既知であるアンカーノードA~Cの各位置に基づいて、移動ノード1~6の各位置を推定する。
【0028】
位置推定部24は、ホップ数算出部24aと、距離推定部24bと、位置記憶部24cと、個別位置推定部24dと、協調位置推定部24eとを含んでいる。ホップ数算出部24aは、各ノード間の近接関係を表現する無向グラフに基づいて、各ノード間のホップ数を算出する。距離推定部24bは、各ノード間のホップ数および位置が既知であるアンカーノードA~Cの各位置に基づいて、各ノード間の実際の距離を推定する。本実施の形態1では、距離推定部24bによって推定された距離を「推定距離」と称することにする。位置記憶部24cは、アンカーノードA~Cの各位置を予め記憶している。個別位置推定部24dは、移動ノード1~6の各位置を、当該移動ノードとアンカーノードA~Cとの間の推定距離に基づいて、多辺測量の手法によって個別に推定する。協調位置推定部24eは、移動ノード1~6の各位置を変数として含む最適化問題を、個別位置推定部24dによって推定された移動ノード1~6の各位置を初期推定位置として用いて解くことによって、移動ノード1~6の各位置を同時に推定する。表示部25は、例えば液晶ディスプレイパネルによって構成されており、協調位置推定部24eによって推定された移動ノード1~6の各位置を表示する。
【0029】
次に、本実施の形態1に係る位置推定システム100における、移動ノード1~6の各位置を推定する処理について説明する。移動ノード1~6の各位置を推定する処理は、移動ノード1~6およびアンカーノードA~Cによって実行される処理と、これに対応して位置推定サーバ20によって実行される処理とに分かれている。
【0030】
図5は、移動ノード1~6およびアンカーノードA~Cによって実行される処理の詳細を説明するフローチャートである。
【0031】
ステップS101において、移動ノード1~6およびアンカーノードA~Cの各ブロードキャスト部11は、無線通信インターフェース15を介して、自ノードの識別子を含む無線信号のブロードキャストを開始する。この際の送信電力は、移動ノード1~6およびアンカーノードA~Cですべて等しく、例えば2.5mWである。
【0032】
ステップS102において、移動ノード1~6およびアンカーノードA~Cの各受信部12は、無線通信インターフェース15を介して、所定の閾値以上のRSSIで受信される無線信号をすべて受信し、各受信信号に含まれる他ノードの識別子を取得する。ここで、所定の閾値は、例えば-50dBmである。ただし、この所定の閾値は、監視領域S内の移動ノードの数または密度等に応じて適宜調整してもよい。例えば、監視領域S内の移動ノードの数が多く、移動ノード同士の距離が短い場合には、所定の閾値を-50dBmよりも高く設定してもよい。反対に、監視領域S内の移動ノードの数が少なく、移動ノード同士の距離が長い場合には、所定の閾値を-50dBmよりも低く設定してもよい。また、RSSIが細かく変動するような場合に対処するために、所定の期間、例えば100m秒間に一度でも所定の閾値以上のRSSIで受信された無線信号に含まれる他ノードの識別子をすべて取得するようにしてもよい。
【0033】
例えば、移動ノード1の受信部12は、移動ノード3がブロードキャストする無線信号と、移動ノード5がブロードキャストする無線信号と、アンカーノードCがブロードキャストする無線信号とを、所定の時間の間に少なくとも一度は所定の閾値以上のRSSIで受信可能であるとする。このことは、移動ノード1の近傍(例えば、半径4m程度の範囲内)に、移動ノード3と、移動ノード5と、固定ノードCとが存在することを意味している。このとき、移動ノード1は、移動ノード3の識別子であるID_3と、移動ノード5の識別子であるID_5と、アンカーノードCの識別子であるID_Cとを取得する。移動ノード2~6およびアンカーノードA~Cについても同様である。
【0034】
ステップS103において、移動ノード1~6およびアンカーノードA~Cの各作成部13は、上記のステップS102で取得された他ノードの識別子に基づいて、近接情報を作成する。先述したように、近接情報には、自ノードの識別子(省略可)と、自ノードの近傍に存在する他ノードの識別子とが含まれている。
図6は、移動ノード1~6およびアンカーノードA~Cの各作成部13が作成する各近接情報の一覧の一例を示す図である。
【0035】
ステップS104において、移動ノード1~6およびアンカーノードA~Cの各送信部14は、無線通信インターフェース15を介して、上記のステップS103で作成された近接情報を位置推定サーバ20に送信する。詳細には、移動ノード1~6およびアンカーノードA~Cの各送信部14は、無線通信インターフェース15を介して、近接情報を位置推定サーバ20に送信する。なお、アンカーノードA~Cと位置推定サーバ20との間で有線通信が可能である場合には、アンカーノードA~Cの送信部14は、近接情報を有線通信によって位置推定サーバ20に送信してもよい。
【0036】
ステップS105において、移動ノード1~6およびアンカーノードA~Cは、所定の時間、例えば100m秒待機する。この待機時間は、移動ノード1~6およびアンカーノードA~Cが近接情報を位置推定サーバ20に送信する、先述した所定の第1の周期に対応する。所定の待機時間が満了すると、
図5のフローチャートの処理は、ステップS102に戻る。
【0037】
以上の処理が実行されることによって、移動ノード1~6およびアンカーノードA~Cは、自ノードの近傍に存在する他ノードの識別子を含む近接情報を、所定の第1の周期で位置推定サーバ20に繰り返し送信することができる。
【0038】
図7は、
図6の移動ノード1~6およびアンカーノードA~Cによって実行される処理に対応して、位置推定サーバ20によって実行される処理の詳細を説明するフローチャートである。
【0039】
ステップS201において、位置推定サーバ20の受信部22は、無線通信インターフェース21を介して、
図5のステップS104で移動ノード1~6およびアンカーノードA~Cによって送信された近接情報を所定の期間、例えば1秒間にわたって受信する。すなわち、位置推定サーバ20の受信部22は、
図6に示される各ノードの近接情報をすべて受信する。ただし、同一の近接情報が重複して受信された場合には、最初に受信された近接情報のみを残し、後に受信された近接情報は破棄する。なお、アンカーノードA~Cと位置推定サーバ20との間で有線通信が可能である場合には、位置推定サーバ20の受信部22は、アンカーノードA~Cから近接情報を有線通信によって受信してもよい。
【0040】
ステップS202において、位置推定サーバ20の近接関係特定部23は、上記のステップS201で受信された移動ノード1~6およびアンカーノードA~Cの近接情報に基づいて、各ノードの近接関係を表現する
図8Aに示されるような無向グラフを作成する。
【0041】
詳細には、本実施の形態1では、互いに相手のノードの識別子を所定の閾値以上のRSSIで受信可能なノードのペアを「近接ノードのペア」と定義する。例えば、移動ノード1が移動ノード3の識別子を所定の閾値以上のRSSIで受信可能であり、かつ移動ノード3が移動ノード1の識別子を所定の閾値以上のRSSIで受信可能であるとき、移動ノード1と移動ノード3とは「近接ノードのペア」となる。そして、これら近接ノードのペアを連結していくことにより、
図8Aに示されるような無向グラフが作成される。
図8Bは、
図8Aの無向グラフの行列表現である。周知のように、頂点の数が有限の無向グラフを表現する行列は対称行列であり、その対角要素はすべて0である。
【0042】
なお、移動ノードが送信する近接情報に矛盾がある場合、例えば、移動ノード1が送信する近接情報には移動ノード3の識別子が含まれるが、移動ノード3が送信する近接情報には移動ノード1の識別子が含まれないような場合には、移動ノード1と移動ノード3とは、上記の「近接ノードのペア」の定義を満たさない。このような場合には、
図8Aの移動ノード1と移動ノード3との間の辺は存在しなくなり、
図8Bの行列の(1,3)の要素と(3,1)の要素はともに0になる。あるいは、例えば、移動ノード3から受信された近接情報に移動ノード1の識別子を追加することにより、移動ノード1と移動ノード3とが「近接ノードのペア」の定義を満たすように補正してもよい。このように補正すれば、
図8Aの移動ノード1と移動ノード3との間の辺が存在するようになり、
図8Bの行列の(1,3)の要素と(3,1)の要素はともに1になる。
【0043】
ステップS203において、位置推定サーバ20のホップ数算出部24aは、
図8Aの無向グラフに含まれる各ノード間のホップ数を算出し、
図9に示されるようなホップ数の距離行列を作成する。
【0044】
図9の距離行列において、例えば、移動ノード1と移動ノード3との間のホップ数は1である。また、移動ノード1とアンカーノードAとの間のホップ数は4である。このことは現実の監視領域Sにおいても、移動ノード1と移動ノード3との間の実際の距離(空間的な距離または物理的な距離)は、移動ノード1と固定ノードAとの間の実際の距離よりも短い可能性が高いことを意味している。換言すれば、移動ノード1から見て、移動ノード3は固定ノードAよりも近くに位置している可能性が高い。
【0045】
なお、
図8Aの無向グラフに含まれる各ノード間のホップ数を算出する具体的な方法は、特に限定されるものでなはいが、例えば、幅優先探索やダイクストラ法等の周知のアルゴリズムを利用することができる。また、距離行列の作成方法から明らかであるが、
図9の距離行列は対称行列であり、その対角要素はすべて0である。
【0046】
ステップS204において、位置推定サーバ20の距離推定部24bは、
図8Aの無向グラフの1ホップあたりの平均距離を算出する。詳細には、位置推定サーバ20の距離推定部24bは、位置記憶部24cに記憶されているアンカーノードA~Cの各位置に基づいて、1ホップあたりの平均距離を算出する。
【0047】
具体的には、監視領域Sの床面に対応する2次元平面上にN個のノードが存在する状況を考える。N個のノードのうち、最初のn個(1番目からn番目まで)は位置が不明の移動ノードであり、残りのN-n個(n+1番目からN番目まで)は位置が既知のアンカーノードである。本実施の形態1では、移動ノード1~6とアンカーノードA~Cが存在するため、N=9、n=6である。
【0048】
このとき、
図8Aの無向グラフの1ホップあたりの平均距離Hdを、アンカーノードの既知の位置r
i(i=n+1,・・・,N)と、各アンカーノード間のホップ数h
ij(i,j=n+1,・・・,N)とから、以下の式(1)に従って算出する。
【0049】
【0050】
具体的には、
図10において、アンカーノードAとアンカーノードBとの間のホップ数は2であり、アンカーノードBとアンカーノードCとの間のホップ数は3であり、アンカーノードCとアンカーノードAとの間のホップ数は4である。また、例えば、アンカーノードAとアンカーノードBとの間の距離|r
A-r
B|=8m、アンカーノードBとアンカーノードCとの間の距離|r
B-r
C|=10m、アンカーノードCとアンカーノードAとの間の距離|r
C-r
A|=18mであるとする。このとき、1ホップあたりの平均距離Hdは、Hd=(8+10+18)/(2+3+4)=4.0mとなる。
【0051】
ステップS205において、位置推定サーバ20の距離推定部24bは、各ノード間の実際の距離を推定する。詳細には、位置推定サーバ20の距離推定部24bは、
図9のホップ数の距離行列の各要素に、上記のステップS204で算出された1ホップあたりの平均距離Hdを乗算することによって、
図11に示されるような推定距離を要素として含む、推定距離行列を作成する。
図11の推定距離行列の各要素は、各ノード間の実際の距離の推定値(推定距離)を表している。ただし、
図11の推定距離行列において、ホップ数が3以上の要素に対応する推定距離は、予め決定された大きな値N、例えば100に置き換えられる。なお、
図11には存在しないが、近接関係が求められないノード間の推定距離についても、予め設定された大きな値Nに置き換えられる。
【0052】
予め決定された大きな値Nは、次に述べるステップS206およびS207において移動ノード1~6の各位置を推定する際の計算結果にほとんど影響を及ぼさない。すなわち、ホップ数が3以上の要素に対応する推定距離を予め決定された大きな値Nに置き換えることは、移動ノード1~6の各位置を推定する際に、ホップ数が1または2のノード、すなわち比較的近傍に位置するノード間の推定距離のみを使用し、ホップ数が3以上のノード、すなわち比較的遠方に位置するノード間の推定距離は使用しないことを意味している。換言すれば、信号源からの距離に比例して増大するRSSIの誤差や電波伝播環境等の影響を受けづらく、高い精度が期待できる近傍のノード間の推定距離のみに基づいて、移動ノード1~6の各位置を推定することを意味している。
【0053】
なお、ホップ数の閾値は3に限定されるものではなく、監視領域S内の移動ノードの数または密度等に応じて適宜調整してもよい。例えば、監視領域S内の移動ノードの数が多く、移動ノード同士の距離が短い場合には、ホップ数の閾値を3よりも小さく設定してもよい。反対に、監視領域S内の移動ノードの数が少なく、移動ノード同士の距離が長い場合には、ホップ数の閾値を3よりも大きく設定してもよい。
【0054】
ステップS206において、位置推定サーバ20の個別位置推定部24dは、多辺測量の手法に基づいて、移動ノード1~6の各位置を個別に推定する。周知のように、多辺測量では、位置が既知の信号源が3つ以上必要である。そのため、本実施の形態1でも、アンカーノードが3つ以上必要である。多辺測量では、各移動ノード1~6の位置を、当該移動ノードと位置が既知のアンカーノードA~Cとの間の推定距離に基づいて個別に推定する。
【0055】
詳細には、位置推定サーバ20の個別位置推定部24dは、
図11の推定距離行列に含まれる移動ノードiとアンカーノードjとの間の推定距離d
ij(i=1,・・・,n;j=n+1,・・・,N)から、以下の式(2)に従って適当な数の繰り返し計算を行うことにより、移動ノードiの位置r
iを推定する。
【0056】
【0057】
ただし、上式において、r
i
(1,k)はk番目の解であり、N
iは
図8Aの各ノード間の近接関係を表現する無向グラフ上において、位置を推定したい移動ノードiから無向グラフ上の辺を辿って到達可能なアンカーノードjの数である。また、A
ijは移動ノードiとアンカーノードjとの間の推定距離が既知か否かを表す変数であり、推定距離が既知の場合はA
ij=1であり、推定距離が不明の場合はA
ij=0である。なお、r
i
(1,1)には、上式の第2項を利用することができる。
【0058】
ステップS207において、位置推定サーバ20の協調位置推定部24eは、移動ノード1~6の各位置を変数として含む最適化問題を解くことによって、移動ノード1~6の各位置を同時に推定する。この際、移動ノード1~6の初期推定位置として、上記のステップS206で推定された移動ノード1~6の各位置を用いる。ただし、位置を推定したいノードから無向グラフ上の辺を辿って到達可能なアンカーノードの数が1である場合には、当該アンカーノードの位置をri
(1)とする。また、位置を推定したいノードから無向グラフ上の辺を辿って到達可能なアンカーノードの数が0である場合には、監視領域Sの中心をri
(1)とする。
【0059】
詳細には、位置推定サーバ20の協調位置推定部24eは、移動ノードiの位置riを、以下の式(3)によって定義される非線形の最適化問題を解くことによって同時に求める。
【0060】
【0061】
ただし、上式において、目的関数f(x1,・・・,xn)は、以下の式(4)によって定義される。
【0062】
【0063】
上記の最適化問題を解く方法としては、一例として、Stress majorization(E. R. Gansner, Y. Koren, and S. North, “Graph drawing by stress majorization," in Graph Drawing, ser. Lecture Notes in Computer Science, Heidelberg, Germany: Springer, 2005, pp. 239-250)を用いることができる。また、最適化問題の定式化として、上記の式(3)、(4)の定式化に代えて、例えば、多次元尺度構成法に基づく定式化を行ってもよい。
【0064】
ステップS208において、位置推定サーバ20の表示部25は、上記のステップS207で推定された移動ノード1~6の各位置を表示する。表示の形式としては、特に限定されるものではないが、例えば、監視領域Sを表す2次元の図形上に移動ノード1~6の各位置をプロットしてもよい。表示が完了すると、
図7のフローチャートの処理は、ステップS201に戻る。
【0065】
以上の処理が実行されることによって、移動ノード1~6の各位置が繰り返し推定され、表示部25に逐次表示される。
【0066】
以上説明したように、本開示の実施の形態1に係る位置推定システム100は、位置が不明の移動ノード1~6と、位置が既知のアンカーノードA~Cと、位置推定サーバ20とを備えている。移動ノード1~6およびアンカーノードA~Cは、自ノードの識別子を含む無線信号を所定の送信電力で周囲に常時ブロードキャストする。すなわち、アンカーノードA~Cだけでなく、移動ノード1~6も自ノードの識別子を含む無線信号を周囲にブロードキャストする。
【0067】
移動ノード1~6およびアンカーノードA~Cは、自ノードによって所定の閾値以上のRSSIで受信される他ノードの識別子を含む近接情報を位置推定サーバ20に送信する。すなわち、自ノードの比較的近くに存在し、信号源からの距離に比例して増大するRSSIの誤差や電波伝播環境等の影響を受けづらく、高い精度が期待できる近傍のノードの情報のみを位置推定サーバ20に送信する。
【0068】
位置推定サーバ20は、移動ノード1~6およびアンカーノードA~Cから近接情報を受信すると、当該近接情報に基づいて各ノード間の近接関係(無向グラフ)を特定し、各ノード間の近接関係およびアンカーノードA~Cの各位置に基づいて、移動ノード1~6の各位置を推定する。すなわち、信号源からの距離に比例して増大するRSSIの誤差や電波伝播環境等の影響を受けづらく、高い精度が期待できる近傍のノードの情報のみに基づいて、移動ノード1~6の各位置を推定する。
【0069】
上記のように、移動ノード1~6およびアンカーノードA~Cの各ノード間の近接関係に基づいて、移動ノード1~6の各位置を推定することにより、信号源から送信される無線信号のRSSIに基づいて移動ノードの各位置を推定する従来技術と比較して、位置推定の精度が向上する。特に、監視領域S内の移動ノードの数が多く、移動ノード同士の距離が短い場合には、従来技術よりも高い推定精度を得ることができる。また、各ノードの近接関係を利用することにより、アンカーノードA~Cから送信される無線信号を直接受信できない移動ノード(
図8Aの例では、移動ノード3~4)の位置も推定することができるため、アンカーノードの数を少数に抑えることができて低コストとなる。また、フィンガープリント法のような事前準備に要する手間も不要である。
【0070】
また、
図7のステップS206およびステップS207では、移動ノード1~6の位置推定問題を非線形の最適化問題として定式化し、これを解くことによって移動ノード1~6の各位置を推定している。したがって、本実施の形態1で推定される移動ノード1~6の各位置は、数学的に正当な手法によって推定されたものとなる。
【0071】
なお、上記の実施の形態1において、個別位置推定部24dによって推定された移動ノード1~6の各位置を協調位置推定部24eの初期推定位置として用いない場合には、個別位置推定部24dの処理は省略することができる。あるいは、協調位置推定部24eの処理を省略して、個別位置推定部24dによって推定された移動ノード1~6の各位置を表示部25に表示させてもよい。
【0072】
また、上記の実施の形態1の変形例として、
図5のステップS105で移動ノード1~6が近接情報を位置推定サーバ20に送信するのに代えて、移動ノード1~6同士が近接情報を相互にやり取りし、位置推定サーバ20によって行われる
図7のステップS201~S208の処理を各移動ノード1~6が各々実行してもよい。
【0073】
(実施の形態2)
上記の実施の形態1に係る位置推定システム100では、移動ノード1~6およびアンカーノードA~Cから送信される近接情報に基づいて、位置推定サーバ20が移動ノード1~6の各位置を推定していた。これに対して、本実施の形態2に係る位置推定システム200では、位置推定サーバに相当する構成は存在せず、各移動ノードが自律分散的に自ノードの位置を他ノードから独立に推定する。
【0074】
図12は、本開示の実施の形態2に係る位置推定システム200の構成を示す図である。監視領域Sには、無線信号を送信可能な3つの固定ノード(アンカーノード)D~Fが設置されている。アンカーノードD~Fの2次元平面上の各位置(X座標とY座標)は既知である。なお、アンカーノードの数は3つに限定されるものではなく、3つ以上であればよい。
【0075】
また、監視領域Sには、無線信号を送受信可能な移動ノード201~204を携帯する4人の人間が存在している。移動ノード201~204の2次元平面上の各位置(X座標とY座標)は、移動ノード201~204を携帯する各人が監視領域S内を動き回るとそれに伴って変化する。なお、移動ノードの数は4つに限定されるものではなく、1つ以上であればよい。
【0076】
移動ノード201~204の各記憶部には、アンカーノードから自ノードまでのホップ数を表す「自ノードのホップ数」と、「アンカーノードの位置」とが格納される。ただし、初期状態においては、自ノードのホップ数およびアンカーノードの位置として何も格納されていない。ホップ数の定義および算出方法は、実施の形態1と同じである。移動ノード201~204が次に述べる自律分散型の処理を繰り返し実行する過程において、移動ノード210~204の各記憶部に、自ノードのホップ数およびアンカーノードの位置の情報が追加されていく。
【0077】
図13は、移動ノード201の記憶部に格納される自ノードのホップ数およびアンカーノードの位置の一例を示す図である。
図13の例では、自ノードのホップ数として、1ホップfromDと、2ホップfromFと、4ホップfromEとが格納されている。これらの情報は、移動ノード201は、アンカーノードDからの距離が1ホップであり、アンカーノードFからの距離が2ホップであり、アンカーノードEからの距離が4ホップであることを表している。また、アンカーノードの位置として、アンカーノードDの位置と、アンカーノードFの位置と、アンカーノードEの位置とが格納されている。
【0078】
アンカーノードD~Fは、自ノードの位置を周囲に常時ブロードキャストしている。移動ノード201~204は、あるアンカーノードによってブロードキャストされた無線信号を所定の閾値以上のRSSIで受信できる場合には、当該アンカーノードと近接関係にあると判断し、当該無線信号に含まれるアンカーノードの位置に基づいて、自機の記憶部に自ノードのホップ数およびアンカーノードの位置の情報を追加する。
【0079】
移動ノード201~201は、自機の記憶部に格納されている自ノードのホップ数およびアンカーノードの位置を所定の第2の周期で周囲にブロードキャストする。また、移動ノード201~204は、他の移動ノードによってブロードキャストされた無線信号を所定の閾値以上のRSSIで受信できる場合には、当該他の移動ノードと近接関係にあると判断し、当該無線信号に含まれる他ノードのホップ数およびアンカーノードの位置に基づいて、自機の記憶部に自ノードのホップ数およびアンカーノードの位置の情報を追加する。
【0080】
ただし、自機の記憶部に情報を追加する際に、同一内容の情報が既に追加されている場合には、重複して追加することはしない。また、自ノードのホップ数の情報を新たに追加する際に、起点のアンカーノードが同一であり、ホップ数のみが異なる場合には、ホップ数の少ない方の情報を追加して他方は破棄する。
【0081】
上記の自律分散型の処理が繰り返し実行されることによって、移動ノード201~204の各記憶部に自ノードのホップ数およびアンカーノードの位置の情報が追加されていく。そして、十分な回数の繰り返しが実行された後には、移動ノード201~204の各記憶部に格納されている自ノードのホップ数およびアンカーノードの位置は、インターネットのルーティングプロトコルに用いられるBellman-Fordアルゴリズムと同様の原理により、正しい値に収束する。
【0082】
移動ノード201~204は、自機の記憶部に格納されている自ノードのホップ数およびアンカーノードの位置に基づいて、多辺測量の手法によって、自ノードの2次元平面上の位置を推定することができる。
【0083】
図14は、移動ノード201の機能的な構成を示すブロック図である。なお、移動ノード202~204の機能的な構成も同様である。移動ノード201は、ブロードキャスト部211と、受信部212と、追加部213と、記憶部214と、位置推定部215と、無線通信インターフェース216と、表示部217とを備えている。ただし、
図14に示される構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
【0084】
ブロードキャスト部211は、記憶部214に格納されている自ノードのホップ数およびアンカーノードの位置を含む無線信号を、無線通信インターフェース216を介して所定の送信電力で周囲にブロードキャストする。受信部212は、他の移動ノードまたはアンカーノードによってブロードキャストされた無線信号を、無線通信インターフェース216を介して受信する。追加部213は、受信部212によって受信された無線信号のうち、所定の閾値以上のRSSIで受信される無線信号に含まれる他ノードのホップ数およびアンカーノードの位置のいずれかまたは両方を取得する。詳細には、他の移動ノードによってブロードキャストされた無線信号の場合には、他ノードのホップ数およびアンカーノードの位置の両方を取得し、アンカーノードによってブロードキャストされた無線信号の場合には、アンカーノードの位置のみを取得する。追加部213は、取得された他ノードのホップ数およびアンカーノードの位置のいずれかまたは両方に基づいて、記憶部214に自ノードのホップ数およびアンカーノードの位置を追加する。
【0085】
位置推定部215は、距離推定部215aと、個別位置推定部215bとを含んでいる。距離推定部215aは、アンカーノードD~Fから自ノードまでのホップ数と、アンカーノードD~Fの位置とに基づいて、アンカーノードD~Fから自ノードまでの実際の距離を推定する。本実施の形態2では、距離推定部215aによって推定された距離を「推定距離」と称することにする。個別位置推定部215bは、自ノードの位置を、アンカーノードD~Fから自ノードまでの推定距離およびアンカーノードD~Fの各位置に基づいて、多辺測量の手法によって推定する。表示部217は、位置推定部215の個別位置推定部215bによって推定された自ノードの位置を表示する。
【0086】
次に、本実施の形態2に係る位置推定システム200において、移動ノード201~204が自ノードの位置を推定する処理について説明する。
【0087】
図15は、移動ノード201~204によって実行される処理の詳細を説明するフローチャートである。なお、アンカーノードD~Fは、自ノードの位置を周囲に常時ブロードキャストするだけであり、
図15の処理は実行しない。
【0088】
ステップS301において、移動ノード201~204の各ブロードキャスト部211は、無線通信インターフェース216を介して、自機の記憶部214に格納されている自ノードのホップ数およびアンカーノードの位置を含む無線信号を周囲にブロードキャストする。ただし、先述したように、初期状態においては、移動ノード201~204の各記憶部214には何も格納されていない。したがって、1回目のステップS301の実行時にブロードキャストされる無線信号には、何も含まれていない。
【0089】
ステップS302において、移動ノード201~204の各受信部212は、無線通信インターフェース216を介して、所定の閾値以上のRSSIで受信される無線信号をすべて受信し、各受信信号に含まれる他ノードのホップ数およびアンカーノードの位置のいずれかまたは両方を取得する。
【0090】
具体的には、1回目のステップS302の実行時には、
図16(A)に示されるように、移動ノード201は、アンカーノードDによってブロードキャストされた無線信号を受信し、当該無線信号に含まれるアンカーノードDの位置を取得する。同様に、移動ノード202は、アンカーノードFによってブロードキャストされた無線信号を受信し、当該無線信号に含まれるアンカーノードFの位置を取得する。同様に、移動ノード204は、アンカーノードEによってブロードキャストされた無線信号を受信し、当該無線信号に含まれるアンカーノードEの位置を取得する。ただし、
図16(A)では、移動ノード201を「1」、移動ノード202を「2」、移動ノード203を「3」、移動ノード204を「4」で示している。
図17~19についても同様である。
【0091】
ステップS303において、移動ノード201~204の各追加部213は、上記のステップ302で取得された他ノードのホップ数およびアンカーノードの位置のいずれかまたは両方に基づいて、自機の記憶部214に自ノードのホップ数およびアンカーノードの位置を追加する。
【0092】
具体的には、1回目のステップS303の実行時には、
図16(B)に示されるように、移動ノード201は、自ノードのホップ数として1ホップfromDを追加する。また、移動ノード201は、アンカーノードの位置として、アンカーノードDの位置を追加する。同様に、移動ノード202は、自ノードのホップ数として1ホップfromFを追加するとともに、アンカーノードFの位置を追加する。同様に、移動ノード204は、自ノードのホップ数として1ホップfromEを追加するとともに、アンカーノードEの位置を追加する。
【0093】
ステップS304において、移動ノード201~204の各位置推定部215は、自ノードの位置を推定可能であるか否かを判定する。詳細には、自機の記憶部214に格納されている自ノードのホップ数およびアンカーノードの位置がそれぞれ3つ以上、すなわち後述する多辺測量を行うことができる最小数以上である場合には、位置推定可能であると判定される。この場合、移動ノード201~204の処理は、ステップS305に進む。一方、自機の記憶部214に格納されている自ノードのホップ数およびアンカーノードの位置がそれぞれ3つ未満である場合には、位置推定不能であると判定される。この場合、移動ノード201~204の処理は、ステップS305~S307をスキップして、ステップS308に進む。
【0094】
ステップS308において、移動ノード201~204は、所定の時間待機する。この待機時間は、例えば100m秒に設定される。この待機時間は、移動ノード201~204が自機の記憶部214に格納されている自ノードのホップ数およびアンカーノードの位置を周囲にブロードキャストする、先述した所定の第2の周期に対応する。所定の待機時間が満了すると、移動ノード201~204の処理は、ステップS301に戻る。
【0095】
2回目のステップS301の実行時には、
図17(A)に示されるように、移動ノード201は、自ノードのホップ数である1ホップfromDおよびアンカーノードDの位置を周囲にブロードキャストする。同様に、移動ノード202は、自ノードのホップ数である1ホップfromFおよびアンカーノードFの位置を周囲にブロードキャストする。同様に、移動ノード204は、自ノードのホップ数である1ホップfromEおよびアンカーノードEの位置を周囲にブロードキャストする。
【0096】
2回目のステップS302の実行時には、
図17(A)に示されるように、移動ノード201は、移動ノード202によってブロードキャストされた無線信号から、移動ノード202のホップ数である1ホップfromFおよびアンカーノードFの位置を取得する。同様に、移動ノード202は、移動ノード201によってブロードキャストされた無線信号から、移動ノード201のホップ数である1ホップfromDおよびアンカーノードDの位置を取得する。同様に、移動ノード203は、移動ノード202によってブロードキャストされた無線信号から、移動ノード202のホップ数である1ホップfromFおよびアンカーノードFの位置を取得する。また、移動ノード203は、移動ノード204によってブロードキャストされた無線信号から、移動ノード204のホップ数である1ホップfromEおよびアンカーノードEの位置を取得する。
【0097】
2回目のステップS303の実行時には、
図17(B)に示されるように、移動ノード201は、自ノードのホップ数として2ホップfromFを追加するとともに、アンカーノードFの位置を追加する。同様に、移動ノード202は、自ノードのホップ数として2ホップfromDを追加するとともに、アンカーノードDの位置を追加する。同様に、移動ノード203は、自ノードのホップ数として2ホップfromEを追加するとともに、アンカーノードEの位置を追加する。また、移動ノード203は、自ノードのホップ数として2ホップfromFを追加するとともに、アンカーノードFの位置を追加する。
【0098】
2回目のステップS304の判定時にも、移動ノード201~204の処理は、ステップS305~S307をスキップして、ステップS308に進む。2回目のステップS308の実行時において、移動ノード201~204は、所定の時間待機した後、ステップS301に戻る。
【0099】
3回目のステップS301の実行時には、
図18(A)に示されるように、移動ノード202は、自ノードのホップ数である2ホップfromDおよびアンカーノードDの位置を周囲にブロードキャストする。同様に、移動ノード203は、自ノードのホップ数である2ホップfromEおよび2ホップfromF、並びに、アンカーノードEの位置およびアンカーノードFの位置をブロードキャストする。
【0100】
3回目のステップS302の実行時には、
図18(A)に示されるように、移動ノード202は、移動ノード203によってブロードキャストされた無線信号から、移動ノード203のホップ数である2ホップfromEおよびアンカーノードEの位置を取得する。同様に、移動ノード203は、移動ノード202によってブロードキャストされた無線信号から、移動ノード202のホップ数である2ホップfromDおよびアンカーノードDの位置を取得する。同様に、移動ノード204は、移動ノード203によってブロードキャストされた無線信号から、移動ノード203のホップ数である2ホップfromFおよびアンカーノードFの位置を取得する。
【0101】
3回目のステップS303の実行時には、
図18(B)に示されるように、移動ノード202は、自ノードのホップ数として3ホップfromEを追加するとともに、アンカーノードEの位置を追加する。同様に、移動ノード203は、自ノードのホップ数として3ホップfromDを追加するとともに、アンカーノードDの位置を追加する。同様に、移動ノード204は、自ノードのホップ数として3ホップfromFを追加するとともに、アンカーノードFの位置を追加する。
【0102】
3回目のステップS304の判定時には、移動ノード202および203の処理は、ステップS305に進む。一方、移動ノード201および204の処理は、ステップS305~S307をスキップして、ステップS308に進む。
【0103】
ステップS305において、移動ノード202の距離推定部215aは、実施の形態1のステップS204~S205と同様の方法で、アンカーノードD~Fから自ノードまでの実際の距離を推定する。同様に、移動ノード203の距離推定部215aは、アンカーノードD~Fから自ノードまでの実際の距離を推定する。
【0104】
ステップS306において、移動ノード202の個別位置推定部215bは、実施の形態1のステップS206と同様の方法で、自ノードの位置を、アンカーノードD~Fから自ノードまでの推定距離およびアンカーノードD~Fの各位置に基づいて、多辺測量の手法によって推定する。同様に、移動ノード203の個別位置推定部215bは、自ノードの位置を、アンカーノードD~Fから自ノードまでの推定距離およびアンカーノードD~Fの各位置に基づいて、多辺測量の手法によって推定する。
【0105】
ステップS307において、移動ノード202の表示部217は、個別位置推定部215bによって推定された自ノードの位置を表示する。同様に、移動ノード203の表示部217は、個別位置推定部215bによって推定された自ノードの位置を表示する。
【0106】
3回目のステップS308の実行時において、移動ノード201~204は、所定の時間待機した後、ステップS301に戻る。
【0107】
4回目のステップS301の実行時には、
図19(A)に示されるように、移動ノード202は、自ノードの距離ホップ数である3ホップformEおよびアンカーノードEの位置を周囲にブロードキャストする。同様に、移動ノード203は、自ノードのホップ数である3ホップfromDおよびアンカーノードDの位置を周囲にブロードキャストする。
【0108】
4回目のステップS302の実行時には、
図19(A)に示されるように、移動ノード201は、移動ノード202によってブロードキャストされた無線信号から、移動ノード202のホップ数である3ホップfromEおよびアンカーノードEの位置を取得する。同様に、移動ノード204は、移動ノード203によってブロードキャストされた無線信号から、移動ノード203のホップ数である3ホップfromDおよびアンカーノードDの位置を取得する。
【0109】
4回目のステップS303の実行時には、
図19(B)に示されるように、移動ノード201は、自ノードのホップ数として4ホップfromEを追加するとともに、アンカーノードEの位置を追加する。同様に、移動ノード204は、自ノードのホップ数として4ホップfromDを追加するとともに、アンカーノードDの位置を追加する。
【0110】
4回目のステップS304の判定時には、移動ノード201~204の処理は、すべてステップS305に進む。ステップS305において、移動ノード201~204の各距離推定部215aは、実施の形態1のステップS204~S205と同様の方法で、アンカーノードD~Fから自ノードまでの実際の距離を推定する。
【0111】
4回目のステップS306において、移動ノード201~204の各個別位置推定部215bは、実施の形態1のステップS206と同様の方法で、自ノードの位置を、アンカーノードD~Fから自ノードまでの推定距離およびアンカーノードD~Fの各位置に基づいて、多辺測量の手法によって推定する。
【0112】
4回目のステップS307において、移動ノード201~204の各表示部217は、個別位置推定部215bによって推定された自ノードの位置を表示する。
【0113】
4回目のステップS308の実行時において、移動ノード201~204は、所定の時間待機した後、ステップS301に戻る。
【0114】
以上の処理が繰り返し実行されることによって、移動ノード201~204の各記憶部214に自ノードのホップ数およびアンカーノードの位置の情報が追加されていき、やがて正しい値に収束する。そして、移動ノード201~204は、自ノードの位置を正しく推定することができる。
【0115】
また、移動ノード201~204の各位置の時間変化を追跡したい場合には、移動ノード201~204は、所定の第3の周期、例えば1秒周期で自機の記憶部214に格納されている情報をすべてクリアし、
図15の処理を再度スタートすればよい。
【0116】
以上説明したように、本開示の実施の形態2に係る移動ノード201~204は、自ノードのホップ数およびアンカーノードの位置を格納する記憶部214を備えている。移動ノード201~204は、自ノードのホップ数およびアンカーノードの位置を所定の送信電力で周囲にブロードキャストする。移動ノード201~204は、他の移動ノードまたはアンカーノードによってブロードキャストされた無線信号のうち、所定の閾値以上のRSSIで受信される無線信号に含まれる、他ノードのホップ数およびアンカーノードの位置のいずれかまたは両方を取得する。
【0117】
移動ノード201~204は、取得された他ノードのホップ数およびアンカーノードの位置のいずれかまたは両方に基づいて、記憶部214に自ノードのホップ数およびアンカーノードの位置を追加する。移動ノード201~204は、記憶部214に格納されている自ノードのホップ数およびアンカーノードの情報に基づいて、自ノードの位置を推定する。
【0118】
上記の特徴により、本実施の形態2に係る位置推定システム200では、実施の形態1の位置推定サーバに相当する構成が不要であり、各移動ノード201~204が自律分散的に自ノードの位置を他ノードから独立に推定することができる。
【0119】
本開示の幾つかの実施の形態を説明したが、これらの実施の形態は例として提示したものであり、開示の範囲を限定することは意図していない、これらの実施の形態は、その他の様々な形態で実施されることが可能であり、開示の要旨を逸脱しない範囲で、種々の省略、置き換え、変更等を行うことができる。これら実施の形態やその変形は、開示の範囲や要旨に含まれると同様に、特許請求の範囲に記載された開示とその均等の範囲に含まれるものである。
【0120】
また、本開示の処理は、特定の規格に限定されるものではなく、例示された設定は、適宜に変更されてよい。また、本開示の処理の手順は、これら一連の手順を有する方法として捉えてもよい。あるいは、本開示の処理の手順は、これら一連の手順をコンピュータに実施させるためのプログラム、または、当該プログラムを記憶する記録媒体として捉えてもよい。その場合、本開示の処理は、コンピュータのCPU等のプロセッサによって実行される。また、記録媒体の種類は、本開示の実施の形態に影響を及ぼすものではないため、特に限定されるものではない。
【0121】
また、本開示の
図3、
図4、
図14で示された各構成要素は、ソフトウェアで実現されてもよいし、ハードウェアで実現されてもよい。例えば、各構成要素がマイクロプログラム等のソフトウェアで実現されるソフトウェアモジュールであり、プロセッサが当該ソフトウェアモジュールを実行することにより、各構成要素が実現されてもよい。あるいは、各構成要素が、半導体チップ(ダイ)上の回路ブロック、例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field Programmable Gate Array)等の集積回路によって実現されてもよい。また、構成要素の数と構成要素を実現するハードウェアの数とは一致していなくてもよい。例えば、1つのプロセッサまたは回路が複数の構成要素を実現してもよい。反対に、1つの構成要素が複数のプロセッサまたは回路によって実現されてもよい。
【0122】
また、本開示で述べられたプロセッサは、その種類が限定されるものではない。プロセッサは、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはGPU(Graphics Processing Unit)等であってもよい。
【符号の説明】
【0123】
1 移動ノード
2 移動ノード
3 移動ノード
4 移動ノード
5 移動ノード
6 移動ノード
11 ブロードキャスト部
12 受信部(第1の受信部)
13 作成部
14 送信部
15 無線通信インターフェース
20 位置推定サーバ(位置推定装置)
21 無線通信インターフェース
22 受信部(第2の受信部)
23 近接関係特定部
24 位置推定部
24a ホップ数算出部
24b 距離推定部
24c 位置記憶部
24d 個別位置推定部
24e 協調位置推定部
A アンカーノード(固定ノード)
B アンカーノード(固定ノード)
C アンカーノード(固定ノード)
100 位置推定システム
200 位置推定システム
201 移動ノード
202 移動ノード
203 移動ノード
204 移動ノード
211 ブロードキャスト部
212 受信部
213 追加部
214 記憶部
215 位置推定部
215a 距離推定部
215b 個別位置推定部
D アンカーノード(固定ノード)
E アンカーノード(固定ノード)
F アンカーノード(固定ノード)