(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-26
(45)【発行日】2024-09-03
(54)【発明の名称】粒子フィルタを使用した位置特定方法、プログラム、及びシステム
(51)【国際特許分類】
G01S 5/02 20100101AFI20240827BHJP
G01C 21/28 20060101ALI20240827BHJP
【FI】
G01S5/02 Z
G01C21/28
(21)【出願番号】P 2020120781
(22)【出願日】2020-07-14
【審査請求日】2023-06-21
(32)【優先日】2019-12-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】パテル ミタッシュクマー
(72)【発明者】
【氏名】ジェイコブ ビール
(72)【発明者】
【氏名】アンドレアス ガーゲンソン
【審査官】東 治企
(56)【参考文献】
【文献】特開2009-198454(JP,A)
【文献】米国特許出願公開第2018/0332369(US,A1)
【文献】Begumhan Turgut et al.,"Using A-priori Information to Improve the Accuracy of Indoor Dynamic Localization",MSWiM '09: Proceedings of the 12th ACM international conference,2009年10月,pp.396-404,DOI: 10.1145/1641804.1641872,< URL: https://dl.acm.org/doi/abs/10.1145/1641804.1641872 >
【文献】Ling Pei et al.,"Optimal Heading Estimation Based Multidimensional Particle Filter for Pedestrian Indoor Positioning",IEEE Access,Vol.6,2018年09月,pp.49705-49720,DOI: 10.1109/ACCESS.2018.2868792
【文献】Jan Racko et al.,"Pedestrian Dead Reckoning with Particle Filter for handheld smartphone",2016 International Conference on Indoor Positioning and Indoor Navigation (IPIN),2016年10月,DOI: 10.1109/IPIN.2016.7743608
(58)【調査した分野】(Int.Cl.,DB名)
G01S 5/00-5/14
H04B 7/24-7/26
H04W 4/00-99/00
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
中央処理装置と、位置特定信号受信機と、メモリと、を含むコンピュータシステムで実行される
位置特定方法であって、
a.前記位置特定信号受信機を使用して少なくとも1つの位置特定信号を受信し、
b.受信した前記少なくとも1つの位置特定信号に基づいてユーザの運動状態を検出し、
c.検出された前記ユーザの運動に基づいて、前記ユーザの運動状態の少なくとも1つの速度パラメータを決定し、
d.少なくとも受信した前記位置特定信号と、決定された前記ユーザの運動の前記少なくとも1つの速度パラメータと、に基づいて前記ユーザの位置を決定すること、
を含
み、
前記ユーザの位置を決定することは、受信した前記少なくとも1つの位置特定信号、及び決定された前記ユーザの運動の前記少なくとも1つの速度パラメータに基づいて、粒子フィルタループを連続的に実行することを含み、
前記粒子フィルタループを連続的に実行することは、前記少なくとも1つの位置特定信号を入力として測定更新を実行し、前記ユーザの運動の前記少なくとも1つの速度パラメータを入力として運動更新を実行し、それぞれ座標及び速度を有する複数の粒子を再サンプリングすることを含む、
位置特定方法。
【請求項2】
前記粒子フィルタループを連続的に実行することと、ユーザの運動状態を検出することとが並列で実行される、請求項
1に記載の
位置特定方法。
【請求項3】
前記測定更新を実行することは、受信した前記位置特定信号に基づいて、複数の粒子のそれぞれと少なくとも1つの無線周波数ビーコンとの間の距離を計算することを含む、請求項
1に記載の
位置特定方法。
【請求項4】
前記測定更新を実行することは、分類子の信頼度を使用して複数の粒子を更新することを含む、請求項
1に記載の
位置特定方法。
【請求項5】
前記複数の粒子を再サンプリングすることは、複数の粒子のそれぞれの重みを計算し、前記複数の粒子のうち、より高い重みを有する粒子を複製することを含む、請求項
1に記載の
位置特定方法。
【請求項6】
前記測定更新は、第2の受信した少なくとも1つの位置特定信号に基づいて実行される、請求項
1に記載の
位置特定方法。
【請求項7】
前記運動更新は、前記ユーザの運動状態の第2の速度パラメータに基づいて実行される、請求項
1に記載の
位置特定方法。
【請求項8】
前記少なくとも1つの位置特定信号を受信することは、前記少なくとも1つの位置特定信号のラウンドトリップタイムを決定することを含む、請求項1に記載の
位置特定方法。
【請求項9】
前記ユーザの運動状態は、連続する2つの時点において決定されたラウンドトリップタイムに基づいて検出される、請求項6に記載の
位置特定方法。
【請求項10】
前記少なくとも1つの位置特定信号を受信することは、前記少なくとも1つの位置特定信号の強度を決定することを含む、請求項1に記載の
位置特定方法。
【請求項11】
前記少なくとも1つの位置特定信号は、無線周波数(RF)信号である、請求項1に記載の
位置特定方法。
【請求項12】
前記少なくとも1つの位置特定信号は、Bluetooth(登録商標) Low Energy(BLE)信号である、請求項1に記載の
位置特定方法。
【請求項13】
前記少なくとも1つの位置特定信号は、WIFIラウンドトリップタイム(WIFI RTT)信号である、請求項1に記載の
位置特定方法。
【請求項14】
前記ユーザの位置を決定することは、前記ユーザの座標を決定することを含む、請求項1に記載の
位置特定方法。
【請求項15】
a.位置特定信号受信機を使用して少なくとも1つの位置特定信号を受信し、
b.受信された前記少なくとも1つの位置特定信号に基づいてユーザの運動状態を検出し、
c.検出された前記ユーザの運動に基づいて、前記ユーザの運動状態の少なくとも1つの速度パラメータを決定し、
d.少なくとも受信した前記位置特定信号と、決定された前記ユーザの運動の前記少なくとも1つの速度パラメータとに基づいて前記ユーザの位置を決定すること、
を含
み、
前記ユーザの位置を決定することは、受信した前記少なくとも1つの位置特定信号、及び決定された前記ユーザの運動の前記少なくとも1つの速度パラメータに基づいて、粒子フィルタループを連続的に実行することを含み、
前記粒子フィルタループを連続的に実行することは、前記少なくとも1つの位置特定信号を入力として測定更新を実行し、前記ユーザの運動の前記少なくとも1つの速度パラメータを入力として運動更新を実行し、それぞれ座標及び速度を有する複数の粒子を再サンプリングすることを含む、
方法をコンピュータに実行させる、プログラム。
【請求項16】
中央処理装置と、位置特定信号受信機と、メモリとを含むシステムであって、前記メモリが、
a.前記位置特定信号受信機を使用して少なくとも1つの位置特定信号を受信し、
b.受信した前記少なくとも1つの位置特定信号に基づいてユーザの運動状態を検出し、
c.検出されたユーザの運動に基づいて、前記ユーザの運動状態の少なくとも1つの速度パラメータを決定し、
d.少なくとも受信した前記位置特定信号と、前記ユーザの運動の決定された前記少なくとも1つの速度パラメータとに基づいて前記ユーザの位置を決定すること、
を含
み、
前記ユーザの位置を決定することは、受信した前記少なくとも1つの位置特定信号、及び決定された前記ユーザの運動の前記少なくとも1つの速度パラメータに基づいて、粒子フィルタループを連続的に実行することを含み、
前記粒子フィルタループを連続的に実行することは、前記少なくとも1つの位置特定信号を入力として測定更新を実行し、前記ユーザの運動の前記少なくとも1つの速度パラメータを入力として運動更新を実行し、それぞれ座標及び速度を有する複数の粒子を再サンプリングすることを含む、
方法をシステムに実行させる一連のコンピュータ可読命令を格納する、システム。
【請求項17】
前記粒子フィルタループを連続的に実行することと、ユーザの運動状態を検出することとが並列で実行される、請求項
16に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
開示される実施形態は、全体として、位置特定及び追跡のシステム及び方法に関し、より具体的には、粒子フィルタを使用した位置特定のための無線周波数ベースの仮想運動モデルに関する。
【背景技術】
【0002】
パーソナルコミュニケーションシステムが多くの公共及び私的な場所に普及し、新世代のスマートフォンが登場したことで、Y.Gu、A.Lo、及びI.Niemegeersによる「ワイヤレスパーソナルネットワーク用の屋内測位システムの調査」("A survey of indoor positioning systems for wireless personal networks",IEEE Commun.Surv.Tutor.、vol.11、no.1、pp.13~32、First 2009)で説明されているように、標準の無線通信技術に基づく位置情報サービス(LBS)プラットフォームの開発が可能になった。I.Vallivaara、J.Haverinen、A.Kemppainen及びJ.Roningの「移動ロボットの床清掃作業における位置特定の問題を解決するための磁場ベースのSLAM法」("Magnetic field-based SLAM method for solving the localization problem in mobile robot floor-cleaning task",2011年第15回先進ロボット工学に関する国際会議(ICAR)2011年、pp.198~203)で説明されている磁力計、F.Li、C.Zhao、G.Ding、J.Gong、C.Liu及びF.Zhaoの「電話の慣性センサを使用した信頼性が高く正確な屋内位置特定方法」("A Reliable and Accurate Indoor Localization Method Using Phone Inertial Sensors",2012年ユビキタスコンピューティングに関するACM会議の論文集、ニューヨーク、NY、USA、2012年、pp.421~430)で説明されているIMUなどの様々なセンサ、J.Biswas及びM.Velosoの「屋内用自律移動ロボット用のWiFi位置特定及びナビゲーション」("WiFi localization and navigation for autonomous indoor mobile robots",2010年IEEEロボティクス及びオートメーションに関する国際会議、2010年、pp.4379~4384)で説明されている無線周波数(WiFi又はBLE)、記載されている画像とこれらのセンサの融合を使用した位置特定は、様々な研究グループによって開発及び実験されている。
【0003】
伝統的に、ユーザの動きは、J.Racko、P.Brida、A.Perttula、J.Parviainen、J.Collinの「ハンドヘルドスマートフォン用の粒子フィルタによる歩行者自律航法」("Pedestrian Dead Reckoning with Particle Filter for handheld smartphone",2016年屋内測位及び屋内ナビゲーションに関する国際会議(IPIN)、2016年、pp.1~7)に記載されているIMUセンサ、及び、A.Kendall、M.Grimes及びR.Cipollaの「PoseNet:リアルタイム6-DOFカメラリロカライゼーション畳み込みネットワーク」、(PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization",ArXiv150507427 Cs、2015年5月、及びH.Kawaji、K.Hatada、T.Yamasaki、K.Aizawaの「画像ベースの屋内測位システム:全方位パノラマ画像を使用した高速画像マッチング」("Image-based Indoor Positioning System: Fast Image Matching Using Omnidirectional Panoramic Images",マルチモーダル広域ビデオ分析に関する第1回ACM国際ワークショップの論文集、ニューヨーク、NY、USA、2010年、pp.1~4)で説明されているスマートデバイスからのカメラからの画像、の少なくとも一方を使用して検出され、これは、PF、カルマンフィルタ(Kalman Filter:KF)、及びそれらの拡張などの位置特定アルゴリズム内で利用される。歩行者自律航法(Pedestrian Dead Reckoning:PDR)-PFベースの位置特定システムでは、歩数カウンタを使用してユーザの歩数を決定論的に計算し、これがさらにスマートデバイスユーザの変位を計算するために使用される。J.Racko、P.Brida、A.Perttula、J.Parviainen、J Collinの「ハンドヘルドスマートフォン用の粒子フィルタを使用した歩行者自律航法」("Pedestrian Dead Reckoning with Particle Filter for handheld smartphone",2016年屋内測位及び屋内ナビゲーションに関する国際会議(IPIN)、2016年、pp.1~7)では、著者は固定変位を利用し、ジャイロスコープを使用して計算されたヘッディング角度と融合している。H.Nurminen、M.Koivisto、S.Ali-Loytty及びR.Picheの「グラフベースの屋内マップを使用した測位の運動モデル」("Motion model for positioning with graph-based indoor map",2014年、屋内測位及び屋内ビゲーション(IPIN)に関する国際会議、2014年、pp.646~655で説明されているように、Nurminenらは、歩数検出、方向、マップ、WLAN情報の組み合わせを利用してユーザの位置を推定した。同様に、Wei及びAkinciはディープラーニングモデルを使用して位置を推定した。IMUベースのPDRシステムの主な欠点は、3軸ジャイロスコープセンサが時間とともにドリフトし、センサデータにノイズが発生することである。同様に、ビジョンベースのシステムでは、位置特定を実行するために、与えられた画像において代表的な特徴がキャプチャされる必要がある。
【0004】
当業者によって理解されるように、記載された各位置特定センサは、ノイズ、サンプリング率、特性、及び次元の少なくとも一つに関してそれぞれ制限があり、安定した位置特定に関して課題を提起する。例えば、カメラを使用するとプライバシーの問題が発生し、そのようなシステムの適用が制限される可能性がある。さらに、屋内では、シャドウイング及びマルチパスの影響により無線信号が深刻な影響を受け、使用可能なワイヤレスベースの測位システムの精度が低下する。したがって、従来技術の前述の制限に鑑み、安定した屋内位置特定及び運動追跡のために、新しく改善されたシステム及び方法が必要である。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【文献】GU, Y. et al. "A Survey of Indoor Positioning Systems for Wireless Personal Networks" IEEE Communications Surveys & Tutorials,2009年, pp. 13-32,11巻1号
【文献】VALLIVAARA, I. et al. "Magnetic field-based SLAM method for solving the localization problem in mobile robot floor cleaning task" The 15th International Conference on Advanced Robotics,2011年6月20~23日, pp. 198-203, エストニア国タリン
【文献】LI, F. et al. "A Reliable and Accurate Indoor Localization Method Using Phone Inertial Sensors" UbiComp '12, Sep 5 Bep 8, 2012, Pittsburgh, USA (10 pages).
【文献】BISWAS, J. et al. "WiFi Localization and Navigation for Autonomous Indoor Mobile Robots" IEEE International Conference on Robotics and Automation,2010年
【文献】RAVI, N. et al. "Indoor Localization Using Camera Phones" Seventh IEEE Workshop on Mobile Computing Systems Applications,2006年, pp. 1-16.
【文献】COLLIN, J. et al. "Pedestrian Dead Reckoning with Particle Filter for Handheld Smartphone" 2016 International Conference on Indoor Positioning and Indoor Navigation (IPIN),2016年10月4~7日,スペイン国アルカラ・デ・エナレス
【文献】KENDALL, A. et al. "PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization" ArXIV150507427,2015年5月, pp. 2938-2946
【文献】KAWAJI, H. et al. "Image based Indoor Positioning System: Fast Image Matching using Omnidirectional Panoramic mages" Proceedings of the 1st ACM International Workshop on Multimodal Pervasive Video Analysis, MPVA 10,2010年10月29日,イタリア国フィレンツェ
【文献】NURMINEN, H. et a. "Motion Model for Positioning with Graph-Based Indoor Map" 2014 International Conference on Indoor Positioning and indoor Navigation (IPIN),2014年10月27~30日,韓国釜山
【文献】PEI, L. et al. "Using LS-SVM Based Motion Recognition for Smartphone Indoor Wireless Positioning" Sensors,2012年5月, pp. 6155-6175, 12巻5号
【文献】CILLIS, F. et al. "Indoor Positioning System using Walking Pattern Classification" 22nd Mediterranean Conference on Control and Automation (MED),2014年6月16~19日, pp. 511-516,パレルモ大学,イタリア国パレルモ
【文献】LUPTON, T. et al. "Visual-Inertial-Aided Navigation for High-Dynamic Motion in Built Environments Without Initial Conditions" IEEE TRANSACTIONS ON ROBOTICS,2012年2月, pp. 61-76,28巻1号
【文献】WANG, S. et al. "End-to-end, sequence-to-sequence probabilistic visual odometry through deep neural networks" International Journal of Robotics Research,2018年4月, pp. 513-542,37巻4~5号
【発明の概要】
【発明が解決しようとする課題】
【0007】
本明細書で説明される実施形態は、従来の位置特定及び運動追跡システムに関連する上記及び他の問題を実質的に取り除く方法及びシステムに関する。
本発明は、安定した屋内位置特定及び運動追跡を可能とする、粒子フィルタを使用した位置特定方法、プログラム、及びシステムを提供することを課題とする。
【課題を解決するための手段】
【0008】
本明細書で説明する本発明の概念の一態様によれば、コンピュータにより実装される方法が提供され、この方法は、中央処理装置と、位置特定信号受信機と、メモリと、を含むコンピュータシステムで実行され、このコンピュータ実装方法は、位置特定信号受信機を使用して少なくとも1つの位置特定信号を受信し、受信された少なくとも1つの位置特定信号に基づいてユーザの運動状態を検出し、検出されたユーザの運動に基づいて、ユーザの運動状態の少なくとも1つの速度パラメータを決定し、少なくとも受信した位置特定信号と決定されたユーザの運動の少なくとも1つの速度パラメータとに基づいて、ユーザの位置を決定すること、を含む。
【0009】
1以上の実施形態では、ユーザの位置を決定することは、受信した少なくとも1つの位置特定信号及び決定されたユーザの運動の少なくとも1つの速度パラメータに基づいて粒子フィルタループを連続的に実行することを含む。
【0010】
1以上の実施形態では、粒子フィルタループを連続的に実行することと、ユーザの運動状態を検出することとが、並列で実行される。
【0011】
1以上の実施形態では、粒子フィルタループを連続的に実行することは、測定更新を実行し、運動更新を実行し、複数の粒子を再サンプリングすること、を含む。
【0012】
1以上の実施形態では、測定更新を実行することは、受信した位置特定信号に基づいて、複数の粒子のそれぞれと少なくとも1つの無線周波数ビーコンとの間の距離を計算することを含む。
【0013】
1以上の実施形態では、測定更新を実行することは、分類子の信頼度を使用して複数の粒子を更新することを含む。
【0014】
1以上の実施形態では、複数の粒子を再サンプリングすることは、複数の粒子のそれぞれの重みを計算し、複数の粒子のうち、より高い重みを有する粒子を複製することを含む。
【0015】
1以上の実施形態では、測定更新は、第2の受信した少なくとも1つの位置特定信号に基づいて実行される。
【0016】
1以上の実施形態では、運動更新は、ユーザの運動状態の第2の速度パラメータに基づいて実行される。
【0017】
1以上の実施形態では、少なくとも1つの位置特定信号を受信することは、少なくとも1つの位置特定信号のラウンドトリップタイム(round trip time)を決定することを含む。
【0018】
1以上の実施形態では、ユーザの運動状態は、連続する2つの時点における決定されたラウンドトリップタイムに基づいて検出される。
【0019】
1以上の実施形態では、少なくとも1つの位置特定信号を受信することは、少なくとも1つの位置特定信号の強度を決定することを含む。
【0020】
1以上の実施形態では、少なくとも1つの位置特定信号は無線周波数信号である。
【0021】
1以上の実施形態では、少なくとも1つの位置特定信号は、Bluetooth(登録商標) Low Energy(BLE)信号である。
【0022】
1以上の実施形態では、少なくとも1つの位置特定信号は、WIFIラウンドトリップタイム(WIFI RTT)信号である。
【0023】
1以上の実施形態では、ユーザの位置を決定することは、ユーザの座標を決定することを含む。
【0024】
本明細書で説明する本発明の概念の別の態様によれば、プログラムが提供され、これが中央処理装置と位置特定信号受信機とメモリとを備えるシステムと関連して実行されると、位置特定信号受信機を使用して少なくとも1つの位置特定信号を受信し、受信した少なくとも1つの位置特定信号に基づいてユーザの運動状態を検出し、検出されたユーザの運動に基づいて、ユーザの運動状態の少なくとも1つの速度パラメータを決定し、少なくとも受信した位置特定信号と、決定されたユーザの運動の少なくとも1つの速度パラメータと、に基づいて、ユーザの位置を決定すること、含む方法をコンピュータに実行させる。
【0025】
本明細書で説明する本発明の概念のさらに別の態様によれば、中央処理装置と、位置特定信号受信機と、メモリとを備えるシステムが提供され、メモリは一連のコンピュータ可読命令を格納しており、この命令が、位置特定信号受信機を使用して少なくとも1つの位置特定信号を受信し、受信した少なくとも1つの位置特定信号に基づいてユーザの運動状態を検出し、検出されたユーザの運動に基づいて、ユーザの運動状態の少なくとも1つの速度パラメータを決し定、少なくとも受信した位置特定信号と、決定されたユーザの運動の少なくとも1つの速度パラメータと、に基づいて、ユーザの位置を決定すること、を含む方法をシステムに実行させる。
【0026】
本開示のさらに別の態様は、中央処理装置と、位置特定信号受信機と、メモリとを含むシステムであって、前記メモリが、a.前記位置特定信号受信機を使用して少なくとも1つの位置特定信号を受信し、b.受信した前記少なくとも1つの位置特定信号に基づいてユーザの運動状態を検出し、c.検出されたユーザの運動に基づいて、前記ユーザの運動状態の少なくとも1つの速度パラメータを決定し、d.少なくとも受信した前記位置特定信号と、前記ユーザの運動の決定された前記少なくとも1つの速度パラメータと、に基づいて前記ユーザの位置を決定すること、を含む方法をシステムに実行させる一連のコンピュータ可読命令を格納する。
【0027】
前記ユーザの位置を決定することは、受信された前記少なくとも1つの位置特定信号及び決定された前記少なくとも1つのユーザの運動の速度パラメータに基づいて粒子フィルタループを連続的に実行することを含んでもよい。
【0028】
前記粒子フィルタループを連続的に実行することと、ユーザの運動状態を検出することとが並列で実行されてもよい。
【0029】
前記粒子フィルタループを連続的に実行することは、測定更新を実行し、運動更新を実行し、複数の粒子を再サンプリングすること、を含んでもよい。
【0030】
本発明に関連する追加の態様は、一部は以下の説明に示され、一部はその説明から明らかであるか、又は本発明を実施することによって知ることができる。本発明の態様は、以下の詳細な説明及び添付の特許請求の範囲で特に指摘される要素及び様々な要素と態様の組み合わせによって実現及び達成され得る。
【0031】
上記の説明及び下記の説明はいずれも例示及び説明のみであり、特許請求される発明又はその応用をいかなる方法でも限定することを意図するものではないことを理解されたい。
【0032】
本明細書に組み込まれ、その一部を構成する添付の図面は、本発明の実施形態を例示し、明細書と共に、本発明の概念の原理を説明及び例示するために供される。
【図面の簡単な説明】
【0033】
【
図1】本明細書に記載されたシステムの実施形態の例示的なフローチャートを示す。
【
図2】
図1に示されるシステムに関連して使用され得るコンピュータ化モバイルシステムの例示的な実施形態を示す。
【
図4】いくつかの実施例での使用に適した例示的なコンピュータ装置を備えた例示的なコンピューティング環境の例を示す。
【発明を実施するための形態】
【0034】
以下の詳細な説明では、添付の図面が参照され、図面では、同一の機能要素は同様の番号で示されている。前述の添付の図面は、限定ではなく一例として、本発明の原理に沿った具体的な実施形態及び実施例を示す。これらの実施例は、当業者が本発明を実施できるように十分詳細に説明されており、他の実施例が利用されてもよく、本発明の範囲及び精神から逸脱することなく、様々な要素の構造変更及び置換の少なくとも一方が行われてもよいことを理解されたい。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきではない。さらに、説明した本発明の様々な実施形態は、汎用コンピュータ上で実行されるソフトウェアの形式で、専用ハードウェアの形式で、又はソフトウェアとハードウェアの組み合わせにより実施することができる。
【0035】
当業者によって理解されるように、慣性測定ユニット(Inertial Measurement Unit:IMU)を使用して正確な移動距離を推定するためにはスマートデバイスを特定の向きに保持する必要があるか、ビジョンベースのシステムの代表的な機能が必要であるか、又はその両方であるため、ユーザの運動及び移動距離の推定は困難である。これらのセンサは両方とも、IMUに固有の時間変動ドリフト及び必要な最小限の代表的な機能に関して制約がある。
【0036】
したがって、本明細書で説明される実施形態の一態様により、WiFi RTTやBLEビーコンなどの測距システムの時間測定を行うことによって、ユーザの動き(運動)を推定する問題に対処する新しい技法が提供される。説明される一実施形態は、粒子フィルタ(PF)の運動更新フェーズ中でさらに利用される、ユーザの運動状態(例えば、動いていない(滞留)状態、ゆっくり歩く、速く歩く)の推定を支援する。推定された運動状態は、異なる速度パラメータからサンプリングするために使用され、これはまたユーザの全体的な位置特定と部屋レベルの位置特定との両方の改善に役立つ。
【0037】
1以上の実施形態では、システムはPFフレームワークを使用して構築され、これは、RTTレンジング(測距)からのデータ又はBLE信号強度を利用して、(1)測定フェーズ中にスキャンデータを使用して環境を感知すること、及び、(2)PFの運動更新フェーズで使用するユーザの運動状態を検出すること、の両方を実行する。ユーザの運動状態を検出するために、PFフレームワーク内で利用される、受信した測距スキャンの時間差が使用される。説明されている実施形態の主な利点は、測距スキャンを使用して推定された運動状態に基づいて、PFの速度パラメータが動的に更新できることである。
【0038】
説明されたシステムの1つの実施形態は、BLE信号強度に基づく距離推定と比較して精度がより高いため、RTTレンジングを使用する。システムのこの実施形態は、2つのブロック、すなわち、ユーザの運動状態検出器と、PFベースのユーザの位置推定器とからなる。以下に各ブロックの詳細を示す。
【0039】
図1は、記載されたシステムの実施形態の例示的なフローチャート100を示す。
図1に示されるように、例示的なフローチャート100は、ユーザ運動状態推定器106と、粒子フィルタループ107とを含む。フローチャート100の各ブロック106及び107について、以下で詳細に説明する。
【0040】
(ユーザの運動状態推定器)
RTTスキャン101は、粒子を更新(環境感知)するために粒子フィルタループ107の測定更新ルーチン109によって直接使用される。2つの異なる時間(t-1)(102)と(t)(105)でのRTTスキャン情報は、ユーザの運動状態106(運動更新110)を導出するためにも使用され、これはさらにPFの運動更新フェーズ110で使用される速度パラメータ104を最適化するために使用される。
【0041】
図1に示すように、運動状態推定器106は、RTTセンサからのRFスキャンを利用し、時間(t-1)(102)及び(t)(105)で受信したスキャン間に移動した平均距離を計算する。この距離は、ユーザ運動検出ブロック103によってさらに利用され、ユーザの状態(例えば、滞留、ゆっくり歩く、速く歩く、走る)を認識する。推定されたユーザ状態は、粒子フィルタループ107の運動更新フェーズ110によって使用される速度パラメータ104を動的に変更するために使用される。速度パラメータの変更により、粒子フィルタループ107は、固定速度パラメータを使用するよりも、ユーザの動きをより適切に表すことができる。
【0042】
(粒子フィルタループ)
前述の粒子フィルタループ107は、当業者に周知の逐次モンテカルロ法に基づいて、大域的自己位置推定(Global Localization)の問題を解決し、デバイス軌道を追跡するサンプル重要度再サンプリング(Sample Importance Resampling:SIR)フィルタとして動作する。粒子フィルタリングでは、一連の仮想の粒子(サンプルとも呼ばれ、それぞれ座標(x、y)と速度(vx、vy)を有する)を使用して、観測雑音や部分観測が見られた確率過程の事後分布を表す。粒子フィルタループの例示的な動作は、米国特許出願公開第20180332369号に詳細に記載されており、これは参照により本明細書に組み込まれる。
【0043】
1以上の実施形態では、粒子フィルタループ107は、ユーザ運動状態推定器106と並列で動作する。ステップ108で粒子を初期化した後、粒子フィルタループ107は、測定更新フェーズ109中に生のRTTセンサデータを利用する。さらに、運動更新110の間、PFは、ユーザ運動状態推定器106から利用可能な速度パラメータ104を利用し、ユーザ運動状態推定器から粒子の速度をサンプリングする。速度パラメータ104は、推定されたユーザの運動状態に基づいて、粒子フィルタループ107の反復(ループ)ごとに更新されることに留意すべきである。
【0044】
1以上の実施形態において、システムは、2つの目的のためにRTTセンサからのデータを利用する。まず、RTTスキャンが環境センサとして使用され、これは、所与の環境に配置されたアンカーからPFの各粒子までの距離を提供する。これは、粒子の状態を更新するために使用される。さらに、ユーザの動きに関するプロキシ情報がRTTスキャンから導出される。1以上の実施形態では、これは、ある期間にわたって受信したスキャン間の時間差を取ることによって行われる。説明されるシステムの1以上の実施形態は、ユーザの運動状態を、滞留状態、ゆっくり歩く、速く歩くなどの4つのクラスに分類する。運動更新フェーズによって使用される速度パラメータのこれらの状態に基づいて、粒子フィルタループ107が動的に更新される(ステップ110を参照)。これは、各粒子の速度パラメータが定数からサンプリングされる我々のベースライン実験で使用されたランダムウォーク運動モデルとは対照的である。次いで、粒子は重要度の重みを使用して再サンプリングされる(ステップ111を参照)。粒子フィルタループ107の出力が、推定された(x、y)ユーザ位置112である。
【0045】
最後に、説明されている実施形態は、単一のセンサからプロキシ情報を導出でき、これはユーザの実際の動きをより表す運動モデルを開発するために使用できることに留意されたい。この結果、粒子フィルタを使用した推定が改善される。1以上の実施形態は、測距システムからの測定値を使用して検出されたユーザの運動状態に基づいて、ユーザの速度、加速度、及び運動方向を動的に更新することができる。これは、加速度計などのローカルセンサに依存する既存のシステムとは対照的である。当業者によって理解されるように、本明細書に記載された技法は、屋内位置特定、ユーザの運動状態検出、並びに部屋レベルの位置特定のために利用され得る。
【0046】
(コンピューティングプラットフォーム)
図2は、
図1に示されるシステムに関連して使用され得るモバイルコンピュータシステム200の例示的な実施形態を示す。1以上の実施形態では、モバイルコンピュータシステム200は、スマートフォン、携帯情報端末(PDA)、タブレットコンピュータ、又はスマートウォッチなどのモバイルコンピュータ装置のフォームファクタ内に実装されてもよく、これらはすべて広く市販されており、当業者にはよく知られている。
【0047】
コンピュータシステム200は、モバイルコンピュータシステム200の様々なハードウェアコンポーネント間で情報を通信するためのデータバス204又はその他の相互接続機構又は通信機構と、データバス204に結合される、情報を処理し他の計算及び制御タスクを実行するための中央処理装置(CPU又は単にプロセッサ)201とを含み得る。コンピュータシステム200はまた、データバス204に結合された、ランダムアクセスメモリ(RAM)又は他の動的記憶装置などのメモリ212を含み、様々な情報及びプロセッサ201によって実行される命令を記憶する。メモリ212はまた、磁気ディスク、光ディスク、ソリッドステートフラッシュメモリデバイス又は他の不揮発性固体素子記憶装置などの永続的記憶装置を含み得る。
【0048】
1以上の実施形態では、メモリ212は、プロセッサ201による命令の実行中に一時変数又は他の中間情報を格納するためにも使用され得る。所望により、コンピュータシステム200は、データバス204に結合された読み取り専用メモリ(ROM又はEPROM)202又は他の静的記憶装置をさらに含み得る。これは、コンピュータシステム200の動作に必要なファームウェア、基本入出力システム(BIOS)並びにコンピュータシステム200の様々な構成パラメータなどの、プロセッサ201に対する静的情報及び命令を格納するためのものである。
【0049】
1以上の実施形態では、コンピュータシステム200は、コンピュータシステム200のユーザに様々な情報を表示するために、データバス204にも結合することができる表示装置209を組み込むことができる。代替的な実施形態では、表示装置209は、グラフィックコントローラ及びグラフィックプロセッサ(図示せず)の少なくとも一方と関連付けられてもよい。表示装置209は、例えば、薄膜トランジスタ(TFT)技術又は有機発光ダイオード(OLED)技術を使用して製造された液晶ディスプレイ(LCD)として実装することができ、これらは両方とも当業者にはよく知られている。様々な実施形態では、表示装置209は、コンピュータシステム200のその他の構成要素と同じ一般的な筐体に組み込まれていてもよい。代替の実施形態では、表示装置209は、そのような筐体の外側に配置されてもよい。
【0050】
1以上の実施形態では、コンピュータシステム200は、GPS受信機203をさらに組み込んでもよく、これはデータバス204に接続され、1以上のGPS衛星から位置情報を受信し、この情報を、データバス204を介してプロセッサ201に送信するように構成される。
【0051】
1以上の実施形態では、コンピュータシステム200は、触覚コマンドを受信するためのタッチスクリーンインターフェース210及びキーボード206などの1以上の入力装置を組み込むことができ、これらはすべて、情報を通信するために前述のデータバス204に接続されることができ、この情報には、プロセッサ201へのユーザコマンド選択が含まれるが、これに限定はされない。代替的な実施形態では、入力装置は、ユーザの眼球運動を追跡するためのシステム(図示せず)を含むことができ、これはユーザによるコマンド選択をコンピュータシステム200に示すために使用され得る。
【0052】
1以上の実施形態では、コンピュータシステム200は、ビーコン106のスキャンを実行し、データバス204を介してこのスキャンデータをプロセッサ201に供給するように構成されたBluetooth(登録商標)受信機211などの位置信号受信機103をさらに含み得る。さらに、IMU220も、データバス204に接続され得る。
【0053】
1以上の実施形態では、コンピュータシステム200は、データバス204に結合されたネットワークインターフェース205などの通信インターフェースをさらに含み得る。ネットワークインターフェース205は、WIFIインターフェース207及びセルラーネットワーク(GSM又はCDMA)アダプタ208のうちの少なくとも1つを使用して、コンピュータシステム200とインターネット224との間の接続を確立するように構成され得る。ネットワークインターフェース205は、コンピュータシステム200とインターネット224との間の双方向データ通信を提供するように構成され得る。WIFIインターフェース207は、802.11a、802.11b、802.11g、及び802.11nの少なくとも一つのプロトコル、並びに当業者に周知のBluetooth(登録商標)プロトコルに準拠して動作し得る。例示的な実装では、WIFIインターフェース207及びセルラーネットワーク(GSM又はCDMA)アダプタ208は、様々なタイプの情報を表すデジタルデータストリームを運ぶ電気信号又は電磁信号を送受信する。例えば、前述のネットワーキングコンポーネントを使用して、コンピュータシステム200と他のネットワークコンポーネントとの間にネットワークデータ接続を確立することができる。
【0054】
1以上の実施形態では、インターネット224は通常、1以上のサブネットワークを介して他のネットワークリソースへのデータ通信を提供する。したがって、コンピュータシステム200は、ウェブサーバ、他のコンテンツサーバ、並びに他のネットワークデータストレージリソースなど、インターネット224上の任意の場所にある様々なネットワークリソースにアクセスすることができる。1以上の実施形態では、コンピュータシステム200は、ネットワークインターフェース205によって、インターネット224を含む様々なネットワークを介して、アプリケーションプログラムコードを含むメッセージ、メディア及び他のデータを送受信するように構成される。インターネットの例では、コンピュータシステム200がネットワーククライアントとして機能するとき、これはコンピュータシステム200上で実行されるアプリケーションプログラムのためのコード又はデータをネットワークに要求することができる。同様に、様々なデータやコンピュータコードを他のネットワークリソースに送信してもよい。
【0055】
1以上の実施形態では、本明細書で説明される機能は、メモリ212に含まれる1以上の命令の1以上のシーケンスを実行するプロセッサ201に応答して、コンピュータシステム200によって実施される。そのような命令は、別のコンピュータ可読媒体からメモリ212に読み込まれてもよい。メモリ212に含まれる命令のシーケンスの実行により、プロセッサ201は、本明細書で説明される様々なプロセスステップを実行する。別の実施形態では、本発明の実施形態を実施するために、ソフトウェア命令の代わりに、又はソフトウェア命令と組み合わせて、ハードウェア組み込み回路が使用され得る。したがって、本発明の実施形態は、特定の組み合わせのハードウェア回路とソフトウェアに限定されない。
【0056】
本明細書で使用される「コンピュータ可読媒体」という用語は、実行のためにプロセッサ201に命令を提供することに関与する任意の媒体を指す。コンピュータ可読媒体は、本明細書で説明される方法及び/又は技法のいずれかを実施するための命令を伝えることができる機械可読媒体の一例にすぎない。このような媒体は、不揮発性媒体及び揮発性媒体を含むが、これらに限定されず多くの形態を取り得る。
【0057】
非一時的なコンピュータ可読媒体の一般的な形式には、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、又はその他の磁気媒体、CD-ROM、その他の光学媒体、パンチカード、紙テープ、穴のパターンを持つ他の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、フラッシュドライブ、メモリカード、その他のメモリチップ又はカートリッジ、又はコンピュータが読み取ることができるその他の媒体が含まれる。様々な形態のコンピュータ可読媒体が、実行のためにプロセッサ201に1以上の命令の1以上のシーケンスを伝えることに関与し得る。例えば、命令は最初にリモートコンピュータから磁気ディスク上に搬送され得る。あるいは、リモートコンピュータは、動的メモリに命令をロードし、インターネット224を介して命令を送信することができる。具体的には、コンピュータ命令は、当技術分野で周知の様々なネットワークデータ通信プロトコルを使用して、インターネット224を介して前述のリモートコンピュータからコンピュータシステム200のメモリ212にダウンロードされることができる。
【0058】
1以上の実施形態では、コンピュータシステム200のメモリ212は、以下のソフトウェアプログラム、アプリケーション、又はモジュールのいずれかを格納し得る。
【0059】
1.オペレーティングシステム(OS)213。これは、基本的なシステムサービスを実装し、コンピュータシステム200の様々なハードウェアコンポーネントを管理するためのモバイルオペレーティングシステムであってよい。オペレーティングシステム213の例示的な実施形態は、当業者によく知られており、現在知られている、又は後に開発されるモバイルオペレーティングシステムをも含み得る。
【0060】
2.以下で説明する1以上のネットワークインターフェースを使用してネットワーク通信を可能にするためのネットワーク通信モジュール214。
【0061】
3.ソフトウェアモジュール215は、例えば、コンピュータシステム200のプロセッサ201によって実行される1組のソフトウェアアプリケーションを含んでもよく、これは、コンピュータモバイルシステム300に、上記のビーコン信号の受信などの所定の機能を実行させる。1以上の実施形態では、ソフトウェアモジュール215は、例えば、
図1にも示されているユーザ運動状態推定器216及び粒子フィルタループ217(それぞれ要素106及び107)を含み得る。
【0062】
4.データ記憶部218は、例えば、粒子座標及び速度などの様々なパラメータ219を記憶するために使用され得る。
【0063】
図3は、実装例による例示的なプロセス300を示している。例示的プロセス300は、本明細書で説明されるように、1以上のデバイス上で実行され得る。
【0064】
301において、例えば、位置特定信号受信機を使用して、少なくとも1つの位置特定信号が受信される。
【0065】
303において、例えば、これに限定されないが、受信した少なくとも1つの位置特定信号に基づいて、ユーザの運動状態が検出される。
【0066】
305において、検出されたユーザの運動に基づいて、ユーザの運動状態の少なくとも1つの速度パラメータが決定される。
【0067】
307において、少なくとも受信した位置特定信号と、決定されたユーザの運動の少なくとも1つの速度パラメータとに基づいて、ユーザの位置が決定される。
【0068】
図4は、いくつかの実装例での使用に適した例示的なコンピュータ装置405を備えた例示的なコンピューティング環境400を示している。コンピューティング環境400のコンピュータ装置405は、1以上の処理ユニット、コア、又はプロセッサ410、メモリ415(例えばRAM、ROMなど)、内部記憶装置420(例えば磁気、光学、固体素子記憶装置及び有機記憶装置の少なくとも一つ)、及びI/Oインターフェース425の少なくとも一つを含むことができ、これらのいずれも、情報を通信するための通信機構又はバス430に結合、又はコンピュータ装置405に組み込まれることが可能である。
【0069】
コンピュータ装置405は、入力/ユーザインターフェース435及び出力装置/インターフェース440に通信可能に結合されることが可能である。入力/ユーザインターフェース435及び出力装置/インターフェース440のいずれか又は両方は、有線又は無線インターフェースであることができ、取り外し可能であることができる。入力/ユーザインターフェース435には、入力を行うために使用できる物理的又は仮想の装置、構成要素、センサ、又はインターフェースが含まれ得る(例えば、ボタン、タッチスクリーンインターフェース、キーボード、ポインティング/カーソルコントロール、マイク、カメラ、点字、モーションセンサ、光学式リーダなど)。
【0070】
出力装置/インターフェース440は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字などを含み得る。いくつかの実装例では、入力/ユーザインターフェース435(例えばユーザインターフェース)及び出力装置/インターフェース440を、コンピュータ装置405に組み込む、又は物理的に結合することができる。他の実装例では、他のコンピュータ装置が、コンピュータ装置405の入力/ユーザインターフェース435及び出力装置/インターフェース440として機能するか、又はその機能を提供してもよい。
【0071】
コンピュータ装置405の例には、これらに限定されないが、高度モバイル装置(例えば、スマートフォン、車両及び他の機械内の装置、人間及び動物によって運ばれる装置など)、モバイル装置(例えば、タブレット、ノートブック、ラップトップ、パーソナルコンピュータ、ポータブルテレビ、ラジオなど)、及び移動用に設計されていない装置(例えば、デスクトップコンピュータ、サーバ装置、その他のコンピュータ、情報端末、1以上のプロセッサが組み込まれるか又は結合されたテレビ、ラジオなど)が含まれ得る。
【0072】
コンピュータ装置405は、同じ又は異なる構成の1以上のコンピュータ装置を含む任意の数のネットワーク化された構成要素、装置、及びシステムと通信するために外部記憶装置445及びネットワーク450に(例えば、I/Oインターフェース425を介して)通信可能に結合され得る。コンピュータ装置405又は任意の接続されたコンピュータ装置は、サーバ、クライアント、シンサーバ、汎用機械、専用機械、又は別のラベルとして機能するか、それらのサービスを提供するか、或いはそのように見做されることができる。例えば、限定ではなく一例として、ネットワーク450はブロックチェーンネットワーク及びクラウドの少なくとも一方を含み得る。
【0073】
I/Oインターフェース425は、コンピューティング環境400内の少なくともすべての接続された構成要素、装置、及びネットワークと情報をやり取りするため、任意の通信又はI/Oプロトコル又は標準(例えばイーサネット(登録商標)、802.11xs、ユニバーサルシステムバス、WiMAX(登録商標)、モデム、セルラーネットワークプロトコルなど)を使用する有線又は無線インターフェースを含むことができるが、これらに限定はされない。ネットワーク450は、任意のネットワーク又はネットワークの組み合わせ(例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話ネットワーク、セルラーネットワーク、衛星ネットワーク)であってよい。
【0074】
コンピュータ装置405は、一時的媒体及び非一時的媒体を含むコンピュータ使用可能又はコンピュータ可読媒体を用いて、使用及び通信の少なくとも一方を行うことができる。一時的媒体には、伝送媒体(例えば金属ケーブル、光ファイバ)、信号、搬送波などが含まれる。非一時的媒体には、磁気媒体(例えばディスク及びテープ)、光学媒体(例えばCDROM、デジタルビデオディスク、ブルーレイディスク)、固体素子媒体(例えばRAM、ROM、フラッシュメモリ、固体素子記憶装置)及びその他の不揮発性記憶装置又はメモリが含まれる。
【0075】
コンピュータ装置405を使用して、いくつかの例示的なコンピューティング環境で技法、方法、アプリケーション、プロセス、又はコンピュータ実行可能命令を実施することができる。コンピュータ実行可能命令は、一時的媒体から取得され、非一時的媒体に格納され、そこから取得されることができる。実行可能命令は、プログラム、スクリプト、及び機械語(例えばC、C++、C#、Java(登録商標)、Visual Basic(登録商標)、Python(登録商標)、Perl(登録商標)、JavaScript(登録商標)など)の1以上から生成可能である。
【0076】
プロセッサ410は、ネイティブ又は仮想環境で、任意のオペレーティングシステム(OS)(図示せず)の下で実行可能である。論理部455、アプリケーションプログラミングインターフェース(API)部460、入力部465、出力部470、ユーザ運動状態検出器475、速度パラメータ決定部480、ユーザ位置決定部485、及び異なる構成部が互いに、OS及びその他のアプリケーション(図示せず)と通信するためのユニット間通信メカニズム495を含む1以上のアプリケーションを展開することができる。
【0077】
例えば、ユーザ運動状態検出器475、速度パラメータ決定部480、及びユーザ位置決定部485は、上述の構造に関して上述した1以上のプロセスを実施することができる。説明されている構成部及び要素は、設計、機能、構成、又は実装が様々であることができ、提供された説明に限定されない。
【0078】
いくつかの実施例では、情報又は実行命令がAPI部460によって受信されると、それは1以上の他の構成部(例えば、論理部455、入力部465、ユーザ運動状態検出器475、速度パラメータ決定部480、及びユーザ位置決定ユニット485)に通信されることができる。
【0079】
場合によっては、上記のいくつかの実施例において、論理部455が、ユニット間の情報フローを制御し、API部460、入力部465、ユーザ運動状態検出器475、速度パラメータ決定部480、及びユーザ位置決定部485によって提供されるサービスを指示するように構成され得る。例えば、1以上のプロセス又は実装のフローは、論理ユニット455のみによって、又はAPI部460と連動して制御されてもよい。
【0080】
図5は、いくつかの実装例に適した環境例を示す。環境500は、装置505~545を含み、それぞれが、例えばネットワーク560を介して(例えば、有線又は無線接続により)少なくとも1つの他のデバイスに通信可能に接続される。一部の装置は、1以上の記憶装置530及び545に通信可能に接続されてもよい。
【0081】
1以上の装置505~545の例は、それぞれ
図5に示されたコンピュータ装置505であってよい。装置505~545は、上述のようなモニタ及び関連するウェブカメラを有するコンピュータ505(例えば、ラップトップコンピュータ装置)、モバイル装置510(例えば、スマートフォン又はタブレット)、テレビ515、車両に関連する装置520、サーバコンピュータ525、コンピュータ装置535~540、記憶装置530及び545を含み得るが、これらに限定されない。いくつかの実施形態では、デバイス505~520は、ユーザに関連付けられたユーザ装置と見なすことができる。装置525~545は、サービスプロバイダに関連する装置でもあり得る。
【0082】
最後に、本明細書で説明されるプロセス及び技法は、特定の装置に本質的に関連するものではなく、構成要素の任意の適切な組み合わせによって実施できることを理解されたい。さらに、本明細書で説明される教示に従って、様々なタイプの汎用装置を使用することができる。本明細書に記載の方法ステップを実行するために専用の装置を構築することが有利であると判明する場合もある。
【0083】
本発明は、あらゆる点で限定的ではなく例示的であることが意図される特定の例に関して説明されてきた。当業者は、ハードウェア、ソフトウェア、及びファームウェアの多くの異なる組み合わせが本発明を実施するのに適していることを理解するであろう。例えば、説明されているソフトウェアは、アセンブラ、C/C++、Objective-C(登録商標)、perl(登録商標)、シェル、PHP、Java(登録商標)、及び現在知られている、又は今後開発されるプログラミング言語又はスクリプト言語であり得る。
【0084】
さらに、本発明の他の実装形態が、本明細書に開示された本発明の仕様及び実施を考慮することにより、当業者には明らかになるであろう。記載された実施形態の様々な態様及び構成要素は、粒子フィルタを使用する位置特定のための無線周波数ベースの仮想運動モデルにおいて、単独で又は任意の組み合わせで使用されることができる。本明細書及び実施例は例示としてのみ考慮されることが意図されており、本発明の真の範囲及び精神は添付の特許請求の範囲によって示される。