(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-28
(45)【発行日】2024-12-06
(54)【発明の名称】屋内測位システムの配備
(51)【国際特許分類】
G01S 5/02 20100101AFI20241129BHJP
H04W 16/20 20090101ALI20241129BHJP
H04W 84/10 20090101ALI20241129BHJP
H04W 64/00 20090101ALI20241129BHJP
【FI】
G01S5/02 Z
H04W16/20
H04W84/10 110
H04W64/00 110
(21)【出願番号】P 2022530939
(86)(22)【出願日】2020-11-17
(86)【国際出願番号】 IB2020060811
(87)【国際公開番号】W WO2021105817
(87)【国際公開日】2021-06-03
【審査請求日】2023-04-24
(32)【優先日】2019-11-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】マッキン、ケイシー、デイヴィッド
(72)【発明者】
【氏名】ジャダフ、ディフエシュ
(72)【発明者】
【氏名】フローレス、ジャーマン
(72)【発明者】
【氏名】グリフィン、トーマス
【審査官】佐藤 宙子
(56)【参考文献】
【文献】米国特許第10470155(US,B2)
【文献】国際公開第2017/105621(WO,A1)
【文献】特開2019-086506(JP,A)
【文献】特開平07-087557(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01S 5/00- 5/14
G01S 19/00-19/55
H04B 7/24- 7/26
H04W 4/00-99/00
(57)【特許請求の範囲】
【請求項1】
プロセッサと、
ネットワークを介した通信を可能にするように前記プロセッサに結合されたネットワーク・インターフェースと、
前記プロセッサに結合された、コンテンツおよびプログラミングのための記憶デバイスと、
前記記憶デバイスに記憶された屋内測位システム(IPS)配備エンジンと
を備えるコンピュータ・デバイスであって、前記プロセッサによって前記IPS配備エンジンを実行することにより、前記コンピュータ・デバイスが、セットアップ段階中に、
1つまたは複数の区域を含む領域のマップを決定すること、
前記領域内の複数の超広帯域(UWB)ノードおよび複数のブルートゥース低エネルギー(BLE)ノードから、前記領域の1つまたは複数の位置にある1つまたは複数のエージェントを介して中継された信号を受信すること、
前記UWBノードからの受信した前記信号と前記BLEノードからの受信した前記信号との間の相関関係に基づいて精度マップを作成することであって、前記精度マップはノード測定値の全体精度を表し、
前記領域における低い精度または高い不確実性あるいはその両方の区域を決定するための前記精度マップであり、および
前記精度マップに基づいて、前記複数のBLEノードを配置すべき場所を特定すること
を含む動作を行うように構成される、コンピュータ・デバイス。
【請求項2】
前記プロセッサによって前記IPS配備エンジンを実行することによりさらに、前記セットアップ段階が完了したとき、前記精度マップに基づいて前記複数のBLEノードが配置されるのと同時に前記UWBノードを除去することを指示するように前記コンピュータ・デバイスが構成される、請求項1に記載のコンピュータ・デバイス。
【請求項3】
前記プロセッサによって前記IPS配備エンジンを実行することによりさらに、前記1つまたは複数のBLEノードのそれぞれが1つまたは複数の所定の基準を満たす場所に配置されるまで、前記セットアップ段階の動作を繰り返し反復するように前記コンピュータ・デバイスが構成される、請求項1に記載のコンピュータ・デバイス。
【請求項4】
前記領域の前記マップを決定する前記動作は、管理者のコンピュータ・デバイスから前記マップを受け取ることを含む、請求項1に記載のコンピュータ・デバイス。
【請求項5】
前記プロセッサによって前記IPS配備エンジンを実行することによりさらに、管理者のコンピュータ・デバイスから前記領域の制約条件を受け取ることを含む動作を行うように前記コンピュータ・デバイスが構成される、請求項1に記載のコンピュータ・デバイス。
【請求項6】
前記制約条件には、前記領域の区域ごとに、壁、機器、BLEセンサ配置を回避すべき1つもしくは複数の場所、またはBLEセンサ精度閾値のうちの少なくとも1つが含まれる、請求項5に記載のコンピュータ・デバイス。
【請求項7】
前記1つまたは複数の区域のすべてに同じ制約条件があるわけではない、請求項6に記載のコンピュータ・デバイス。
【請求項8】
前記領域内の前記UWBノードおよび前記複数のBLEノードから信号を受信することには、前記領域内の前記1つまたは複数のエージェントのうちの少なくとも1つを、前記領域の前記1つまたは複数の位置のそれぞれまで移動させることが含まれる、請求項1に記載のコンピュータ・デバイス。
【請求項9】
前記プロセッサによって前記IPS配備エンジンを前記実行することによりさらに、BLEノードごとに、前記領域内の前記複数のBLEノードからの受信した前記信号に基づいて可視性マップを作成することを含む動作を行うように前記コンピュータ・デバイスが構成され、
前記複数のBLEノードを配置すべき前記場所を前記特定することがさらに、前記可視性マップに基づいている、請求項1に記載のコンピュータ・デバイス。
【請求項10】
所定の閾値よりも可視性が低い各BLEノードが、除去のために特定される、請求項9に記載のコンピュータ・デバイス。
【請求項11】
前記精度マップを作成することが、前記領域内の前記1つまたは複数の位置ごとに、
前記領域内の前記複数のUWBノードからの受信した前記信号に基づいて、対応するエージェントの位置の場所の第1の推定値を計算すること、
前記領域内の前記複数のBLEノードのうちの少なくとも一部からの受信した前記信号に基づいて、対応するエージェントの位置の前記場所の第2の推定値を計算すること、
前記第1の推定値を前記第2の推定値のグランド・トゥルース基準として使用すること、
前記第1の推定値と前記第2の推定値との間の差を決定すること、および
前記決定された差を前記精度マップに記録すること
を含む、請求項1に記載のコンピュータ・デバイス。
【請求項12】
前記場所の前記第1および第2の推定値がそれぞれ、前記受信されたUWBからの前記信号およびBLEからの前記信号の三辺測量によるものである、請求項11に記載のコンピュータ・デバイス。
【請求項13】
前記精度マップに取り込まれる精度が、
所定の時間における前記第1の推定値と前記第2の推定値との間の分散、または
ある期間にわたる前記第1の推定値と前記第2の推定値との間の分散
のうちの少なくとも一方に基づく、請求項11に記載のコンピュータ・デバイス。
【請求項14】
実行されるとコンピュータ・デバイスが、屋内測位システム(IPS)を配備する方法であって、前記方法が、セットアップ段階中に、
1つまたは複数の区域を含む領域のマップを決定すること、
前記領域内の複数の超広帯域(UWB)ノードおよび複数のブルートゥース低エネルギー(BLE)ノードから、前記領域の1つまたは複数の位置にある1つまたは複数のエージェントを介して中継された信号を受信すること、
前記UWBノードからの受信した前記信号と前記BLEノードからの受信した前記信号との間の相関関係に基づいて精度マップを作成すること
であって、前記精度マップはノード測定値の全体精度を表し、前記領域における低い精度または高い不確実性あるいはその両方の区域を決定するための前記精度マップであり、および
前記精度マップに基づいて、前記複数のBLEノードを配置すべき場所を特定すること
を含む、方法。
【請求項15】
前記セットアップ段階が完了したとき、前記精度マップに基づいて前記複数のBLEノードを配置すると同時に前記UWBノードを除去するように指示することをさらに含む、請求項14に記載の方法。
【請求項16】
前記1つまたは複数のBLEノードのそれぞれが1つまたは複数の所定の基準を満たす場所に配置されるまで、前記セットアップ段階の動作を繰り返し反復することをさらに含む、請求項14に記載の方法。
【請求項17】
管理者のコンピュータ・デバイスから、前記領域の区域ごとに、壁、機器、BLEセンサ配置を回避すべき1つもしくは複数の場所、またはBLEセンサ精度閾値のうちの少なくとも1つを含む、前記領域の制約条件を受け取ることをさらに含む、請求項14に記載の方法。
【請求項18】
BLEノードごとに、前記領域内の前記複数のBLEノードからの受信した前記信号に基づいて可視性マップを作成することをさらに含み、前記複数のBLEノードを配置すべき前記場所を前記特定することがさらに、前記可視性マップに基づいている、請求項14に記載の方法。
【請求項19】
所定の閾値よりも可視性が低い各BLEノードが、除去のために特定される、請求項18に記載の方法。
【請求項20】
前記精度マップを作成することが、前記領域内の前記1つまたは複数の位置ごとに、
前記領域内の前記複数のUWBノードからの受信した前記信号に基づいて、対応するエージェントの位置の場所の第1の推定値を計算すること、
前記領域内の前記複数のBLEノードのうちの少なくとも一部からの受信した前記信号に基づいて、対応するエージェントの位置の前記場所の第2の推定値を計算すること、
前記第1の推定値を前記第2の推定値のグランド・トゥルース基準として使用すること、
前記第1の推定値と前記第2の推定値との間の差を決定すること、および
前記決定された差を前記精度マップに記録すること
を含む、請求項14に方法。
【請求項21】
コンピュータ・プログラムであって、請求項11ないし20のいずれか1項に記載の方法の各ステップをコンピュータに実行させるための、コンピュータ・プログラム。
【請求項22】
請求項21に記載のコンピュータ・プログラムを記録した、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に測位システムに関し、より詳細には、屋内測位システムを配備する方法およびシステムに関する。
【背景技術】
【0002】
空間内でデバイスの位置決定をする様々な技術を使用することがますます増えてきている。多くの用途では、ユーザと近くの他のユーザ、会場、イベント、またはリソースとを接続するために、またはこれらに到達する方法についての指示を与えるために、ユーザの位置情報が利用される。この位置情報はまた、利用情報を収集するためにも使用される。これらのソリューションの多くは、全地球測位システム(GPS)をベースにしており、したがって正確度に限りがあり、また見通し距離内動作に限られる。
【発明の概要】
【0003】
様々な例示的な実施形態によって、コンピュータ・デバイス、コンピュータ可読記憶媒体、および屋内測位システムを配備する方法が提供される。セットアップ段階中に、1つまたは複数の区域を含む領域のマップが決定される。領域内の複数の超広帯域(UWB)ノードおよび複数のブルートゥース低エネルギー(BLE)ノードから、領域の1つまたは複数の位置にある1つまたは複数のエージェントを介して中継された信号が受信される。精度マップが、UWBノードからの受信信号とBLEノードからの受信信号との間の相関関係に基づいて作成される。複数のBLEノードを配置すべき場所が、精度マップに基づいて特定される。
【0004】
1つの実施形態では、セットアップ段階が完了したとき、精度マップに基づいて複数のBLEノードが配置されるのと同時にUWBノードが除去される。
【0005】
1つの実施形態では、1つまたは複数のノードのそれぞれが1つまたは複数の所定の基準を満たす場所に配置されるまで、セットアップ段階の動作が反復される。
【0006】
1つの実施形態では、領域のマップを決定する動作は、管理者のコンピュータ・デバイスからマップを受け取ることを含む。
【0007】
1つの実施形態では、管理者のコンピュータ・デバイスから領域の制約条件が受け取られる。制約条件には、領域の区域ごとに、壁、機器、BLEセンサ配置を回避すべき1つもしくは複数の場所、またはBLEセンサ精度閾値のうちの少なくとも1つが含まれ得る。1つまたは複数の区域には同じ制約条件がない場合がある。
【0008】
1つの実施形態では、領域内のUWBノードおよび複数のBLEノードから信号を受信することには、領域内の1つまたは複数のエージェントのうちの少なくとも1つを、領域の1つまたは複数の位置のそれぞれまで移動させることが含まれる。
【0009】
1つの実施形態では、BLEノードごとに可視性マップが、領域内の複数のBLEノードからの受信信号に基づいて作成される。複数のBLEノードを配置すべき場所を特定することがさらに、可視性マップに基づいている。所定の閾値よりも可視性が低い各BLEノードが、除去のために特定される。
【0010】
1つの実施形態では、精度マップを作成することは、領域内の1つまたは複数の位置ごとに、領域内の複数のUWBノードからの受信信号に基づいて計算された、対応するエージェントの位置の場所の第1の推定値を含む。対応するエージェントの位置の場所の第2の推定値が、領域内の複数のBLEノードのうちの少なくとも一部からの受信信号に基づいて計算される。第1の推定値が、第2の推定値のgenetic algorithm基準として使用される。第1の推定値と第2の推定値との間の差が決定され、精度マップに記録される。
【0011】
1つの実施形態では、場所の第1および第2の推定値はそれぞれ、受信されたUWB信号およびBLE信号の三辺測量によるものである。
【0012】
1つの実施形態では、精度マップに取り込まれる精度は、所定の時間における第1の推定値と第2の推定値との間の分散、またはある期間にわたる第1の推定値と第2の推定値との間の分散のうちの少なくとも一方に基づく。
【0013】
上記およびその他の特徴は、その例示的な実施形態についての、添付の図面と併せ読まれるべき以下の「発明を実施するための形態」から明らかになろう。
【0014】
図面は、例示的な実施形態についてのものである。図面は、すべての実施形態を例示していない。他の実施形態がそれに加えて、または代わりに使用され得る。明白または不要であり得る詳細は、スペースを節約するために、またはより効果的に説明するために省略されることがある。いくつかの実施形態は、追加の構成要素またはステップを用いて、または図示されている構成要素またはステップのすべては用いずに、あるいはその両方で実践することができる。同じ数字が異なる図面に現れる場合、数字は同一または同様の構成要素またはステップを指している。
【図面の簡単な説明】
【0015】
【
図1】例示的な実施形態と合致する、屋内測位システムの実行時配備の例示的なアーキテクチャを示す図である。
【
図2】例示的な実施形態と合致する、超広帯域ノードおよびブルートゥース低エネルギー・ノードが配備された例示的な格子マップを示す図である。
【
図3】モバイル・デバイスの形の例示的なエージェントの様々な構成要素を高レベルで示すブロック図である。
【
図4】例示的な実施形態と合致する、屋内測位システム配備システムの生成についての概念的なブロック図である。
【
図5】屋内測位システム開発エンジンによって作成された領域の精度マップである。
【
図6】例示的な実施形態と合致する可視性マップを示す図である。
【
図7】例示的な実施形態と合致する、1つの領域の精度/不確実性マップを生成するために使用されるデータ構造のブロック図である。
【
図8】例示的な実施形態と合致する、1つの領域についての各ノードの可視性/閉塞マップを生成するために使用されるデータ構造のブロック図である。
【
図9】セットアップ段階中の屋内測位システムの配備のための例示的なプロセスを示す図である。
【
図10】
図1の配備エンジン・サーバなどのコンピュータ・ハードウェア・プラットフォームの機能ブロック図である。
【発明を実施するための形態】
【0016】
以下の詳細な説明では、関連する教示についての完全な理解が得られるようにするために、多くの具体的な詳細が例示的に記述される。しかし、この教示は、そのような詳細がなくても実践できることが明らかなはずである。他の例では、よく知られた方法、手順、構成要素、または回路あるいはその組合せは、この教示の態様を不必要に不明瞭にすることを避けるために、比較的高レベルで詳細なしに説明されている。
【0017】
本開示は一般に、測位システム技術の配備を最適化する方法およびシステムに関する。今日の用途は、GPSだけでは十分な動作を実現できない可能性のある屋内用途および他の用途にも急速に拡大している。いくつかの例には、オフィス・ビル内での作業員の誘導、病院内での機器や介護者の追跡、ショッピング・モール内での買い物客の誘導、さらには洞窟、トンネルおよび工場内でのロボットおよびドローンの誘導が含まれる。このような障害物のある環境では、測位システムは、環境内に知的に配備されるとともに、より高レベルの精度および正確さで動作しなければならない。
【0018】
効果的な屋内測位システム(IPS)を設計する際の難題には、システム性能をマップ全体にわたって最大化するようにシステム(たとえば、ノード配置、送信電力、伝送速度、および他の設定)を構成することが含まれる。本明細書では、マップは、1つのエージェントが占有することができる一組の状態(位置)を含む。1つのノードが、マップ内の既知の位置で動作しているセンサまたは送信機に関連する。1つの構成が、マップ内の既知の位置における一組のノード(およびその対応する設定)に関連する。
【0019】
様々なシナリオにおいて、屋内環境には、建物アクセス制限、建物基幹施設制限、電源の可用性、安全制限などを、それだけには限らないが含めて、ノード配置のための複雑な制約条件があり得る。屋内環境にノードを配置するという難題を純粋な最適化問題として解決することは、その複雑さと、制約条件についての知識が不足していることが多いことの故に、困難である。この最適化問題を制約条件がない状態または非現実的な制約条件で解くと、実践上は実現不可能な解がもたらされ得る。
【0020】
困難な屋内環境の1つの例は、病院の内部環境である。患者のプライバシーと安全性の制限により、制限がなければ妥当ないくつかの位置がマップから削除される可能性がある。さらに、他の機器がノード配置を妨げたり、信号伝搬を妨害したり、都合のよい電源を提供しなかったりすることがある。たとえば、いくつかの室には、広大なマップの領域からノード配置することを制限する特殊な機器(たとえば、X線、MRIなど)があり得る。これらの制限は、ノードが配備されるまで認識されないことが多い。
【0021】
本明細書で論じる技術が適用可能である他の例示的な環境には、地下鉄、ショッピング・センター、高層ビルなどが含まれる。顕著な環境には、建物に限定されずに、トンネル、洞窟、廃墟などが、それだけには限らないが含まれることがあり、それぞれに独自の制約条件が含まれる。このような環境すべてが、本明細書で論じる屋内測位システムによってサポートされる。
【0022】
効率的なIPSを構成することに加えて、別の考慮事項は、システム保守および環境変化への適合である。屋内環境は、容易に再構成できるという点で動的である。たとえば、病院では、機器および家具を移動させ、また、建物を拡張したり基幹施設を改善したりするために、しばしば建設工事が行われる。破損、閉塞、または欠落したノードはしばしば、所定の間隔で、またはトリガ・イベントがあったときに交換されることがあり、その交換には、付加的なノード(たとえば、領域内の新しい区域または最近閉塞した領域あるいはその両方)を追加することが必要になり得る。
【0023】
したがって、本明細書で議論されるのは、屋内測位システム構成の改善を実現するために使用できるノード配置の分析およびガイダンスを提供する、目で見て直観的に分かる対話型ツールである。1つの態様では、正確度および精度のレベルが異なる様々な技術がセットアップ段階中に調和して使用されて、高い正確度で信頼できる、かつコスト効率の高い屋内測位システムがアクティブ段階で得られる。たとえば、高性能技術がセットアップ段階中に使用されて配備が最適化され、この高性能技術は、測位システムの複雑さとコストを低減するために、より経済的な技術を使用する後方のアクティブ段階では削除することができる。
【0024】
1つの実施形態では、高精度の超広帯域(UWB)技術が低精度のブルートゥース低エネルギー(BLE)技術と対にされて、所定の正確度をもたらす効果的なマップ内のノード配置が実現する。各ノードの受信信号強度(RSS)は、BLEノードから受信機(たとえば、監視または案内される対象)までの距離を推定するための測定尺度(metric)として使用される。しかし、様々な実施形態において、本明細書で議論される技術と測定尺度は、交換可能であり、3つ以上の技術に拡張することができる。
【0025】
たとえば、UWBノードは、BLEノードの動作を最適化するためにセットアップ段階中に使用することができる。これらのUWBノードは、その後に無効にする(または他の環境で再利用する、あるいはその両方をする)ことができる。BLEはUWBよりも精度が低いことがあるが、消費電力およびコストの大幅な削減をもたらし、それによって、より多くのデバイス(たとえばノード)を使用できるようになる。いくつかのシナリオでは、所望の正確度を維持しながら、使用するBLEノードを少なくすることができる。たとえば、BLEノードの配置を最適化するために使用される複数の場所(たとえば、講堂の四隅)でUWBシステムを使用することを考える。最適化が完了した後、そのUWBシステムを第2の場所(たとえば、カフェテリア)に移動させて、同じプロセスを再び開始することができる。それゆえに、最小限のUWBシステムを繰り返し使用して、広いスペースにわたってBLEノードを配備することが可能になる。このようにして、性能を最大化し、機器およびエネルギー・コストを最小化し、後でより詳細に論じる様々な制約条件に準拠することができる、実行時において高速で使いやすい屋内測位システム配備ガイダンスが実現される。
【0026】
管理者は、BLEノードを配置すべき場所について情報に基づく決定をその場で下すことによって、有効かつ効率的な構成を迅速に決定することができる。1つの実施形態では、システム自体が、BLEノードについて提案する数および場所を提示する。さらに、管理者は、環境が変化し保守が必要であるので、更新のために屋内測位システムを周期的に最小限の労力で試験することができ、この試験は、UWBノードがあってもなくても実施することができる。RSSに基づくWi-FiソリューションおよびBLEソリューションを使用する従来技術のシステムとは異なり、エージェントの位置を決定する際の精度および正確度が、配備コストは低いままで改善される。BLEノードを適切な位置に配置し、効果的ではないBLEノードを除去することによって、測位システム性能は改善され、エネルギーおよび機器コストは低減される。さらに、本明細書で論じる技術は、不適切なノード配置および不十分なセンサ正確度/精度を克服するために使用されることがある複雑または計算集約的な、あるいはその両方であるアルゴリズム(たとえば、粒子フィルタ、深層学習、遺伝的アルゴリズムなど)を含まなくてもよい。
【0027】
本明細書に記載の技術は、いくつかの方法で実施することができる。例示的な実施態様が、次の図を参照して以下に提示される。
【0028】
図1は、例示的な実施形態と合致する、屋内測位システム(IPS)の実行時配備の例示的なアーキテクチャ100を示す。アーキテクチャ100には、建物、駐車場、スタジアム、ショッピング・モール、空港、病院、トンネル、洞窟、工場など、それだけには限らないが、全地球測位システム(GPS)または他の衛星技術では十分な精度または透過性が不足し得る領域102が含まれる。その領域内でエージェントの位置を特定するために使用される2つの主要な技術、すなわちUWBおよびBLEがあり、それぞれノード104(1)~104(N)および110(1)~110(N)で表される。これらの技術は、以下でより詳細に説明するように、セットアップ段階中とアクティブ段階中で異なる役割を果たす。本明細書でエージェントとは、UWB信号またはBLE信号あるいはその両方を取り入れることができる受信機のことである。様々な実施形態において、エージェントは、携帯ハンドセット、スマートフォン、タブレット・コンピュータ、携帯情報端末(PDA)、およびスマート・ウォッチの形をとることができるが、消費者用、医療用、およびビジネス用の電子デバイス、ロボット、ならびにドローンを含む他のフォームファクタで実施されてもよい。議論の目的で、エージェントは、モバイル・デバイス112およびロボット114によって表される。たとえば、ロボット、ドローンなど114が、後に詳述するUWBノード104(1)~104(N)からのサポートによって、セットアップ段階中に領域102を自動的にローミングしてBLEノード110(1)~110(N)の適切な位置を決定する助けになり得る。次に、アクティブ段階中に、これらのBLEノード110(1)~110(N)はビーコンとして動作して、モバイル・デバイス112を有するユーザなどのエージェントを領域102中で案内する。
【0029】
エージェント112および114が、サーバ120上で動作する屋内測位システム(IPS)配備エンジン132、または対応するコンピュータ・デバイス130を介する管理者あるいはその両方などの、ネットワーク106に接続された様々なリソースと通信することを可能にするネットワーク106が存在し得る。いくつかの実施形態では、ネットワーク106にはルータ116を介してアクセスすることができる。ネットワーク106は、ローカル領域ネットワーク(「LAN」)、仮想プライベート・ネットワーク(「VPN」)、セルラー・ネットワーク、インターネット、またはこれらの組合せとすることが、それだけには限らないができる。たとえば、ネットワーク106は、BLEノード110(1)~110(N)の適切な配置および数を特定するためのIPS配備エンジン132との通信などの、様々な補助サービスを提供するプライベート・ネットワーク(イントラネットと呼ばれることもある)に通信可能に結合されているモバイルネットワークを含み得る。
【0030】
いくつかの実施形態では、管理者131は、そのコンピュータ・デバイス130を介して、領域102の様々な制約条件または制限事項を入力として与えることができる。たとえば、これらの制約条件には、壁、容易に移動できない機器、センサを配置しないようにすべき領域(たとえば、医療機器に干渉することを防止するために)などが含まれ得る。
【0031】
いくつかの実施形態では、管理者131は、BLEノード110(1)~110(N)の初期配置を提示し、さらにはその最終配置を、セットアップ段階中にIPS配備エンジン132からフィードバックを受け取った後に選択することもできる(たとえば、精度マップ、可視性マップ、またはブラックアウト・マップあるいはその組合せ、ならびに後でさらに詳細に論じる他の測定尺度の形で)。
【0032】
初期入力は、UWBノードを配置すべき場所、ならびに、各ノード(たとえば、BLE)の汎用一意識別子(UUID)およびマップ200内の各ノードの座標などのBLEノードの配備情報を含み得る。ノードは、管理者によって最初はランダムに、または直感的に配置することができる。たとえば、UWBノードは、
図2に示されるようにマップ200の四隅に配置することができる。初期入力はさらに、マップ200内の格子位置(たとえば、本明細書で区域と呼ばれることもある象限)ごとの所望の正確度を含み得る。たとえば、異なる象限は、異なるレベルの精度を有し得る。すなわち、たとえば、台所、収納場所、または浴室は、廊下および会議室と同じレベルの精度を必要としない場合がある。さらに、ブロック・サイズ、すなわち次のマップを構築するための格子の粒度(たとえば、1m、2m、5mなど)、ならびに区域ごとの所望の正確度を指定することができる。管理者は、使用されるべきBLEノードの初期数、ならびに下限および上限を与えることができる。
【0033】
いくつかの実施形態では、管理者131は、セットアップ段階に関して、持続期間(たとえば、2時間、1日など)、測定分解能(たとえば、どの間隔で位置決定が行われるか(たとえば、0.5m、1mなど))、エージェントのタイプ(たとえば、ロボット、ドローン、UWBおよびBLE受信機を持って領域102中を歩く個人、情報が所定の期間にわたって様々なエージェントによって取り入れられるかどうかなど)、および回避すべき場所(たとえば、エージェントが後のアクティブ段階中にその領域をカバーすることが予期されていない)を指定する。いくつかの実施形態では、管理者131は、IPS配備エンジン(後でより詳細に論じる)で使用するための精度関数および可視性関数を入力として与えることができる。
【0034】
たとえば、セットアップ段階中、UWBノード104(1)~104(N)は、格子マップ内の受信者(たとえば、エージェント114)の現在のブロック位置を決定するために使用される。この関連で、
図2を参照する。この図は、例示的な実施形態と合致する、UWBノードおよびBLEノードが配置されている例示的な格子マップ200を示す。UWBノードは四角形として、BLEノードは円として、エージェントは菱形として示されている。UWBノードは、高レベルの正確度(たとえば、10cm以内)を達成することができ、したがって、エージェントの位置の基準として、またはグランド・トゥルースとして使用することができる。モバイル・エージェントが取得したブルートゥース低エネルギー(BLE)ノードの(すなわち既知の位置の)受信信号強度RSSは、精度マップ、可視性マップ、およびブラックアウト・マップの構築用の測定値を集めるために、ならびに、後で論じる他のいくつかの性能測定尺度を計算するために使用することができる。RSSは、受信信号強度インジケータ(RSSI)と呼ばれることもあり、位置が既知であるビーコンとして動作するBLEノードからの受信無線信号に存在する電力の、デシベル(dB)で表される測定値である。
【0035】
登録されたBLEノードからの受信信号値とその既知の座標とを比較することにより、エージェントは、対応する各BLEノードまでの距離をRSSIによって推定することができる(たとえば、経路損失モデルを使用して)。他のモデルも同様に使用できることが理解されよう。距離が長ければ長いほど、RSSI信号は小さくなる。1つの実施形態では、エージェントの見通し距離内にある3つ以上のBLEノードを用いる三辺測量が使用されて、マップ200上のエージェントの位置が決定される。一般には3つ以上のノードが、マップ200内のエージェントの位置を決定するために使用される。しかし、狭い通路(たとえば、トンネルまたは廊下)などのいくつかのシナリオでは、2つのビーコン(すなわち、BLEノード)で十分な場合がある。BLEノードが効果的に配置されると、エージェントの位置を所望の正確度の範囲内で決定することができる。この所望の正確度を達成するために、UWBノードが使用されてBLEノードの正しい数および配置が決定される。その目的のために、精度マップ、可視性マップ、またはブラックアウト・マップ、あるいはその組合せが、UWBノードおよびBLEノードから受信された信号を相関させることによって生成される。これらのマップにより、マップ200の領域ごとに所望の精度を得るためにBLEノードの数ならびにその正しい配置を決定することが容易になり、その決定後に、UWBノードを除去することができる(たとえば、別の領域に再利用されるように)。このようにして、低エネルギーで、複雑さが少なく、低コストで正確度の高いIPSを配備することができる。
【0036】
図1に戻って参照すると、IPS配備エンジン132は、リモート・サーバ120の一部であるとして図示されているが、1つの実施形態では、IPS配備エンジン132の機能は、エージェント(たとえば、112または114)自体で実施することができる。他の実施形態では、これらのコンピュータ・プラットフォームのうちの1つまたは複数は、クラウドでホストされる仮想マシンまたはソフトウェア・コンテナの形の仮想コンピュータ・デバイスによって実施され、それによって、処理および記憶のための弾性アーキテクチャを得ることができる。
【0037】
図1との関連で論じたように、IPSの効率的な配備には様々なタイプのエージェントが必要になり得る。その目的のために、
図3は、モバイル・デバイス300の形の例示的なエージェントの様々な構成要素を高レベルで示すブロック図を例示している。議論の目的で、図は、ワイヤレス・コンピュータ・デバイスの形のモバイル・デバイス300を示しているが、他のコンピュータ・デバイスもまた企図されることが理解されよう。
【0038】
モバイル・デバイス300は、1つまたは複数のアンテナ302と、セルラー、Wi-Fi通信、短距離通信技術または有線通信あるいはその組合せのためのトランシーバ304と、ユーザ・インターフェース306と、1つまたは複数のプロセッサ308と、ハードウェア310と、メモリ330とを含み得る。いくつかの実施形態では、アンテナ302は、基地局に無線信号を送信するアップリンク・アンテナと、基地局から無線信号を受信するダウンリンク・アンテナとを含み得る。いくつかの他の実施形態では、単一のアンテナで無線信号を送信することも受信することもできる。同一または他のアンテナが、Wi-Fi通信、UWB通信、またはBLE通信あるいはその組合せに使用されてもよい。これらの信号は、デジタルデータを送受信するように構成された、ネットワーク・インターフェースと総称されることもあるトランシーバ304によって処理することができる。1つの実施形態では、モバイル・デバイス300はアンテナ302を含まず、外部構成要素との通信は有線通信を介して行われる。
【0039】
1つの実施形態では、モバイル・デバイス300は、ユーザが入力を与えること、およびモバイル・デバイス300から出力を受け取ることを可能にする1つまたは複数のユーザ・インターフェース306を含む。たとえば、ユーザ・インターフェース306は、精度、可視性、およびブラックアウト・マップなどの様々なコンテンツ、ならびに本明細書で論じる様々な関連する測定尺度を表示するための視覚コンテンツを提供するのに使用できるデータ出力デバイス(たとえば、視覚ディスプレイ、音声スピーカ、触覚デバイスなど)を含み得る。ディスプレイはまた、モバイル・デバイス300の位置を、それが入っている屋内領域を基準にして表示するのに使用することもできる。
【0040】
ユーザ・インターフェース306はまた、1つまたは複数のデータ入力デバイスも含み得る。データ入力デバイスは、キーパッド、つまみ/操作ボタン、キーボード、タッチ・スクリーン、音声認識パッケージ、および他の任意の適切なデバイスまたは他の電子式/ソフトウェアの諸選択インターフェースのうちの1つまたは複数の組合せを、それだけには限らないが含み得る。
【0041】
モバイル・デバイス300は、1つまたは複数のプロセッサ308を含むことができ、このプロセッサは、シングルコア・プロセッサ、マルチコア・プロセッサ、複合命令セット・コンピュータ(CISC)プロセッサ、ゲーム・プロセッサ、または他の任意のタイプの適切なプロセッサとすることができる。
【0042】
ハードウェア310は、電源と、シングルコア・プロセッサまたはマルチコア・プロセッサを含み得るデジタル信号プロセッサ(DSP)とを含むことができる。ハードウェア310はまた、周辺コンポーネントと対話する通信インターフェースを含めて、高速通信インターフェースを管理するネットワーク・プロセッサも含み得る。ネットワーク・プロセッサと周辺コンポーネントは、スイッチング・ファブリックによってリンクすることができる。ハードウェア310は、ハードウェア・デコーダおよびエンコーダ、ネットワーク・インターフェース・コントローラ、またはUSBコントローラあるいはその組合せを含み得る。
【0043】
ハードウェア310は、モバイル・デバイス300の位置および向きを決定しやすくするのに使用できる様々なセンサを含み得る。たとえば、モバイル・デバイス300の向きを決定するのに使用できる、加速力を測定するように構成された1つまたは複数の加速度計312が存在し得る。モバイル・デバイス300の回転、ならびに横方向の動きが測定できるようになるジャイロスコープ314が存在し得る。1つの実施形態では、加速度計312とジャイロスコープ414は一緒に使用して、モバイル・デバイス300の向きおよび移動速度をより適切に決定することができる。
【0044】
ハードウェア310はさらに、衛星信号を受信できる屋内領域外へモバイル・デバイス300が移行したときに、モバイル・デバイス300の位置およびその速度を与えるように動作するGPSセンサ316を含み得る。カメラ320、ならびにBLE318センサまたはUWB322センサあるいはその両方と、磁力計324とが存在し得る。
【0045】
モバイル・デバイス300は、コンピュータ記憶媒体などのコンピュータ可読媒体を使用して実現できるメモリ330を含む。記憶媒体には、コンピュータ可読命令、データ構造、プログラム・モジュール、またはその他のデータなどの情報を記憶するための、任意の方法または技術で実現された揮発性および不揮発性の媒体と、取り外し可能および取り外し不能媒体とが含まれる。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル・バーサタイル・ディスク(DVD)、高解像度ビデオ記憶ディスク、もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶デバイスもしくは他の磁気記憶デバイス、またはコンピュータ・デバイスがアクセスする情報を記憶するために使用できる他の任意の非伝送媒体が、それだけには限らないが含まれる。
【0046】
メモリ330は、モバイル・デバイス300のプロセッサ308およびコントローラによって実行可能またはアクセス可能な様々なソフトウェア・コンポーネントまたはモジュールを記憶することができる。メモリ330の様々なコンポーネントには、ソフトウェア332およびオペレーティング・システム370が含まれ得る。ソフトウェア332は、それぞれがIPSの別の態様を制御するように構成された、いくつかのモジュールを有するIPS配備エンジン342などの、様々なアプリケーション340を含み得る。いくつかの実施形態では、位置特定エンジン342は、本明細書で論じるIPS配備エンジンの特徴をなす機能を含み得る。IPS配備エンジン342のモジュールは、ソフトウェア・アプリケーションとの関連で上述しているが、1つまたは複数の機能はハードウェア310で実施できることに留意されたい。
【0047】
オペレーティング・システム370は、モバイル・デバイス300が様々なインターフェース(たとえば、ユーザ制御装置、通信インターフェース、またはメモリ入出力デバイスあるいはその組合せ)を介してデータを送受信し、さらにはプロセッサ308を使用してデータを処理して出力を生成することを可能にするコンポーネントを含み得る。オペレーティング・システム370は、出力を提示する(たとえば、メディア・コンテンツの少なくとも一部をモバイル・デバイス300の電子ディスプレイ上に表示する、データをメモリ330に記憶する、データを別の電子デバイスへ送信するなどの)プレゼンテーション・コンポーネントを含み得る。加えて、オペレーティング・システム370は、オペレーティング・システム370に一般に付随する様々な追加の機能を実施する他のコンポーネントを含み得る。モバイル・デバイス300のハードウェアおよびソフトウェアにより、モバイル・デバイス300の位置は、低IPSコストを維持しながら、高い正確度および効率で特定することができる。
【0048】
図4は、例示的な実施形態と合致する、IPS配備システムの概念的なブロック
図400を示す。いくつかの入力は、管理者431のコンピュータ・デバイス412からIPS配備エンジン432が、配備を初期化するために受け取る。たとえば、入力には、環境マップ、UWB測位システムおよびその位置、初期BLEノード構成情報のリスト、および少なくとも1つの受信機(たとえば、エージェント)構成が、それだけには限らないが含まれ得る。マップは、管理者431が指定した(理想的には、アプリケーションに望まれるレベルまたは精度に対応する)粒度で格子設定される。管理者431はまた、取り入れられたデータが記憶されるサンプリング期間を指定することもできる。
【0049】
セットアップ段階中、IPS配備エンジン432は、UWB測位システム(すなわち、高精度、したがってエージェントの位置のグランド・トゥルースになる)から受信した信号と、BLE測位システム(すなわち、低精度、低コスト、および低複雑性)から受信した信号とを結合する。すべてのアクティブ・ノードからのBLE404のRSSデータは、それぞれのエージェントによって集められ、IPS配備エンジン432によって記憶される(たとえば、RESTfulサービスに記入される)。UWB測位システム402および測位アルゴリズム(たとえば、三辺測量、拡張カルマン・フィルタ(EKF)、またはその他の任意の適切なリアルタイム・ソリューション)は、1つまたは複数のアクティブ・データ収集エージェントの現在の格子ブロック位置を決定するために利用される。UWB測位データはまた、IPS配備エンジン432によって記憶される(たとえば、RESTfulサービスに記入される)。1つの実施形態では、管理者431は、RESTfulサービスにアクセスできる位置特定エンジンを起動するコンピュータ・デバイスを使用して、IPS配備エンジン432とインターフェースすることができる。
【0050】
1つの実施形態では、UWBノード402は、少なくとも3つまたは4つのノードを用いて配備される。たとえば、3つのノードは2D測位に使用することができ、4つのノードは3D測位に使用することができる。UWBノード402は、最適化されているマップ領域内に局所的に配備される。BLE(すなわち、低精度)ノード404は、データを集めるために初期構成(ランダムでもよい)に従って領域に配備される。1つの実施形態では、システムは、不十分な配備(たとえば、初期最小限見積もりに満たない)で初期化され、BLEノード404が性能を向上させるために追加または移動される。BLEノード404の測定値が集められ、IPS配備エンジン432で使用されて、本明細書で精度マップと呼ばれる、訪れた各格子ブロックにおけるノード測定値の全体精度を表すマップを作成し、このマップは、1つの領域における低い精度または高い不確実性あるいはその両方の区域を決定するために使用することが可能である。この点に関して、ここで
図5を参照する。この図は、例示的な実施形態と合致する、IPS開発エンジンによって作成された領域の精度マップ500である。議論の目的で、精度マップ500については
図4のIPS配備システムを参照して説明する。
【0051】
精度マップ500で、BLEノードは、「X」(たとえば、540)で表される。精度マップ500は、コンクリート柱、移動不可能な機器などの障害物(たとえば、520)を含み得る。また、BLEノードには物理的な障壁になる壁(たとえば、510)も存在し得る。簡単にするために、様々なタイプの障害物、壁、およびその他の制限事項を本明細書では制約条件と総称する。
【0052】
様々な実施形態において、制限は、管理者431からそのコンピュータ・デバイス412を介してIPS配備エンジン432で入力として受け取ることができ、あるいはBLEノードもしくは他のセンサ(たとえば、光学機器、レーダ、レーザなど)からの信号強度およびノイズに基づいてIPS配備エンジン432で決定することができる。いくつかの実施形態では、制限は、不適切と見なされる領域内の場所(たとえば、感受性の高い医療機器などの、影響を受け得る機器、または信号に妨害を与える機器)にBLEノードを配置しないように指示することができる。
【0053】
図5の精度マップ500では、低い区域が高い精度(すなわち、低い不確実性)を表すのに対し、高い区域は精度が低い(すなわち、不確実性が高い)。1つの実施形態では、不確実性は、対象受信機(すなわち、エージェント)についてUWB信号およびBLE信号によって与えられる位置情報間の差を計算することによって決定することができる。このようにして、IPS配備エンジン432は、追加のBLEノードを配置すべき場所と、所望の精度のレベルに対してBLEノードが過大または過小に提示されている場所とを決定することができる。区域の振幅がかなり低い(たとえば、管理者431によって提示される所定の閾値基準より低い)場合には、BLEノードを除去することができる。言い換えると、精度が不必要に高い場合には、必要以上に多くのBLEノードが存在し得ることを示しており、そのため、そのBLEノードをマップ格子500の別の場所に再利用できる可能性がある。
【0054】
1つの実施形態では、
図5に示された精度は、グランド・トゥルース(すなわち、UWBノード402が提供する対象エージェントの位置で示される)とBLEノード404との間の分散に基づいており、ここで、UWBノード402の信号に基づく位置は「グランド・トゥルース」を表す。分散が所定の閾値を超えている場合には、低い精度または高い不確実性あるいはその両方の場所と見なされ、精度マップ500の中でスパイク(たとえば、530)として図示され、その場所での追加のビーコン(すなわち、BLEノード)が正当であるはずということを示す。
【0055】
様々なタイプの分散を考慮することができ、その都度、UWBノードによって提示される位置がグランド・トゥルースとして使用される。第1のタイプの分散は、UWBノードによって提示される位置とBLEノードによって提示される位置との間の変動に基づき得る。第2のタイプの分散は、経時的な変動とすることができる。たとえば、同じ測定値が、BLEノードによって異なる時間に取得されることがある。BLEノードからの信号が所定の閾値を超えて経時的に変化する場合には、高い不確実性または低い精度あるいはその両方の区域と見なされる。したがって、
図5の精度マップ500は、位置測定アルゴリズムが効果的になるように、どの区域が追加のノードを受けるべきかを決定するのに使用することができる。非限定的な例として、カルマン・フィルタ、拡張カルマン・フィルタ、k-最近傍(KNN)、三辺測量、および三角測量を使用することができる。
【0056】
可視性マップ450(1)~450(N)は、特定のノードの可視性の測定尺度を関連する領域にわたって表示する。この関連で、例示的な実施形態と合致する、可視性マップを示す
図6を参照する。可視性マップ600について、
図4のIPS配備システムを参照して論じる。前述のように、BLEノードは、「X」で表される。低い区域(たとえば、
図6に示す明るい区域)は可視性が高く(したがって、閉塞性が低い)のに対し、高い区域(たとえば、
図6に示す暗い区域)は可視性が低い(したがって、閉塞性が高い)。IPS配備エンジン432は、マップが空である、またはほぼ平坦であるノードを、これらはシステム全体の性能に寄与しないので除去する決定をすることができる。ノードのマップが空白または平坦になる場合には、誤動作またはBLEノードの欠落もまた示している可能性があり、その結果としてノードがサービスを必要とし得ることを示す。
【0057】
したがって、精度/不確実性マップ440および閉塞/可視性マップ450(1)~450(N)は、特定のBLEノードが1つの領域のうちの異なる区域をどれだけ適切にサービスしているかを一括して示し、どのノードの配置が不適切であり、どの区域がカバーされていないかの洞察(insight)を得ることができる。これらのマップはまた、ノードの可視性マップが空白になると、ノードが誤動作しているとき、または著しく妨害されているときを示す。1つの実施形態では、これらの精度/不確実性マップ440および閉塞/可視性マップ450(1)~450(N)は、効果的な測位動作のためにBLEノードをどこに配置すべきかについてのガイダンスとして管理者431に提示することができる。いくつかの実施形態では、マップは、BLEノードの適切な数および配置を決定するために使用される。適切な位置はマップ上に示すことができ、それによって管理者431は、マップを解釈する負担を負わなくて済む。
【0058】
したがって、精度/不確実性マップ440は、利用可能な測定値の一般化測定尺度をマップ内の位置全体にわたって表示する。1つの実施形態では、このような表示は、相対的な測定精度の直観的な視覚化を管理者431に提供し、このことは、測位アルゴリズムがどれだけ適切に機能するかに直接影響し得る。
【0059】
可視性マップ450(1)~450(N)は、1つのノードがどれだけ可視であるかについてノードごとの直観的な視覚化をマップ全体にわたって行う。1つの実施形態では、このような視覚化は、BLEノードがマップ全体にわたる測位システムの性能全体に十分に寄与しているか(たとえば、所定の閾値を超える可視性を有しているか)どうかを理解する直観的な方法を管理者431に提供する。妨害されている、誤動作している、または使用不能になったノードは、可視性マップ上に空白のスポットとして表示される。
【0060】
異なるレベルの自動化により、BLEノード404の数および適切な配置の決定に関して、管理者431に対する対話または作業負荷は、実質上より効率化する、または最小化することができる。受動的な、または自動化されたデータ収集エージェントもまた利用して(たとえば、ロボットまたはドローンあるいはその両方によって)、管理者の作業負荷をさらに低減することができる(たとえば、建物内でただ単に普通の日を過ごす作業員、またはセットアップ段階中にBLEおよびUWB受信機としてのモバイル・デバイスを使用してある期間にわたって領域内で移動するいくつかの自律型ロボット)。セットアップ段階が完了すると、次に、UWBノードは除去して別の領域に再利用することができる。
【0061】
1つの実施形態では、精度/不確実性マップ440ならびに閉塞/可視性マップ450(1)~450(N)は、測定値が集められると更新され、IPS配備エンジン432によっていつでも利用して、BLEノード404構成を更新することができる。これらのマップは、利用可能なBLEノードからの正確な測定値が欠如しているマップ上の場所と、どのBLEノードがマップ領域内で可視性が低いかとを、管理者431に対して強調表示することができる。管理者は、これらの精度および可視性マップを介してIPS配備エンジンによって提供される知的ガイダンスに基づいて、ノードを配置することができる。
【0062】
一方で、精度または可視性あるいはその両方が所与の閾値レベルを超えている区域では、管理者はノードを除去し、場合によってはそのノードを精度が低い場所に再配置することができる。このタイプの「ループ内管理者」フィードバック機能および更新機能により、管理者431は、領域の制約条件に関する事前知識がなくても実行時に構成を配備することができる。1つの実施形態では、配備中に管理者431が制約条件に遭遇すると、その制約条件は、コンピュータ・デバイス412からIPS配備エンジン432へのデジタル・メッセージによってマップに追加することができる。したがって、IPS配備エンジン432により管理者431は、領域の環境が経時的に変化するにつれて領域の構成を確認し更新できるようになる。
【0063】
制約条件およびノード配置を更新する際の管理者の裁量権と共に、これらのマップ(すなわち、精度/不確実性440と閉塞/可視性(450(1)~450(N)))が組み合わさると、ノード配備の漸進的改善のループが完成する。環境に関するより多くの情報が集められるにつれて、ノード配置は、IPS配備エンジン432の提供された図表および測定尺度に基づいてさらに最適化することができる。
【0064】
本明細書で論じる概念により、他の利点の中でもとりわけ、実行時配備ガイダンス、性能改善、機器コスト低減、エネルギー・コスト低減、保守コスト低減、システム障害通知、環境変化通知などを実現することができる。
【0065】
本明細書で論じた精度マップおよび可視性マップを作成するための候補となる機能がいくつかある。いくつかの実施形態では、管理者431は、所定の候補関数の代わりに独自の測定尺度を使用することを選択できる。この関連で、
図7を参照する。この図は、例示的な実施形態と合致する、1つの領域の精度/不確実性マップ712を生成するために使用されるデータ構造のブロック
図700である。
【0066】
精度マップ712は、複数のブロック(たとえば、Block_0~Block_M)を含む領域を範囲に含み得る。各ブロックは、複数のBLEノードを含み得る。BLEノードの数は、ブロックごとに異なっていても同じであってもよいことに留意されたい。ブロックのBLEノードごとに、精度/可視性関数がIPS配備エンジンによって適用されて、ブロックのその特定のノードについての様々な統計量が計算される。指定された精度関数は、ブロックごとの統計量に適用することができる。精度関数は、格子ブロック内の利用可能な測定値の精度の一般化測定値を返す。これらの測定値は、次に、精度マップ712に追加される。
【0067】
したがって、上記で説明したように、精度マップは、BLEノードの数およびその位置を決定しやすくするために、IPS配備エンジンによって使用される。たとえば、格子ブロックごとに、すべてのBLEノード測定値がIPS配備エンジンによって取得され、各BLEノードの分散を計算するために使用される。次に、IPS配備エンジンは、分散が最小のn個のノードの平均分散を計算し(この測定尺度を平均最小分散と呼ぶことができる)、格子マップ全体にわたってこの測定尺度を視覚化するマップを生成することができる。スコアが最悪のブロックは、追加のノード配置で優先される。たとえば、ある格子ブロックでは、遠くのBLEノードからの信号をなお検出できるが、これらのノードは遠くにあり、また信号分散が高すぎるので、全く寄与しない可能性がある。そのため、分散が最小であるノードを見るだけが適切であり得る。したがって、いくつかの実施形態では、下限値または上限値あるいはその両方が使用される。
【0068】
図8は、例示的な実施形態と合致する、1つの領域についての各ノードの可視性/閉塞マップを生成するために使用されるデータ構造のブロック
図800である。ブロック806は、IPS配備エンジンによって特定のノードについて1つの領域の各ブロック全体にわたって計算された統計量を示す。指定された可視性関数がブロックごとに統計量に適用され、計算された(たとえば、RSSIまたは距離測定に基づいた)スコアには、可視性マップの対応するブロックの中への注釈が付けられる。ノードごとに、対応する可視性マップが作成される(たとえば、812(1)~812(N))。
【0069】
たとえば、BLEノードごとに、平均低下率がIPS配備エンジンによって、格子マップの各ブロック全体にわたって(たとえば、マップ内に画定されたブロックごとに)計算される。格子マップのこの測定尺度を視覚化する可視性マップが生成される。BLEノードのカバレッジは、平均低下率の合計として、全状態にわたって定量化することができる。スコアが最悪のノードは、除去が優先される。
【0070】
したがって、上記で説明したように、精度マップと可視性マップの両方をIPS配備エンジンで使用して、BLEノードの数およびその位置を決定しやすくすることができる。1つの実施形態では、管理者は、領域内のBLEノードを繰り返し追加/削除して、本明細書で論じるような生成されたマップおよびいくつかの測定尺度に基づいて、システム性能を最適化する。以下の表1は、限定ではなく単なる例として、精度マップの生成の関連で使用できるいくつかの簡単な測定尺度を提示する。
【0071】
【0072】
以下の表2は、限定ではなく単なる例として、可視性マップの生成との関連で使用できるいくつかの簡単な測定尺度を提示する。
【0073】
【0074】
低下率に関して、例として、ある格子ブロックにおいて10回の測定が行われ、ノードから10個の測定値が受信された場合、受信測定値の数は取得総サンプル数に等しいので、ノードは、そのデータを十分に読み取ることができるという点でアクティブである。しかし、ある格子ブロックにおいて、10回の測定が行われ、たとえば障害物などのために5回しかノードから測定値を受信できなかった場合には、低下率は50%になる。いくつかの例示的な測定尺度が上記の表1および表2に提示されているが、他の適切な測定尺度も同様に使用できることが理解されよう。
【0075】
1つの実施形態では、ブラックアウト・マップが可視性測定尺度の蓄積からIPS配備エンジンによって、ノード全体にわたって生成される。ブラックアウト・マップは、可視性マップから導出され、したがって本明細書では可視性マップと総称される。状態格子全体にわたるブラックアウト・マップは、全ノードの結合可視性を表す(たとえば、どのノードからの信号伝搬も受信しない状態を可視化する)。言い換えると、複数の可視性マップがブラックアウト・マップを作成するために使用される。ブラックアウト・マップは、どのノードからの信号伝搬も受信しない状態(たとえば、位置)を可視化する。1つの例では、可視性マップは全ノードにわたって合計される。合計が所定の閾値未満であるどの格子位置も、IPS配備エンジンによってブラックアウト区域と見なされる。このように指定することにより、その区域には利用可能なBLEノードからのサービスがなく、測位アルゴリズムが十分に動作できないこと、および1つまたは複数のノードをこの領域に追加または移動する必要があることを管理者に伝えることができる。
【0076】
1つの実施形態では、管理者はまた、データに対する新たな制約条件を測定尺度の形で導入することができる。管理者が適切な成果に達すると、UWBを無効にすることができ、低エネルギー、高性能のBLE構成をアクティブ段階中に長期的に使用することができる。UWBシステムは、システムの保守を行うために、または環境変化に適合するために、周期的に再起動することができる。
【0077】
UWBノードがもはや再配備のために利用できない場合には、BLEノードからのいくつかの測定値を引き続き使用して、長期的なBLE構成がなお効果的であるかどうかを判断することができる。たとえば、表Iの測定尺度の、平均最小分散もしくは最大最小分散、またはUWB測位を必要としないその他の測定尺度は、精度/不確実性マップの場合では、低い精度/高い不確実性区域を決定するために使用することができる。同じものを、BLEノードが格子マップ全体にわたってもはや見えないかどうかを判断するために、可視性/閉塞マップに使用することもできる。
【0078】
以下の疑似コードは、実施することができる更新の一例を提示する。
【0079】
【0080】
アーキテクチャ100、
図3の例示的なモバイル・デバイス300、および例示的なブロック
図400の上記の概要と共に、ここで、例示的なコール・フロー・プロセスについての高レベルの議論を考察することが役立ち得る。その目的のために、
図9は、セットアップ段階中にIPSを配備するための例示的なプロセス900を提示している。プロセス900は、ハードウェア、ソフトウェア、またはこれらの組合せで実施できる一連の動作を表す、1つのプロセス中の各ブロックが集まったものとして図示されている。ソフトウェアの文脈では、これらのブロックは、列挙された動作を1つまたは複数のプロセッサによって実行されたときに行う、コンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、特定の機能を実行する、または特定の抽象的なデータ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み得る。動作が記述される順序は、限定として解釈されるべきものではなく、記載されたどの番号のブロックも、プロセスを実施するために任意の順序で組み合わせること、または並行して実行することあるいはその両方が可能である。議論の目的で、プロセス900については
図1のアーキテクチャ100を参照して説明する。より具体的には、IPS配備エンジン132は、IPS配備エンジン・サーバ120によってホストされていると想定されているが、他の実施形態では、IPS配備エンジンは、エージェント(たとえば、112または114)の一部でもよいことが理解されよう。
【0081】
ブロック902で、1つまたは複数の区域を含む領域102のマップが決定される。たとえば、このマップは、ネットワーク106を介して管理者131のコンピュータ・デバイス130から受け取ることができる。いくつかの実施形態では、様々な制約条件を管理者131のコンピュータ・デバイス130から受け取ることができる。たとえば、これらの制約条件には、壁、容易に移動できない機器、センサ配置を避けるべき領域などが含まれ得る。領域102の様々な区域には、異なる制約条件があり得る。いくつかの実施形態では、精度閾値は、管理者131によりIPS配備エンジン132に提示することができ、領域の区域ごとに異なり得る。
【0082】
ブロック904で、様々な実施形態では、1つまたは複数のエージェントは、領域内で様々な位置へ移動させることができ、さらには静止していてもよい。ブロック906で、位置ごとに複数のUWBノードからの信号が、対応するエージェントにより受信される。同様に、複数のBLEノードからの信号が、対応するエージェントにより受信される。これらの信号は、これらの1つまたは複数のエージェントを通して、
図1のIPS配備エンジン132のコンピュータ・デバイス120まで中継される。
【0083】
ブロック908で、精度マップが、UWBノードからの捕捉信号とBLEノードからの捕捉信号との間の相関関係に基づいて作成される。
【0084】
ブロック910で、1つの実施形態では、可視性マップが、BLEノードからの捕捉信号に基づいて作成される。たとえば、各BLEノードの可視性マップが、対応するノードの可視性を強調するために作成される。
【0085】
ブロック920で、複数のBLEノードを配置する場所が特定される。様々な実施形態で、配置の決定は、本明細書で論じるように、精度マップ、可視性マップ、またはこれらの組合せに基づくことができる。
【0086】
たとえば、精度マップに関して、位置ごとに、対応するエージェントの位置の場所の第1の推定値が、UWBノードのうちの少なくとも一部からの捕捉信号に基づいて計算される。位置の場所の第2の推定値は、BLEノードのうちの少なくとも一部からの捕捉信号に基づいて計算される。場所の第1および第2の推定値はそれぞれ、UWBノードおよびBLEノードからの捕捉信号の三辺測量によるものとすることができる。第1の推定値は、第2の推定値との比較の際に、グランド・トゥルース基準として使用される。第1の推定値と第2の推定値との差が決定される。言い換えると、グランド・トゥルースに対してBLEノードからの信号に分散が多ければ多いほど、その場所は精度または不確実性が低いと見なされ、それが精度マップに取り込まれる。様々な実施形態で、精度は様々に特徴付けることができる。たとえば、精度は、UWBノードによって提示される場所とBLEノードによって提供される場所との間の変動に基づき得る。第2のタイプの変動は、経時的な変動であり得る。たとえば、同じ測定値が複数のBLEノードから異なる時間に取得されることがある。BLEノードからの信号が所定の閾値を超えて経時的に変動する場合には、高い不確実性または低い精度あるいはその両方の区域と見なされる。
【0087】
ブロック914で、各場所の正確度が所定の閾値よりも高いかどうかの判定が行われる。そうでない場合(すなわち、決定ブロック914で「いいえ」)、プロセスはブロック920へ進み、ここでBLEノードは、上で論じた精度マップまたは可視性マップあるいはその両方によって提示される適切な場所に配置される。その後、反復プロセスは、ブロック904に戻る。しかし、各場所の正確度が所定の閾値よりも高いと判定されると(すなわち、判定ブロック914で「はい」)、次に、1つの実施形態では(ブロック916で)、BLEノードごとに
図1のIPS配備エンジン132は、対応するBLEノードの可視性が所定の閾値よりも高いかどうかを判定する。可視性が所定の閾値よりも高くない場合(すなわち、判定ブロック916で「いいえ」)、プロセスはブロック920へ進み、対応するBLEノードが除去/再配置される。しかし、可視性が所定の閾値よりも高いと判定されると(すなわち、判定ブロック916で「はい」)、IPSの配備が最適化されたことが示される。この関連で、1つの実施形態では、ブロック924で、UWBノードを除去して別の領域に再利用することができる。
【0088】
セットアップ段階が完了すると、位置決めされたBLEノードは、BLE技術に適合したユーザ・デバイスに、正確かつ低コストの位置決めガイダンスを提供することができる。
【0089】
上で論じたように、IPSの配備を最適化することに関連する諸機能は、
図1に示すように、無線通信を介するデータ通信用に接続された1つまたは複数のコンピュータ・デバイスを使用することにより実施することができる。スマートフォン・デバイスの形の例示的なモバイル・デバイス300については、
図3との関連で論じた。
図10は、本明細書で論じた、様々なネットワーク化コンポーネントと通信することができる、
図1の配備エンジン・サーバ120などのコンピュータ・ハードウェア・プラットフォームの機能ブロック図である。
【0090】
コンピュータ・プラットフォーム1000は、中央処理ユニット(CPU)1004、ハード・ディスク・ドライブ(HDD)1006、ランダム・アクセス・メモリ(RAM)または読み出し専用メモリ(ROM)あるいはその両方1008、キーボード1010、マウス1012、ディスプレイ1014、および通信インターフェース1016を含むことができ、これらはシステム・バス1002に接続されている。
【0091】
1つの実施形態では、HDD1006は、IPS配備エンジン1040などの、様々なプロセスを本明細書で説明したように実行できるプログラムを記憶することを含む、諸機能を有する。IPS配備エンジン1040は、異なる機能を実施するように構成された様々なモジュールを有し得る。たとえば、ネットワークを介して様々なエージェントからUWB信号およびBLE信号に関するデータを受信するように動作する、対話モジュール1042があり得る。UWB信号またはBLE信号あるいはその両方の受信信号に基づいてエージェントの位置を計算するように動作する、三辺測量モジュール1044があり得る。1つの領域の精度マップを生成するように動作する、精度モジュール1046があり得る。1つの領域内のBLEノードごとに可視性マップを生成するように動作する、可視性マップ・モジュール1048があり得る。測位が効果的ではない領域内の場所を強調するように動作する、ブラックアウト・マップ・モジュール1050があり得る。本明細書で論じられた、様々な信号測定尺度を取り入れるように動作する、測定尺度モジュール1052が存在し得る。
【0092】
IPS配備エンジン1040のモジュールは、HDD1006との関連で上述しているが、これらのモジュールの1つまたは複数の機能は、ハードウェアで実施できることに留意されたい。
【0093】
1つの実施形態では、Apache(R)などのプログラムが、システムをウェブ・サーバとして動作させるために記憶され得る。1つの実施形態では、HDD1006は、JVM(Java(R)仮想マシン)を実現するためのJava(R)実行時環境プログラム用のものなどの、1つまたは複数のライブラリ・ソフトウェア・モジュールを含む実行アプリケーションを記憶することができる。
【0094】
本教示の様々な実施形態についての説明は、例示の目的で提示されているが、開示された実施形態を網羅するもの、またはそれに限定されるものではない。説明された実施形態の範囲から逸脱しない多くの修正および変形が、当業者には明らかであろう。本明細書で使用された術語は、実施形態の原理、実際的な適用もしくは市場で見出される技術についての技術的改善を最善に説明するように、または他の当業者が本明細書に開示された実施形態を理解できるように、選択された。
【0095】
以上では、最良の状態または他の例あるいはその両方と考えられるものについて説明したが、これらに様々な修正を加えることができること、本明細書に開示された主題は様々な形および例で実施できること、ならびに、本教示は多数の用途に適用でき、その一部だけについて本明細書で説明したことを理解されたい。添付の特許請求の範囲によって、本教示の真の範囲に入るありとあらゆるアプリケーション、修正形態および変形形態を特許請求することが意図されている。
【0096】
本明細書で論じたコンポーネント、ステップ、特徴、目的、利益および利点は、例示的なものにすぎない。これらのどれも、これらに関連する議論も、保護の範囲を限定するものではない。本明細書では様々な利点について論じたが、すべての実施形態が必ずしもすべての利点を含むわけではないことが理解されよう。特に断らない限り、添付の特許請求の範囲を含めて、本明細書に記載されているすべての測定値、値、定格、位置、大きさ、サイズ、およびその他の仕様は、厳密なものではなく、近似的なものである。これらは、関連する機能と、関係する技術分野において慣習的なものとに合致する、妥当な範囲を有するものである。
【0097】
他の多数の実施形態もまた企図される。これらには、もっと少ない、追加の、または別の、あるいはその組合せのコンポーネント、ステップ、特徴、目的、利益、および利点を有する実施形態が含まれる。これらにはまた、コンポーネントまたはステップあるいはその両方が異なるように配置または順序付けあるいはその両方がされた実施形態も含まれる。
【0098】
本開示の諸態様は、本開示の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のコール・フロー図またはブロック図あるいはその両方を参照して本明細書で説明されている。フローチャート図またはブロック図あるいはその両方の各ステップと、コール・フロー図またはブロック図あるいはその両方のブロックを組み合わせたものとは、コンピュータ可読プログラム命令によって実施できることが理解されよう。
【0099】
これらのコンピュータ可読プログラム命令は、コンピュータ、または他のプログラム可能データ処理装置のプロセッサによって実行される命令が、コール・フロー・プロセスまたはブロック図あるいはその両方の1つまたは複数のブロックに指定された機能/動作を実施する手段を作り出すように、コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されて機械を生み出すものであってよい。これらのコンピュータ可読プログラム命令はまた、命令が記憶されたコンピュータ可読記憶媒体が、コール・フローまたはブロック図あるいはその両方の1つまたは複数のブロックに指定された機能/動作の態様を実施する命令を含む製品を備えるように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラム可能データ処理装置または他のデバイスあるいはその組合せに特定の方式で機能するように指示するものであってもよい。
【0100】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行される命令が、コール・フロー・プロセスまたはブロック図あるいはその両方の1つまたは複数のブロックに指定された機能/動作を実施するように、コンピュータで実施されるプロセスをもたらすべく、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能装置または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【0101】
図中のフローチャートおよびブロック図は、本開示の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の実現可能な実施態様のアーキテクチャ、機能および動作を示す。この関連で、コール・フロー・プロセスまたはブロック図の各ブロックは、命令のモジュール、セグメントまたは一部分を表すことができ、指定された論理機能を実施するための1つまたは複数の実行可能な命令を含む。いくつかの代替実施態様では、ブロック内に示された機能は、図に示された順序から外れて行われ得る。たとえば、連続して示された2つのブロックが実際には、実質的に同時に実行されることがあり、またはこれらのブロックが場合によって、必要な機能に応じて逆の順序で実行されることがある。ブロック図またはコール・フロー図あるいはその両方の各ブロック、およびブロック図またはコール・フロー図あるいはその両方のブロックを組み合わせたものは、特定の機能または動作を行う、または専用ハードウェアとコンピュータ命令を組み合わせたものを遂行する、専用ハードウェアがベースのシステムによって実現できることもまた留意されたい。
【0102】
以上では例示的な実施形態と関連して説明したが、「例示的」という用語は、最善または最適ではなく、単に一例を意味することを理解されたい。すぐ上の記述を除いて、記述または図示されたものは、特許請求の範囲に記載されているか否かにかかわらず、どの構成要素、ステップ、特徴、目的、利益、利点、または同等物も公衆に供されるものではなく、またはそのように解釈されるべきではない。
【0103】
本明細書で使用される用語および表現は、特定の意味が本明細書に別に規定されている場合を除き、対応するそれぞれの探究および研究領域に関してそのような用語および表現に与えられる通常の意味を有することを理解されたい。第1および第2などの関係を示す用語は、一方の実体または動作を他方の実体または動作から区別するためにのみ使用されることがあり、必ずしもそのような実体または動作間の実際の関係または順序を要求または示唆することがない。用語の「含む(comprises)」、「含んでいる(comprising)」、またはその他のあらゆる変異体は、要素のリストを含むプロセス、方法、物品、または装置がそれらの要素のみを含むのではなく、明示的にリストされていない他の要素またはそのようなプロセス、方法、物品、または装置に固有の要素を含み得るように、非排他的包含に及ぶものである。「1つの(a)」または「1つの(an)」に続く要素は、さらなる制約条件がなければ、その要素を含むプロセス、方法、物品、または装置に追加の同一の要素が存在することを排除しない。
【0104】
本開示の要約は、読者が本技術開示の本質を迅速に把握できるようにするために提示されている。要約は、それが特許請求の範囲または意味を解釈または制限するために使用されないものとして提出されている。加えて、上記の「発明を実施するための形態」では、開示を簡素化する目的で、様々な特徴が様々な実施形態にまとめられていることが分かる。この開示の方法は、特許請求された実施形態が、各請求項で明確に列挙されたものよりも多い特徴を必要とするという意図を反映していると解釈されるべきものではない。むしろ、添付の特許請求の範囲が反映するように、発明の主題は、単一の開示された実施形態の特徴のすべてにあるとは言えない。すなわち、添付の特許請求の範囲は、本明細書では「発明を実施するための形態」に組み込まれており、各請求項がそれ自体で、別個に特許請求された主題として存立している。