JP6745017B2 - 歩行者推測航法用の技術 - Google Patents

歩行者推測航法用の技術 Download PDF

Info

Publication number
JP6745017B2
JP6745017B2 JP2017554271A JP2017554271A JP6745017B2 JP 6745017 B2 JP6745017 B2 JP 6745017B2 JP 2017554271 A JP2017554271 A JP 2017554271A JP 2017554271 A JP2017554271 A JP 2017554271A JP 6745017 B2 JP6745017 B2 JP 6745017B2
Authority
JP
Japan
Prior art keywords
computing device
mobile computing
user
determining
acceleration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017554271A
Other languages
English (en)
Other versions
JP2018524553A (ja
Inventor
ハン、ケ
ワン、シュン
カイ、シャオドング
リ、リアング
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2018524553A publication Critical patent/JP2018524553A/ja
Application granted granted Critical
Publication of JP6745017B2 publication Critical patent/JP6745017B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1654Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with electromagnetic compass
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/166Mechanical, construction or arrangement details of inertial navigation systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C22/00Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
    • G01C22/006Pedometers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D1/00Measuring arrangements giving results other than momentary value of variable, of general application
    • G01D1/04Measuring arrangements giving results other than momentary value of variable, of general application giving integrated values
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D1/00Measuring arrangements giving results other than momentary value of variable, of general application
    • G01D1/16Measuring arrangements giving results other than momentary value of variable, of general application giving a value which is a function of two or more values, e.g. product or ratio
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services

Description

モバイルナビゲーション及び位置追跡システムは一般に、スマートフォンなどのモバイルコンピューティングデバイスに含まれている。例えば、モバイルコンピューティングデバイスは、例えば、モバイルコンピューティングデバイスの全地球測位システム(GPS)回路を用い、地図を参照して、各位置の間でユーザを案内するのに用いられることがある。しかし、そのようなシステムは、ネットワーク接続性及び/又はGPS接続性の必要に起因して、屋外用途に限定されることが頻繁にある。屋内ナビゲーション及び位置追跡の解決策は、GPS及び/又は外部センサに頼ることなく、モバイルコンピューティングデバイスの位置を追跡することであることが多い。
モバイルコンピューティングデバイスは通常、データを収集するいくつかの慣性センサを含んでおり、データは、ユーザの推定位置など、ユーザの様々な状況を判定するために、例えば、内蔵された慣性測定ユニット(IMU)により解析されてよい。「推測航法」とは、ユーザの現在位置を、直前に判定した位置、推定速度、及び経過時間に基づいて計算する1つの典型的なプロセスであり、これらは、慣性センサがもたらすセンサデータに基づいて判定されてよい。加速度計及び磁気計などの内蔵された慣性センサによって、モバイルコンピューティングデバイスが、ナビゲーション目的に(すなわち、歩行者推測航法のために)、ユーザのステップをカウントし、コンパスの測定値を記録することが可能になる。歩行者推測航法(PDR)で、屋内ナビゲーションが可能となり、(例えばGPSナビゲーションと比較して)電力消費が少なく、必要な事前情報も少なくて済むが、歩行者推測航法を正確に実行するには、いくつかの課題がある。例えば、建物内の大きな磁気歪みがある場所、及び/又はユーザの手の動きが、典型的なPDRアルゴリズムのトレースを不正確にさせることがある。
本明細書で説明される概念が、添付の図に、限定としてではなく、例として示されている。説明を簡潔且つ明確にする目的で、図に示される要素は、必ずしも縮尺通りに描かれてはいない。適切とみなされる場合、対応する要素又は類似した要素を示すために、参照符号が各図の間で繰り返されている。
ユーザの位置を判定するための、モバイルコンピューティングデバイスの少なくとも1つの実施形態に関する簡略ブロック図である。
図1のモバイルコンピューティングデバイスの環境に関する、少なくとも1つの実施形態の簡略ブロック図である。
図1のモバイルコンピューティングデバイスを様々な方向で保持するユーザの簡略説明図である。
ユーザの位置を判定するための方法に関する、少なくとも1つの実施形態の簡略フロー図である。 ユーザの位置を判定するための方法に関する、少なくとも1つの実施形態の簡略フロー図である。 ユーザの位置を判定するための方法に関する、少なくとも1つの実施形態の簡略フロー図である。
磁気計による測定を利用するかどうかを判定するための方法に関する、少なくとも1つの実施形態の簡略フロー図である。
通常歩行モデルの簡略図である。
スイング歩行モデルの簡略図である。
ユーザのステップ検出についての簡略図のセットである。
図1のモバイルコンピューティングデバイスの環境に関する、少なくとも1つの実施形態の簡略ブロック図である。
本開示の概念は、様々な修正形態及び代替形態が可能であるが、それらの特定の実施形態が、例として図面に示されており、ここで詳細に説明されることになる。しかし、本開示の概念を開示される特定の形態に限定する意図はなく、むしろ、本開示及び添付された特許請求の範囲に適合する全ての修正形態、均等な形態、及び代替形態を包含することが意図されていることを理解されたい。
「1つの実施形態」、「ある実施形態」、「例示の実施形態」などへの本明細書における言及は、説明された実施形態が特定の特徴、構造、又は特性を含んでよいが、あらゆる実施形態が、その特定の特徴、構造、又は特性を含んでも、必ずしも含まなくてもよいことを示している。さらに、そのような語句は、必ずしも同じ実施形態に言及しているわけではない。さらに、特定の特徴、構造、又は特性が、ある実施形態に関連して説明されている場合、明示的に説明されていてもいなくても、他の実施形態に関連して、そのような特徴、構造、又は特性をもたらすことは、当業者の知識の範囲内であるとされている。さらに、「少なくとも1つのA、B、及びC」という形態で列挙されたものに含まれる項目群は、(A)、(B)、(C)、(A及びB)、(B及びC)、又は(A、B、及びC)を意味し得ることを理解されたい。同様に、「A、B、又はCのうち少なくとも1つ」という形態で列挙された項目群は、(A)、(B)、(C)、(A及びB)、(B及びC)、又は(A、B、及びC)を意味し得る。
開示された実施形態は、場合によっては、ハードウェア、ファームウェア、ソフトウェア、又はこれらの任意の組み合わせで実装されてよい。開示された実施形態は、1つ又は複数の一時的若しくは非一時的機械可読(例えば、コンピュータ可読)記憶媒体によって記憶されている、又はそこに格納されている命令としても実装されてよく、これらの命令は、1つ又は複数のプロセッサにより読み出され、実行されてよい。機械可読記憶媒体は、任意のストレージデバイス、メカニズム、又は機械が可読な形態で情報を格納又は送信するための他の物理構造として具現化されてよい(例えば、揮発性メモリ若しくは不揮発性メモリ、メディアディスク、又は他のメディアデバイス)。
図面には、いくつかの構造又は方法の特徴が、特定の構成及び/又は順序で示されていることがある。しかし、そのような特定の構成及び/又は順序は、必須でなくてよいことを理解されたい。むしろ、いくつかの実施形態において、そのような特徴は、説明図に示されたものと異なる方式及び/又は順序で構成されてもよい。さらに、特定の図に構造又は方法の特徴が含まれることで、そのような特徴が全ての実施形態に必要とされていると暗示することを意味するのではなく、いくつかの実施形態において、他の特徴を含まなくてよく、又は他の特徴と組み合わされてもよい。
次に図1を参照すると、歩行者推測航法の技法を用いてユーザの位置を判定するための、モバイルコンピューティングデバイス100が示されている。使用時に、下記においてより詳細に説明されるように、モバイルコンピューティングデバイス100は、モバイルコンピューティングデバイス100の複数のセンサからセンサデータを収集して処理するように構成されている。例えば、これらのセンサは、モバイルコンピューティングデバイス100の加速度、方向、及び/又は他の慣性特性(例えば、磁場)と関連したデータを収集することができる。センサデータの解析に基づいて、モバイルコンピューティングデバイス100は、モバイルコンピューティングデバイス100のユーザが(例えば、歩行している間に)物理的なステップをした時点を判定する。モバイルコンピューティングデバイス100は、ユーザの様々な進行方向(例えば、未補正進行方向、推定進行方向など)、モバイルコンピューティングデバイス100及びユーザの方向(例えば、互いに対して及び/又は直前の方向に対して)、並びにユーザが移動した距離(例えば、ユーザの推定歩幅に基づく)を判定する。さらに、モバイルコンピューティングデバイス100は、ユーザが通常歩行(例えば、モバイルコンピューティングデバイス100を、ユーザの横など、ほぼ同じ位置に保持して歩行)か、スイング歩行(例えば、モバイルコンピューティングデバイス100をユーザの横で前後に揺り動かしながら歩行)かを判定することができる。さらに、モバイルコンピューティングデバイス100は、ユーザが著しい磁気歪みの場所の近辺にいるかどうかを判定することができる。本明細書で説明されるように、モバイルコンピューティングデバイス100は、ユーザの歩行に応じて、及び/又は著しい磁気歪みが確認されたかどうかに応じて、ユーザの位置を推定する様々な技法を利用してよいことが理解されよう。本明細書で説明されるこれらの技術が有用であり、屋内及び屋外の両方の位置追跡に等しく適用されることをさらに理解されたい。
モバイルコンピューティングデバイス100は、本明細書で説明される機能を実行することが可能な任意の種類のコンピューティングデバイスとして、具現化されてよい。例えば、モバイルコンピューティングデバイス100は、スマートフォン、携帯電話、ウェアラブルコンピューティングデバイス、携帯情報端末、モバイルインターネットデバイス、タブレットコンピュータ、ネットブック、ノートブック、ウルトラブック、ラップトップコンピュータ、及び/又は他のモバイルコンピューティング/通信デバイスとして具現化されてよい。図1に示されるように、例示のモバイルコンピューティングデバイス100には、プロセッサ110、入出力(「I/O」)サブシステム112、メモリ114、データストレージ116、及び1つ又は複数のセンサ118が含まれる。もちろん、他の実施形態において、モバイルコンピューティングデバイス100は、典型的なコンピューティングデバイスに一般に見られるコンポーネント(例えば、様々な入出力デバイス及び/又は他のコンポーネント)など、他の又は追加のコンポーネントを含んでよい。さらに、いくつかの実施形態において、例示のコンポーネントのうち1つ又は複数が、別のコンポーネントに組み込まれてよく、そうでなければ別のコンポーネントの一部を形成してもよい。例えば、いくつかの実施形態において、メモリ114又はその一部は、プロセッサ110に組み込まれてよい。
プロセッサ110は、本明細書で説明される機能を実行することが可能な、任意の種類のプロセッサとして具現化されてよい。例えば、プロセッサは、シングルコア若しくはマルチコアプロセッサ、デジタル信号プロセッサ、マイクロコントローラ、又は他のプロセッサ若しくは処理/制御回路として具現化されてよい。同様に、メモリ114は、本明細書で説明される機能を実行することが可能な、任意の種類の揮発性メモリ若しくは不揮発性メモリ、又はデータストレージとして具現化されてよい。動作時に、メモリ114は、オペレーティングシステム、アプリケーション、プログラム、ライブラリ、及びドライバなど、モバイルコンピューティングデバイス100の動作中に用いられる様々なデータ及びソフトウェアを格納してよい。メモリ114は、I/Oサブシステム112を介して、プロセッサ110に通信可能に結合されており、I/Oサブシステム112は、モバイルコンピューティングデバイス100のプロセッサ110、メモリ114、及び他のコンポーネントとの入出力動作を容易にする回路及び/又はコンポーネントとして具現化されてよい。例えば、I/Oサブシステム112は、メモリコントローラハブ、入出力制御ハブ、ファームウェアデバイス、通信リンク(すなわち、ポイントツーポイントリンク、バスリンク、ワイヤ、ケーブル、ライトガイド、プリント回路基板配線など)、並びに/又は入出力動作を容易にする他のコンポーネント及びサブシステムとして具現化されてよく、そうでなければこれらを含んでよい。いくつかの実施形態において、I/Oサブシステム112は、システムオンチップ(SoC)の一部を形成して、モバイルコンピューティングデバイス100のプロセッサ110、メモリ114、及び他のコンポーネントと共に単一の集積回路チップに組み込まれてよい。
データストレージ116は、例えば、メモリデバイス及びメモリ回路、メモリカード、ハードディスクドライブ、ソリッドステートドライブ、又は他のデータストレージデバイスなど、データの短期又は長期保管用に構成された任意の種類の1つ又は複数のデバイスとして具現化されてよい。例示の実施形態において、データストレージ116及び/又はメモリ114は、1つ又は複数のユーザ歩行モデル130、決定木132、派生データ(例えば、ユーザ位置ウェイポイント)、及び/又は、例えば、図2に関して後述されるように、モバイルコンピューティングデバイス100の動作中に有用な様々な他のデータを格納してよい。
例示の実施形態において、センサ118は、モバイルコンピューティングデバイス100の加速度、方向、及び/又は他の慣性特性と関連したデータを生成し、作り出し、又は収集することが可能な任意の種類のセンサとして具現化されてよい。もちろん、いくつかの実施形態において、センサ118は、本明細書で説明される機能を実行するときに、モバイルコンピューティングデバイス100により用いられ得る他のデータを収集してよい。様々な実施形態において、センサ118は、例えば、慣性センサ、近接センサ、光学センサ、光センサ、音声センサ、温度センサ、モーションセンサ、圧電センサ、圧力センサ、及び/又は、下記においてより詳細に説明されるように、モバイルコンピューティングデバイス100のユーザの位置を判定するにあたって、有用なデータを生成する他の種類のセンサとして具現化されてよく、そうでなければこれらを含んでよい。例えば、例示の実施形態において、センサ118には、1つ又は複数の加速度計124、1つ又は複数のジャイロスコープ126、及び1つ又は複数の磁気計128が含まれる。それぞれの加速度計124は、(例えば、モバイルコンピューティングデバイス100の3次元軸のそれぞれに沿った)モバイルコンピューティングデバイス100の加速度及び/又は他の動きを測定するように構成された、任意のセンサ、回路、及び/又は他のコンポーネントとして具現化されてよい。それぞれのジャイロスコープ126は、予め定義された座標系に対するモバイルコンピューティングデバイス100の角度方向を測定するように構成された、任意のセンサ、回路、及び/又は他のコンポーネントとして具現化されてよい。すなわち、ジャイロスコープ126は、モバイルコンピューティングデバイス100のロール角、ピッチ角、及び/又はヨー角を測定することができる。それぞれの磁気計128は、モバイルコンピューティングデバイス100が(例えば、真北に対して)向いている方向を判定するにあたって有用な、磁場及び/又は他の情報を測定するように構成された任意のセンサ、回路、及び/又は他のコンポーネント(例えば、コンパス)として具現化されてよい。もちろん、モバイルコンピューティングデバイス100は、センサ118の使用を容易にするように構成された、コンポーネント及び/又はデバイス(例えば、慣性測定ユニット)も含んでよい。後述されるように、いくつかの実施形態において、モバイルコンピューティングデバイス100は、磁気歪みが確認された場合に、(例えば、磁気計を用いずに)測定値/判定値を生成する1つの慣性測定ユニット(IMU)と、磁気歪みが確認されなかった場合に測定値/判定値を生成する別のIMUとを含んでよい。
いくつかの実施形態において、モバイルコンピューティングデバイス100は通信回路120も含んでよい。通信回路120は、モバイルコンピューティングデバイス100と他のリモートデバイスとの間でネットワーク(不図示)を通じた通信をできるようにすることが可能な、任意の通信回路、デバイス、又はこれらの集合として具現化されてよい。通信回路120は、任意の1つ又は複数の通信技術(例えば、無線通信又は有線通信)、及び関連プロトコル(例えば、Ethernet(登録商標)、Bluetooth(登録商標)、Wi−Fi(登録商標)、WiMAX(登録商標)など)を用い、例えば、ネットワークの種類に応じて、そのような通信を行うように構成されてよく、ネットワークは、モバイルコンピューティングデバイス100とリモートデバイスとの間の通信を容易にすることが可能な、任意の種類の通信ネットワークとして具現化されてよい。
モバイルコンピューティングデバイス100は、いくつかの実施形態において、1つ又は複数の周辺デバイスも含んでよい。周辺デバイス122は、任意の数の追加周辺デバイス又はインタフェースデバイスを含んでよい。周辺デバイス122に含まれる特定のデバイスは、例えば、モバイルコンピューティングデバイス100の種類及び/又は使用目的によって決まってよい。
次に図2を参照すると、使用時に、モバイルコンピューティングデバイス100が、ユーザの位置を判定するための環境200を確立する。後述されるように、モバイルコンピューティングデバイス100は、ユーザの進行方向を推定し、ユーザの推定進行方向、ユーザの推定歩幅、及びユーザの直前の位置(例えば、ステップする前の、ユーザの進行方向が計算されたユーザの位置)に基づいてユーザの推定位置を判定する。いくつかの実施形態において、モバイルコンピューティングデバイス100は、ユーザのそれぞれの物理的なステップに応答して、ユーザの進行方向を判定してよく、及び/又はユーザの位置を推定してよいことを理解されたい。下記においてより詳細に説明されるように、モバイルコンピューティングデバイス100は、磁気歪み及び/又はユーザによるモバイルコンピューティングデバイス100の様々な動き(例えば、スイング歩行、傾斜、回転など)を考慮してよい。さらに、ユーザの1つ又は複数のステップに対する判定された進行方向、及び/又はユーザの判定位置は、様々な基準に基づいて無視されてよく、そうでなければ補正されてよい。
モバイルコンピューティングデバイス100の例示の環境200には、センサ処理モジュール202、進行方向判定モジュール204、及び位置判定モジュール206が含まれる。さらに、センサ処理モジュール202には、歩行分類モジュール208、磁気歪み検出モジュール210、ステップ検出モジュール212、及び慣性測定モジュール214が含まれる。示されるように、例示のステップ検出モジュール212には、通常歩行ステップ検出モジュール216及びスイング歩行ステップ検出モジュールが含まれる。さらに、例示の進行方向判定モジュール204には、未補正進行方向推定モジュール220、運動管理モジュール222、及びカルマンフィルタモジュール224が含まれる。さらに、位置判定モジュール206には、歩幅推定モジュール226及び位置補正モジュール228が含まれる。
環境200のそれぞれのモジュールは、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせとして具現化されてよい。例えば、環境200の様々なモジュール、ロジック、及び他のコンポーネントは、モバイルコンピューティングデバイス100のプロセッサ110、又は他のハードウェアコンポーネントの一部を形成してよく、そうでなければそれらによって確立されてもよい。したがって、いくつかの実施形態において、環境200のモジュール群のうち1つ又は複数が、回路又は電気デバイスの集合として具現化されてよい(例えば、センサ処理回路、進行方向判定回路、位置判定回路、歩行分類回路、磁気歪み回路、ステップ検出回路、慣性測定回路、通常歩行ステップ検出回路、スイング歩行ステップ検出回路、未補正進行方向推定回路、運動管理回路、カルマンフィルタ回路、歩幅推定回路、及び/又は、位置補正回路)。さらに、いくつかの実施形態において、例示のモジュール群のうち1つ又は複数が、別のモジュールの一部を形成してよく、及び/又は、例示のモジュール群のうち1つ又は複数が互いに独立していてよい。さらに、いくつかの実施形態において、モジュール群のうち1つ又は複数(例えば、運動管理モジュール222、カルマンフィルタモジュール224、及び/又は位置補正モジュール228)が環境200から省略されてよい。いくつかの実施形態において、モバイルコンピューティングデバイス100は代替的に、環境200のモジュール/回路と類似したモジュール/回路を含む図11に示されるような環境1100を含んでよい。したがって、これらのモジュール/回路のそれぞれについての説明は、説明を明確にするために省略されている。
センサ処理モジュール202は、センサ118により収集されたデータを解析するか、又は処理する。上述されたように、例示のセンサ処理モジュール202には、歩行分類モジュール208、磁気歪み検出モジュール210、ステップ検出モジュール212、及び慣性測定モジュール214が含まれる。歩行分類モジュール208は、ユーザの歩行を分類するように構成されている。具体的には、例示の実施形態において、歩行分類モジュール208は、ユーザの歩行が通常歩行を示しているか、又はスイング歩行を示しているかを判定する。本明細書で説明されるように、「通常歩行」は、モバイルコンピューティングデバイス100をユーザの横、又はユーザの身体若しくは胴に対して安定した別の位置に保持しながら歩行するユーザを含んでよく、「スイング歩行」は、モバイルコンピューティングデバイス100をユーザの横に沿って前後に、及び/又は別の好適な方向に揺り動かす(例えば、振り子運動状態にある)ユーザを含んでよい。本明細書には2つの歩行分類だけが説明されているが、他の実施形態において、歩行分類モジュール208は、ユーザの歩行に関して追加及び/又は代替の分類を利用してよい。
いくつかの実施形態において、上述されたようなデータストレージ116に格納され得る決定木132又は好適な確率モデルに基づいて、歩行分類モジュール208はユーザの歩行を分類してよい。決定木132は、(例えば、ユーザが通常歩行又はスイング歩行であると知られているいくつかの場合において得られた)トレーニングデータのセットに基づいて、モバイルコンピューティングデバイス100又は別のコンピューティングデバイスにより生成されてよいことを理解されたい。具体的には、機械学習アルゴリズムが、決定木132を生成するのに利用されてよい。歩行分類モジュール208は、ユーザの歩行に関する様々な検知特性を解析してよく、歩行分類モジュール208は、ユーザの歩行を、慣性特性の点で通常歩行又はスイング歩行と相関させるように構成されてよい。いくつかの実施形態において、決定木132は、例えば、モバイルコンピューティングデバイス100の振り子運動の平均間隔、モバイルコンピューティングデバイス100の振り子運動の平均ピーク、予め定義された期間におけるモバイルコンピューティングデバイス100の軸方向運動の量、及び/又は他の好適なパラメータを含む、複数のパラメータ/特徴を利用してよい。
磁気歪み検出モジュール210は、ユーザの進行方向(例えば、未補正進行方向)を判定するにあたって、磁気測定値(例えば、磁場データ)を利用するかどうかを判定するように構成されている。例えば、いくつかの実施形態において、磁気歪み検出モジュール210は、モバイルコンピューティングデバイス100が(例えば、許容閾値を超える磁気歪みをもたらす)大規模な磁場の近辺にいるかどうかを判定してよい。その場合、磁気歪み検出モジュール210は、磁気計による測定を利用しない(例えば、加速度及び方向/ジャイロスコープの慣性データだけに頼る)と判定してよい。
ステップ検出モジュール212は、ユーザがいつ物理的なステップをしたかを検出する。上述されたように、例示のステップ検出モジュール212には、通常歩行ステップ検出モジュール216及びスイング歩行ステップ検出モジュール218が含まれる。例示の実施形態において、ステップ検出モジュール212は、ユーザの歩行を通常歩行又はスイング歩行として分類することに基づいて、通常歩行ステップ検出モジュール216を利用するか、スイング歩行ステップ検出モジュール218を利用するかを判定する。いくつかの実施形態において、通常歩行ステップ検出モジュール216及びスイング歩行ステップ検出モジュール218は、並行して動作してよく、それに応じてステップ検出モジュール212は、歩行分類モジュール208の判定に基づき、適切なモジュール216、218を選択してよい。
例示の実施形態において、通常歩行ステップ検出モジュール216は、ユーザが物理的なステップをしたかどうかを、加速度計124から収集したセンサデータに基づいて(例えば、モバイルコンピューティングデバイス100の加速度の大きさの変化を解析することで)判定する。他の実施形態において、通常歩行ステップ検出モジュール216は、センサ118の別のセットにより収集されたセンサデータに基づいて、ユーザの物理的なステップを検出してよい。いくつかの実施形態において、ステップ検出モジュール212は、歩数計又は類似のモジュールとして具現化されてよいことを理解されたい。
スイング歩行ステップ検出モジュール218はまた、加速度計124から収集したセンサデータに基づいて、ユーザが物理的なステップをしたかどうかを判定する。具体的には、図10に示され、また後述されるように、スイング歩行ステップ検出モジュール218は、第1のローパスフィルタ(例えば、高いカットオフ周波数を有する)をモバイルコンピューティングデバイス100の検知された加速度に適用して、第1の加速度関数を生成してよく、また第2のローパスフィルタ(例えば、低いカットオフ周波数を有する)を当該加速度に適用して、第2の加速度関数を生成してよい。さらに、スイング歩行ステップ検出モジュール218は、第1の加速度関数及び第2の加速度関数に基づいて正弦関数を判定してよく、また正弦関数の各ピークを、異なる物理的なステップに対応するものとして識別してよい。いくつかの実施形態において、第1の加速度関数(すなわち、高いカットオフ周波数に基づく)は正弦波形であってよく、第2の加速度関数(すなわち、低いカットオフ周波数に基づく)は歩行中のユーザの平均加速度を示してよい。
より具体的には、いくつかの実施形態において、スイング歩行ステップ検出モジュール218は、SA(k)=γ×αmag(k)+(1−γ)×αmag(k−1)に従って第1の加速度を判定し、SB(k)=γ×αmag(k)+(1−γ)×αmag(k−1)に従って第2の加速度関数を判定し、cos(θ)=|SA(k)×SB(k)|/(|SA(k)|×|SB(k)|)に従って正弦関数を判定してよい。ここで、SA(k)は第1の加速度関数であり、SB(k)は第2の加速度関数であり、γは第1のローパスフィルタのフィルタリングパラメータであり、γは第2のローパスフィルタのフィルタリングパラメータであり、αmag(k)はステップkでの加速度の大きさであり、αmag(k−1)は直前のステップk−1での加速度の大きさである。角度θは、例示の実施形態において、ユーザの腕と重力の方向との間の角度を示すことを理解されたい。いくつかの実施形態において、フィルタリングパラメータは、1/8及び1/32に等しくてよい。
図10に示されるように、グラフ1000は、モバイルコンピューティングデバイス100の加速度の大きさを時間と共にプロットしており、グラフ1002は、スイング歩行中の正弦関数cos(θ)を時間と共にプロットしている。いくつかの実施形態において、加速度に基づいたグラフ1000のピークは、正弦関数に基づいたグラフ1002のピークほど明白ではないことを理解されたい。いくつかの実施形態において、スイング歩行ステップ検出モジュール218は、スイング歩行中のユーザの物理的なステップを示した、グラフ1000及び1002のうち一方又は両方のピークのそれぞれを識別してよい。さらに、いくつかの実施形態において、グラフ1000、1002は、ユーザがモバイルコンピューティングデバイス100を前後に揺り動かしている時点を判定するのに利用されてもよい。例えば、いくつかの実施形態において、グラフ1000の小さいピーク1004の直後にグラフ1002のピーク1006が続くことで、モバイルコンピューティングデバイス100を前方に揺り動かしていることが示されてよく、グラフ1000の大きいピーク1008の直後にグラフ1002のピーク1010が続くことで、モバイルコンピューティングデバイスを後方に揺り動かしていることが示されてよい。もちろん、他の実施形態において、スイング歩行ステップ検出モジュール218が、スイング歩行中のユーザのステップを検出するために、他の好適な技法を利用してよいことを理解されたい。
図2に戻って参照すると、慣性測定モジュール214は、モバイルコンピューティングデバイス100の慣性特性と関連したセンサデータを処理するように構成されている。例えば、慣性測定モジュール214は、センサデータを進行方向判定モジュール204が使用できる形式に変換してよい。いくつかの実施形態において、慣性測定モジュール214は、モバイルコンピューティングデバイス100の加速度計124、ジャイロスコープ126、磁気計128、及び/又は他のセンサ118によって収集されたデータを処理し、例えば、加速度、傾斜、及び方向など、モバイルコンピューティングデバイス100の運動特性を判定するように構成された、1つ又は複数の慣性測定ユニット(IMU)として具現化されてよい。
本明細書に説明されるように、いくつかの実施形態において、慣性測定モジュール214は、著しい磁気歪み(すなわち、閾値を超えた歪み)が確認された場合に、(磁気計128のデータではなく)加速度計124及びジャイロスコープ126のデータを利用する第1のIMUと、そのような磁気歪みが確認されていない場合に、加速度計124、ジャイロスコープ126、及び磁気計128のデータを利用する第2のIMUとを含んでよい。いくつかの実施形態において、第1のIMUは、回転ベクトルセンサとして具現化されてよい。特定の実施形態に応じて、これらのIMUは並行して動作してよく、又は、慣性測定モジュール214は、適切なIMUを選択した後、それに応じてデータを生成してよい。他の実施形態において、単一のIMUが利用されてよく、慣性測定モジュール214は、磁気歪みが存在する状況において、磁気計128のデータを無視してよい。慣性測定モジュール214は、独立したモジュールとして具現化されてよく、又はモバイルコンピューティングデバイス100に関する1つ又は複数の他のモジュール/回路の一部を形成してよいことを理解されたい。
進行方向判定モジュール204は、ユーザの進行方向を推定するために様々なデータを解析し、その結果は、ユーザの位置を判定及び/又は追跡するために、位置判定モジュール206により用いられてよい。上述されたように、例示の実施形態において、進行方向判定モジュール204には、未補正進行方向推定モジュール220、運動管理モジュール222、及びカルマンフィルタモジュール224が含まれる。
未補正進行方向推定モジュール220は、モバイルコンピューティングデバイス100の検知された慣性特性、及び/又は(例えば、慣性測定モジュール214からの)処理されたセンサデータ、並びにユーザが物理的なステップをしたという(例えば、ステップ検出モジュール212からの)インジケーションに基づいて、モバイルコンピューティングデバイス100の「未補正」進行方向を判定する。例示の実施形態において、未補正進行方向推定モジュール220は、モバイルコンピューティングデバイス100及び/又はユーザの進行方向、並びにモバイルコンピューティングデバイス100の直前の方向に対するモバイルコンピューティングデバイス100の方向を、例えば、モバイルコンピューティングデバイス100の検知された慣性特性に基づいて判定する。例えば、未補正進行方向推定モジュール220は、直前のステップ(例えば、ユーザの最後から2番目のステップ)におけるモバイルコンピューティングデバイス100の方向に対する、現在のステップにおけるモバイルコンピューティングデバイス100の方向の変化を判定してよい。
後述されるように、いくつかの実施形態において、未補正進行方向推定モジュール220は、モバイルコンピューティングデバイス100の検知された加速度を地球座標系に変換し、モバイルコンピューティングデバイス100の方向速度を判定するために加速度を積分する。状況によっては、未補正進行方向推定モジュール220は、モバイルコンピューティングデバイス100及びユーザが同じ速度で移動し、したがって、モバイルコンピューティングデバイス100の速度の大きさ及び/又は方向の推定が、ユーザの速度の大きさ及び/又は方向を近似してよいと仮定することを理解されたい。例示の実施形態において、モバイルコンピューティングデバイス100の進行方向は、モバイルコンピューティングデバイス100の判定速度の方向として判定されるか、そうでなければそれに基づいて判定される。しかし、他の実施形態において、モバイルコンピューティングデバイス100の判定速度の大きさは、モバイルコンピューティングデバイス100の進行方向を判定することにも用いられてよい。後述されるように、未補正進行方向推定モジュール220は、ユーザの現在の歩行と対応するユーザ歩行モデル130(例えば、通常歩行モデル、又はスイング歩行モデル)に基づいて、速度を判定してよい。
場合によっては、モバイルコンピューティングデバイス100がユーザに対して固定された方向に維持されるように、ユーザは、モバイルコンピューティングデバイス100を自分の前に保持してよい。これらの状況では、モバイルコンピューティングデバイス100の動きは概して、ステップ動作(すなわち、ユーザの歩く動きに関連した動作)に限定される。しかし、典型的な状況では、ユーザはモバイルコンピューティングデバイス100を無造作に保持することがあり、その結果、取り付け位置(すなわち、モバイルコンピューティングデバイス100が保持されている方向)が時間と共に変化し得る。例えば、ユーザは、モバイルコンピューティングデバイス100を縦長方向(すなわち、ユーザに対して0度)から横長方向(すなわち、ユーザに対して90度)に回転させ、モバイルコンピューティングデバイス100を自分のポケットに入れ、モバイルコンピューティングデバイス100を傾け(例えば、前方/下方に、又は後方/上方に)、歩行している間にモバイルコンピューティングデバイス100を(例えば、ユーザの横に対して)揺り動かし、及び/又は、そうでなければモバイルコンピューティングデバイス100の位置を変えることがある。典型的なPDRの実施態様では、誤差を最小化/低減しつつ、そのような非ステップ動作を処理することには困難がある(すなわち、グラウンドトゥルースと比較した場合)ことを理解されたい。
運動管理モジュール222は、進行方向判定モジュール204がユーザの進行方向をより正確に推定することを可能にするために、様々な非ステップ動作(例えば、ユーザによるモバイルコンピューティングデバイス100の傾斜及び回転)を考慮する。そうするために、運動管理モジュール222は、ユーザの手の動きを検出してよい。具体的には、例示の実施形態において、運動管理モジュール222が、モバイルコンピューティングデバイス100の方向に対するモバイルコンピューティングデバイス100の傾斜(すなわち、非水平面における回転)を直前のステップで検出した場合、運動管理モジュール222は、検出された物理的なステップを無視する。後述されるように、モバイルコンピューティングデバイス100は、ユーザの進行方向を推定するのにカルマンフィルタを利用してよい。換言すると、運動管理モジュール222は、検出されたステップと関連したデータがカルマンフィルタによって処理されないようにしてよく、又はそうでなければ、カルマンフィルタはそのデータを受け付けない。モバイルコンピューティングデバイス100が、次のステップで相対傾斜を持たない場合、運動管理モジュール222は再度、カルマンフィルタにデータが送信されて、カルマンフィルタにより処理されることを可能にしてよい。いくつかの実施形態において、運動管理モジュール222は相対傾斜の閾値量を確立してよく、ステップを無視するには、運動がそれを超えなければならないことを理解されたい。そのような実施形態は、例えば、歩く動き、及び/又は進行方向推定の精度に影響を与えない動きと共通する小量の傾斜を考慮してよい。いくつかの実施形態において、モバイルコンピューティングデバイス100を傾斜させるそのような動きが、本明細書で説明されるように補償されない場合、結果として、ガウスノイズ又はホワイトノイズを近似しない状態遷移誤差εをもたらし得る。
運動管理モジュール222はまた、水平面に沿った回転運動も考慮する。水平面に沿ったモバイルコンピューティングデバイス100の大きな回転運動は、ユーザの動き、したがってユーザの進行方向と関連しても、関連しなくてもよいことを理解されたい。例えば、大きな回転運動(例えば、90度)は、ユーザが向きを変えること、ユーザがモバイルコンピューティングデバイス100を自身に対して回転させること、又はこれらの動きの組み合わせと関連することがある。水平回転と関連した傾斜がない場合、及び/又は傾斜が基準閾値を超えていない場合、運動管理モジュール222は、上述されたように、カルマンフィルタによるデータの処理を妨げない。
そうではなく、この回転運動が考慮されないままの場合、モバイルコンピューティングデバイス100のユーザに対する動きは、不正確なユーザの進行方向推定につながり得ることを理解されたい。例示の実施形態において、水平回転運動が基準閾値(例えば、75度、90度、100度など)を超えた場合、運動管理モジュール222は、後述されるように、モバイルコンピューティングデバイス100の相対方向(O−Ok−1)に関連した測定をもはや当てにしない。1つの特定の実施形態において、基準閾値は90度の回転であり、その理由は、1度の物理的なステップで90度回転するのは不自然であり、したがって普通起こらないからである。したがって、運動管理モジュール222は、カルマンフィルタを再初期化し、フィルタの状態共分散Pを増加させることで、カルマンフィルタの誤差の許容範囲を拡大する。換言すると、運動管理モジュール222は、後述されるカルマンフィルタの初期化及びパラメータを少なくとも部分的に処理する適応型コントローラとして働くことができる。状況によっては、運動管理モジュール222は、モバイルコンピューティングデバイス100の非ステップ動作を考慮しなくてよい(又は十分に考慮しなくてよい)ことをさらに理解されたい。
カルマンフィルタモジュール224は、モバイルコンピューティングデバイス100の未補正進行方向、及びモバイルコンピューティングデバイス100の方向の変化(すなわち、直前のステップでの方向に対するモバイルコンピューティングデバイス100の方向)に基づいて、ユーザの進行方向を判定するためにカルマンフィルタを適用するように構成されている。上述されたように、カルマンフィルタモジュール224は、(例えば、運動管理モジュール222とともに)カルマンフィルタからの様々なデータを受け付けなくてよく、(例えば、測定/検出されたユーザの第1のステップの前に)カルマンフィルタを初期化してよく、及び/又は、様々な時点でカルマンフィルタを再初期化してよい。例示の実施形態において、カルマンフィルタモジュール224は、下記に図3を参照して説明されている例示のPDRモデルに基づいて、ユーザのリアルタイムの進行方向を推定するために、カルマンフィルタを適用する。
次に図3を参照すると、ユーザ300が、異なる物理的なステップ302、304、306で様々な進行方向(Hk−1、H、Hk+1)を向いて示されており、ある座標系に対して様々な方向(Ok−1、O、Ok+1)にモバイルコンピューティングデバイス100を保持している。例示のステップ302、304、306において、Oは、ステップkにおける水平面内のモバイルコンピューティングデバイス100の方向であり、Hは、ステップkにおけるユーザの進行方向であり、Rは、ステップkにおけるデバイスの方向とユーザの進行方向との間の相対角度であることを理解されたい。より具体的には、第1のステップ302で、ユーザ300は当該座標系に対して0度の進行方向Hk−1にあり、モバイルコンピューティングデバイス100は0度の方向Ok−1にあり、両者の間に画定される相対角度Rk−1は0度である。第2のステップ304で、ユーザ300は0度の進行方向Hにあり、モバイルコンピューティングデバイス100は90度の方向Oにあり、相対角度Rは90度である。さらに、第3のステップ306で、ユーザ300は45度の進行方向Hk+1にあり、モバイルコンピューティングデバイス100は135度の方向Ok+1にあり、相対角度Rk+1は90度である。
ステップkではH=O+Rであり、ステップkにおけるユーザの進行方向の変化は、H−Hk−1=(O−Ok−1)+(R−Rk−1)に従い、PDRモデルで計算されてよいことを理解されたい。例示のPDRモデルにおいて、O−Ok−1は、モバイルコンピューティングデバイス100のステップkにおける(すなわち、ステップk−1に対する)方向の変化を表し、検知されたモバイルコンピューティングデバイス100の慣性特性に基づいて、慣性測定モジュール214により判定されてよい。さらに、R−Rk−1は、ステップkにおける(すなわち、ステップk−1に対する)ユーザ300とモバイルコンピューティングデバイス100との間の相対角度の変化を表す。ほとんどの状況で、R−Rk−1は0となるが、それは、ほとんどのユーザがPDR中にモバイルコンピューティングデバイス100の取り付け位置/方向を頻繁に変えないからである。
カルマンフィルタが、定義された状態遷移関数及び測定関数yに基づいて、フィルタ状態xを推定するのに適用されてよいことを理解されたい。例示の実施形態において、フィルタ状態xは、ユーザの進行方向Hと定義されている。換言すると、x=Hである。上述されたPDRモデルに基づいて、状態遷移関数が、x=xk−1+O−Ok−1+εと定義されており、εはステップkでの状態遷移誤差である。さらに、上述されたように、xは、ステップkにおける判定されたユーザの進行方向であり、Oは、ステップkにおけるモバイルコンピューティングデバイス100の方向である。例示の実施形態において、状態遷移誤差は、O−Ok−1の判定に関連した測定誤差、及びモバイルコンピューティングデバイス100の位置/方向変化の誤差R−Rk−1を含む。例示の実施形態において、カルマン関数は(例えば、フィルタの安定性を確保するために)R−Rk−1=0と仮定することを理解されたい。しかし、そうならない場合があるので、運動管理モジュール222は、上述されたように、R−Rk−1≠0の状況を処理してよい。さらに、測定関数yは、y=x+δと定義されてよく、ここで、yは、上述されたようにモバイルコンピューティングデバイス100の未補正進行方向であり、δは、モバイルコンピューティングデバイス100の加速度の積分に関連した測定誤差である。
図2に戻ると、例示の実施形態において、カルマンフィルタモジュール224は、上述されたように、状態遷移関数x=xk−1+O−Ok−1+εと、測定関数y=x+δとを有する線形カルマンフィルタを適用することで、ユーザの推定進行方向を判定してよい。他の実施形態において、カルマンフィルタモジュール224は、ユーザの進行方向を判定するために、カルマンフィルタの他の変形形態を適用してよい。例えば、いくつかの実施形態において、カルマンフィルタモジュール224は、状態遷移関数x=H−Hk−1=O−Ok−1+εと、測定関数y=x+Hk−1+δとを有するカルマンフィルタを適用してよく、ここで、Hは、ステップkにおけるユーザの推定進行方向であり、xは、ステップkにおける推定進行方向の変化であり、Oは、ステップkにおけるモバイルコンピューティングデバイスの方向であり、εは、ステップkにおける状態遷移誤差であり、yは、ステップkにおけるモバイルコンピューティングデバイスの判定された進行方向(例えば、方向速度)であり、δは、ステップkにおけるモバイルコンピューティングデバイスの加速度の積分と関連した測定誤差である。さらに他の実施形態において、カルマンフィルタモジュール224及び/又は進行方向判定モジュール204は、追加的に又は代替的に、上述されたPDRモデルに基づいて、別のフィルタ(例えば、推定用の別のディスクリートフィルタ)を適用してよい。
位置判定モジュール206は、判定されたユーザの進行方向、ユーザの推定歩幅、直前の物理的なステップにおけるユーザの位置に基づいて、ユーザの推定位置を判定する。例えば、位置判定モジュール206は、ユーザが、判定されたユーザの進行方向の方向に、直前の位置からユーザの歩幅に対応する距離だけ離れたところに位置していると判定してよい。上述されたように、例示の実施形態において、位置判定モジュール206には、歩幅推定モジュール226及び位置補正モジュール228が含まれる。
歩幅推定モジュール226は、ユーザ歩行モデル130に基づいて、ユーザの推定歩幅を判定する。特定の実施形態に応じて、ユーザ歩行モデル130は、ユーザの歩幅の推定を含む汎用モデル(例えば、1つのサイズが全てのモデルに適合する)であってよく、又はユーザ歩行モデル130は、ユーザ固有のモデルであってもよい。例示の実施形態において、歩幅推定モジュール226は、本明細書で説明されたように、現在ユーザが普通に歩行しているか、又はスイング歩行をしているかに基づいて、適切なユーザ歩行モデル130(例えば、通常歩行又はスイング歩行)を選択してよい。さらに、いくつかの実施形態において、ユーザ固有のユーザ歩行モデル130が生成されてよく、又はユーザとの「トレーニング期間」の後に、汎用モデルが適応されてよい。例えば、モバイルコンピューティングデバイス100は、一定のステップをするようにユーザに要請して、移動した距離を測定してよい。さらに、いくつかの実施形態において、ユーザ歩行モデル130は、ユーザが歩行しているのか、ジョギングしているのか、走っているのか、そうでなければ速く歩いているのかに応じて、歩幅を変えることを含んでよく、これは、センサ118により収集されたセンサデータの解析に基づいて判定されてよい。他の実施形態において、歩幅推定モジュール226は、(例えば、ユーザ歩行モデル130を用いても、用いなくても)モバイルコンピューティングデバイス100のセンサ118により収集されたデータに基づいて、ユーザの推定歩幅を判定してよい。
位置補正モジュール228は、様々な要因に基づいて、ユーザの推定位置を補正するように構成されている。上述されたように、カルマンフィルタは(例えば、水平回転運動の基準閾値を超える、モバイルコンピューティングデバイス100の回転運動に応答して)運動管理モジュール222及び/又はカルマンフィルタモジュール224により再初期化されてよい。カルマンフィルタは、再初期化の後に、収束し安定するために一定期間を必要とすることを理解されたい。したがって、カルマンフィルタが収束しつつある時点で判定されたユーザの位置は、ユーザの動き次第で不正確になる場合がある。
したがって、例示の実施形態において、位置補正モジュール228は、カルマンフィルタが再初期化され、収束したという判定に応答して、判定されたユーザの推定位置を補正する。例えば、位置補正モジュール228は、カルマンフィルタの再初期化後にユーザが閾値数のステップ(例えば、2歩、3歩、5歩、10歩、20歩、50歩など)をすると、再初期化後のステップのうち1つ又は複数に対して、ユーザの推定位置を補正してよい。例示の実施形態において、位置補正モジュール228は、再初期化後の最後のステップ(例えば、閾値ステップ)から最初のステップに戻るまでユーザの進行方向を再計算し、ユーザの進行方向を更新することによって、及び、再初期化後の最初のステップからユーザが行った最後のステップ(例えば、閾値ステップ)まで、更新されたユーザの進行方向でユーザの位置を再計算することによって、ユーザの位置を「バックステップ(backstep)」してよい。1回又は複数回バックステップした後に、カルマンフィルタは安定する(すなわち、再び再初期化されない限り)。位置補正モジュール228は、他の実施形態において、判定されたユーザの進行方向及び/又は位置を別の方法で補正してよいことを理解されたい。
次に図4〜図6を参照すると、モバイルコンピューティングデバイス100は、使用時に、(例えばPDRを用いて)ユーザの位置を判定するための方法400を実行してよい。例示の方法400は、図4のブロック402で始まり、ここでは、モバイルコンピューティングデバイス100は、ユーザの場所/位置を追跡するかどうか(すなわち、PDRを開始するかどうか)を判定する。追跡する場合、モバイルコンピューティングデバイス100は、ブロック406において追跡を初期化する。例えば、ブロック406において、モバイルコンピューティングデバイス100は、上述されたように、適切なパラメータ、状態遷移関数、及び測定関数に基づいてカルマンフィルタを初期化する。もちろん、初期化中に、モバイルコンピューティングデバイス100は、メモリ114又はデータストレージ116からユーザ歩行モデル130を引き出し、モバイルコンピューティングデバイス100のセンサ118及び1つ若しくは複数のモジュール(例えば、慣性測定モジュール214)を初期化し、並びに/又は、他の初期化手順及び構成手順を実行してよい。
ブロック408において、モバイルコンピューティングデバイス100は、モバイルコンピューティングデバイス100の慣性特性、及び/又は他の特性を検知する。例えば、上述されたように、モバイルコンピューティングデバイス100は、加速度、角度方向(例えば、ロール角、ピッチ角、及びヨー角)、磁場、並びに/又は、モバイルコンピューティングデバイス100の他の慣性特性、方向特性、若しくは他の特性(例えば、PDR解析に関連する特性)を検知してよい。
ブロック410において、モバイルコンピューティングデバイス100は、検知された慣性特性に基づいて、ユーザの未補正進行方向を判定するために、磁気計の測定値を利用するかどうかを判定する。利用するには、モバイルコンピューティングデバイス100は、図7に示されるように、磁気計の測定値を利用するかどうかを判定するための方法700を実行してよい。例示の方法700はブロック702で始まり、ここでは、モバイルコンピューティングデバイス100は、モバイルコンピューティングデバイス100の検知された加速度の大きさを加速度閾値と比較する。例示の実施形態において、加速度閾値は、典型的な歩行で経験する加速度より大きい(例えば、重力のほぼ1.2倍)。ブロック704において、モバイルコンピューティングデバイス100は、モバイルコンピューティングデバイス100により検出された磁場の大きさを磁気閾値と比較する。いくつかの実施形態において、磁気閾値は、モバイルコンピューティングデバイス100が受けることになりそうな磁気歪みを上回る値になるように決定されている。
図7に示されるように、いくつかの実施形態において、モバイルコンピューティングデバイス100は、ブロック706、710を並行して実行してよいが、他の実施形態において、ブロック706、710は順次に実行されてよい。ブロック706において、モバイルコンピューティングデバイス100は、加速度の大きさが加速度閾値を超えているかどうかを判定する。超えている場合、モバイルコンピューティングデバイス100は、方法700を終わらせる(例えば、好適な誤差処理を実行する)と判定してよい。いくつかの実施形態において、加速度閾値を超えるモバイルコンピューティングデバイス100の加速度(例えば、「激しい」動き)は、加速度計124によって生成された加速度データが重力の方向を判定できないような動きに対してバイアスされている状態に対応してよいことを理解されたい。しかし、モバイルコンピューティングデバイス100が、モバイルコンピューティングデバイス100の加速度が加速度閾値を超えていないと判定した場合、ブロック708において、モバイルコンピューティングデバイス100は、検知された慣性特性に基づいて重力の方向を判定する。
ブロック710において、モバイルコンピューティングデバイス100は、検知された磁場の大きさが磁気閾値を超えているかどうかを判定する。超えている場合、モバイルコンピューティングデバイス100は、(例えば、モバイルコンピューティングデバイス100の近辺の「強い」磁場の結果として)著しい磁気歪みが存在すると判定し、本方法は、モバイルコンピューティングデバイス100が磁気計の測定値を利用しないと判定するブロック722に進む。しかし、モバイルコンピューティングデバイス100が、検知された磁場が磁気閾値を超えていないと判定した場合、モバイルコンピューティングデバイス100は、ブロック712において、検知された磁場の方向を判定する。
ブロック714において、モバイルコンピューティングデバイス100は、重力の方向と磁場の方向との間の伏角を判定する。例えば、モバイルコンピューティングデバイス100は、重力と関連したベクトルと、検知された磁場と関連したベクトルとの間の角度を判定してよい。そのような角度は、本明細書では、「dip angle(伏角)」、「magnetic inclination(磁気傾斜)」、又は「magnetic dip(伏角)」と呼ばれることがあることを理解されたい。ブロック716において、モバイルコンピューティングデバイス100は、判定伏角をモバイルコンピューティングデバイス100の期待伏角(例えば、予め定められた期待値/格納値)と比較する。多くの実施形態において、磁気歪みが存在しない状態では、伏角は比較的一定となることを理解されたい。したがって、磁気歪みがない(又は、許容閾値までの低い磁気歪みである)場合、判定伏角と期待伏角との間の差は比較的小さいはずである。ブロック718において、モバイルコンピューティングデバイス100は、判定伏角と期待伏角との間の差が、そのような差の許容される予め定められた閾値を超えているかどうかを判定する。超えている場合、モバイルコンピューティングデバイス100は、(例えば、確認された又は疑われる磁気歪みに起因して)ブロック722において進行方向推定に磁気測定値を利用しないと判定する。しかし、モバイルコンピューティングデバイス100が、その差が閾値を超えていないと判定した場合、モバイルコンピューティングデバイス100は、ユーザの進行方向を推定するにあたって、(例えば、磁気計128の)磁気測定値を利用してよい。
図4に戻ると、ブロック412において、モバイルコンピューティングデバイス100は、検知された慣性特性に基づいて、どのユーザ歩行モデル130を利用するかを判定する。例示の実施形態では、ブロック414において、モバイルコンピューティングデバイス100は、スイング歩行モデルを利用するか、通常歩行モデルを利用するかを、センサ118から受信したデータに基づいて判定する。例示の実施形態において、通常歩行モデル800(図8を参照のこと)及びスイング歩行モデル900(図9を参照のこと)は、例えば、これらの歩行に関連した慣性特性の差に起因して、著しく異なることを理解されたい。
図8に示されるように、通常歩行モデル800は、2つの踵接地イベント802及び2つの足指離地イベント804を含む全歩行周期を示す。踵接地イベント802は、ユーザが歩行時にステップをしたとき、前方の足の踵を地面に接地した状態に対応し、足指離地イベント804は、ユーザがステップをしたとき、後方の足の足指を地面から持ち上げた状態に対応する。加速度(加速度計124により検知される)の大きさのピークは概して、踵接地イベント802のときに発生することを理解されたい。さらに、モバイルコンピューティングデバイス100がユーザの身体に「取り付け」られている場合、又は別の方法でユーザの身体に対して安定した位置に(例えば、ユーザの横に)保持されている場合、モバイルコンピューティングデバイス100は、足指離地イベント804の後に加速し、踵接地イベント802の前に減速する。ユーザがスイング歩行をしている場合に通常歩行モデル800を用いると、スイング歩行と関連した異なる運動学に起因して、誤差をもたらすことがあることを理解されたい。例えば、身体の歩行データが、手を揺り動かすデータによって歪むことがあり、これにより、誤ったPDR進行方向推定及び位置判定がもたらされる。
図9に示されるように、スイング歩行モデル900も、2つの踵接地イベント802及び2つの足指離地イベント804を含む全歩行周期を示す。さらに、スイング歩行モデル900は、ユーザの腕が揺れる動きを示し、したがって、このモデルはまた、ユーザがモバイルコンピューティングデバイス100を後方に(すなわち、進行方向と反対の方向へ)揺り動かす後方スイングイベント902と、ユーザがモバイルコンピューティングデバイス100を前方に(すなわち、進行方向へ)揺り動かす前方スイングイベント904とを示す。例示のモデル900は、モバイルコンピューティングデバイス100がユーザの右手に保持されていると仮定しており、その右手は、例えば、振り子運動で揺れ動いていることを理解されたい。もちろん、ユーザが代わりにモバイルコンピューティングデバイス100を左手に保持している、モデル900と類似したモデルが実施形態に使用されてよい。例示のスイング歩行モデル900において、モバイルコンピューティングデバイス100は、ユーザの手が後方に揺れ動くときに、歩行方向に沿って(すなわち、ユーザの進行方向の前方に)加速し、ユーザの手が前方に揺れ動くときに、歩行方向に沿って減速する。もちろん、ユーザ歩行モデル130は、ユーザの歩行の行程全体にわたって変化してよい(例えば、通常歩行とスイング歩行との間を行ったり来たりする)ことを理解されたい。したがって、そのような実施形態において、モバイルコンピューティングデバイス100は、進行方向推定を実行する場合に、ユーザ歩行モデル130を変えてよい。
図4に戻ると、ブロック416において、(例えば、IMUからの)センサデータに基づいて、ユーザがいつ物理的なステップをしたかを判定し、ユーザが通常歩行であるか、又はスイング歩行であるかに応じて、適切なユーザ歩行モデル130を判定する。センサデータはさらに、本明細書で説明されるように、様々な特性(例えば、モバイルコンピューティングデバイス100の未補正進行方向)を判定するために解析されてよい。モバイルコンピューティングデバイス100が、ユーザが物理的なステップをしなかったと判定した場合、方法400はブロック408に戻り、ここで、モバイルコンピューティングデバイス100は、モバイルコンピューティングデバイス100のセンサ118からデータを継続して収集する。換言すると、モバイルコンピューティングデバイス100は、ユーザのステップが検出されるまで待機してよい。モバイルコンピューティングデバイス100が、ユーザがステップをしたと判定した場合、方法400は図5のブロック418に進み、ここで、モバイルコンピューティングデバイス100は、ユーザの未補正進行方向(すなわち、モバイルコンピューティングデバイス100の進行方向)を判定する。そうするときに、上述されたように、モバイルコンピューティングデバイス100は、ブロック420において、モバイルコンピューティングデバイス100の検知された加速度に基づいて、モバイルコンピューティングデバイス100の水平速度方向を判定してよい。例えば、ユーザの現在の歩行に応じて、ブロック422では、モバイルコンピューティングデバイス100は、通常歩行モデル800に基づいてモバイルコンピューティングデバイス100の水平速度方向を判定してよく、ブロック424では、モバイルコンピューティングデバイス100は、スイング歩行モデル900に基づいてモバイルコンピューティングデバイス100の水平速度方向を判定してよい。
具体的には、上述されたように、モバイルコンピューティングデバイス100は、センサ118でモバイルコンピューティングデバイス100の加速度を検知する。検知された加速度は、モバイルコンピューティングデバイス100、又はモバイルコンピューティングデバイス100の加速度を検知するセンサ118の座標系に対して定義されることを理解されたい。例示の実施形態において、モバイルコンピューティングデバイス100は、回転行列によって、検知された加速度をモバイルコンピューティングデバイス100の座標系から地球座標系に変換する。回転行列は、2つの座標系の間のマッピングを定義する。例えば、地球座標系における新たな加速度αetは、αet=Aαに従って判定されてよく、ここで、Aは回転行列であり、αはモバイルコンピューティングデバイスにより検知された加速度である。回転行列は、好適なアルゴリズム又は技法を用いて計算されてよいことを理解されたい。
例示の実施形態において、モバイルコンピューティングデバイス100は、地球座標系の加速度を短期間で積分(又は合計)することで、モバイルコンピューティングデバイス100の速度(すなわち、ベクトル量)を判定する。拡大された期間で積分又は合計すると、上述されたように、通常、著しい誤差δがもたらされることが理解されよう。したがって、いくつかの実施形態において、モバイルコンピューティングデバイス100は、モバイルコンピューティングデバイス100の瞬間速度の近似値を求め、誤差の導入を最小化しようとして、非常に短い期間Δで加速度を合計する。地球座標系における速度は、vet=ΣαetΔに従って判定されてよい。例示の実施形態において、積分の間隔は、用いられている特定のユーザ歩行モデル130に依存することを理解されたい。上述されたように、モバイルコンピューティングデバイス100は、ユーザが通常歩行であるか、又はスイング歩行であるかに応じて(図8〜図9を参照のこと)、様々な間隔の間に加速する。したがって、例示の実施形態において、加速度の積分は、通常歩行モデル800が利用されているか、又はスイング歩行モデル900が利用されているかに応じて、様々な値をもたらし得ることを理解されたい。
例示の実施形態において、モバイルコンピューティングデバイス100は、地球座標系の速度を水平面(例えば、ユーザが歩いた地面に一致する水平面)に投影して、ユーザが歩いた方向におけるモバイルコンピューティングデバイス100の水平速度を判定する。例示の実施形態において、判定された水平速度方向は、本明細書で説明されたように、未補正進行方向であることが理解されよう。上述されたように、いくつかの実施形態において、モバイルコンピューティングデバイス100の進行方向は、判定された水平速度の大きさを無視してよい。
ブロック426において、モバイルコンピューティングデバイス100は、傾斜(すなわち、非水平回転)が検出されているかどうかを判定する。傾斜が検出されている場合、モバイルコンピューティングデバイス100は、ブロック428において、検出されたステップを無視し、次に方法400は図4のブロック408に戻り、ここで、モバイルコンピューティングデバイス100は、慣性特性を継続して検知して、別のステップが検出されるまで待機する。上述されたように、モバイルコンピューティングデバイス100は基準閾値を利用し、傾斜の量が基準閾値を超えた場合にのみ、ユーザのステップを無視してよいことを理解されたい。
傾斜が検出されなかった場合、又は傾斜が基準閾値を超えていない場合、モバイルコンピューティングデバイス100は、大きな回転が検出されたかどうかをブロック430において判定する。大きな回転が検出された場合、モバイルコンピューティングデバイス100は、ブロック432において、カルマンフィルタを再初期化する。そうするときに、モバイルコンピューティングデバイス100は、ブロック434において、フィルタリングパラメータを修正してよい。例えば、上述されたように、モバイルコンピューティングデバイス100は、カルマンフィルタの誤差の許容範囲を拡大するために、カルマンフィルタの状態共分散を増加させてよい。上述されたように、モバイルコンピューティングデバイス100は、「大きな」回転を構成する水平回転運動の量に対する基準閾値を確立してよい。換言すると、モバイルコンピューティングデバイス100が閾値を超える量で回転した場合、モバイルコンピューティングデバイス100はカルマンフィルタを再初期化する。しかし、モバイルコンピューティングデバイス100が閾値を超える量で回転しなかった場合、モバイルコンピューティングデバイス100は、ブロック432においてカルマンフィルタを再初期化しない。したがって、上述されたように、モバイルコンピューティングデバイス100は、モバイルコンピューティングデバイス100の回転運動に応じて、カルマンフィルタのパラメータを調整できる適応型コントローラとして働く。
モバイルコンピューティングデバイス100がカルマンフィルタを再初期化するかどうかにかかわらず、方法400は図6のブロック436に進み、ここで、モバイルコンピューティングデバイス100はユーザの進行方向を推定する。そうするために、上述されたように、モバイルコンピューティングデバイス100は、ブロック438において、モバイルコンピューティングデバイス100の判定された方向変化O−Ok−1、モバイルコンピューティングデバイス100の判定された未補正進行方向y、及びフィルタリングパラメータ(例えば、カルマンフィルタが再初期化されたかどうかに基づく状態共分散)に基づいて、カルマンフィルタを適用してよい。具体的には、ブロック440及び442にそれぞれ示されるように、モバイルコンピューティングデバイス100は、状態遷移関数x=xk−1+O−Ok−1+εと、測定関数y=x+δとを有するカルマンフィルタを、上述されたように適用してよい。カルマンフィルタの出力は、上述されたように、ユーザの進行方向として定義されている状態xであることを理解されたい。さらに、いくつかの実施形態において、モバイルコンピューティングデバイス100は、ユーザの進行方向を判定するために、異なるフィルタ(例えば、上述されたカルマンフィルタの変形版)を適用してよい。
ブロック444において、モバイルコンピューティングデバイス100は、ユーザの歩幅(すなわち、水平方向におけるユーザのストライドの長さ)を判定する。例えば、モバイルコンピューティングデバイス100は、ユーザ歩行モデル130又は他の好適なユーザステップモデルに基づいて、ユーザの歩幅を判定してよい。上述されたように、いくつかの実施形態において、歩幅はユーザの特定の歩行に依存してよく、その場合、ユーザは、特定の歩行モデル(例えば、通常歩行モデル又はスイング歩行モデル)に基づいて歩幅を判定してよいことを理解されたい。他の実施形態において、モバイルコンピューティングデバイス100は、汎用のユーザステップモデルを利用してよい。ブロック446において、モバイルコンピューティングデバイス100は、ユーザの進行方向及びユーザの歩幅に基づいてユーザの位置を判定する。いくつかの実施形態において、モバイルコンピューティングデバイス100は、ユーザの直前のステップにおけるユーザの直前に判定された位置から、ユーザの進行方向に、ユーザがある距離(すなわち、歩幅)だけ離れて位置していると判定してよい。
ブロック448において、モバイルコンピューティングデバイス100は、ユーザの位置を補正するかどうかを判定する。上述されたように、カルマンフィルタは、モバイルコンピューティングデバイス100の大きな水平回転の検出に応答して、再初期化されてよい。これらの状況では、カルマンフィルタは、収束して再び安定するのに、一定の時間/ステップがかかり得る。したがって、モバイルコンピューティングデバイス100は、カルマンフィルタの再初期化後に、判定されたユーザの位置を閾値数のステップだけ補正(例えば、バックステップ)すると決定してよい。ブロック450において、モバイルコンピューティングデバイス100は、ユーザの位置を補正する。例示の実施形態において、モバイルコンピューティングデバイス100は、ユーザの進行方向及び位置計算をバックステップすることで補正する。例えば、ブロック452において、モバイルコンピューティングデバイス100は、ユーザの位置をバックステップして、新たな位置を計算してよい。具体的には、モバイルコンピューティングデバイス100は、再初期化後に、最後のステップから最初のステップに戻ってユーザの進行方向を再計算し、ユーザの進行方向を更新してよい。さらに、モバイルコンピューティングデバイス100は、再初期化後の最初のステップからユーザが進んだ最後のステップ(例えば、閾値のステップ)まで、更新されたユーザの進行方向でユーザの位置を再計算してよい。方法400は図4のブロック408に戻り、ここで、モバイルコンピューティングデバイス100は、ユーザによる次のステップが検出されるのを待つ。
本明細書で説明されたように、モバイルコンピューティングデバイス100は、進行方向推定、カルマンフィルタ、及びユーザの非ステップ動作(例えば、傾斜及び大きな回転)に対する適応型制御を用いて、段階を追って、ユーザの位置を追跡してよい。ユーザによるステップが検出されたことに応答して、ユーザの新たな位置が、ユーザの直前の位置、推定されたユーザの進行方向、及びユーザの推定歩幅に基づいて計算される。磁気歪み、及びユーザの歩く動きに関連しないモバイルコンピューティングデバイス100の動き(例えば、ユーザに対するモバイルコンピューティングデバイス100のスイング、傾斜、及び回転)が、モバイルコンピューティングデバイス100によって適切に処理される。さらに、特定の状況において、上述されたように、モバイルコンピューティングデバイス100はユーザの判定位置を補正してよい。
[実施例]
本明細書で開示された技術の例示の実施例が、下記に提供されている。これらの技術の実施形態が、後述される実施例のうち任意の1つ又は複数、及びそれらの実施例の任意の組み合わせを含んでよい。
実施例1は、ユーザの位置を判定するためのモバイルコンピューティングデバイスを含み、モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスの慣性特性を検知する複数の慣性センサと、検知された慣性特性に基づいて、モバイルコンピューティングデバイスのユーザの歩行を判定する歩行分類モジュールであって、歩行は、ユーザが歩行中にモバイルコンピューティングデバイスをユーザの横に保持していることを示す第1の歩行、及び、ユーザが歩行中にモバイルコンピューティングデバイスをユーザの横に沿って揺り動かしていることを示す第2の歩行のうち一方である、歩行分類モジュールと、検知された慣性特性及び判定されたユーザの歩行に基づいて、ユーザが物理的なステップをしたことを検出するステップ検出モジュールと、物理的なステップの方向を示す、モバイルコンピューティングデバイスの未補正進行方向を判定する進行方向判定モジュールと、判定されたユーザの未補正進行方向、ユーザの推定歩幅、及び直前の物理的なステップにおけるユーザの直前の位置に基づいて、ユーザの推定位置を判定する位置判定モジュールとを備える。
実施例2は、実施例1の主題を含んでおり、ユーザの歩行を判定することは、決定木及び検知された慣性特性に基づいて、ユーザの歩行を分類することを含み、決定木は、検知された慣性特性の複数のパラメータに基づいて、ユーザの歩行を、第1の歩行又は第2の歩行として識別する。
実施例3は、実施例1及び2のいずれかの主題を含んでおり、複数のパラメータには、モバイルコンピューティングデバイスの振り子運動の平均間隔、モバイルコンピューティングデバイスの振り子運動の平均ピーク、及び予め定義された期間におけるモバイルコンピューティングデバイスの軸方向運動量のうち少なくとも1つが含まれる。
実施例4は、実施例1から3のいずれかの主題を含んでおり、ユーザが物理的なステップをしたことを検出することは、ユーザの歩行が、ユーザが歩行中にモバイルコンピューティングデバイスをユーザの横に沿って揺り動かしていることを示す第2の歩行であるという判定に応答して、検知された慣性特性に基づき、モバイルコンピューティングデバイスの加速度を判定することと、第1のローパスフィルタをモバイルコンピューティングデバイスの加速度に適用して、第1の加速度関数を生成することと、第2のローパスフィルタをモバイルコンピューティングデバイスの加速度に適用して、第2の加速度関数を生成することであって、第1のローパスフィルタは第2のローパスフィルタより高いカットオフ周波数を有する、生成することと、第1の加速度関数及び第2の加速度関数に基づいて、正弦関数を判定することと、正弦関数の各ピークを、異なる物理的なステップに対応するものとして識別することとを含む。
実施例5は、実施例1から4のいずれかの主題を含んでおり、正弦関数の独立変数は、ユーザの腕と重力の方向との間の角度を示す。
実施例6は、実施例1から5のいずれかの主題を含んでおり、第1の加速度関数は、SA(k)=γ×αmag(k)+(1−γ)×αmag(k−1)に従って生成され、第2の加速度関数は、SB(k)=γ×αmag(k)+(1−γ)×αmag(k−1)に従って生成され、正弦関数は、cos(θ)=|SA(k)×SB(k)|/(|SA(k)|×|SB(k)|)に従って判定され、ここで、SA(k)は、第1の加速度関数であり、SB(k)は、第2の加速度関数であり、γは、第1のローパスフィルタの第1のフィルタリングパラメータであり、γは、第2のローパスフィルタの第2のフィルタリングパラメータであり、αmag(k)は、ステップkでの加速度の大きさであり、αmag(k−1)は、直前のステップk−1での加速度の大きさである。
実施例7は、実施例1から6のいずれかの主題を含んでおり、その方向におけるモバイルコンピューティングデバイスの未補正進行方向を判定することは、その方向におけるモバイルコンピューティングデバイスの速度を判定することを含む。
実施例8は、実施例1から7のいずれかの主題を含んでおり、その方向におけるモバイルコンピューティングデバイスの速度を判定することは、検知された慣性特性に基づいて、モバイルコンピューティングデバイスの加速度を判定することと、モバイルコンピューティングデバイスの判定された加速度を、モバイルコンピューティングデバイスの座標系から、地球座標系における加速度に変換することと、地球座標系における速度を判定するために地球座標系における加速度を積分することであって、加速度の積分の間隔は、判定されたユーザの歩行に対応するユーザ歩行モデルに基づいている、積分することとを含む。
実施例9は、実施例1から8のいずれかの主題を含んでおり、検知された慣性特性に基づいて、ユーザの未補正進行方向を判定するために、磁気測定値を利用するかどうかを判定する磁気歪み検出モジュールをさらに含む。
実施例10は、実施例1から9のいずれかの主題を含んでおり、モバイルコンピューティングデバイスの未補正進行方向を判定することは、磁気測定値を利用しないという判定に応答して、モバイルコンピューティングデバイスの加速度及び方向を示すデータに基づき、モバイルコンピューティングデバイスの未補正進行方向を判定することを含み、モバイルコンピューティングデバイスの未補正進行方向を判定することは、磁気測定値を利用するという判定に応答して、モバイルコンピューティングデバイスの加速度及び方向を示すデータ、並びにモバイルコンピューティングデバイスの近辺の磁場に基づき、モバイルコンピューティングデバイスの未補正進行方向を判定することを含む。
実施例11は、実施例1から10のいずれかの主題を含んでおり、磁気測定値を利用するかどうかを判定することは、モバイルコンピューティングデバイスの加速度を判定することと、モバイルコンピューティングデバイスの近辺の磁場を検知することと、加速度の大きさが加速度閾値を超えていない、且つ磁場の大きさが磁気閾値を超えていないという判定に応答して、加速度の方向と磁場の方向との間の伏角を判定することと、伏角を期待伏角と比較することとを含む。
実施例12は、実施例1から11のいずれかの主題を含んでおり、ユーザの歩行を判定し、ユーザが物理的なステップをしたことを検出し、モバイルコンピューティングデバイスの未補正進行方向を判定し、ユーザの推定位置を判定することは、ユーザの歩行を判定し、ユーザが物理的なステップをしたことを検出し、モバイルコンピューティングデバイスの未補正進行方向を判定し、ユーザが進んだ複数の一連の物理的なステップのそれぞれに対して、ユーザの推定位置を判定することを含む。
実施例13は、実施例1から12のいずれかの主題を含んでおり、判定されたユーザの未補正進行方向と、ユーザの直前の物理的なステップにおけるモバイルコンピューティングデバイスの直前の方向に対する、モバイルコンピューティングデバイスの方向の変化とに基づいて、ユーザの進行方向を判定するためにカルマンフィルタを適用するカルマンフィルタモジュールをさらに含み、ユーザの推定位置を判定することは、判定されたユーザの進行方向に基づいてユーザの推定位置を判定することを含む。
実施例14は、実施例1から13のいずれかの主題を含んでおり、モバイルコンピューティングデバイスが基準閾値を超える量で水平面に沿って回転したかどうかを判定し、モバイルコンピューティングデバイスが基準閾値を超える量で水平面に沿って回転したという判定に応答して、カルマンフィルタを再初期化する運動管理モジュールをさらに含む。
実施例15は、実施例1から14のいずれかの主題を含んでおり、ユーザが物理的なステップをしたことの検出に応答して、モバイルコンピューティングデバイスが非水平方向に傾斜しているかどうかを判定し、モバイルコンピューティングデバイスが非水平方向に傾斜しているという判定に応答して、検出された物理的なステップを無視する運動管理モジュールをさらに含む。
実施例16は、実施例1から15のいずれかの主題を含んでおり、位置判定モジュールはさらに、ユーザ歩行モデルに基づいてユーザの推定歩幅を判定する。
実施例17は、モバイルコンピューティングデバイスによりユーザの位置を判定するための方法を含み、本方法は、モバイルコンピューティングデバイスにより、及びモバイルコンピューティングデバイスの検知された慣性特性に基づいて、モバイルコンピューティングデバイスのユーザの歩行を判定する段階であって、歩行は、ユーザが歩行中にモバイルコンピューティングデバイスをユーザの横に保持していることを示す第1の歩行、及び、ユーザが歩行中にモバイルコンピューティングデバイスをユーザの横に沿って揺り動かしていることを示す第2の歩行のうち一方である、判定する段階と、モバイルコンピューティングデバイスにより、検知された慣性特性及び判定されたユーザの歩行に基づいて、ユーザが物理的なステップをしたことを検出する段階と、モバイルコンピューティングデバイスにより、物理的なステップの方向を示す、モバイルコンピューティングデバイスの未補正進行方向を判定する段階と、モバイルコンピューティングデバイスにより、判定されたユーザの未補正進行方向、ユーザの推定歩幅、及び直前の物理的なステップにおけるユーザの直前の位置に基づいて、ユーザの推定位置を判定する段階とを備える。
実施例18は、実施例17の主題を含んでおり、ユーザの歩行を判定する段階は、決定木及び検知された慣性特性に基づいて、ユーザの歩行を分類する段階を含み、決定木は、検知された慣性特性の複数のパラメータに基づいて、ユーザの歩行を、第1の歩行又は第2の歩行として識別する。
実施例19は、実施例17及び18のいずれかの主題を含んでおり、複数のパラメータには、モバイルコンピューティングデバイスの振り子運動の平均間隔、モバイルコンピューティングデバイスの振り子運動の平均ピーク、及び予め定義された期間におけるモバイルコンピューティングデバイスの軸方向運動量のうち少なくとも1つが含まれる。
実施例20は、実施例17から19のいずれかの主題を含んでおり、ユーザが物理的なステップをしたことを検出する段階は、ユーザの歩行が、ユーザが歩行中にモバイルコンピューティングデバイスをユーザの横に沿って揺り動かしていることを示す第2の歩行であるという判定に応答して、検知された慣性特性に基づき、モバイルコンピューティングデバイスの加速度を判定する段階と、第1のローパスフィルタをモバイルコンピューティングデバイスの加速度に適用して、第1の加速度関数を生成する段階と、第2のローパスフィルタをモバイルコンピューティングデバイスの加速度に適用して、第2の加速度関数を生成する段階であって、第1のローパスフィルタは第2のローパスフィルタより高いカットオフ周波数を有する、生成する段階と、第1の加速度関数及び第2の加速度関数に基づいて、正弦関数を判定する段階と、正弦関数の各ピークを、異なる物理的なステップに対応するものとして識別する段階とを含む。
実施例21は、実施例17から20のいずれかの主題を含んでおり、正弦関数の独立変数は、ユーザの腕と重力の方向との間の角度を示す。
実施例22は、実施例17から21のいずれかの主題を含んでおり、第1の加速度関数は、SA(k)=γ×αmag(k)+(1−γ)×αmag(k−1)に従って生成され、第2の加速度関数は、SB(k)=γ×αmag(k)+(1−γ)×αmag(k−1)に従って生成され、正弦関数は、cos(θ)=|SA(k)×SB(k)|/(|SA(k)|×|SB(k)|)に従って判定され、ここで、SA(k)は、第1の加速度関数であり、SB(k)は、第2の加速度関数であり、γは、第1のローパスフィルタの第1のフィルタリングパラメータであり、γは、第2のローパスフィルタの第2のフィルタリングパラメータであり、αmag(k)は、ステップkでの加速度の大きさであり、αmag(k−1)は、直前のステップk−1での加速度の大きさである。
実施例23は、実施例17から22のいずれかの主題を含んでおり、その方向におけるモバイルコンピューティングデバイスの未補正進行方向を判定する段階は、その方向におけるモバイルコンピューティングデバイスの速度を判定する段階を含む。
実施例24は、実施例17から23のいずれかの主題を含んでおり、その方向におけるモバイルコンピューティングデバイスの速度を判定する段階は、検知された慣性特性に基づいて、モバイルコンピューティングデバイスの加速度を判定する段階と、モバイルコンピューティングデバイスの判定された加速度を、モバイルコンピューティングデバイスの座標系から、地球座標系における加速度に変換する段階と、地球座標系における速度を判定するために地球座標系における加速度を積分する段階であって、加速度の積分の間隔は、判定されたユーザの歩行に対応するユーザ歩行モデルに基づいている、積分する段階とを含む。
実施例25は、実施例17から24のいずれかの主題を含んでおり、検知された慣性特性に基づいて、ユーザの未補正進行方向を判定するために、磁気測定値を利用するかどうかを、モバイルコンピューティングデバイスにより判定する段階をさらに含む。
実施例26は、実施例17から25のいずれかの主題を含んでおり、モバイルコンピューティングデバイスの未補正進行方向を判定する段階は、磁気測定値を利用しないという判定に応答して、モバイルコンピューティングデバイスの加速度及び方向を示すデータに基づき、モバイルコンピューティングデバイスの未補正進行方向を判定する段階を含み、モバイルコンピューティングデバイスの未補正進行方向を判定する段階は、磁気測定値を利用するという判定に応答して、モバイルコンピューティングデバイスの加速度及び方向を示すデータ、並びにモバイルコンピューティングデバイスの近辺の磁場に基づき、モバイルコンピューティングデバイスの未補正進行方向を判定する段階を含む。
実施例27は、実施例17から26のいずれかの主題を含んでおり、磁気測定値を利用するかどうかを判定する段階は、モバイルコンピューティングデバイスの加速度を判定する段階と、モバイルコンピューティングデバイスの近辺の磁場を検知する段階と、加速度の大きさが加速度閾値を超えていない、且つ磁場の大きさが磁気閾値を超えていないという判定に応答して、加速度の方向と磁場の方向との間の伏角を判定する段階と、伏角を期待伏角と比較する段階とを含む。
実施例28は、実施例17から27のいずれかの主題を含んでおり、ユーザの歩行を判定する段階、ユーザが物理的なステップをしたことを検出する段階、モバイルコンピューティングデバイスの未補正進行方向を判定する段階、及びユーザの推定位置を判定する段階は、ユーザの歩行を判定する段階、ユーザが物理的なステップをしたことを検出する段階、モバイルコンピューティングデバイスの未補正進行方向を判定する段階、及び、ユーザが進んだ複数の一連の物理的なステップのそれぞれに対して、ユーザの推定位置を判定する段階を含む。
実施例29は、実施例17から28のいずれかの主題を含んでおり、判定されたユーザの未補正進行方向と、ユーザの直前の物理的なステップにおけるモバイルコンピューティングデバイスの直前の方向に対する、モバイルコンピューティングデバイスの方向の変化とに基づいて、ユーザの進行方向を判定するためにカルマンフィルタをモバイルコンピューティングデバイスにより適用する段階をさらに含み、ユーザの推定位置を判定する段階は、判定されたユーザの進行方向に基づいてユーザの推定位置を判定する段階を含む。
実施例30は、実施例17から29のいずれかの主題を含んでおり、モバイルコンピューティングデバイスが基準閾値を超える量で水平面に沿って回転したかどうかを、モバイルコンピューティングデバイスにより判定する段階と、モバイルコンピューティングデバイスが基準閾値を超える量で水平面に沿って回転したという判定に応答して、カルマンフィルタをモバイルコンピューティングデバイスにより再初期化する段階とをさらに含む。
実施例31は、実施例17から30のいずれかの主題を含んでおり、ユーザが物理的なステップをしたことの検出に応答して、モバイルコンピューティングデバイスが非水平方向に傾斜しているかどうかをモバイルコンピューティングデバイスにより判定する段階と、モバイルコンピューティングデバイスが非水平方向に傾斜しているという判定に応答して、検出された物理的なステップをモバイルコンピューティングデバイスにより無視する段階とをさらに含む。
実施例32は、実施例17から31のいずれかの主題を含んでおり、ユーザ歩行モデルに基づいてユーザの推定歩幅をモバイルコンピューティングデバイスにより判定する段階をさらに含む。
実施例33は、プロセッサと、プロセッサにより実行された場合、実施例17から32のいずれかの方法をコンピューティングデバイスに実行させる複数の命令を内部に格納したメモリとを備えた、コンピューティングデバイスを含む。
実施例34は、格納された複数の命令を含む1つ又は複数の機械可読記憶媒体を含み、これらの命令は、実行されたことに応答して、実施例17から32のいずれかの方法を実行するコンピューティングデバイスをもたらす。
実施例35は、実施例17から32のいずれかの方法を実行するための手段を備えるコンピューティングデバイスを含む。
実施例36は、ユーザの位置を判定するためのモバイルコンピューティングデバイスを含み、モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスの慣性特性を検知する複数の慣性センサと、検知された慣性特性に基づいて、モバイルコンピューティングデバイスのユーザの歩行を判定するための手段であって、歩行は、ユーザが歩行中にモバイルコンピューティングデバイスをユーザの横に保持していることを示す第1の歩行、及び、ユーザが歩行中にモバイルコンピューティングデバイスをユーザの横に沿って揺り動かしていることを示す第2の歩行のうち一方である、判定するための手段と、検知された慣性特性及び判定されたユーザの歩行に基づいて、ユーザが物理的なステップをしたことを検出するための手段と、物理的なステップの方向を示す、モバイルコンピューティングデバイスの未補正進行方向を判定するための手段と、判定されたユーザの未補正進行方向、ユーザの推定歩幅、及び直前の物理的なステップにおけるユーザの直前の位置に基づいて、ユーザの推定位置を判定するための手段とを備える。
実施例37は、実施例36の主題を含んでおり、ユーザの歩行を判定するための手段は、決定木及び検知された慣性特性に基づいて、ユーザの歩行を分類するための手段を含み、決定木は、検知された慣性特性の複数のパラメータに基づいて、ユーザの歩行を、第1の歩行又は第2の歩行として識別する。
実施例38は、実施例36及び37のいずれかの主題を含んでおり、複数のパラメータには、モバイルコンピューティングデバイスの振り子運動の平均間隔、モバイルコンピューティングデバイスの振り子運動の平均ピーク、及び予め定義された期間におけるモバイルコンピューティングデバイスの軸方向運動量のうち少なくとも1つが含まれる。
実施例39は、実施例36から38のいずれかの主題を含んでおり、ユーザが物理的なステップをしたことを検出するための手段は、ユーザの歩行が、ユーザが歩行中にモバイルコンピューティングデバイスをユーザの横に沿って揺り動かしていることを示す第2の歩行であるという判定に応答して、検知された慣性特性に基づき、モバイルコンピューティングデバイスの加速度を判定するための手段と、第1のローパスフィルタをモバイルコンピューティングデバイスの加速度に適用して、第1の加速度関数を生成するための手段と、第2のローパスフィルタをモバイルコンピューティングデバイスの加速度に適用して、第2の加速度関数を生成するための手段であって、第1のローパスフィルタは第2のローパスフィルタより高いカットオフ周波数を有する、生成するための手段と、第1の加速度関数及び第2の加速度関数に基づいて、正弦関数を判定するための手段と、正弦関数の各ピークを、異なる物理的なステップに対応するものとして識別するための手段とを含む。
実施例40は、実施例36から39のいずれかの主題を含んでおり、正弦関数の独立変数は、ユーザの腕と重力の方向との間の角度を示す。
実施例41は、実施例36から40のいずれかの主題を含んでおり、第1の加速度関数は、SA(k)=γ×αmag(k)+(1−γ)×αmag(k−1)に従って生成され、第2の加速度関数は、SB(k)=γ×αmag(k)+(1−γ)×αmag(k−1)に従って生成され、正弦関数は、cos(θ)=|SA(k)×SB(k)|/(|SA(k)|×|SB(k)|)に従って判定され、ここで、SA(k)は、第1の加速度関数であり、SB(k)は、第2の加速度関数であり、γは、第1のローパスフィルタの第1のフィルタリングパラメータであり、γは、第2のローパスフィルタの第2のフィルタリングパラメータであり、αmag(k)は、ステップkでの加速度の大きさであり、αmag(k−1)は、直前のステップk−1での加速度の大きさである。
実施例42は、実施例36から41のいずれかの主題を含んでおり、その方向におけるモバイルコンピューティングデバイスの未補正進行方向を判定するための手段は、その方向におけるモバイルコンピューティングデバイスの速度を判定するための手段を含む。
実施例43は、実施例36から42のいずれかの主題を含んでおり、その方向におけるモバイルコンピューティングデバイスの速度を判定するための手段は、検知された慣性特性に基づいて、モバイルコンピューティングデバイスの加速度を判定するための手段と、モバイルコンピューティングデバイスの判定された加速度を、モバイルコンピューティングデバイスの座標系から、地球座標系における加速度に変換するための手段と、地球座標系における速度を判定するために地球座標系における加速度を積分するための手段であって、加速度の積分の間隔は、判定されたユーザの歩行に対応するユーザ歩行モデルに基づいている、積分するための手段とを含む。
実施例44は、実施例36から43のいずれかの主題を含んでおり、検知された慣性特性に基づいて、ユーザの未補正進行方向を判定するために、磁気測定値を利用するかどうかを判定するための手段をさらに含む。
実施例45は、実施例36から44のいずれかの主題を含んでおり、モバイルコンピューティングデバイスの未補正進行方向を判定するための手段は、磁気測定値を利用しないという判定に応答して、モバイルコンピューティングデバイスの加速度及び方向を示すデータに基づき、モバイルコンピューティングデバイスの未補正進行方向を判定するための手段を含み、モバイルコンピューティングデバイスの未補正進行方向を判定するための手段は、磁気測定値を利用するという判定に応答して、モバイルコンピューティングデバイスの加速度及び方向を示すデータ、並びにモバイルコンピューティングデバイスの近辺の磁場に基づき、モバイルコンピューティングデバイスの未補正進行方向を判定するための手段を含む。
実施例46は、実施例36から45のいずれかの主題を含んでおり、磁気測定値を利用するかどうかを判定するための手段は、モバイルコンピューティングデバイスの加速度を判定するための手段と、モバイルコンピューティングデバイスの近辺の磁場を検知するための手段と、加速度の大きさが加速度閾値を超えていない、且つ磁場の大きさが磁気閾値を超えていないという判定に応答して、加速度の方向と磁場の方向との間の伏角を判定するための手段と、伏角を期待伏角と比較するための手段とを含む。
実施例47は、実施例36から46のいずれかの主題を含んでおり、ユーザの歩行を判定するための手段、ユーザが物理的なステップをしたことを検出するための手段、モバイルコンピューティングデバイスの未補正進行方向を判定するための手段、及びユーザの推定位置を判定するための手段は、ユーザの歩行を判定するための手段、ユーザが物理的なステップをしたことを検出するための手段、モバイルコンピューティングデバイスの未補正進行方向を判定するための手段、及び、ユーザが進んだ複数の一連の物理的なステップのそれぞれに対して、ユーザの推定位置を判定するための手段を含む。
実施例48は、実施例36から47のいずれかの主題を含んでおり、判定されたユーザの未補正進行方向と、ユーザの直前の物理的なステップにおけるモバイルコンピューティングデバイスの直前の方向に対する、モバイルコンピューティングデバイスの方向の変化とに基づいて、ユーザの進行方向を判定するためにカルマンフィルタを適用するための手段をさらに含み、ユーザの推定位置を判定するための手段は、判定されたユーザの進行方向に基づいてユーザの推定位置を判定するための手段を含む。
実施例49は、実施例36から48のいずれかの主題を含んでおり、モバイルコンピューティングデバイスが基準閾値を超える量で水平面に沿って回転したかどうかを判定するための手段と、モバイルコンピューティングデバイスが基準閾値を超える量で水平面に沿って回転したという判定に応答して、カルマンフィルタを再初期化するための手段とをさらに含む。
実施例50は、実施例36から49のいずれかの主題を含んでおり、ユーザが物理的なステップをしたことの検出に応答して、モバイルコンピューティングデバイスが非水平方向に傾斜しているかどうかを判定するための手段と、モバイルコンピューティングデバイスが非水平方向に傾斜しているという判定に応答して、検出された物理的なステップを無視するための手段とをさらに含む。
実施例51は、実施例36から50のいずれかの主題を含んでおり、ユーザ歩行モデルに基づいてユーザの推定歩幅を判定するための手段をさらに含む。

Claims (26)

  1. ユーザの位置を判定するためのモバイルコンピューティングデバイスであって、前記モバイルコンピューティングデバイスは、
    前記モバイルコンピューティングデバイスの慣性特性を検知する複数の慣性センサと、
    検知された前記慣性特性に基づいて、前記モバイルコンピューティングデバイスのユーザの歩行を判定する歩行分類モジュールであって、前記歩行は、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に保持していることを示す第1の歩行、及び、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に沿って揺り動かしていることを示す第2の歩行のうち一方である、歩行分類モジュールと、
    検知された前記慣性特性及び判定された前記ユーザの前記歩行に基づいて、前記ユーザが物理的なステップをしたことを検出するステップ検出モジュールと、
    前記物理的なステップの方向を示す、前記モバイルコンピューティングデバイスの未補正進行方向を判定する進行方向判定モジュールと、
    判定された前記ユーザの前記未補正進行方向、前記ユーザの推定歩幅、及び直前の物理的なステップにおける前記ユーザの直前の位置に基づいて、前記ユーザの推定位置を判定する位置判定モジュールと
    を備え
    前記ユーザの前記歩行を判定することは、決定木及び検知された前記慣性特性に基づいて、前記ユーザの前記歩行を分類することを含み、
    前記決定木は、検知された前記慣性特性の複数のパラメータに基づいて、前記ユーザの前記歩行を、前記第1の歩行又は前記第2の歩行として識別し、
    前記複数のパラメータには、前記モバイルコンピューティングデバイスの振り子運動の平均間隔、前記モバイルコンピューティングデバイスの振り子運動の平均ピーク、及び予め定義された期間における前記モバイルコンピューティングデバイスの軸方向運動量が含まれる、モバイルコンピューティングデバイス。
  2. 前記ユーザが前記物理的なステップをしたことを検出することは、
    前記ユーザの前記歩行が、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に沿って揺り動かしていることを示す前記第2の歩行であるという判定に応答して、検知された前記慣性特性に基づき、前記モバイルコンピューティングデバイスの加速度を判定することと、
    第1のローパスフィルタを前記モバイルコンピューティングデバイスの前記加速度に適用して、第1の加速度関数を生成することと、
    第2のローパスフィルタを前記モバイルコンピューティングデバイスの前記加速度に適用して、第2の加速度関数を生成することであって、前記第1のローパスフィルタは前記第2のローパスフィルタより高いカットオフ周波数を有する、生成することと、
    前記第1の加速度関数及び前記第2の加速度関数に基づいて、正弦関数を判定することと、
    前記正弦関数の各ピークを、異なる物理的なステップに対応するものとして識別することと
    を含む、請求項1記載のモバイルコンピューティングデバイス。
  3. ユーザの位置を判定するためのモバイルコンピューティングデバイスであって、前記モバイルコンピューティングデバイスは、
    前記モバイルコンピューティングデバイスの慣性特性を検知する複数の慣性センサと、
    検知された前記慣性特性に基づいて、前記モバイルコンピューティングデバイスのユーザの歩行を判定する歩行分類モジュールであって、前記歩行は、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に保持していることを示す第1の歩行、及び、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に沿って揺り動かしていることを示す第2の歩行のうち一方である、歩行分類モジュールと、
    検知された前記慣性特性及び判定された前記ユーザの前記歩行に基づいて、前記ユーザが物理的なステップをしたことを検出するステップ検出モジュールと、
    前記物理的なステップの方向を示す、前記モバイルコンピューティングデバイスの未補正進行方向を判定する進行方向判定モジュールと、
    判定された前記ユーザの前記未補正進行方向、前記ユーザの推定歩幅、及び直前の物理的なステップにおける前記ユーザの直前の位置に基づいて、前記ユーザの推定位置を判定する位置判定モジュールと
    を備え、
    前記ユーザが前記物理的なステップをしたことを検出することは、
    前記ユーザの前記歩行が、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に沿って揺り動かしていることを示す前記第2の歩行であるという判定に応答して、検知された前記慣性特性に基づき、前記モバイルコンピューティングデバイスの加速度を判定することと、
    第1のローパスフィルタを前記モバイルコンピューティングデバイスの前記加速度に適用して、第1の加速度関数を生成することと、
    第2のローパスフィルタを前記モバイルコンピューティングデバイスの前記加速度に適用して、第2の加速度関数を生成することであって、前記第1のローパスフィルタは前記第2のローパスフィルタより高いカットオフ周波数を有する、生成することと、
    前記第1の加速度関数及び前記第2の加速度関数に基づいて、正弦関数を判定することと、
    前記正弦関数の各ピークを、異なる物理的なステップに対応するものとして識別することと
    を含む、モバイルコンピューティングデバイス。
  4. 前記正弦関数の独立変数は、前記ユーザの腕と重力の方向との間の角度を示す、請求項2または3に記載のモバイルコンピューティングデバイス。
  5. 前記第1の加速度関数は、SA(k)=γ×αmag(k)+(1−γ)×αmag(k−1)に従って生成され、前記第2の加速度関数は、SB(k)=γ×αmag(k)+(1−γ)×αmag(k−1)に従って生成され、前記正弦関数は、cos(θ)=|SA(k)×SB(k)|/(|SA(k)|×|SB(k)|)に従って判定され、ここで、
    A(k)は、前記第1の加速度関数であり、
    B(k)は、前記第2の加速度関数であり、
    γは、前記第1のローパスフィルタの第1のフィルタリングパラメータであり、
    γは、前記第2のローパスフィルタの第2のフィルタリングパラメータであり、
    αmag(k)は、ステップkでの前記加速度の大きさであり、
    αmag(k−1)は、直前のステップk−1での前記加速度の大きさである、請求項2または3に記載のモバイルコンピューティングデバイス。
  6. 前記方向における前記モバイルコンピューティングデバイスの前記未補正進行方向を判定することは、前記方向における前記モバイルコンピューティングデバイスの速度を判定することを含む、請求項1からのいずれか一項に記載のモバイルコンピューティングデバイス。
  7. 前記方向における前記モバイルコンピューティングデバイスの前記速度を判定することは、
    検知された前記慣性特性に基づいて、前記モバイルコンピューティングデバイスの加速度を判定することと、
    前記モバイルコンピューティングデバイスの判定された前記加速度を、前記モバイルコンピューティングデバイスの座標系から、地球座標系における加速度に変換することと、
    地球座標系における速度を判定するために地球座標系における前記加速度を積分することであって、前記加速度の積分の間隔は、判定された前記ユーザの前記歩行に対応するユーザ歩行モデルに基づいている、積分することと
    を含む、請求項に記載のモバイルコンピューティングデバイス。
  8. ユーザの位置を判定するためのモバイルコンピューティングデバイスであって、前記モバイルコンピューティングデバイスは、
    前記モバイルコンピューティングデバイスの慣性特性を検知する複数の慣性センサと、
    検知された前記慣性特性に基づいて、前記モバイルコンピューティングデバイスのユーザの歩行を判定する歩行分類モジュールであって、前記歩行は、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に保持していることを示す第1の歩行、及び、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に沿って揺り動かしていることを示す第2の歩行のうち一方である、歩行分類モジュールと、
    検知された前記慣性特性及び判定された前記ユーザの前記歩行に基づいて、前記ユーザが物理的なステップをしたことを検出するステップ検出モジュールと、
    前記物理的なステップの方向を示す、前記モバイルコンピューティングデバイスの未補正進行方向を判定する進行方向判定モジュールと、
    判定された前記ユーザの前記未補正進行方向、前記ユーザの推定歩幅、及び直前の物理的なステップにおける前記ユーザの直前の位置に基づいて、前記ユーザの推定位置を判定する位置判定モジュールと
    を備え、
    前記方向における前記モバイルコンピューティングデバイスの前記未補正進行方向を判定することは、前記方向における前記モバイルコンピューティングデバイスの速度を判定することを含み、
    前記方向における前記モバイルコンピューティングデバイスの前記速度を判定することは、
    検知された前記慣性特性に基づいて、前記モバイルコンピューティングデバイスの加速度を判定することと、
    前記モバイルコンピューティングデバイスの判定された前記加速度を、前記モバイルコンピューティングデバイスの座標系から、地球座標系における加速度に変換することと、
    地球座標系における速度を判定するために地球座標系における前記加速度を積分することであって、前記加速度の積分の間隔は、判定された前記ユーザの前記歩行に対応するユーザ歩行モデルに基づいている、積分することと
    を含み、
    前記第1の歩行の場合の前記加速度の積分の間隔は、前記第2の歩行の場合の前記加速度の積分の間隔と異なる、モバイルコンピューティングデバイス。
  9. 検知された前記慣性特性に基づいて、前記ユーザの前記未補正進行方向を判定するために、磁気測定値を利用するかどうかを判定する磁気歪み検出モジュールをさらに備える、請求項1から8のいずれか一項に記載のモバイルコンピューティングデバイス。
  10. 前記モバイルコンピューティングデバイスの前記未補正進行方向を判定することは、前記磁気測定値を利用しないという判定に応答して、前記モバイルコンピューティングデバイスの加速度及び方向を示すデータに基づき、前記モバイルコンピューティングデバイスの前記未補正進行方向を判定することを含み、
    前記モバイルコンピューティングデバイスの前記未補正進行方向を判定することは、前記磁気測定値を利用するという判定に応答して、前記モバイルコンピューティングデバイスの前記加速度及び前記方向を示すデータ、並びに前記モバイルコンピューティングデバイスの近辺の磁場に基づき、前記モバイルコンピューティングデバイスの前記未補正進行方向を判定することを含む、請求項9に記載のモバイルコンピューティングデバイス。
  11. 前記磁気測定値を利用するかどうかを判定することは、
    前記モバイルコンピューティングデバイスの加速度を判定することと、
    前記モバイルコンピューティングデバイスの近辺の磁場を検知することと、
    前記加速度の大きさが加速度閾値を超えていない、且つ前記磁場の大きさが磁気閾値を超えていないという判定に応答して、前記加速度の方向と前記磁場の方向との間の伏角を判定することと、
    前記伏角を期待伏角と比較することと
    を含む、請求項9に記載のモバイルコンピューティングデバイス。
  12. 前記ユーザの前記歩行を判定し、前記ユーザが前記物理的なステップをしたことを検出し、前記モバイルコンピューティングデバイスの前記未補正進行方向を判定し、前記ユーザの前記推定位置を判定することは、
    前記ユーザの歩行を判定し、前記ユーザが物理的なステップをしたことを検出し、前記モバイルコンピューティングデバイスの未補正進行方向を判定し、前記ユーザが進んだ複数の一連の物理的なステップのそれぞれに対して、前記ユーザの推定位置を判定することを含む、請求項1から11のいずれか一項に記載のモバイルコンピューティングデバイス。
  13. 判定された前記ユーザの前記未補正進行方向と、前記ユーザの直前の物理的なステップにおける前記モバイルコンピューティングデバイスの直前の方向に対する、前記モバイルコンピューティングデバイスの方向の変化とに基づいて、前記ユーザの進行方向を判定するためにカルマンフィルタを適用するカルマンフィルタモジュールをさらに備え、
    前記ユーザの前記推定位置を判定することは、判定された前記ユーザの前記進行方向に基づいて前記ユーザの前記推定位置を判定することを含む、請求項12に記載のモバイルコンピューティングデバイス。
  14. モバイルコンピューティングデバイスによりユーザの位置を判定するための方法であって、
    前記モバイルコンピューティングデバイスにより、及び前記モバイルコンピューティングデバイスの検知された慣性特性に基づいて、前記モバイルコンピューティングデバイスのユーザの歩行を判定する段階であって、前記歩行は、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に保持していることを示す第1の歩行、及び、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に沿って揺り動かしていることを示す第2の歩行のうち一方である、判定する段階と、
    前記モバイルコンピューティングデバイスにより、検知された前記慣性特性及び判定された前記ユーザの前記歩行に基づいて、前記ユーザが物理的なステップをしたことを検出する段階と、
    前記モバイルコンピューティングデバイスにより、前記物理的なステップの方向を示す、前記モバイルコンピューティングデバイスの未補正進行方向を判定する段階と、
    前記モバイルコンピューティングデバイスにより、判定された前記ユーザの前記未補正進行方向、前記ユーザの推定歩幅、及び直前の物理的なステップにおける前記ユーザの直前の位置に基づいて、前記ユーザの推定位置を判定する段階と
    を備え
    前記ユーザの前記歩行を判定する段階は、決定木及び検知された前記慣性特性に基づいて、前記ユーザの前記歩行を分類する段階を含み、
    前記決定木は、検知された前記慣性特性の複数のパラメータに基づいて、前記ユーザの前記歩行を、前記第1の歩行又は前記第2の歩行として識別し、
    前記複数のパラメータには、前記モバイルコンピューティングデバイスの振り子運動の平均間隔、前記モバイルコンピューティングデバイスの振り子運動の平均ピーク、及び予め定義された期間における前記モバイルコンピューティングデバイスの軸方向運動量が含まれる、方法。
  15. 前記ユーザが前記物理的なステップをしたことを検出する段階は、
    前記ユーザの前記歩行が、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に沿って揺り動かしていることを示す前記第2の歩行であるという判定に応答して、検知された前記慣性特性に基づき、前記モバイルコンピューティングデバイスの加速度を判定する段階と、
    第1のローパスフィルタを前記モバイルコンピューティングデバイスの前記加速度に適用して、第1の加速度関数を生成する段階と、
    第2のローパスフィルタを前記モバイルコンピューティングデバイスの前記加速度に適用して、第2の加速度関数を生成する段階であって、前記第1のローパスフィルタは前記第2のローパスフィルタより高いカットオフ周波数を有する、生成する段階と、
    前記第1の加速度関数及び前記第2の加速度関数に基づいて、正弦関数を判定する段階と、
    前記正弦関数の各ピークを、異なる物理的なステップに対応するものとして識別する段階と
    を含む、請求項14に記載の方法。
  16. モバイルコンピューティングデバイスによりユーザの位置を判定するための方法であって、
    前記モバイルコンピューティングデバイスにより、及び前記モバイルコンピューティングデバイスの検知された慣性特性に基づいて、前記モバイルコンピューティングデバイスのユーザの歩行を判定する段階であって、前記歩行は、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に保持していることを示す第1の歩行、及び、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に沿って揺り動かしていることを示す第2の歩行のうち一方である、判定する段階と、
    前記モバイルコンピューティングデバイスにより、検知された前記慣性特性及び判定された前記ユーザの前記歩行に基づいて、前記ユーザが物理的なステップをしたことを検出する段階と、
    前記モバイルコンピューティングデバイスにより、前記物理的なステップの方向を示す、前記モバイルコンピューティングデバイスの未補正進行方向を判定する段階と、
    前記モバイルコンピューティングデバイスにより、判定された前記ユーザの前記未補正進行方向、前記ユーザの推定歩幅、及び直前の物理的なステップにおける前記ユーザの直前の位置に基づいて、前記ユーザの推定位置を判定する段階と
    を備え、
    前記ユーザが前記物理的なステップをしたことを検出する段階は、
    前記ユーザの前記歩行が、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に沿って揺り動かしていることを示す前記第2の歩行であるという判定に応答して、検知された前記慣性特性に基づき、前記モバイルコンピューティングデバイスの加速度を判定する段階と、
    第1のローパスフィルタを前記モバイルコンピューティングデバイスの前記加速度に適用して、第1の加速度関数を生成する段階と、
    第2のローパスフィルタを前記モバイルコンピューティングデバイスの前記加速度に適用して、第2の加速度関数を生成する段階であって、前記第1のローパスフィルタは前記第2のローパスフィルタより高いカットオフ周波数を有する、生成する段階と、
    前記第1の加速度関数及び前記第2の加速度関数に基づいて、正弦関数を判定する段階と、
    前記正弦関数の各ピークを、異なる物理的なステップに対応するものとして識別する段階と
    を含む、方法。
  17. 前記第1の加速度関数は、SA(k)=γ×αmag(k)+(1−γ)×αmag(k−1)に従って生成され、前記第2の加速度関数は、SB(k)=γ×αmag(k)+(1−γ)×αmag(k−1)に従って生成され、前記正弦関数は、cos(θ)=|SA(k)×SB(k)|/(|SA(k)|×|SB(k)|)に従って判定され、ここで、
    A(k)は、前記第1の加速度関数であり、
    B(k)は、前記第2の加速度関数であり、
    γは、前記第1のローパスフィルタの第1のフィルタリングパラメータであり、
    γは、前記第2のローパスフィルタの第2のフィルタリングパラメータであり、
    αmag(k)は、ステップkでの前記加速度の大きさであり、
    αmag(k−1)は、直前のステップk−1での前記加速度の大きさである、請求項15または16に記載の方法。
  18. 前記方向における前記モバイルコンピューティングデバイスの前記未補正進行方向を判定する段階は、前記方向における前記モバイルコンピューティングデバイスの速度を判定する段階を含む、請求項14から17のいずれか一項に記載の方法。
  19. 前記方向における前記モバイルコンピューティングデバイスの前記速度を判定する段階は、
    検知された前記慣性特性に基づいて、前記モバイルコンピューティングデバイスの加速度を判定する段階と、
    前記モバイルコンピューティングデバイスの判定された前記加速度を、前記モバイルコンピューティングデバイスの座標系から、地球座標系における加速度に変換する段階と、
    地球座標系における速度を判定するために地球座標系における前記加速度を積分する段階であって、前記加速度の積分の間隔は、判定された前記ユーザの前記歩行に対応するユーザ歩行モデルに基づいている、積分する段階と
    を含む、請求項18に記載の方法。
  20. モバイルコンピューティングデバイスによりユーザの位置を判定するための方法であって、
    前記モバイルコンピューティングデバイスにより、及び前記モバイルコンピューティングデバイスの検知された慣性特性に基づいて、前記モバイルコンピューティングデバイスのユーザの歩行を判定する段階であって、前記歩行は、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に保持していることを示す第1の歩行、及び、前記ユーザが歩行中に前記モバイルコンピューティングデバイスを前記ユーザの横に沿って揺り動かしていることを示す第2の歩行のうち一方である、判定する段階と、
    前記モバイルコンピューティングデバイスにより、検知された前記慣性特性及び判定された前記ユーザの前記歩行に基づいて、前記ユーザが物理的なステップをしたことを検出する段階と、
    前記モバイルコンピューティングデバイスにより、前記物理的なステップの方向を示す、前記モバイルコンピューティングデバイスの未補正進行方向を判定する段階と、
    前記モバイルコンピューティングデバイスにより、判定された前記ユーザの前記未補正進行方向、前記ユーザの推定歩幅、及び直前の物理的なステップにおける前記ユーザの直前の位置に基づいて、前記ユーザの推定位置を判定する段階と
    を備え、
    前記方向における前記モバイルコンピューティングデバイスの前記未補正進行方向を判定する段階は、前記方向における前記モバイルコンピューティングデバイスの速度を判定する段階を含み、
    前記方向における前記モバイルコンピューティングデバイスの前記速度を判定する段階は、
    検知された前記慣性特性に基づいて、前記モバイルコンピューティングデバイスの加速度を判定する段階と、
    前記モバイルコンピューティングデバイスの判定された前記加速度を、前記モバイルコンピューティングデバイスの座標系から、地球座標系における加速度に変換する段階と、
    地球座標系における速度を判定するために地球座標系における前記加速度を積分する段階であって、前記加速度の積分の間隔は、判定された前記ユーザの前記歩行に対応するユーザ歩行モデルに基づいている、積分する段階と
    を含み、
    前記第1の歩行の場合の前記加速度の積分の間隔は、前記第2の歩行の場合の前記加速度の積分の間隔と異なる、方法。
  21. 前記モバイルコンピューティングデバイスにより、検知された前記慣性特性に基づいて、前記ユーザの前記未補正進行方向を判定するために、磁気測定値を利用するかどうかを判定する段階をさらに備える、請求項14から20のいずれか一項に記載の方法。
  22. 前記モバイルコンピューティングデバイスの前記未補正進行方向を判定する段階は、前記磁気測定値を利用しないという判定に応答して、前記モバイルコンピューティングデバイスの加速度及び方向を示すデータに基づき、前記モバイルコンピューティングデバイスの前記未補正進行方向を判定する段階を含み、
    前記モバイルコンピューティングデバイスの前記未補正進行方向を判定する段階は、前記磁気測定値を利用するという判定に応答して、前記モバイルコンピューティングデバイスの前記加速度及び前記方向を示すデータ、並びに前記モバイルコンピューティングデバイスの近辺の磁場に基づき、前記モバイルコンピューティングデバイスの前記未補正進行方向を判定する段階を含む、請求項21に記載の方法。
  23. 前記磁気測定値を利用するかどうかを判定する段階は、
    前記モバイルコンピューティングデバイスの加速度を判定する段階と、
    前記モバイルコンピューティングデバイスの近辺の磁場を検知する段階と、
    前記加速度の大きさが加速度閾値を超えていない、且つ前記磁場の大きさが磁気閾値を超えていないという判定に応答して、前記加速度の方向と前記磁場の方向との間の伏角を判定する段階と、
    前記伏角を期待伏角と比較する段階と
    を含む、請求項22に記載の方法。
  24. 前記ユーザの前記歩行を判定する段階、前記ユーザが前記物理的なステップをしたことを検出する段階、前記モバイルコンピューティングデバイスの前記未補正進行方向を判定する段階、及び前記ユーザの前記推定位置を判定する段階は、
    前記ユーザの歩行を判定する段階、前記ユーザが物理的なステップをしたことを検出する段階、前記モバイルコンピューティングデバイスの未補正進行方向を判定する段階、及び前記ユーザが進んだ複数の一連の物理的なステップのそれぞれに対して、前記ユーザの推定位置を判定する段階を含む、請求項14から23のいずれか一項に記載の方法。
  25. 請求項14から24のいずれか一項に記載の方法をコンピュータに実行させるためのプログラム。
  26. 請求項25に記載のプログラムを格納する、
    コンピュータ可読記憶媒体。
JP2017554271A 2015-06-26 2015-06-26 歩行者推測航法用の技術 Active JP6745017B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/082562 WO2016206119A1 (en) 2015-06-26 2015-06-26 Technologies for pedestrian dead reckoning

Publications (2)

Publication Number Publication Date
JP2018524553A JP2018524553A (ja) 2018-08-30
JP6745017B2 true JP6745017B2 (ja) 2020-08-26

Family

ID=57584418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017554271A Active JP6745017B2 (ja) 2015-06-26 2015-06-26 歩行者推測航法用の技術

Country Status (6)

Country Link
US (2) US10393540B2 (ja)
EP (1) EP3314205B1 (ja)
JP (1) JP6745017B2 (ja)
KR (1) KR102521900B1 (ja)
CN (1) CN107636420B (ja)
WO (1) WO2016206119A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106415205B (zh) * 2014-04-28 2019-09-17 英特尔公司 用于确定用户位置的朝向估计
US9877668B1 (en) * 2014-11-21 2018-01-30 University Of South Florida Orientation invariant gait matching
US10393540B2 (en) 2015-06-26 2019-08-27 Intel Corporation Technologies for pedestrian dead reckoning
US11092441B2 (en) * 2016-06-02 2021-08-17 Bigmotion Technologies Inc. Systems and methods for walking speed estimation
US10323942B2 (en) * 2016-09-23 2019-06-18 Qualcomm Incorporated User-specific learning for improved pedestrian motion modeling in a mobile device
US11109192B2 (en) * 2018-09-12 2021-08-31 Apple Inc. User-specific motion model for location estimation
CN109298201A (zh) * 2018-10-23 2019-02-01 西南大学 利用霍尔效应和电磁感应规律测量步行速度的方法
KR102026398B1 (ko) * 2018-10-23 2019-11-26 코디스페이스 주식회사 실내공간에서 사용자의 걸음 진행방향과 위치를 추정하는 방법 및 시스템
KR101991703B1 (ko) * 2019-04-02 2019-06-21 엘아이지넥스원 주식회사 보행자 위치추적시스템 및 방법
US11435189B2 (en) * 2019-09-04 2022-09-06 Mapsted Corp. Method and system of crowd- sourced magnetic fingerprinting with neural network re-training
FR3104703B1 (fr) 2019-12-11 2022-01-07 Fingermind Procede, dispositif utilisateur et produit programme d’ordinateur de determination d’une localisation
KR102370826B1 (ko) * 2020-01-06 2022-03-07 에스케이텔레콤 주식회사 보행자 측위 제어장치 및 보행자 측위 제어방법
US20230143872A1 (en) * 2021-11-09 2023-05-11 Msrs Llc Method, apparatus, and computer readable medium for a multi-source reckoning system

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020001257A (ko) * 2000-06-27 2002-01-09 지규인 Gps와 관성센서를 이용한 개인 위치측정장치 및 방법
JP4793223B2 (ja) * 2006-11-02 2011-10-12 ヤマハ株式会社 歩行ナビゲーション方法、システムおよびプログラム
WO2009062176A2 (en) * 2007-11-09 2009-05-14 Google Inc. Activating applications based on accelerometer data
WO2011033100A1 (de) * 2009-09-18 2011-03-24 Deutsches Zentrum Fuer Luft- Und Raumfahrt E.V. Verfahren zur erstellung einer karte bezüglich ortsbezogener angaben über die wahrscheinlichkeit der zukünftigen bewegung einer person
US9470763B2 (en) * 2010-02-25 2016-10-18 James C. Solinsky Systems and methods for sensing balanced-action for improving mammal work-track efficiency
KR101689887B1 (ko) * 2010-07-09 2016-12-26 삼성전자주식회사 보행자의 보폭 추정 방법 및 이를 위한 휴대 단말
US8694251B2 (en) * 2010-11-25 2014-04-08 Texas Instruments Incorporated Attitude estimation for pedestrian navigation using low cost mems accelerometer in mobile applications, and processing methods, apparatus and systems
KR101796322B1 (ko) * 2011-01-07 2017-12-01 삼성전자주식회사 항법 알고리즘을 이용한 위치 정보 검출 장치 및 방법
US10145707B2 (en) 2011-05-25 2018-12-04 CSR Technology Holdings Inc. Hierarchical context detection method to determine location of a mobile device on a person's body
US8660786B2 (en) * 2011-08-17 2014-02-25 Raytheon Company Positioning module
US20130131555A1 (en) * 2011-11-17 2013-05-23 William R. Hook Gait analysis using angular rate reversal
JP5906687B2 (ja) * 2011-11-22 2016-04-20 セイコーエプソン株式会社 慣性航法演算装置および電子機器
US20140085050A1 (en) * 2012-09-25 2014-03-27 Aliphcom Validation of biometric identification used to authenticate identity of a user of wearable sensors
JP6268945B2 (ja) 2013-02-04 2018-01-31 株式会社リコー 慣性装置、方法及びプログラム
JP6083279B2 (ja) * 2013-03-25 2017-02-22 セイコーエプソン株式会社 移動状況情報算出方法及び移動状況情報算出装置
CN103411607B (zh) 2013-08-30 2015-10-14 华中师范大学 行人步长估计及航位推算方法
CN103471589B (zh) 2013-09-25 2015-10-21 武汉大学 一种室内行人行走模式识别和轨迹追踪的方法
JP6358889B2 (ja) 2013-09-26 2018-07-18 株式会社メガチップス 歩行者観測システム、プログラムおよび進行方向推定方法
US10001386B2 (en) * 2014-04-03 2018-06-19 Apple Inc. Automatic track selection for calibration of pedometer devices
CN103968827B (zh) * 2014-04-09 2017-11-28 北京信息科技大学 一种可穿戴式人体步态检测的自主定位方法
CN104061934B (zh) * 2014-06-10 2017-04-26 哈尔滨工业大学 基于惯性传感器的行人室内位置跟踪方法
WO2015197769A1 (en) * 2014-06-26 2015-12-30 Gipstech S.R.L. Method for the localization of an individual
US9497592B2 (en) * 2014-07-03 2016-11-15 Qualcomm Incorporated Techniques for determining movements based on sensor measurements from a plurality of mobile devices co-located with a person
CN104180805B (zh) 2014-08-29 2017-02-01 中国海洋大学 基于智能手机的室内行人定位与跟踪方法
GB201500411D0 (en) 2014-09-15 2015-02-25 Isis Innovation Determining the position of a mobile device in a geographical area
US9341683B2 (en) * 2014-09-29 2016-05-17 Caterpillar Inc. Navigation system and method for machine
CN104613965B (zh) * 2015-03-02 2017-10-17 大连理工大学 一种基于双向滤波平滑技术的步进式行人导航方法
CN104680559B (zh) 2015-03-20 2017-08-04 青岛科技大学 基于运动行为模式的多视角室内行人跟踪方法
US10393540B2 (en) 2015-06-26 2019-08-27 Intel Corporation Technologies for pedestrian dead reckoning
US9581467B1 (en) * 2016-05-13 2017-02-28 Google Inc. Orientation estimation based on backward-forward bayesian filtering
US10041800B2 (en) * 2016-09-23 2018-08-07 Qualcomm Incorporated Pedestrian sensor assistance in a mobile device during typical device motions
US10564288B2 (en) * 2016-12-06 2020-02-18 Google Llc Real-time estimation of speed and gait characteristics using a custom estimator

Also Published As

Publication number Publication date
US20200056904A1 (en) 2020-02-20
JP2018524553A (ja) 2018-08-30
US20180180443A1 (en) 2018-06-28
CN107636420A (zh) 2018-01-26
US10393540B2 (en) 2019-08-27
EP3314205A1 (en) 2018-05-02
KR102521900B1 (ko) 2023-04-13
EP3314205A4 (en) 2019-05-22
KR20180019741A (ko) 2018-02-26
EP3314205B1 (en) 2021-01-06
US11199421B2 (en) 2021-12-14
WO2016206119A1 (en) 2016-12-29
CN107636420B (zh) 2021-11-12

Similar Documents

Publication Publication Date Title
JP6745017B2 (ja) 歩行者推測航法用の技術
US10852140B2 (en) Heading estimation for determining a user's location
CN104776846B (zh) 移动装置和移动装置上的估计用户的运动方向的方法
KR20190041315A (ko) 관성 기반 항법 장치 및 상대사전적분에 따른 관성 기반 항법 방법
US10533874B2 (en) Inertial positioning and navigation device featuring a novel walk detection method
KR20160148550A (ko) 모션 방향 결정
US20210093917A1 (en) Detecting outdoor walking workouts on a wearable device
US10466054B2 (en) Method and system for estimating relative angle between headings
KR101226767B1 (ko) 주행 장치를 위한 위치측정 시스템 및 방법
CN106574838B (zh) 行人导航装置及方法
WO2020194598A1 (ja) 歩行判別装置、歩行判別方法、およびプログラム記録媒体
CN112904884B (zh) 足式机器人轨迹跟踪方法、设备及可读存储介质
JP5565736B2 (ja) 計算装置、計算装置の制御方法、制御プログラム、及び記録媒体
CN108225368B (zh) 计步装置和计步方法
CN115727871A (zh) 一种轨迹质量检测方法、装置、电子设备和存储介质
KR102280780B1 (ko) 모션 센서의 측정 정확도를 향상시키기 위한 전자 장치 및 그 방법
CN106574837A (zh) 对地球重力的估计的生成

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180104

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200602

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200701

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200707

R150 Certificate of patent or registration of utility model

Ref document number: 6745017

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250