(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-01
(45)【発行日】2024-02-09
(54)【発明の名称】位置推定システム、固定無線装置、および移動無線装置
(51)【国際特許分類】
G01S 5/02 20100101AFI20240202BHJP
H04W 64/00 20090101ALI20240202BHJP
【FI】
G01S5/02 Z
H04W64/00 110
(21)【出願番号】P 2020163244
(22)【出願日】2020-09-29
【審査請求日】2023-01-27
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】岡本 芽生
(72)【発明者】
【氏名】白方 亨宗
(72)【発明者】
【氏名】村田 智洋
(72)【発明者】
【氏名】高橋 洋
(72)【発明者】
【氏名】森下 陽平
【審査官】山下 雅人
(56)【参考文献】
【文献】特開2019-174164(JP,A)
【文献】特開2013-232805(JP,A)
【文献】藤原 真之,GPS信号情報とBluetooth電波情報を用いたIoT機器の協調的屋内位置推定手法の検討,情報処理学会 研究報告 コンシューマ・デバイス&システム(CDS) 2020-CDS-028 [online] ,日本,情報処理学会,2020年09月22日,2020-MBL-096,p. 1~8,<URL: http://id.nii.ac.j p/1001/00207143/>
(58)【調査した分野】(Int.Cl.,DB名)
G01S 1/00-17/95
H04W64/00
(57)【特許請求の範囲】
【請求項1】
移動無線装置と、
学習モデルを搭載した複数の固定無線装置と、
を備え、
前記移動無線装置は、
前記移動無線装置における、前記複数の固定無線装置
の無線信号の受信強度分布を示すフィンガープリントを前記複数の固定無線装置に送信し、
前記複数の固定無線装置の各々は、
前記フィンガープリントを前記学習モデルに入力し、前記学習モデルから出力された前記移動無線装置の近接度を他の固定無線装置に送信し、
前記学習モデルから出力された第1の近接度と、前記他の固定無線装置から受信した第2の近接度とに基づいて、前記移動無線装置の位置を判定する、
位置推定システム。
【請求項2】
前記第1の近接度が最も大きい固定無線装置は、前記フィンガープリントを教師データとし、前記学習モデルを更新する、
請求項1に記載の位置推定システム。
【請求項3】
前記第1の近接度が最も大きい固定無線装置は、前記学習モデルから出力された近接度と、前記他の固定無線装置から送信された近接度とに基づいて、前記移動無線装置の判定位置の信頼度を算出し、前記信頼度に基づいて、前記フィンガープリントを教師データとし、前記学習モデルを更新する、
請求項2に記載の位置推定システム。
【請求項4】
前記第1の近接度が最も大きい固定無線装置は、前記第1の近接度が第1の規定値以上であり、前記第2の近接度のいずれも第2の規定値未満である場合、前記フィンガープリントを教師データとする、
請求項2または3に記載の位置推定システム。
【請求項5】
前記移動無線装置は、前記第1の近接度と前記第2の近接度とを受信し、前記移動無線装置の位置を判定する、
請求項1から4のいずれか一項に記載の位置推定システム。
【請求項6】
前記移動無線装置は、前記複数の固定無線装置の各々に対する近接度を出力する学習モデルを搭載する、
請求項1から5のいずれか一項に記載の位置推定システム。
【請求項7】
前記移動無線装置は、近接度が最も大きい固定無線装置における学習モデルを、前記フィンガープリントを教師データとし更新する、
請求項6に記載の位置推定システム。
【請求項8】
固定無線装置であって、
移動無線装置における、当該固定無線装置の無線信号および他の固定無線装置の無線信号の受信強度分布を示すフィンガープリントを、
前記移動無線装置から受信する通信回路と、
前記フィンガープリントを学習モデルに入力し、前記移動無線装置の当該固定無線装置に対する第1の近接度を取得する制御回路と、
を有し、
前記通信回路は、前記他の固定無線装置が学習モデルに入力して取得した前記移動無線装置の前記他の固定無線装置に対する第2の近接度を受信し、
前記制御回路は、前記第1の近接度と、前記第2の近接度とに基づいて、前記移動無線装置の位置を判定する、
固定無線装置。
【請求項9】
移動無線装置であって、
当該移動無線装置における、複数の固定無線装置の無線信号の受信強度分布を示すフィンガープリントを前記複数の固定無線装置に送信し、前記複数の固定無線装置が前記フィンガープリントを学習モデルに入力して取得した当該移動無線装置の前記複数の固定無線装置に対する近接度を、前記複数の固定無線装置から受信する通信回路と、
前記近接度に基づいて、当該移動無線装置の位置を判定する制御回路と、
を有する移動無線装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、位置推定システム、固定無線装置、および移動無線装置に関する。
【背景技術】
【0002】
近年、無線通信技術の発展および無線端末の普及に伴い、無線通信技術を応用した無線端末の位置推定が行われている。無線通信により取得される受信強度情報は、周辺環境の影響を受けて変動するため、環境変化に対して汎用性の高い位置推定方法の需要が高まっている。
【0003】
例えば、特許文献1では、電磁波を受信した端末から取得した電磁波の受信電磁波情報と、カメラを用いて取得した物体認識情報とを用いて端末の位置を推定するシステムが提案されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1のシステムでは、物体認識情報を取得するためのカメラを要し、コストが高くなる。
【0006】
本開示の非限定的な実施例は、低コストで移動無線装置の位置を推定できる位置推定システム、移動無線装置、および固定無線装置の提供に資する。
【課題を解決するための手段】
【0007】
本開示の一実施例に係る位置推定システムは、移動無線装置と、学習モデルを搭載した複数の固定無線装置と、を備え、前記移動無線装置は、前記複数の固定無線装置における無線信号の受信強度分布を示すフィンガープリントを前記複数の固定無線装置に送信し、前記複数の固定無線装置の各々は、前記フィンガープリントを前記学習モデルに入力し、前記学習モデルから出力された前記移動無線装置の近接度を他の固定無線装置に送信し、前記学習モデルから出力された第1の近接度と、前記他の固定無線装置から受信した第2の近接度とに基づいて、前記移動無線装置の位置を判定する。
【0008】
本開示の一実施例に係る固定無線装置は、当該固定無線装置の無線信号および他の固定無線装置の無線信号の受信強度分布を示すフィンガープリントを、移動無線装置から受信する通信回路と、前記フィンガープリントを学習モデルに入力し、前記移動無線装置の当該固定無線装置に対する第1の近接度を取得する制御回路と、を有し、前記通信回路は、前記他の固定無線装置が学習モデルに入力して取得した前記移動無線装置の前記他の固定無線装置に対する第2の近接度を受信し、前記制御回路は、前記第1の近接度と、前記第2の近接度とに基づいて、前記移動無線装置の位置を判定する。
【0009】
本開示の一実施例に係る移動無線装置は、複数の固定無線装置の無線信号の受信強度分布を示すフィンガープリントを前記複数の固定無線装置に送信し、前記複数の固定無線装置が前記フィンガープリントを学習モデルに入力して取得した当該移動無線装置の前記複数の固定無線装置に対する近接度を、前記複数の固定無線装置から受信する通信回路と、前記近接度に基づいて、当該移動無線装置の位置を判定する制御回路と、を有する。
【0010】
なお、これらの包括的または具体的な態様は、システム、装置、方法、集積回路、コンピュータープログラム、または、記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータープログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0011】
本開示の一実施例によれば、低コストで移動無線装置の位置を推定できる。
【0012】
本開示の一実施例における更なる利点および効果は、明細書および図面から明らかにされる。かかる利点および/または効果は、いくつかの実施形態並びに明細書および図面に記載された特徴によってそれぞれ提供されるが、1つまたはそれ以上の同一の特徴を得るために必ずしも全てが提供される必要はない。
【図面の簡単な説明】
【0013】
【
図1】実施の形態に係る位置推定システムの構成例を示した図
【
図3】位置推定システムの位置推定の概略動作例を説明する図
【
図7】位置推定システムの全体の動作例を示したフローチャート
【
図8】データ取得処理の動作例を示したフローチャート
【
図9】位置推定処理の概略動作例を示したフローチャート
【
図10】モデル更新処理の概略動作例を示したフローチャート
【
図11】位置推定処理の動作例を示したフローチャート
【
図12】位置推定システムの動作例を示したシーケンス図
【
図13】位置推定モデルの更新動作例を示したフローチャート
【発明を実施するための形態】
【0014】
以下、図面を適宜参照して、本開示の実施の形態について、詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【0015】
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために、提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
【0016】
図1は、実施の形態に係る位置推定システム1の構成例を示した図である。
図1に示すように、位置推定システム1は、無線端末101~105を有する。
図1に示す点線は、無線端末101~105間における無線リンクの接続を示す。無線端末101~105は、メッシュネットワークを形成する。なお、位置推定システム1は、データ取得処理、位置推定処理、モデル更新処理の3つの処理を含む。
【0017】
無線端末101~105のうち、無線端末101~104は、作業場といった場所に固定される無線端末である。一方、無線端末105は、例えば、ユーザーによって携帯される、移動可能な無線端末である。移動可能な無線端末105は、位置推定の対象となる無線端末である。
【0018】
無線端末101~105は、ノードまたは無線装置と称されてもよい。また、設置場所に固定される無線端末101~104は、アンカーノードまたは固定無線装置と称されてもよい。移動可能な無線端末105は、モバイルノード、ターゲット、または移動無線装置と称されてもよい。
【0019】
位置推定システム1は、例えば、工場などの作業現場に適用される。例えば、アンカーノードの無線端末101~104は、工場の各工程に設置された作業台に固定される。モバイルノードの無線端末105は、各工程を移動し、各工程の作業台で作業を行う作業者(ユーザー)に携帯される。
【0020】
位置推定システム1は、モバイルノードの無線端末105が、いつ、どのアンカーノードの無線端末101~104の近傍に位置していたかを、機械学習といった人工知能を用いて推定する。これにより、位置推定システム1は、例えば、作業者が、いつ、どの工程の作業を行ったかを追跡できる。推定は、判定と言い換えられてもよい。
【0021】
無線端末101~105は、推定した無線端末105の位置を、例えば、生産管理サーバー(図示せず)に送信してもよい。
【0022】
生産管理サーバーは、受信した無線端末105の移動経路を解析してもよい。すなわち、生産管理サーバーは、無線端末105を携帯した作業者の行動を解析し、作業者の作業効率を向上するための工程を算出してもよい。
【0023】
位置推定システム1の構成は、
図1の例に限られない。例えば、アンカーノードは、1以上であればよい。モバイルノードは、2以上であってもよい。
【0024】
位置推定システム1のデータ取得処理の概略動作について説明する。
図2は、無線端末105におけるフィンガープリントの一例を示した図である。フィンガープリントは、無線端末105における、他の無線端末101~104の無線信号の受信強度分布を示す。受信強度分布の受信強度は、例えば、RSSI(Receive Signal Strength Indicator)によって示されてもよい。フィンガープリントは、フィンガープリントベクトルと称されてもよい。
【0025】
無線端末101~104の各々は、BC(BroadCast)パケットを送信する。BCパケットを受信した無線端末105は、BCパケットのRSSIを測定する。無線端末105は、BCパケットに含まれる送信元ノードの送信元アドレスと、測定したRSSIとを対応付けて記憶する。
【0026】
例えば、無線端末105は、無線端末101~104の各々から送信されたBCパケットのRSSIを測定する。無線端末105は、
図2のフィンガープリントに示すように、無線端末101~104の送信元アドレスと、測定したRSSIとを対応付けて記憶する。
【0027】
無線端末101~104の各々は、所定の周期にてBCパケットを送信する。無線端末105に記憶されるフィンガープリントは、無線端末105の移動に伴って変化する。例えば、無線端末105が、
図1に示すように、アンカーノードの無線端末101に近づいた場合、無線端末101に対応するRSSIは、他の無線端末102~104のRSSIより大きくなる。従って、モバイルノードの無線端末105の位置は、無線端末105のフィンガープリントのパターンから推定できる。なお、所定の周期は、周期を任意に変更してもよい。
【0028】
なお、無線端末105も無線端末101~104と同様に、BCパケットを送信する。無線端末101~104も無線端末105と同様に、他の無線端末101~105のBCパケットを受信し、フィンガープリントを記憶する。
【0029】
位置推定システム1の位置推定処理の概略動作について説明する。アンカーノードの無線端末101~104には、例えば、機械学習といった学習モデルが搭載される。無線端末101~104に搭載される学習モデルは、無線端末105からブロードキャストされるフィンガープリントを入力し、無線端末105の近接度を示す近接確率を算出する。
【0030】
近接確率は、例えば、0から1の値とし、1に近い程、モバイルノードの無線端末105が、アンカーノードの無線端末101~104に近いことを示す。以下では、学習モデルを位置推定モデルと称する場合がある。
【0031】
図3は、位置推定システム1の位置推定の概略動作例を説明する図である。
図3に示す[M1]は、無線端末101に搭載される位置推定モデルを示す。[M2]は、無線端末102に搭載される位置推定モデルを示す。[M3]は、無線端末103に搭載される位置推定モデルを示す。[M4]は、無線端末104に搭載される位置推定モデルを示す。
図3に示す[FP5]は、無線端末105のフィンガープリントを示す。
【0032】
図3の[M1]~[M4]の左側に示すFP5は、位置推定モデルM1~M4に入力されるフィンガープリントFP5を示す。[M1]~[M4]の右側に示す数字は、位置推定モデルM1~M4が算出した近接確率を示す。
【0033】
無線端末101に搭載される位置推定モデルM1は、無線端末105が無線端末101に近づいた場合における無線端末105のフィンガープリントFP5を教師データとして学習した学習モデルである。従って、無線端末105が無線端末101に近づいた場合、位置推定モデルM1から出力される近接確率は、1に近づく。無線端末105が無線端末101から離れた場合、位置推定モデルM1から出力される近接確率は、0に近づく。
【0034】
無線端末102に搭載される位置推定モデルM2は、無線端末105が無線端末102に近づいた場合における無線端末105のフィンガープリントFP5を教師データとして学習した学習モデルである。従って、無線端末105が無線端末102に近づいた場合、位置推定モデルM2から出力される近接確率は、1に近づく。無線端末105が無線端末102から離れた場合、位置推定モデルM2から出力される近接確率は、0に近づく。
【0035】
無線端末103に搭載される位置推定モデルM3は、無線端末105が無線端末103に近づいた場合における無線端末105のフィンガープリントFP5を教師データとして学習した学習モデルである。従って、無線端末105が無線端末103に近づいた場合、位置推定モデルM3から出力される近接確率は、1に近づく。無線端末105が無線端末103から離れた場合、位置推定モデルM3から出力される近接確率は、0に近づく。
【0036】
無線端末104に搭載される位置推定モデルM4は、無線端末105が無線端末104に近づいた場合における無線端末105のフィンガープリントFP5を教師データとして学習した学習モデルである。従って、無線端末105が無線端末104に近づいた場合、位置推定モデルM4から出力される近接確率は、1に近づく。無線端末105が無線端末104から離れた場合、位置推定モデルM4から出力される近接確率は、0に近づく。
【0037】
図3の概略動作について説明する。モバイルノードの無線端末105は、
図3の矢印A1に示すように、フィンガープリントFP5をブロードキャストする。無線端末105は、所定の周期にて、フィンガープリントFP5をブロードキャストする。
【0038】
アンカーノードの無線端末101は、モバイルノードの無線端末105からブロードキャストされたフィンガープリントFP5を位置推定モデルM1に入力し、無線端末105の無線端末101に対する近接確率を算出する。
図3の例では、位置推定モデルM1は、0.36を算出する。
【0039】
アンカーノードの無線端末102は、モバイルノードの無線端末105からブロードキャストされたフィンガープリントFP5を位置推定モデルM2に入力し、無線端末105の無線端末102に対する近接確率を算出する。
図3の例では、位置推定モデルM2は、0.93を算出する。
【0040】
アンカーノードの無線端末103は、モバイルノードの無線端末105からブロードキャストされたフィンガープリントFP5を位置推定モデルM3に入力し、無線端末105の無線端末103に対する近接確率を算出する。
図3の例では、位置推定モデルM3は、0.18を算出する。
【0041】
アンカーノードの無線端末104は、モバイルノードの無線端末105からブロードキャストされたフィンガープリントFP5を位置推定モデルM4に入力し、無線端末105の無線端末104に対する近接確率を算出する。
図3の例では、位置推定モデルM4は、0.30を算出する。
【0042】
なお、
図3の例では、モバイルノードの無線端末105は、アンカーノードの無線端末102に最も近接している。従って、位置推定モデルM2から出力される近接確率(0.93)が最も大きくなっている。
【0043】
アンカーノードの無線端末101~104の各々は、近接確率を算出した場合、
図3の矢印A2a~A2dに示すように、算出した近接確率をブロードキャストする。これにより、無線端末101~105の各々は、無線端末101~104の各々が算出した近接確率を取得(共有)する。
【0044】
例えば、無線端末101は、無線端末102~104が算出した近接確率を取得する。無線端末102は、無線端末101,103,104が算出した近接確率を取得する。無線端末103は、無線端末101,102,104が算出した近接確率を取得する。無線端末104は、無線端末101~103が算出した近接確率を取得する。無線端末105は、無線端末101~104が算出した近接確率を取得する。
【0045】
無線端末101~105の各々は、取得した近接確率に基づいて、無線端末105の位置を推定する。例えば、無線端末101~105の各々は、最も高い近接確率を算出したアンカーノードの無線端末101~104の近傍に、モバイルノードの無線端末105が位置していると推定する。
【0046】
図3の例では、無線端末102が算出した近接確率(0.93)が最も大きい。従って、無線端末101~105の各々は、無線端末102の近傍に、モバイルノードの無線端末105が位置していると推定する。
【0047】
位置推定システム1は、所定の周期にて上記処理を実行し、モバイルノードの無線端末105の位置を随時推定する。
【0048】
位置推定システム1のモデル更新処理の概略動作について説明する。位置推定システム1は、モバイルノードの無線端末105の位置を推定し、さらに、位置推定モデルを更新してもよい。すなわち、位置推定システム1は、運用開始後、位置推定モデルを更新してもよい。これにより、位置推定システム1は、例えば、位置推定システム1の設置状況といった、運用に合った位置推定モデルを構築できる。
【0049】
最も大きい近接確率を算出した無線端末101~105は、例えば、或る条件に合致した場合に、位置推定モデルM1~M4のウェイト(パラメータとも称される)を更新してもよい。
【0050】
図3の例の場合、無線端末102が最も大きい近接確率を算出する。従って、
図3の例の場合、無線端末102は、或る条件に合致した場合、位置推定モデルM2を更新する。
【0051】
例えば、無線端末102は、無線端末102が算出した最も大きい近接確率が第1の規定値以上であって、他の無線端末101,103,104が算出した近接確率が第2の規定値未満である場合、位置推定モデルM2に入力されたフィンガープリントFP5を教師データとして記憶する。
【0052】
具体的には、無線端末102は、無線端末102が算出した近接確率が0.8以上であって、他の無線端末101,103,104が算出した近接確率が0.4未満である場合、M2に入力されたフィンガープリントFP5を教師データとして記憶する。そして、無線端末102は、記憶した教師データを用いて、位置推定モデルM2を更新する。
【0053】
無線端末102が算出した近接確率が第1の規定値以上であって、他の無線端末101,103,104が算出した近接確率が第2の規定値未満である場合とは、モバイルノードの無線端末105が、無線端末102に対して所定距離内に位置し、無線端末101,103,104に対して所定距離以上離れていると捉えてよい。
【0054】
このため、無線端末102の位置推定モデルM2に入力されたフィンガープリントFP5は、モバイルノードの無線端末105が無線端末102の近くに位置することを示すフィンガープリントとして、信頼度が高い(例えば、信頼度1)と捉えてよい。
【0055】
一方、無線端末102が算出した近接確率が第1の規定値以上でない場合、または、他の無線端末101,103,104が算出した近接確率が第2の規定値未満でない場合とは、モバイルノードの無線端末105が、無線端末102に対して所定距離内に位置していない、または、無線端末101,103,104に対して所定距離以上離れていないと捉えてよい。
【0056】
このため、無線端末102の位置推定モデルM2に入力されたフィンガープリントFP5は、モバイルノードの無線端末105が無線端末102の近くに位置することを示すフィンガープリントとして、信頼度が低い(例えば、信頼度0)と捉えてよい。
【0057】
無線端末102は、信頼度が高いフィンガープリントFP5(例えば、信頼度1のフィンガープリントFP5)を教師データとし、位置推定モデルM2を更新してよい。
【0058】
図4は、無線端末101のブロック構成例を示した図である。無線端末101~105は、同じブロック構成を有するため、
図4では、無線端末101のブロック構成について説明する。
【0059】
図4に示すように、無線端末101は、無線通信部11と、制御部12と、入出力部13と、記憶部14と、を有する。
【0060】
無線通信部11は、他の無線端末102~105と無線通信を行う。無線通信部11は、受信した無線信号のデータを制御部12に出力する。なお、無線通信部11は、生産管理サーバー(図示せず)と通信してもよい。
【0061】
無線通信部11は、例えば、920MHz帯を用いる特定小電力通信、2.4GHz帯を用いるZigbee(IEEE802.15.4)、Bluetooth(登録商標)、無線LAN(IEEE802.11b/g/n)、5GHz帯を用いる無線LAN(IEEE802.11a/ac)、DSRC、60GHz帯を用いる無線LAN(IEEE802.11ad)、構内PHS、LTE、または5Gに基づいて無線通信を行ってもよい。
【0062】
なお、IEEEは、Institute of Electrical and Electronics Engineersの略である。LANは、Local Area Networkの略である。DSRCは、Dedicated Short Range Communicationsの略である。PHSは、Personal Handy-hone Systemの略である。LTEは、Long Term Evolutionの略である。5Gは、5th Generationの略である。
【0063】
制御部12は、無線端末101全体を制御する。制御部12は、例えば、CPU(Central Processing Unit)によって構成されてもよい。
【0064】
制御部12は、例えば、パケットの送受信を制御する。制御部12は、他の無線端末102~105から送信されたBCパケットのRSSIを測定し、フィンガープリントを記憶部14に記憶する。制御部12は、記憶したフィンガープリント(教師データ)を用いて、位置推定モデルを更新する。
【0065】
制御部12は、位置推定モデルを用いて、モバイルノードの無線端末105の近接確率を算出する。制御部12は、算出した無線端末105の近接確率と、他のアンカーノードの無線端末102~104から送信された近接確率とを比較し、無線端末105の位置を推定する。制御部12は、推定した無線端末105の位置情報を、例えば、外部の生産管理サーバーに送信してもよい。
【0066】
制御部12は、無線端末101~104が算出した近接確率のうち、最も大きい近接確率を判定し、或る条件(
図3で説明した条件)に合致した場合、モバイルノードの無線端末105から受信したフィンガープリントを教師データとして記憶部14に記憶(追加)する。制御部12は、記憶部14に記憶したフィンガープリントを用いて、位置推定モデルを更新する。
【0067】
入出力部13は、例えば、スイッチ、キー装置といった入力デバイスである。また、入出力部13は、例えば、加速度センサ、人感センサといったセンサデバイスである。また、入出力部13は、例えば、LED(Light Emitting Diode)、ディスプレイ、スピーカといった出力デバイスである。
【0068】
記憶部14には、制御部12が動作するためのプログラムが記憶される。また、記憶部14には、制御部12が計算処理を行うためのデータ、または、制御部12が各部を制御するためのデータ等が記憶される。例えば、記憶部14には、ノードリスト、フィンガープリント、教師データ、および位置推定モデルといったデータが記憶される。
【0069】
図5は、制御部12のブロック構成例を示した図である。無線端末101~105は、同じ制御部を有するため、
図5では、無線端末101の制御部12のブロック構成について説明する。
【0070】
制御部12は、
図4に示した無線通信部11と、入出力部13と、記憶部14と、を制御し、例えば、データ取得処理と、位置推定処理と、モデル更新処理と、の3つの機能を実現する。制御部12は、データ取得処理の機能を実現するデータ取得部21と、位置推定処理の機能を実現する位置推定部22と、モデル更新処理を実現するモデル更新部23と、を有する。
【0071】
データ取得部21は、無線通信部11を介して、モバイルノードの無線端末105から所定の周期にて送信されるフィンガープリントを受信する。また、データ取得部21は、無線通信部11を介して、他の無線端末102~104が算出した近接確率を受信する。
【0072】
位置推定部22は、近接確率算出部22aと、位置判定部22bと、を有する。
【0073】
近接確率算出部22aは、データ取得部21が受信したモバイルノードの無線端末105のフィンガープリントを、記憶部14に記憶された位置推定モデルに入力し、無線端末105の無線端末101に対する近接確率を算出する。
【0074】
位置判定部22bは、近接確率算出部22aにおいて算出した近接確率と、データ取得部21が受信した他の無線端末102~104における近接確率とを比較する。位置判定部22bは、比較結果に基づき、フィンガープリントを受信した時刻において、モバイルノードの無線端末105がどのアンカーノードの無線端末101~104の近くにいたかを判定する。
【0075】
モデル更新部23は、信頼度判定部23aと、教師データ生成部23bと、モデル学習部23cと、を有する。
【0076】
信頼度判定部23aは、位置推定部22が算出した近接確率を用いて、位置推定モデルに入力されたフィンガープリントの信頼度を判定する。フィンガープリントの信頼度は、位置推定モデルが出力した近接確率の信頼度、または、推定位置の信頼度と捉えてもよい。
【0077】
教師データ生成部23bは、信頼度判定部23aの判定結果に基づいて、位置推定モデルに入力されたフィンガープリントを教師データとして生成する。教師データ生成部23bは、生成した教師データを記憶部14に記憶(追加)する。
【0078】
モデル学習部23cは、記憶部14に記憶されている教師データを用いて再学習し、位置推定モデルを更新する。
【0079】
なお、後述するが、モデル学習部23cは、例えば、位置推定システム1を工場に設置した後、モバイルノードの無線端末105の位置推定の運用が開始される前に、教師データを取得し、位置推定モデルを生成してもよい。
【0080】
図6は、BCパケット500の構成例を示した図である。無線端末101~105は、例えば、
図5に示すBCパケット500をブロードキャストする。
【0081】
図6に示すように、BCパケット500は、宛先アドレス501と、送信元アドレス502と、ノード種別503と、シーケンス番号504と、問合せフィールド505と、応答フィールド506と、の領域を有する。
【0082】
宛先アドレス501には、BCパケット500の送信先における無線端末のアドレスが格納される。例えば、宛先アドレス501には、ブロードキャストアドレス(例えば、オール1)が格納される。
【0083】
送信元アドレス502には、BCパケット500の送信元における無線端末のアドレスが格納される。無線端末のアドレスは、例えば、MAC(Media Access Control)アドレスであってもよい。
【0084】
ノード種別503には、BCパケット500の送信元である無線端末が、アンカーノードであるか、または、モバイルノードであるかを示すノード種別情報が格納される。例えば、無線端末101~104がBCパケット500を送信する場合、ノード種別503には、アンカーノードを示すノード種別情報が格納される。無線端末105がBCパケット500を送信する場合、ノード種別503には、モバイルノードを示すノード種別情報が格納される。
【0085】
ノード種別情報は、例えば初期設定時に、機能を割り当てたキー装置、キーボードといった入出力部を介して、ユーザーにより設定されてもよい。設定されたノード種別情報は、無線端末の記憶部に記憶される。
【0086】
また、ノード種別情報は、例えば、加速度センサといった入出力部からの信号に基づいて、無線端末に設定されてもよい。例えば、無線端末の制御部は、加速度センサの信号に基づいて、アンカーノードであるか、または、モバイルノードであるか否かを判定する。無線端末の制御部は、アンカーノードであると判定した場合、アンカーノードを示すノード種別情報を記憶部に記憶する。無線端末の制御部は、モバイルノードであると判定した場合、モバイルノードを示すノード種別情報を記憶部に記憶する。
【0087】
シーケンス番号504には、パケットの順番(またはID)を示すシーケンス番号が格納される。
【0088】
問合せフィールド505には、他の無線端末に対する問合せに関するデータ(問合せ情報)が格納される。
【0089】
例えば、位置推定の対象となるモバイルノードの無線端末105は、問合せフィールド505に、無線端末105におけるフィンガープリントを格納し、他の無線端末101~104にブロードキャストする(例えば、
図3の矢印A1を参照)。
【0090】
応答フィールド506には、他の無線端末からの問合せに対する、応答に関するデータ(応答情報)が格納される。
【0091】
例えば、アンカーノードの無線端末101~104の各々は、問合せフィールド505に、モバイルノードの無線端末105のフィンガープリントが格納されていた場合、問合せフィールド505に格納されたフィンガープリントを位置推定モデルに入力し、無線端末105の近接確率を算出する(例えば、
図3に示す0.36、0.93、0.18、0.30)。
【0092】
アンカーノードの無線端末101は、算出した近接確率(0.36)を応答フィールド506に格納し、BCパケット500をブロードキャストする(例えば、
図3の矢印A2aを参照)。アンカーノードの無線端末102は、算出した近接確率(0.93)を応答フィールド506に格納し、BCパケット500をブロードキャストする(例えば、
図3の矢印A2bを参照)。アンカーノードの無線端末103は、算出した近接確率(0.18)を応答フィールド506に格納し、BCパケット500をブロードキャストする(例えば、
図3の矢印A2cを参照)。アンカーノードの無線端末104は、算出した近接確率(0.30)を応答フィールド506に格納し、BCパケット500をブロードキャストする(例えば、
図3の矢印A2dを参照)。
【0093】
なお、アンカーノードの無線端末101~104は、問合せフィールド505にフィンガープリントを含むBCパケット500の送信元アドレス(すなわち、無線端末105のアドレス)と、シーケンス番号とを応答フィールド506に格納する。これにより、無線端末101~105の各々は、受信した近接確率が、どのモバイルノードのどのフィンガープリントに対して算出された近接確率であるかを区別できる。
【0094】
図7は、位置推定システム1の全体の動作例を示したフローチャートである。位置推定システム1の動作は、データ取得処理、位置推定処理、およびモデル更新処理の3つに分けられてもよい。
【0095】
ステップS1001において、無線端末101~105各々は、RSSI測定用のBCパケットを送信する。BCパケットには、
図6に示したBCパケット500が用いられてもよい。問合せフィールド505には、RSSI測定用のパケットであることを示す情報が含まれてもよい。
【0096】
無線端末101~105各々は、RSSI測定用のBCパケットを受信し、フィンガープリントを生成する。無線端末101~105は、生成したフィンガープリントを記憶部に記憶する。
【0097】
なお、
図8で説明するが、無線端末101~105の各々は、例えば、スイッチといった入出力部に対するユーザー(例えば、位置推定システム1の設置業者)の操作によって、保存コマンドが入力された場合、生成したフィンガープリントを教師データとして記憶部に記憶する。
【0098】
ステップS1002において、アンカーノードの無線端末101~104の各々は、位置推定処理を開始するか否かを判定する。例えば、無線端末101~104の各々は、モバイルノードの無線端末105から、無線端末105のフィンガープリントを含むBCパケットを受信したか否かに基づいて、位置推定処理を開始するか否かを判定する。無線端末101~104の各々は、位置推定処理を開始しない場合(S1002の「No」)、処理をステップS1001に移行する。無線端末101~104の各々は、位置推定処理を開始する場合(S1002の「Yes」)、処理をステップS1003に移行する。
【0099】
ステップS1003において、アンカーノードの無線端末101~104の各々は、BCパケットに含まれるフィンガープリントを位置推定モデルに入力し、モバイルノードの無線端末105の近接確率を算出する。アンカーノードの無線端末101~104の各々は、算出した近接確率をブロードキャストし、他のアンカーノードの無線端末101~104の近接確率を取得(共有)する。アンカーノードの無線端末101~104は、各無線端末の近接確率を比較し、モバイルノードの無線端末105がどの無線端末101~104に最も近いか位置推定する。
【0100】
ステップS1004において、アンカーノードの無線端末101~104の各々は、S1003にて位置推定を行った後、モデル更新処理を開始するか否かを判定する。例えば、アンカーノードの無線端末101~104の各々は、最も大きい近接確率を算出したか否かに基づいて、モデル更新処理を開始するか否かを判定する。無線端末101~104の各々は、モデル更新処理を開始しない場合(S1004の「No」)、処理をステップS1001に移行する。無線端末101~104の各々は、モデル更新処理を開始する場合(S1004の「Yes」)、処理をステップS1005に移行する。
【0101】
ステップS1005において、モデル更新処理の開始を判定したアンカーノードの無線端末101~104は、モデル更新処理を行う。モデル更新を行う無線端末101~104は、ステップS1003にて共有した近接確率を用いて、推定位置の信頼度を算出する。無線端末101~104は、算出した信頼度が高い場合、位置推定モデルに入力されたフィンガープリントを教師データとして記憶部に記憶し、位置推定モデルを更新する。
【0102】
ステップS1006において、無線端末101~105は、通信を終了する場合、
図7に示すフローチャートの処理を終了する。無線端末101~105は、通信を終了しない場合、ステップS1001に移行してデータ取得処理を継続する。
【0103】
図8は、データ取得処理の動作例を示したフローチャートである。
図8に示すフローチャートの処理は、例えば、
図7に示したフローチャートのS1001に相当する。以下では無線端末101の動作例について説明するが、無線端末102~105も同様の動作を行う。
【0104】
ステップS201において、無線端末101は、RSSI測定用のBCパケットを、所定の周期にて送信する。
【0105】
ステップS202において、無線端末101は、他の無線端末101~104から受信したBCパケットのRSSIを測定する。無線端末101は、測定したRSSIと、BCパケットに含まれる送信元アドレスとを組みにしたフィンガープリントを生成し、記憶部14に記憶する。
【0106】
ステップS203において、無線端末101は、スイッチといった入出力部13に対するユーザー(例えば、位置推定システム1の設置業者)の操作によって、保存コマンドが入力されたか否かを判定する。無線端末101は、保存コマンドが入力されていない場合(S203の「No」)、処理をステップS201に移行する。無線端末101は、保存コマンドが入力された場合(S203の「Yes」)、処理をステップS204に移行する。
【0107】
ステップS204において、無線端末101は、ステップS202にて記憶部14に記憶したフィンガープリントを教師データとして記憶部14に記憶する。無線端末101は、記憶部14に記憶した教師データを用いて位置推定モデルを生成する。
【0108】
例えば、ユーザー(例えば、位置推定システム1の設置業者)は、位置推定システム1を工場に設置した後、モバイルノードの無線端末105の位置推定の運用を開始する前に、無線端末105を所持し、アンカーノードの無線端末101の近くに移動する。ユーザーは、無線端末101の入出力部13を操作し、保存コマンドを入力する。無線端末101は、保存コマンドの入力に応じて、ステップS202にて記憶したフィンガープリントを教師データとして記憶部14に記憶する。
【0109】
すなわち、無線端末101は、信頼度の高いフィンガープリント(無線端末105が無線端末101に近接した場合のフィンガープリント)を教師データとして記憶部14に記憶し、位置推定モデルを生成する。
【0110】
同様に、ユーザーは、他のアンカーノードの無線端末102~104に移動して、保存コマンドを入力し、信頼度の高いフィンガープリントを教師データとして、無線端末102~104の記憶部に記憶する。無線端末102~104は、記憶部に記憶した教師データを用いて、位置推定モデルを生成する。
【0111】
ステップS205において、無線端末101は、通信を終了する場合、
図8に示すフローチャートの処理を終了する。無線端末101は、通信を終了しない場合、ステップS201に移行してRSSI測定用のBCパケットを、所定の周期にて送信する。
【0112】
なお、ステップS204の位置推定モデルの生成は、教師データが記憶部14に記憶される度に(保存コマンドが入力される度に)行われてもよい。また、ステップS204の位置推定モデルの生成は、教師データが所定数、記憶部14に記憶された場合に行われてもよい。
【0113】
また、ステップS201のBCパケットの送信順序(無線端末101~105の送信順序)は、所定順序でもよいし、ランダムな順序でもよい。
【0114】
図9は、位置推定処理の概略動作例を示したフローチャートである。
図9に示すフローチャートの処理は、例えば、
図7に示したフローチャートのS1002,S1003に相当する。以下では無線端末101の動作例について説明するが、無線端末102~104も同様の動作を行う。
【0115】
ステップS301において、無線端末101は、モバイルノードの無線端末105から、無線端末105のフィンガープリントを受信したか否かを判定する。例えば、無線端末101は、
図6で説明したBCパケット500の問合せフィールド505に、フィンガープリントが格納されたBCパケット500を受信したか否かを判定する。
【0116】
無線端末101は、フィンガープリントを受信していない場合(S301の「No」)、
図9のフローチャートの処理を終了する。無線端末101は、フィンガープリントを受信している場合(S301の「Yes」)、処理をステップS302に移行する。
【0117】
ステップS302において、無線端末101は、受信したフィンガープリントを位置推定モデルに入力し、近接確率を算出する。
【0118】
ステップS303において、無線端末101は、ステップS302にて算出した近接確率を、BCパケットに含めて送信する。例えば、無線端末101は、
図6で説明したBCパケットの応答フィールド506に、ステップS302にて算出した近接確率と、ステップS301にて受信したフィンガープリントの送信元アドレス(無線端末105のアドレス)と、ステップS301にて受信したBCパケットのシーケンス番号とを、含めて送信する。
【0119】
ステップS304において、無線端末101は、他のアンカーノードの無線端末102~104から、近接確率を含むBCパケットを受信する。例えば、無線端末101は、
図6で説明したBCパケット500の応答フィールド506に、近接確率を含むBCパケット500を受信する。すなわち、無線端末101は、他のアンカーノードの無線端末102~104が算出した近接確率を取得する。
【0120】
ステップS305において、無線端末101は、ステップS302にて算出した近接確率と、S304にて取得した他のアンカーノードの無線端末102~104の近接確率とに基づいて、モバイルノードの無線端末105の位置を推定する。例えば、無線端末101は、最も大きい近接確率を算出したアンカーノードの無線端末の近くに、モバイルノードの無線端末105が位置していると推定する。無線端末101は、無線端末105の位置を推定した後、
図9のフローチャートの処理を終了する。
【0121】
なお、アンカーノードの無線端末101~104の各々は、モバイルノードの無線端末105からフィンガープリントを受信した場合に位置推定の処理を実行する。また、モバイルノードの無線端末105も、アンカーノードの無線端末101~104から近接確率を受信し、無線端末105の位置を推定する。すなわち、位置推定システム1は、モバイルノードの無線端末105の位置推定を、複数のノードで行う。
【0122】
また、位置推定は、無線端末101~105の各々において実行されるため、任意の無線端末101~105が、位置推定結果を、例えば、生産管理サーバーといった他のシステムまたはユーザーの端末に送信することができる。
【0123】
例えば、工場の作業責任者といったユーザーは、タブレット端末を操作し、最も近いアンカーノードに対してモバイルノードの無線端末105の位置を問い合わせる。これにより、ユーザーは、無線端末105の位置を取得できる。
【0124】
また、無線端末101は、所定数の教師データが記憶部14に記憶されるまで、複数のアンカーノードの受信強度を比較し、最も大きい受信強度を計測したアンカーノードを、モバイルノードが近傍に位置するノードとして判定してもよい。
【0125】
また、アンカーノードの無線端末101~104には、所定のパラメータを変更した複数の位置推定モデルが実装されてもよい。複数の位置推定モデルのパラメータは、例えば、位置推定モデルが、K近傍法またはランダムフォレストといった手法を用いた機械学習モデルである場合、参照するデータ数、決定木の数や深さ、または乱数のシードの値が変更されてもよい。
【0126】
また、アンカーノードの無線端末101~104に複数の位置推定モデルが実装される場合、信頼度の算出に用いる近接確率には、例えば、複数の位置推定モデルを用いて算出した複数の近接確率の平均または多数決を取った値が用いられてもよい。
【0127】
図10は、モデル更新処理の概略動作例を示したフローチャートである。
図10に示すフローチャートの処理は、例えば、
図7に示したフローチャートのS1004,S1005に相当する。以下では無線端末101の動作例について説明するが、無線端末102~104も同様の動作を行う。
【0128】
ステップS401において、無線端末101は、無線端末101が算出した近接確率と、他のアンカーノードの無線端末102~104から受信した近接確率とを用いて、
図9のステップS305にて推定した無線端末105の推定位置についての信頼度を算出する。
【0129】
ステップS402において、無線端末101は、ステップS401にて算出した信頼度が規定値以上であるか否かを判定する。
【0130】
無線端末101は、ステップS401にて算出した信頼度が規定値以上でない場合(S402の「No」)、
図10のフローチャートの処理を終了する。無線端末101は、ステップS401にて算出した信頼度が規定値以上である場合(S402の「Yes」)、処理をステップS403に移行する。
【0131】
ステップS403において、無線端末101は、近接確率の算出の元となったフィンガープリントを、モバイルノードの無線端末105が推定位置にいた場合の教師データとして記憶部14に記憶する。
【0132】
ステップS404において、無線端末101は、ステップS403にて記憶した新しい教師データと、記憶部14に記憶されている過去の教師データとに基づいて、位置推定モデルを再学習する。無線端末101は、位置推定モデルを再学習した後、
図10のフローチャートの処理を終了する。
【0133】
なお、アンカーノードの無線端末101~104の各々が、
図10に示すフローチャートの処理を実行し、ターゲットの信頼度の高い推定位置の算出元となったフィンガープリントを教師データとして記憶する。これにより、無線端末101~104の各々は、独立して、精度のよい位置推定モデルを更新できる。
【0134】
図11は、位置推定処理の動作例を示したフローチャートである。
図11に示すフローチャートの処理は、例えば、
図9に示したフローチャートのS301~S305に相当する。
図9に示したフローチャートは、アンカーノードの無線端末101~104の動作例を示したが、
図11のフローチャートでは、モバイルノードの無線端末105の動作例も含む。以下では、無線端末101~105を区別しない場合、無線端末と記載する。
【0135】
ステップS3001において、無線端末は、位置推定対象のターゲットとなるノード(モバイルノード)であるか否かを判定する。無線端末は、位置推定対象のノードでない場合(アンカーノードである場合)、処理をステップS3003に移行する。無線端末は、モバイルノードである場合、処理をステップS3002に移行する。
【0136】
ステップS3002において、位置推定のターゲットとなる無線端末(モバイルノードの無線端末)は、最新のフィンガープリントを、次に送信するBCパケットの問合せフィールドに格納して送信する。
【0137】
ステップS3003において、無線端末は、他の無線端末が送信したBCパケットを受信する。
【0138】
ステップS3004において、無線端末は、ステップS3003にて受信したBCパケットの問合せフィールドに、フィンガープリントが格納されているか否かを判定する。無線端末は、受信したBCパケットの問合せフィールドに、フィンガープリントが格納されていない場合(S3004の「No」)、処理をステップS3007に移行する。無線端末は、受信したBCパケットの問合せフィールドに、フィンガープリントが格納されている場合(S3004の「Yes」)、処理をステップS3005に移行する。
【0139】
ステップS3005において、アンカーノードの無線端末は、受信したBCパケットの問合せフィールドに格納されたフィンガープリントを位置推定モデルに入力し、モバイルノードの無線端末の近接確率を算出する。
【0140】
ステップS3006において、アンカーノードの無線端末は、ステップS3005にて算出した近接確率と、ステップS3003にて受信した、フィンガープリントを含むBCパケットのシーケンス番号および送信元アドレス(モバイルノードの無線端末のアドレス)とを、次に送信するBCパケットの応答フィールドに格納して送信する。
【0141】
ステップS3007において、無線端末は、ステップS3003にて受信したBCパケットの応答フィールドに、近接確率と、シーケンス番号と、モバイルノードのアドレスとが格納されているか否かを判定する。無線端末は、ステップS3003にて受信したBCパケットの応答フィールドに、近接確率と、シーケンス番号と、モバイルノードのアドレスとが格納されていない場合(S3007「No」)、
図11のフローチャートの処理を終了する。無線端末は、ステップS3003にて受信したBCパケットの応答フィールドに、近接確率と、シーケンス番号と、モバイルノードのアドレスとが格納されている場合(S3007の「Yes」)、処理をステップS3008に移行する。
【0142】
ステップS3008において、アンカーノードの無線端末は、ステップS3005にて算出した近接確率と、ステップS3005にて算出した近接確率と同じシーケンス番号およびモバイルノードアドレスとを含むBCパケットにて受信した近接確率とを比較する。アンカーノードの無線端末は、最も大きい近接確率を算出したアンカーノードの近くに、モバイルノードが位置していると判定する。アンカーノードの無線端末は、モバイルノードの無線端末の位置を判定した後、
図11のフローチャートの処理を終了する。
【0143】
図12は、位置推定システム1の動作例を示したシーケンス図である。
図12に示すシーケンスの処理は、例えば、
図11に示したフローチャートのS3001~S3008に相当する。
図12のシーケンス例では、モバイルノードの無線端末105は、アンカーノードの無線端末104の近傍に位置する。
【0144】
ステップS5011において、モバイルノードの無線端末105は、BCパケットを送信する。BCパケットの宛先アドレスには、ブロードキャストアドレスが含まれる。BCパケットの送信元アドレスには、モバイルノードの無線端末105のアドレスが含まれる。BCパケットのノード種別には、モバイルノードを示す情報が含まれる。BCパケットのシーケンス番号には、例えば、10が含まれる。BCパケットの問合せフィールドには、無線端末105の最新のフィンガープリントが含まれる。
【0145】
ステップS5012aにおいて、アンカーノードの無線端末101は、ステップS5011にて送信されたBCパケットの問合せフィールドに、フィンガープリントが格納されていることを確認する。
【0146】
無線端末101は、フィンガープリントの格納を確認した後、無線端末101の記憶部14に記憶されている位置推定モデルに、フィンガープリントを入力し、無線端末101に対する無線端末105の近接確率を算出する。ここで、無線端末101は、例えば、近接確率「0.2」を算出する。無線端末101は、算出した近接確率と、近接確率の算出元となったBCパケットのシーケンス番号(10)と、無線端末105のアドレス(例えば105)と、をセットにして記憶部14に記憶する。
【0147】
ステップS5012b~S5012dにおいて、アンカーノードの無線端末102~104は、ステップS5012aと同様に、モバイルノードの無線端末105の近接確率を算出し、記憶部に記憶する。
【0148】
なお、無線端末102は、例えば、近接確率「0.5」を算出する。無線端末103は、例えば、近接確率「0.4」を算出する。無線端末104は、例えば、近接確率「0.8」を算出する。
【0149】
また、ステップS5011にて受信したBCパケットのシーケンス番号は、例えば、複数回算出された近接確率が、どのフィンガープリントに基づいて算出されたのかを識別するために使用される。
【0150】
また、モバイルノードのアドレスは、例えば、受信したBCパケットの送信元アドレスであってよいし、ブロードキャストパケットに別途格納されたモバイルノードを識別する情報であってもよい。
【0151】
ステップS5013において、アンカーノードの無線端末101は、BCパケットを送信する。BCパケットの送信元アドレスには、無線端末101のアドレス(例えば、101)が含まれる。また、BCパケットの応答フィールドには、ステップS5012aにて記憶部に記憶した近接確率(0.2)、シーケンス番号(10)、およびモバイルノードのアドレス(105)が含まれる。
【0152】
無線端末102~105は、無線端末101が送信したBCパケットを受信する。BCパケットを受信した無線端末102~105は、受信したBCパケットの送信元アドレス(101)と、応答フィールドに含まれる各種情報とをセットにして記憶部に記憶する。
【0153】
ステップS5014において、アンカーノードの無線端末102は、BCパケットを送信する。BCパケットの送信元アドレスには、無線端末102のアドレス(例えば、102)が含まれる。また、BCパケットの応答フィールドには、ステップS5012bにて記憶部に記憶した近接確率(0.5)、シーケンス番号(10)、およびモバイルノードのアドレス(105)が含まれる。
【0154】
無線端末101,103~105は、無線端末102が送信したBCパケットを受信する。BCパケットを受信した無線端末101,103~105は、受信したBCパケットの送信元アドレス(102)と、応答フィールドに含まれる各種情報とをセットにして記憶部に記憶する。
【0155】
ステップS5015において、アンカーノードの無線端末103は、BCパケットを送信する。BCパケットの送信元アドレスには、無線端末103のアドレス(例えば、103)が含まれる。また、BCパケットの応答フィールドには、ステップS5012cにて記憶部に記憶した近接確率(0.4)、シーケンス番号(10)、およびモバイルノードのアドレス(105)が含まれる。
【0156】
無線端末101,102,104,105は、無線端末103が送信したBCパケットを受信する。BCパケットを受信した無線端末101,102,104,105は、受信したBCパケットの送信元アドレス(103)と、応答フィールドに含まれる各種情報とをセットにして記憶部に記憶する。
【0157】
ステップS5016において、アンカーノードの無線端末104は、BCパケットを送信する。BCパケットの送信元アドレスには、無線端末104のアドレス(例えば、104)が含まれる。また、BCパケットの応答フィールドには、ステップS5012dにて記憶部に記憶した近接確率(0.8)、シーケンス番号(10)、およびモバイルノードのアドレス(105)が含まれる。
【0158】
無線端末101~103,105は、無線端末104が送信したBCパケットを受信する。BCパケットを受信した無線端末101~103,105は、受信したBCパケットの送信元アドレス(104)と、応答フィールドに含まれる各種情報とをセットにして記憶部に記憶する。
【0159】
ステップS5013~S5016のBCパケットの送信処理によって、無線端末101~105は、アンカーノードの無線端末101~104が算出した近接確率を共有する。
【0160】
ステップS5017aおいて、無線端末101は、記憶部14に記憶した応答フィールドの情報のうち、S5011にて受信したBCパケットと同じシーケンス番号(10)であって、かつ、同じ送信元アドレス(105)における近接確率を取得する。別言すれば、無線端末101は、同じモバイルノードの同じフィンガープリント(S5011のBCパケットのフィンガープリント)に基づいて算出された近接確率を取得する。
【0161】
無線端末101は、取得した近接確率を比較する。例えば、無線端末101は、無線端末101が算出した近接確率「0.2」と、無線端末102が算出した近接確率「0.5」と、無線端末103が算出した近接確率「0.4」と、無線端末104が算出した近接確率「0.8」と、を比較する。無線端末101は、最も大きい近接確率「0.8」を算出した無線端末104の近傍に、モバイルノードの無線端末105が位置していると判定する。
【0162】
ステップS5017b~S5017eにおいて、無線端末102~105は、ステップS5017aと同様に、モバイルノードの無線端末105の位置を判定する。無線端末102~105は、無線端末101と同じ近接確率を取得しているので、無線端末101と同じ判定結果を得る。
【0163】
なお、無線端末101~105が近接確率を比較するタイミングは、記憶した近接確率の数が所定数に達した場合でもよいし、所定の周期でもよい。
【0164】
また、無線端末101~105が近接確率を比較するタイミングは、応答フィールドに近接確率とシーケンス番号とターゲットのノードアドレスとを格納したBCパケットを受信する度に行い、より大きい近接確率が含まれる応答情報を次に送信するBCパケットの応答フィールドに格納してもよい。このとき、より大きい近接確率を算出した無線端末のノードアドレスを応答情報に含めてもよい。
【0165】
例えば、
図12において、無線端末101は、ステップS5014で無線端末102からBCパケットを受信した後、ステップS5017aに移行する。無線端末101は、受信したBCパケットに含まれる近接確率0.5を、無線端末101が算出した近接確率0.2と比較し、この時点での無線端末105の位置の判定およびモデル更新処理を行う。更に、無線端末101は、より大きい近接確率0.5を含む応答情報とそれを算出した無線端末102のノードアドレスを、次に送信するBCパケットの応答フィールドに格納して送信する。
【0166】
これにより、無線端末それぞれは全ての無線端末から近接確率を取得するのを待たずに自身の位置推定モデルを更新することができる。
【0167】
また、無線端末101~105は、所定時間内に同じアンカーノードから複数の近接確率を受信した場合、その平均値または最大値を抽出して、他のアンカーノードの近接確率と比較してもよい。
【0168】
例えば、無線端末101が、ステップS5012aとステップS5017aの間の時刻において、無線端末105から再びBCパケットによる問い合わせを受けた場合、再度算出する近接確率と、ステップS5012aにおいて算出した近接確率との平均値または最大値を、他のアンカーノードが算出した近接確率との比較に用いてもよい。
【0169】
これにより、近接確率の算出時刻(算出タイミング)によるばらつきを抑えた上でモバイルノードの位置を判定することができる。
【0170】
また、応答フィールドに近接確率を格納したBCパケットを送信するタイミングは、他のノードから近接確率を受信し、比較するタイミングであってもよい。また、応答フィールドに近接確率を格納したBCパケットを送信するタイミングは、所定の順序に従い、送信順が回ってきたタイミングであってもよい。
【0171】
また、無線端末101~105は、近接確率を算出する場合、推定対象のフィンガープリントと共に、前の時刻に受信したBCパケットの問合せフィールドに格納されていたフィンガープリントを、位置推定モデルの入力に用いてもよい。
【0172】
例えば、ステップS5011にて送信されたBCパケットを受信した無線端末101は、受信したシーケンス番号「10」のBCパケットの問合せフィールドに格納されたフィンガープリントの他に、無線端末105から送信されたBCパケットのうち、シーケンス番号が「10」ではない1以上のBCパケットの問合せフィールドに格納されていたフィンガープリントを、位置推定モデルに入力して近接確率を算出してもよい。
【0173】
図13は、位置推定モデルの更新動作例を示したフローチャートである。
図13に示すフローチャートの処理は、例えば、
図10に示したフローチャートのS401~S404に相当する。以下では、無線端末101~104を区別しない場合、無線端末と記載する。
【0174】
ステップS4001において、アンカーノードの無線端末は、記憶部に記憶した他の無線端末の近接確率のうち、自身の近接確率の算出に用いたフィンガープリントのシーケンス番号およびモバイルノードアドレスと同じシーケンス番号およびモバイルノードアドレスの近接確率を取得する。アンカーノードの無線端末は、自身が算出した近接確率と、取得した近接確率とを比較する。
【0175】
ステップS4002において、アンカーノードの無線端末は、ステップS4001にて比較した近接確率のうち、最も大きい近接確率の値が規定値th以上であって、それ以外の近接確率の値が規定値th未満であるか否か判定する。
【0176】
アンカーノードの無線端末は、ステップS4001にて比較した近接確率のうち、最も大きい近接確率の値が規定値th以上でない場合、または、それ以外の近接確率の値が規定値th未満でない場合(S4002の「No」)、処理をステップS4004に移行する。アンカーノードの無線端末は、ステップS4001にて比較した近接確率のうち、最も大きい近接確率の値が規定値th以上であり、かつ、それ以外の近接確率の値が規定値th未満である場合(S4002の「Yes」)、処理をステップS4003に移行する。
【0177】
ステップS4003において、アンカーノードの無線端末は、推定位置の信頼度を「1」とし、処理をステップS4005に移行する。
【0178】
ステップS4004において、アンカーノードの無線端末は、推定位置の信頼度を「0」とし、
図13のフローチャートの処理を終了する。
【0179】
ステップS4005において、最も大きい近接確率を算出したアンカーノードは、近接確率の算出元となった(位置推定モデルに入力された)フィンガープリントを、教師データとして記憶部に記憶する。
【0180】
ステップS4006において、アンカーノードの無線端末は、記憶部に記憶されている教師データを用いて位置推定モデルを再学習し、更新する。
【0181】
なお、ステップS4002において、最も大きい近接確率と比較する規定値thと、それ以外の近接確率と比較する規定値thとは、異なる値でもよいし、同じ値であってもよい。
【0182】
また、ステップS4005において、アンカーノードの無線端末は、最も大きい近接確率を算出したのが他のアンカーノードの場合、近接確率の算出元となったフィンガープリントを、モバイルノードの無線端末が近傍にいない場合の教師データとして記憶部に保存してもよい。
【0183】
また、アンカーノードの無線端末は、ある時刻tにおけるターゲットの推定位置について、信頼度R_tを算出する場合、時刻tより前の時刻である時刻(t-Δt)におけるターゲットの推定位置、または、その推定位置についての信頼度R_(t-Δt)を用いてもよい。Δtは、比較的短い任意の時間である。
【0184】
また、アンカーノードの無線端末は、ある時刻tにおけるターゲットの推定位置について、信頼度R_tを算出する場合、時刻tより前の時刻である時刻(t-Δt)におけるターゲットの位置推定のために各無線端末が算出した近接確率を用いてもよい。
【0185】
また、アンカーノードの無線端末は、信頼度を判定する場合、複数の近接確率を、例えば、ランダムフォレストを用いた機械学習の分類モデルに入力した結果に基づいて、信頼度の値を0か1に分類してもよい。
【0186】
また、アンカーノードの無線端末は、複数の近接確率の値を、例えば、ロジスティック回帰を用いた機械学習の回帰モデルに入力した結果に基づいて、信頼度を0から1の範囲の値として算出してもよい。アンカーノードの無線端末は、信頼度が所定の値以上の場合、フィンガープリントを教師データとして記憶部に記憶してもよい。
【0187】
また、アンカーノードの無線端末は、全てのアンカーノードの固定された設置場所情報を参照し、直前のターゲットの推定位置が自身の位置に近い場合は、自身が算出した近接確率に重みづけして信頼度の判定を行ってもよい。アンカーノードの無線端末は、全て、または、自身の近くに設置された他のアンカーノードの設置場所情報を記憶部に記憶していてもよいし、BCパケットに自身の設置位置情報を格納して周期的に送信してもよい。
【0188】
以上説明したように、位置推定システム1は、モバイルノードの無線端末105と、学習モデルを搭載したアンカーノードの無線端末101~104と、を有する。モバイルノードの無線端末105は、無線端末101~104の無線信号の受信強度分布を示すフィンガープリントを、無線端末101~104にブロードキャストする。アンカーノードの無線端末101~104は、フィンガープリントを学習モデルに入力して、無線端末105の無線端末101~104に対する近接確率を算出し、無線端末101~105にブロードキャストする。無線端末101~105は、ブロードキャストされた近接確率を用いて、無線端末105の位置を推定する。
【0189】
これにより、位置推定システム1は、例えば、カメラといった他の装置を用いずに、モバイルノードの無線端末105の位置を低コストで推定できる。また、位置推定システム1は、学習モデルを用いることにより、無線端末105の位置を高精度に推定できる。
【0190】
(変形例1)
無線端末101~104は、ユーザーの入出力部に対する保存コマンドの操作に応じて、フィンガープリントを教師データとして記憶部に記憶したが、これに限られない。
【0191】
例えば、無線端末101~104は、人感センサによって、無線端末105を携帯したユーザーが近傍に位置していることを検知し、フィンガープリントを教師データとして記憶部に記憶してもよい。
【0192】
また、無線端末105の入出力部が、フィンガープリントを教師データとして記憶するための操作をユーザーから受付けてもよい。例えば、無線端末105は、入出力部がユーザーから操作を受付けた場合、フィンガープリント保存コマンドを無線端末101~104に送信する。無線端末101~104は、無線端末105から送信されたフィンガープリント保存コマンドに応じて、教師データを記憶部に記憶する。
【0193】
また、無線端末105は、例えば、通信距離(通信エリア)が1m~2mといった通信距離(通信エリア)の短い所定の信号を出力してもよい。無線端末101~104は、無線端末105から所定の信号を受信した場合、フィンガープリントを教師データとして記憶部に記憶してもよい。
【0194】
(変形例2)
モバイルノードの無線端末105は、記憶部に教師データのフィンガープリントを記憶してもよい。無線端末105は、記憶部に教師データのフィンガープリントを記憶する場合、無線端末105の近傍に位置しているアンカーノードの無線端末101~104のアドレスを紐づけて記憶してもよい。例えば、フィンガープリントのデータフォーマット(例えば、
図2を参照)にオプション領域を設け、オプション領域にアンカーノードの無線端末101~104のアドレスを格納してもよい。
【0195】
これにより、無線端末105は、無線端末101~104の近傍にいる場合に記憶された教師データを、無線端末101~104ごとに記憶する。なお、無線端末101~104の近傍にいるか否かは、変形例1と同じ方法で判断してもよい。
【0196】
なお、無線端末101~104のアドレスは、フィンガープリントの保存コマンドを発行した無線端末101~104から、無線端末105にパケットを送信して通知してもよい。
【0197】
また、無線端末101~104のアドレスは、フィンガープリントの保存コマンドのパラメータとして、無線端末105の入出力部から与えられても良い。
【0198】
無線端末101~104は、フィンガープリントの保存コマンドが発行された場合、無線端末105が近傍に位置している場合のフィンガープリントを教師データとして記憶する。一方、無線端末105は、無線端末101~104の近傍にいる場合に記憶された教師データを、無線端末101~104ごとにおいて記憶する。
【0199】
モバイルノードの無線端末105は、アンカーノードの無線端末101~104ごとにおける教師データを記憶部に保存することで、無線端末101~104ごとにおける近接確率を算出する位置推定モデルを生成してもよい。これにより、モバイルノードの無線端末105は、記憶部に保存された教師データに基づいて、どのアンカーノードの近傍に位置しているかを推定することができる。
【0200】
なお、無線端末105が位置推定処理において算出した近接確率のうち、最も大きい近接確率であった無線端末と、無線端末101~104が位置推定処理において算出した近接確率のうち、最も大きい近接確率であった無線端末とが一致する場合、その近接確率には、重み付けがされてもよい。
【0201】
また、無線端末105は、位置推定モデルを更新してもよい。例えば、無線端末105は、最も大きい近接度が第1の規定値以上であり、その他の近接度(最も大きい近接度を除く近接度)のいずれも第2の規定値未満である場合、最も大きい近接度を算出したアンカーノードの無線端末に対応する位置推定モデルを、フィンガープリントを教師データとし更新してもよい。
【0202】
(変形例3)
無線端末101~105は、フィンガープリントを更新する際、追加するRSSIと組になっている送信元アドレスが、既にフィンガープリントに含まれている場合、新しく計測したRSSIで随時上書きしてもよい。また、無線端末101~105は、フィンガープリントを更新する際、追加するRSSIと組になっている送信元アドレスおよび宛先アドレスが、既にフィンガープリントに含まれている場合、新しく計測したRSSIで随時上書きしてもよい。また、無線端末101~105は、BCパケットに格納されているシーケンス番号を識別子として、2個以上のフィンガープリントを記憶してもよい。
【0203】
(変形例4)
無線端末101~105は、フィンガープリントを更新する場合、その時点で記憶しているフィンガープリントのRSSIよりも古いRSSIを含むフィンガープリントを受信する可能性もある。
【0204】
そこで、無線端末101~105は、送信元アドレスとRSSIとの他に、シーケンス番号を記憶してもよい。無線端末101~105は、フィンガープリントを更新する場合、記憶部に記憶しているフィンガープリントのシーケンス番号と、新しく受信したフィンガープリントのシーケンス番号とを比較し、新しく計測されたRSSIを用いて、フィンガープリントを更新してもよい。
【0205】
(変形例5)
無線端末101~105は、複数のフィンガープリントの保存コマンドが発行された場合、複数のフィンガープリントの保存コマンドに対する複数のRSSIの平均値を算出し、RSSIの平均値を教師データとして記憶部に記憶してもよい。
【0206】
なお、無線端末105の最近傍でない無線端末101~104が、フィンガープリントの保存コマンドを受信して、教師データのオプションに、最近傍ノードの代わりに現在のフィンガープリントを記憶してもよい。
【0207】
この場合、無線端末105の最近傍でない無線端末101~104は、教師データのオプションに、最近傍の無線端末のアドレスを格納してもよい。これにより、教師データとして記憶されたフィンガープリントは、無線端末105がどの無線端末101~104の最近傍にいた場合に記憶された教師データであるかを、オプションに格納された最近傍ノードアドレスにより識別されることができる。
【0208】
(変形例6)
教師データの記憶において、どこまで古いものを記憶しておくかは、各ノードに所定の時間を設定してもよいし、ユーザーがパラメータとして随時入力してもよい。
【0209】
上述の実施の形態においては、各構成要素に用いる「・・・部」という表記は、「・・・回路(circuitry)」、「・・・アッセンブリ」「・・・デバイス」、「・・・ユニット」、又は、「・・・モジュール」といった他の表記に置換されてもよい。上記で説明した教師データは、正解データまたは正解値と称されてもよい。位置推定モデルは、AIモデルまたはAI予測モデルと称されてもよい。もちろん、教師データおよび位置推定モデルの称呼は、これらに限られない。
【0210】
以上、図面を参照しながら実施の形態について説明したが、本開示はかかる例に限定されない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかである。そのような変更例または修正例についても、本開示の技術的範囲に属するものと了解される。また、本開示の趣旨を逸脱しない範囲において、実施の形態における各構成要素は任意に組み合わされてよい。
【0211】
本開示はソフトウェア、ハードウェア、又は、ハードウェアと連携したソフトウェアで実現することが可能である。上記実施の形態の説明に用いた各機能ブロックは、部分的に又は全体的に、集積回路であるLSIとして実現され、上記実施の形態で説明した各プロセスは、部分的に又は全体的に、一つのLSI又はLSIの組み合わせによって制御されてもよい。LSIは個々のチップから構成されてもよいし、機能ブロックの一部または全てを含むように一つのチップから構成されてもよい。LSIはデータの入力と出力を備えてもよい。LSIは、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0212】
集積回路化の手法はLSIに限るものではなく、専用回路、汎用プロセッサ又は専用プロセッサで実現してもよい。また、LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。本開示は、デジタル処理又はアナログ処理として実現されてもよい。
【0213】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【0214】
本開示は、通信機能を持つあらゆる種類の装置、デバイス、システム(通信装置と総称)において実施可能である。通信装置は無線送受信機(トランシーバー)と処理/制御回路を含んでもよい。無線送受信機は受信部と送信部、またはそれらを機能として、含んでもよい。無線送受信機(送信部、受信部)は、RF(Radio Frequency)モジュールと1または複数のアンテナを含んでもよい。RFモジュールは、増幅器、RF変調器/復調器、またはそれらに類するものを含んでもよい。通信装置の、非限定的な例としては、電話機(携帯電話、スマートフォン等)、タブレット、パーソナル・コンピューター(PC)(ラップトップ、デスクトップ、ノートブック等)、カメラ(デジタル・スチル/ビデオ・カメラ等)、デジタル・プレーヤー(デジタル・オーディオ/ビデオ・プレーヤー等)、着用可能なデバイス(ウェアラブル・カメラ、スマートウオッチ、トラッキングデバイス等)、ゲーム・コンソール、デジタル・ブック・リーダー、テレヘルス・テレメディシン(遠隔ヘルスケア・メディシン処方)デバイス、通信機能付きの乗り物又は移動輸送機関(自動車、飛行機、船等)、及び上述の各種装置の組み合わせがあげられる。
【0215】
通信装置は、持ち運び可能又は移動可能なものに限定されず、持ち運びできない又は固定されている、あらゆる種類の装置、デバイス、システム、例えば、スマート・ホーム・デバイス(家電機器、照明機器、スマートメーター又は計測機器、コントロール・パネル等)、自動販売機、その他IoT(Internet of Things)ネットワーク上に存在し得るあらゆる「モノ(Things)」をも含む。
【0216】
通信には、セルラーシステム、無線LANシステム、通信衛星システム等によるデータ通信に加え、これらの組み合わせによるデータ通信も含まれる。
【0217】
また、通信装置には、本開示に記載される通信機能を実行する通信デバイスに接続又は連結される、コントローラやセンサ等のデバイスも含まれる。例えば、通信装置の通信機能を実行する通信デバイスが使用する制御信号やデータ信号を生成するような、コントローラやセンサが含まれる。
【0218】
また、通信装置には、上記の非限定的な各種装置と通信を行う、あるいはこれら各種装置を制御する、インフラストラクチャ設備、例えば、基地局、アクセスポイント、その他あらゆる装置、デバイス、システムが含まれる。
【0219】
(本開示のまとめ)
本開示に係る位置推定システムは、移動無線装置と、学習モデルを搭載した複数の固定無線装置と、を備え、前記移動無線装置は、前記複数の固定無線装置における無線信号の受信強度分布を示すフィンガープリントを前記複数の固定無線装置に送信し、前記複数の固定無線装置の各々は、前記フィンガープリントを前記学習モデルに入力し、前記学習モデルから出力された前記移動無線装置の近接度を他の固定無線装置に送信し、前記学習モデルから出力された第1の近接度と、前記他の固定無線装置から受信した第2の近接度とに基づいて、前記移動無線装置の位置を判定する。
【0220】
本開示に係る通信システムにおいて、前記第1の近接度が最も大きい固定無線装置は、前記フィンガープリントを教師データとし、前記学習モデルを更新する。
【0221】
本開示に係る通信システムにおいて、前記第1の近接度が最も大きい固定無線装置は、前記学習モデルから出力された近接度と、前記他の固定無線装置から送信された近接度とに基づいて、前記移動無線装置の判定位置の信頼度を算出し、前記信頼度に基づいて、前記フィンガープリントを教師データとし、前記学習モデルを更新する。
【0222】
本開示に係る通信システムにおいて、前記第1の近接度が最も大きい固定無線装置は、前記第1の近接度が第1の規定値以上であり、前記第2の近接度のいずれも第2の規定値未満である場合、前記フィンガープリントを教師データとする。
【0223】
本開示に係る通信システムにおいて、前記移動無線装置は、前記第1の近接度と前記第2の近接度とを受信し、前記移動無線装置の位置を判定する。
【0224】
本開示に係る通信システムにおいて、前記移動無線装置は、前記複数の固定無線装置の各々に対する近接度を出力する学習モデルを搭載する。
【0225】
本開示に係る通信システムにおいて、前記移動無線装置は、近接度が最も大きい固定無線装置における学習モデルを、前記フィンガープリントを教師データとし更新する。
【0226】
本開示に係る固定無線装置は、当該固定無線装置の無線信号および他の固定無線装置の無線信号の受信強度分布を示すフィンガープリントを、移動無線装置から受信する通信回路と、前記フィンガープリントを学習モデルに入力し、前記移動無線装置の当該固定無線装置に対する第1の近接度を取得する制御回路と、を有し、前記通信回路は、前記他の固定無線装置が学習モデルに入力して取得した前記移動無線装置の前記他の固定無線装置に対する第2の近接度を受信し、前記制御回路は、前記第1の近接度と、前記第2の近接度とに基づいて、前記移動無線装置の位置を判定する。
【0227】
本開示に係る移動無線装置は、複数の固定無線装置の無線信号の受信強度分布を示すフィンガープリントを前記複数の固定無線装置に送信し、前記複数の固定無線装置が前記フィンガープリントを学習モデルに入力して取得した当該移動無線装置の前記複数の固定無線装置に対する近接度を、前記複数の固定無線装置から受信する通信回路と、前記近接度に基づいて、当該移動無線装置の位置を判定する制御回路と、を有する。
【産業上の利用可能性】
【0228】
本開示は、無線通信のフィンガープリントを用いた位置推定システムに適用できる。
【符号の説明】
【0229】
1 位置推定システム
11 無線通信部
12 制御部
13 入出力部
14 記憶部
21 データ取得部
22 位置推定部
22a 近接確率算出部
22b 位置判定部
23 モデル更新部
23a 信頼度判定部
23b 教師データ生成部
23c モデル学習部
101~105 無線端末