JP2022537361A - ドリフト補正を用いるモーションセンサを使用した相対位置追跡 - Google Patents
ドリフト補正を用いるモーションセンサを使用した相対位置追跡 Download PDFInfo
- Publication number
- JP2022537361A JP2022537361A JP2021575389A JP2021575389A JP2022537361A JP 2022537361 A JP2022537361 A JP 2022537361A JP 2021575389 A JP2021575389 A JP 2021575389A JP 2021575389 A JP2021575389 A JP 2021575389A JP 2022537361 A JP2022537361 A JP 2022537361A
- Authority
- JP
- Japan
- Prior art keywords
- vehicle
- imus
- motion
- implementations
- data
- 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.)
- Pending
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 152
- 238000012937 correction Methods 0.000 title claims description 34
- 238000000034 method Methods 0.000 claims abstract description 72
- 238000000354 decomposition reaction Methods 0.000 claims description 25
- 238000005259 measurement Methods 0.000 claims description 23
- 230000015572 biosynthetic process Effects 0.000 claims description 21
- 238000003786 synthesis reaction Methods 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 9
- 230000003068 static effect Effects 0.000 claims description 8
- 238000009499 grossing Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 16
- 230000001133 acceleration Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 11
- 238000001914 filtration Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 230000005484 gravity Effects 0.000 description 8
- 239000013598 vector Substances 0.000 description 6
- 238000003909 pattern recognition Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- 238000002156 mixing Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003750 conditioning effect Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000000691 measurement method Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- QNRATNLHPGXHMA-XZHTYLCXSA-N (r)-(6-ethoxyquinolin-4-yl)-[(2s,4s,5r)-5-ethyl-1-azabicyclo[2.2.2]octan-2-yl]methanol;hydrochloride Chemical compound Cl.C([C@H]([C@H](C1)CC)C2)CN1[C@@H]2[C@H](O)C1=CC=NC2=CC=C(OCC)C=C21 QNRATNLHPGXHMA-XZHTYLCXSA-N 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 101100408383 Mus musculus Piwil1 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000001447 compensatory effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/09—Taking automatic action to avoid collision, e.g. braking and steering
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/18—Conjoint control of vehicle sub-units of different type or different function including control of braking systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/095—Predicting travel path or likelihood of collision
- B60W30/0953—Predicting travel path or likelihood of collision the prediction being responsive to vehicle dynamic parameters
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/095—Predicting travel path or likelihood of collision
- B60W30/0956—Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; 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/16—Navigation; 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
- H04W4/026—Services making use of location information using location based information parameters using orientation information, e.g. compass
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/46—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for vehicle-to-vehicle communication [V2V]
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2520/00—Input parameters relating to overall vehicle dynamics
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4041—Position
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4049—Relationship among other objects, e.g. converging dynamic objects
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/80—Spatial relation or speed relative to objects
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2556/00—Input parameters relating to data
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
Abstract
第2の物体に対する第1の物体の位置及び/又は向きを計算するための方法が提供される。本方法は、第1の物体の初期絶対位置を受信することを含む。本方法は、第1のIMUを使用して、第1の物体のモーションを検知し、第1の物体の検知されたモーションデータを生成することを含む。本方法は、コントローラを使用して、第1の物体のモーションを表すモーション信号を生成することを含む。本方法は、コントローラを使用して、モーション信号及び第1の物体の初期絶対位置を用いて、第1の物体の現在の絶対位置を計算することを含む。本方法は、第2の物体から、第2の物体に関連付けられた第2のIMUを使用して計算された第2の物体の現在の絶対位置を受信することを含む。本方法は、第1の物体の現在の絶対位置及び第2の物体の現在の絶対位置を用いて、第2の物体に対する第1の物体の相対位置及び/又は向きを計算することを含む。
Description
関連出願の相互参照
[0001] 本出願は、2015年12月8日に出願された、「Wearable Wireless HMI Device」と題する米国特許第9,417,693号、2016年8月15日に出願された、「Wearable Wireless HMI Device」と題する米国特許第9,846,482号、2017年12月11日に出願された、「Wearable Wireless HMI Device」と題する米国特許出願公開第2018/0101231号、及び2018年6月27日に出願された、米国仮特許出願第62/690,865号に関連する。これらの引用文献の内容全体は、その全体が参照により組み込まれる。
[0001] 本出願は、2015年12月8日に出願された、「Wearable Wireless HMI Device」と題する米国特許第9,417,693号、2016年8月15日に出願された、「Wearable Wireless HMI Device」と題する米国特許第9,846,482号、2017年12月11日に出願された、「Wearable Wireless HMI Device」と題する米国特許出願公開第2018/0101231号、及び2018年6月27日に出願された、米国仮特許出願第62/690,865号に関連する。これらの引用文献の内容全体は、その全体が参照により組み込まれる。
技術分野
[0002] 開示される実施態様は、一般に、モーションセンサに関し、より詳細には、いくつかの実施態様において、全地球測位システム(GPS)よりも正確であり、外部基準マーカ、トランスポンダ、又は人工衛星に依存せずに位置追跡が可能な、ドリフト補正を用いるモーションセンサを実施するための方法、システム、及びデバイスに関する。
[0002] 開示される実施態様は、一般に、モーションセンサに関し、より詳細には、いくつかの実施態様において、全地球測位システム(GPS)よりも正確であり、外部基準マーカ、トランスポンダ、又は人工衛星に依存せずに位置追跡が可能な、ドリフト補正を用いるモーションセンサを実施するための方法、システム、及びデバイスに関する。
背景
[0003] モーション追跡は、物体の回転運動(ピッチ、ヨー、及びロール)及び並進運動を認識することによって、物体の正確な位置及び場所を検出する。慣性追跡は、物体の位置変化を測定するために、物体に取り付けられたセンサ(例えば、加速度計、ジャイロスコープ、磁力計、高度計、及び圧力センサ)からのデータを用いるモーション追跡の一種である。これらのセンサのいくつかは、動作を推測航法に依拠する慣性センサである。推測航法は、以前に求めた位置を使用することによって、物体の現在の場所を計算し、経過時間及び進路にわたる、既知の、又は推定された加速度、速度、又は変位に基づいて、その位置を前進させるプロセスである。推測航法技法は、多少効果的ではあるが、「ドリフト」と呼ばれる累積誤差を生じやすい。いくつかのIMUは、加速度計からの加速度データを2度積分することによって相対位置/場所を推定するため、加速度の小さな誤差でさえ、時間とともに累積する、度合いを増して増大する相対位置/場所の誤差をもたらす。同様に、ジャイロスコープの角速度データの誤差は、相対角度方向の累積誤差をもたらす。このように、加速度及びジャイロスコープデータは、別々に使用されるときは、IMUを使用して追跡されている物体の向き及び位置変化を推定するには信頼性が低い。
[0003] モーション追跡は、物体の回転運動(ピッチ、ヨー、及びロール)及び並進運動を認識することによって、物体の正確な位置及び場所を検出する。慣性追跡は、物体の位置変化を測定するために、物体に取り付けられたセンサ(例えば、加速度計、ジャイロスコープ、磁力計、高度計、及び圧力センサ)からのデータを用いるモーション追跡の一種である。これらのセンサのいくつかは、動作を推測航法に依拠する慣性センサである。推測航法は、以前に求めた位置を使用することによって、物体の現在の場所を計算し、経過時間及び進路にわたる、既知の、又は推定された加速度、速度、又は変位に基づいて、その位置を前進させるプロセスである。推測航法技法は、多少効果的ではあるが、「ドリフト」と呼ばれる累積誤差を生じやすい。いくつかのIMUは、加速度計からの加速度データを2度積分することによって相対位置/場所を推定するため、加速度の小さな誤差でさえ、時間とともに累積する、度合いを増して増大する相対位置/場所の誤差をもたらす。同様に、ジャイロスコープの角速度データの誤差は、相対角度方向の累積誤差をもたらす。このように、加速度及びジャイロスコープデータは、別々に使用されるときは、IMUを使用して追跡されている物体の向き及び位置変化を推定するには信頼性が低い。
[0004] ドリフトを排除せずに補償する従来の解決策は、費用がかかりすぎる、及び/又は信頼性が低すぎる。このような解決策の1つは、カメラ又はGPSなどからの外部基準データを、追跡されている物体に取り付けられたIMUからのデータと統合することによって、規定の間隔でIMUデータのドリフトをリセットする。一般に、IMUデータをGPS信号と融合させると、誤差の範囲が大きくなる(例えば、数メートル)。他の解決策は、カルマンフィルタ及び重み付き平均化を用いて、複数のIMUからのデータを融合して、示差測定技法により大規模なサンプル又は多数のIMUセンサにわたる統計的計算を使用して向きのドリフトを減少させようとする。複数のセンサが使用される場合、少数のセンサが支障をきたす場合でさえ、向きの追跡は、ますます信頼性が低くなる。場所追跡は、重み付き統計計算とともに複数のセンサを使用する現在最良のドリフト補償技法を用いても解決することができないままである。更に、マルチセンサシステムにおいて全体的なドリフトを大幅に減少させるためには、非常に多くのセンサが必要とされる。センサが多くなることは、費用も高くなり、総消費電力も増え、向きのデータのサンプリング及び処理の待ち時間も増えることを意味する。待ち時間の増加は、低サンプリングレートの原因となり、位置の誤差と位置精度の低下とを更にもたらす。
概要
[0005] したがって、ドリフトを補正する、費用効率が高く高精度な高速モーションセンサを実施するためのシステム及び/又はデバイスが必要とされている。
[0005] したがって、ドリフトを補正する、費用効率が高く高精度な高速モーションセンサを実施するためのシステム及び/又はデバイスが必要とされている。
[0006] (A1)一態様では、いくつかの実施態様は、物体の場所及び向きを追跡するための追跡デバイスを含む。本デバイスは、所定の形状を形成する1つ又は複数の面を備える。本デバイスはまた、所定の形状の1つ又は複数の面に取り付けられた複数の慣性計測装置(IMU)を備える。各IMUは、物体の運動を検出し、物体の非線形加速度及び/又は角速度を表す慣性出力データを生成するように構成される。各IMUは、第1のサブセンサと第2のサブセンサとを備える。各IMUは、互いに対して、及び追跡デバイスの重心に対して、所定の距離及び向きに配置される。本デバイスはまた、複数のIMUに通信可能に結合されたコントローラを備え、コントローラは、一連のステップを実行するように構成される。一連のステップは、複数のIMUのそれぞれから、第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データを受信することを含む。一連のステップはまた、各IMUについて、第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データに基づいて、較正された慣性出力データを生成することと、第2のサブセンサ慣性出力データに対して第1のサブセンサ慣性出力データの相互相関を取って、第2のサブセンサ慣性出力データに対して第1のサブセンサ慣性出力データから異常を識別して除去して、分解慣性出力データを生成することとを含む。一連のステップはまた、IMUのそれぞれからの分解慣性出力データに基づいて、追跡デバイスの並進及び回転状態を判定することを含む。一連のステップはまた、追跡デバイスの並進及び回転状態に基づいて、合成手法を用いて、第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データを合成して、IMU合成又は計算データを生成することを含む。一連のステップはまた、IMUのそれぞれの合成された運動、IMUのそれぞれの所定の位置、及びIMUのそれぞれの所定の向きに基づいて、現在の追跡デバイスの修正データ出力(本明細書では、「ドリフトフリー」又は「ドリフト補正された」とも呼ばれる)を計算することを含む。一連のステップはまた、現在の物体の修正データ出力と以前の物体のドリフトフリー又は修正データ出力との間の差に基づいて、物体の現在の場所及び向きを計算することを含む。
[0007] (A2)A1の追跡デバイスのいくつかの実施態様において、較正された慣性出力データを生成することが、第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データにニューラルネットワーク重みを適用することであって、ニューラルネットワーク重みが、追跡デバイスの位置状態に基づいて学習率で調節される、ことと、物体の実際の運動と物体の推定された運動との間の差を表す相違値を計算することと、較正された慣性出力データから相違値を除去することとを含む。
[0008] (A3)A2の追跡デバイスのいくつかの実施態様では、第1のサブセンサ慣性出力データ及び第2の慣性出力データに適用されるニューラルネットワーク重みが、第1のサブセンサ及び第2のサブセンサのそれぞれからの過去の慣性出力データに基づく。
[0009] (A4)A1の追跡デバイスのいくつかの実施態様では、第1のサブセンサに対応する分解慣性出力データが、第1のサブセンサの動的較正ニューラルネットワークにフィードバックを提供することによって、第2のサブセンサ慣性出力データに基づいて較正される。
[0010] (A5)A1の追跡デバイスのいくつかの実施態様では、第2のサブセンサ慣性出力データに対して第1のサブセンサ慣性出力データの相互相関を取ることが、第2のサブセンサ慣性出力データにパターン認識を適用して、第1のサブセンサ慣性出力データを表す分解慣性出力データを生成することを含む。
[0011] (A6)A1の追跡デバイスのいくつかの実施態様では、信号調整によって信号ノイズを最小化するために、第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データがフィルタにかけられる。
[0012] (A7)A1の追跡デバイスのいくつかの実施態様では、複数のIMUのそれぞれからの第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データが、連続的な高サンプリングレートでは、約1ミリ秒(ms)未満で周期的に受信される。
[0013] (A8)A1の追跡デバイスのいくつかの実施態様では、第1のサブセンサ及び第2のサブセンサが、それぞれ、加速度計、磁力計、ジャイロスコープ、高度計、及び圧力センサのうちの1つであり、第1のサブセンサが、第2のサブセンサとは異なるセンサタイプである。
[0014] (A9)A1の追跡デバイスのいくつかの実施態様では、所定の形状が、平面、四面体、立方体、若しくは任意の正多面体、又は既知のIMU間の距離及び天使を有する任意の他の不規則な構成のうちの1つである。
[0015] (A10)A1の追跡デバイスのいくつかの実施態様では、修正IMUデータ出力を計算するために使用されるIMUの少なくともいくつかが、互いに対して異なる2つの軸に沿って異なる角度で向けられる。
[0016] (A11)A1の追跡デバイスのいくつかの実施態様では、現在の修正IMU出力と以前の物体の修正IMU出力との間の差に基づいて物体の現在の位置及び向きを計算することが、エッジ状態を識別することと、現在の物体の修正IMU出力と以前の物体の修正IMU出力とを混合して、ニューラルネットワークを使用してエッジ状態を除去することとを含む。
[0017] (A12)別の態様において、いくつかの実施態様は、追跡デバイスを使用して、物体の場所及び向きを追跡する方法を含む。追跡デバイスは、所定の形状を規定する1つ又は複数の面を備える。追跡デバイスはまた、所定の形状の1つ又は複数の面に取り付けられた複数の慣性計測装置(IMU)を備える。各IMUは、第1のサブセンサと第2のサブセンサとを備える。各IMUは、互いに対して、及び追跡デバイスの重心に対して、所定の距離及び向きに配置される。追跡デバイスはまた、複数のIMUに通信可能に結合されたコントローラを備える。本方法は、一連のステップを実行することを含む。一連のステップは、各IMUにおいて、物体の運動を検出することと、物体の加速度及び/又は角速度を表す慣性出力データを生成することとを含む。一連のステップはまた、コントローラにおいて、複数のIMUのそれぞれからの第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データを受信することを含む。一連のステップはまた、コントローラにおいて、各IMUについて、第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データに基づいて、較正された慣性出力データを生成することと、第2のサブセンサ慣性出力データに対して第1のサブセンサ慣性出力データの相互相関を取って、第2のサブセンサ慣性出力データに対して第1のサブセンサ慣性出力データから異常を識別して除去して、分解慣性出力データを生成することとを含む。一連のステップはまた、コントローラにおいて、IMUのそれぞれからの分解慣性出力データに基づいて、追跡デバイスの並進及び回転状態を判定することを含む。一連のステップはまた、コントローラにおいて、追跡デバイスの位置及び回転状態に基づいて、合成手法を用いて、第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データを合成して、IMU合成又は計算データを作成することを含む。一連のステップはまた、コントローラにおいて、IMUのそれぞれの合成された運動、IMUのそれぞれの所定の場所、及びIMUのそれぞれの所定の向きに基づいて、現在の追跡デバイスの全体的なドリフトフリー又は修正データ出力を計算することを含む。一連のステップはまた、コントローラにおいて、現在の物体の全体的な修正データと以前の物体の全体的な修正データとの間の差に基づいて、物体の現在の場所及び向きを計算することを含む。
[0018] (A13)(A12)の方法のいくつかの実施態様において、較正された慣性出力データを生成することが、ニューラルネットワーク重みを第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データに適用することであって、ニューラルネットワーク重みが、追跡デバイスの位置状態に基づいて学習率で調節される、ことと、物体の実際の運動と物体の推定された運動との間の差を表す相違値を計算することと、較正された慣性出力データから相違値を除去することとを含む。
[0019] (A14)(A13)の方法のいくつかの実施態様では、第1のサブセンサ慣性出力データ及び第2の慣性出力データに適用されるニューラルネットワーク重みが、第1のサブセンサ及び第2のサブセンサのそれぞれからの過去の慣性出力データに基づく。
[0020] (A15)(A12)の方法のいくつかの実施態様では、第1のサブセンサに対応する分解慣性出力データが、第1のサブセンサの動的較正ニューラルネットワークにフィードバックを提供することによって、第2のサブセンサ慣性出力データに基づいて較正される。
[0021] (A16)(A12)の方法のいくつかの実施態様では、第2のサブセンサ慣性出力データに対して第1のサブセンサ慣性出力データの相互相関を取ることが、第2のサブセンサ慣性出力データにパターン認識を適用して、第1のサブセンサ慣性出力データを表す分解慣性出力データを生成することを含む。
[0022] (A17)(A12)の方法のいくつかの実施態様では、信号調整によって信号ノイズを最小化するために、第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データがフィルタにかけられる。
[0023] (A18)(A12)の方法のいくつかの実施態様では、複数のIMUのそれぞれからの第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データが、連続的な高サンプリングレートでは、約1ms未満で周期的に受信される。
[0024] (A19)(A12)の方法のいくつかの実施態様では、第1のサブセンサ及び第2のサブセンサが、それぞれ、加速度計、磁力計、ジャイロスコープ、高度計、及び圧力センサのうちの1つであり、第1のサブセンサが、第2のサブセンサとは異なるセンサタイプである。
[0025] (A20)(A12)の方法のいくつかの実施態様では、所定の形状が、平面、四面体、立方体、若しくは任意の正多面体、又は既知のIMU間の距離及び天使を有する任意の他の不規則な構成のうちの1つである。
[0026] (A21)(A12)の方法のいくつかの実施態様では、全体的なドリフトフリー又は修正システム出力を計算するために使用されるIMUの少なくともいくつかが、互いに対して異なる2つの軸に沿って異なる角度で向けられる。
[0027] (A22)(A12)の方法のいくつかの実施態様では、現在の物体の修正データと以前の物体の修正データ出力との間の差に基づいて、物体の現在の場所及び向きを計算することが、エッジ状態を識別することと、現在の物体の修正データ出力と以前の物体の修正データ出力とを混合して、ニューラルネットワークを使用してエッジ状態を除去することとを含む。
[0028] (A23)別の態様では、第2の物体に対する第1の物体の位置を計算するための方法が提供される。本方法は、コントローラと、無線送受信機と、第1の複数の慣性計測装置(IMU)であって、それぞれが第1の複数のIMUの他のIMUに対して1つ又は複数の位置及び向きに取り付けられる、第1の複数の慣性計測装置とを備える第1の物体において実行される。第1の物体は、第1の複数のIMU及び/又はコントローラの第1の物体の初期絶対位置を受信するように構成される。第1の物体はまた、第1の複数のIMUを使用して、第1の物体のモーションを検知し、第1の物体の検知されたモーションデータを生成するように構成される。第1の物体はまた、コントローラを使用して、第1の物体のモーションを表すモーション信号を生成し、モーション信号が、第1の複数のIMUのそれぞれからの検知されたモーションデータ、第1の複数のIMUのそれぞれの所定の位置、及び第1の複数のIMUのそれぞれの所定の向きに基づいて、修正データ出力を計算することによって生成されるように構成される。第1の物体はまた、コントローラを使用して、コントローラによって生成されたモーション信号と第1の物体の初期絶対位置とを用いて、第1の物体の現在の絶対位置を計算するように構成される。第1の物体はまた、無線送受信機を使用して、第2の物体からの基準データを受信し、基準データが、第2の物体に関連付けられた第2の複数のIMUを使用して計算された第2の物体の現在の絶対位置を含むように構成される。第1の物体はまた、第1の物体の現在の絶対位置及び第2の物体の現在の絶対位置を用いて、第2の物体に対する第1の物体の相対位置を計算し、相対位置が、(i)第1の物体と第2の物体との間の距離と、(ii)第2の物体に対する第1の物体の向きとのうちの少なくとも一方を含むように構成される。
[0029] (A24)(A23)の方法のいくつかの実施態様では、基準データは、第3の物体に関連付けられた第3の複数のIMUを使用して計算された第3の物体の第3の物体の現在の絶対位置を含む。第1の物体はまた、第1の物体の現在の絶対位置及び第3の物体の現在の絶対位置を用いて、第3の物体に対する第1の物体の相対位置を計算し、相対位置が、(i)第1の物体と第3の物体との間の距離と、(ii)第3の物体に対する第1の物体の向きとのうちの少なくとも一方を含むように構成される。
[0030] (A25)方法(A23)~(A24)のいずれかのいくつかの実施態様では、第1の物体は、第1の物体における無線送受信機を使用して、第2の物体に対する第1の物体の第1の物体の現在の絶対位置を送信するように構成される。第2の物体は、第2の物体における無線送受信機を使用して、第1の物体の第1の物体の現在の絶対位置を受信し、第2の物体におけるコントローラを使用して、第1の物体の現在の絶対位置及び第2の物体の現在の絶対位置を用いて、第1の物体に対する第2の物体の相対位置を計算し、相対位置が、(i)第2の物体と第1の物体との間の距離と、(ii)第1の物体に対する第2の物体の向きとのうちの少なくとも一方を含むように構成される。
[0031] (A26)方法(A23)~(A25)のいずれかのいくつかの実施態様では、第1の複数のIMUは、形状補正、静的較正、モーション分解、動的較正、モーション合成、及びエッジ状態平滑化のうちの少なくとも1つを用いてモーション信号を生成する。
[0032] (A27)方法(A23)~(A26)のいずれかのいくつかの実施態様では、第1の複数のIMUは、加速度計及び/又はジャイロスコープを備える。
[0033] (A28)方法(A23)~(A27)のいずれかのいくつかの実施態様では、第1の物体の現在の絶対位置及び第2の物体の現在の絶対位置は、外部基準信号なしで計算される。
[0034] (A29)方法(A23)~(A28)のいずれかのいくつかの実施態様では、第1の物体は第1の自動車であり、第2の物体は第2の自動車である。第1の物体は、第2の自動車に対する第1の自動車の相対位置を計算した後、第2の自動車に対する第1の自動車の相対位置が緊急基準を満たすか否かを判定するように構成される。第1の物体はまた、第2の自動車に対する第1の自動車の相対位置が緊急基準を満たすと判定したことに応じて、第1の自動車に回避操縦を行わせるように構成される。回避操縦は、第1の自動車を制動すること及び/又は第1の自動車を旋回させることを含む。
[0035] (A30)方法(A23)~(A29)のいずれかのいくつかの実施態様では、第1の物体は、第1の物体に関連付けられたユーザインターフェースにおいて、第2の物体に対する第1の物体の相対位置を用いて、地図のグラフ表現上に第1の物体の位置を表示するように構成される。
[0036] (A31)方法(A23)~(A28)のいずれかのいくつかの実施態様では、第1の物体は家電製品であり、第2の物体は自動車である。家電製品は、家電製品に対する自動車の相対位置を計算した後、家電製品に対する自動車の相対位置が動作状態変化基準を満たすか否かを判定し、家電製品に対する自動車の相対位置が動作状態変化基準を満たすと判定したことに応じて、家電製品をオフ状態からオン状態に変化させるように構成される。
[0037] (A32)別の態様では、第2の物体に対する第1の物体の位置を計算するためのシステムが提供される。本システムは、コントローラと、無線送受信機と、第1の複数の慣性計測装置(IMU)とを備える第1の物体を備える。第1の物体は、方法(A23)~(A31)のいずれかのステップを実行するように構成される。
図面の簡単な説明
[0038] 記載される様々な実施態様をより良く理解するために、図面全体を通して同様の参照番号が対応する部分を指す以下の図面と併せて、後述の実施態様の説明を参照されたい。
[0038] 記載される様々な実施態様をより良く理解するために、図面全体を通して同様の参照番号が対応する部分を指す以下の図面と併せて、後述の実施態様の説明を参照されたい。
実施態様の説明
[0045] 本明細書では、ドリフトを補正する、費用効率が高く高精度な高速モーションセンサを実施するためのシステム、方法、及び/又はデバイスの例示的な実施態様を説明する。ドリフトを補正するモーションセンサには、中でも、ゲーム機、スマートフォン、ヘルメットマウントディスプレイ、軍事用途、及びジェスチャ追跡デバイスを含むがこれらに限定されない、いくつかの異なる用途がある。例えば、全体が参照により本明細書に組み込まれる米国特許第9,417,693号(「’693号特許」)では、ウェアラブル無線ヒューマンマシンインターフェース(HMI)の様々な実施態様が記載されている。‘693号特許では、ユーザは、ウェアラブルHMIを使用してユーザが行うジェスチャに基づいて、制御可能なデバイスを制御することができる。いくつかの実施態様では、本明細書に記載されるような、モーションを追跡しドリフトを補正するコントローラが、ウェアラブルHMIのIMUに接続され得る。いくつかの実施態様では、コントローラは、ウェアラブルHMIに取り付けられるか又は組み込まれる。いくつかの実施態様では、コントローラは、ウェアラブルHMIから遠隔にあるが、ウェアラブルHMIと通信可能に結合される。
[0045] 本明細書では、ドリフトを補正する、費用効率が高く高精度な高速モーションセンサを実施するためのシステム、方法、及び/又はデバイスの例示的な実施態様を説明する。ドリフトを補正するモーションセンサには、中でも、ゲーム機、スマートフォン、ヘルメットマウントディスプレイ、軍事用途、及びジェスチャ追跡デバイスを含むがこれらに限定されない、いくつかの異なる用途がある。例えば、全体が参照により本明細書に組み込まれる米国特許第9,417,693号(「’693号特許」)では、ウェアラブル無線ヒューマンマシンインターフェース(HMI)の様々な実施態様が記載されている。‘693号特許では、ユーザは、ウェアラブルHMIを使用してユーザが行うジェスチャに基づいて、制御可能なデバイスを制御することができる。いくつかの実施態様では、本明細書に記載されるような、モーションを追跡しドリフトを補正するコントローラが、ウェアラブルHMIのIMUに接続され得る。いくつかの実施態様では、コントローラは、ウェアラブルHMIに取り付けられるか又は組み込まれる。いくつかの実施態様では、コントローラは、ウェアラブルHMIから遠隔にあるが、ウェアラブルHMIと通信可能に結合される。
[0046] 図1A~図1Fは、いくつかの実施態様による、3D物体に取り付けられたモーションセンサの様々な構成を示す。モーションセンサは、任意の次元の平面、正多面体、若しくは不規則な3D物体によって形成された、多数の幾何学的構成の平面若しくは頂点に線形配列で取り付けられ得る。取り付けられたモーションセンサ間の距離及び角度が分かっている限り、本明細書に記載される特定の方法又はそれらの一部の中でも、下記のフローチャート4A~4Dを参照して更に後述するように、モーションセンサの互いに対する物理的距離及び角度によって形成される既知のジオメトリに合致するように、モーションセンサの測定された瞬間加速度、角速度、磁気の向き、及び高度をリセットすることによってドリフトを排除することができる。
[0047] 図1Aに示すような線形ジオメトリでは、2つのセンサ102、104が、一定距離128を置いて互いに隣接して配置され、2つのセンサ間の角度は、約0度又は約180度と見なすことができる。2つの固定されたセンサ102と104との間の測定された距離又は角度は、任意の所与の瞬間的な読み取りにおいても、既知の距離128又はそれらの間の角度から逸脱するため、このドリフトを除去し、2つのモーションセンサの位置をかなり正確な程度にまでリセットすることができる。
[0048] 3つ又は4つ以上のセンサの平面構成は、センサ間の物理的角度及び距離が既知である配列内のすべてのセンサの瞬間測定の、より多い数のIMUの読取り値に基づく空間計算を提供し得る。図1Bは、センサ106、108、110、及び112が平面構成で互いに隣接して取り付けられた4センサ構成を示す。図1A及び図1Bに示す構成などの平面構成は必要な演算量がかなり少ない、より単純な数学モデルを提供する。しかしながら、物理センサの軸方向モーション検出方法におけるばらつきが、様々なモーションの軸及び向きの測定の精度に影響を与え得る。例えば、MEMSベースのセンサのZ軸のモーションは、重力ベクトルによって大幅に付勢され、このことが、この軸におけるセンサの物理的モーションにより高い分散を導入し得る。加えて、z軸のヨーを計算するために使用されるコリオリの力も、X軸又はY軸よりも大きな分散の影響を受けやすい。
[0049] ドリフト補正を改善するために、いくつかの実施態様によれば、4つのセンサを備えた四面体構成(各センサが、四面体の各面に取り付けられる)が、すべてのセンサが単一のZ軸にあるよりも、重力ベクトルによる付勢に対して良好な相補的及び補償的測定をもたらす多軸データの混合を提供し得る。図1C及び図1Dは、そのような構成の1つを示す。図1Cは、見えている3つの面のそれぞれに取り付けられたモーションセンサ114、116、及び118を備えた四面体の上面斜視図を示す。図1Dは、四面体の第4の面上の更なるセンサ120を示す、図1Cに示した四面体の底面斜視図を示す。この構成では、X軸及びY軸の成分も、いかなる時点においても、少なくとも3つのセンサからの重力ベクトルを受け、これによって、あらゆる瞬間測定において、いくつかのセンサ及びいくつかの軸からの重力ベクトルの除去により、より高度な精度が可能となる。センサは、いくつかの実施態様によれば、各表面上に、傾斜して取り付けられ、より良好な空間計算及びドリフト補正のために、X、Y、及びZ軸データの混合を提供する。
[0050] 更に、立方体構成は、空間的偏差を更により安定させるために、立方体の6つの表面上に、6つのセンサという、より多いセンサ数を提供する。図1Eは、いくつかの実施態様による、立方体構成の斜視図を示す。6つの面の内の3つの面のみが、図1Eでは見えている。6つの面のそれぞれは、センサ122、124、及び126を含む、センサを取り付けられ得る。いくつかの実施態様では、本明細書に記載されるいずれかの物体のいくつかの(すべてよりも少ない)面が、少なくとも1つのセンサを有する。この構成では、各面上の各センサは、立方体の他の面上の他のセンサ間の相補的読み取りを可能にする。しかしながら、センサの数が増えるにつれて、立方体又はより高い次元の立体ジオメトリでは、すべての測定値を読み取るための待ち時間も増加する。
[0051] いくつかの実施態様によれば、モーションセンサはまた、任意の構成において軸方向の混合を提供するために、幾何学的立体の対向面上で回転され得る。図1Fは、モーションセンサが上述同様に立方体の各面上に取り付けられるが、センサが0~90度の角度(0度及び90度を含まず)で回転され得る、図1Eの直方体の別の構成の斜視図を示す。例えば、センサ122は、他のセンサに対して約45度の角度で回転され得る。この方法は、瞬間モーションデータのより良好な分析を提供し得るが、測定-計算出力当たりの計算時間は、長くなり得る。
[0052] 図2は、いくつかの実施態様による、ドリフトフリーセンサを備えた代表的システム200を示すブロック図である。いくつかの実施態様では、システム200は、1つ又は複数の処理装置202(例えば、CPU、ASIC、FPGA、マイクロプロセッサなど)と、1つ又は複数の通信インターフェース214と、メモリ220と、これらのコンポーネントを相互接続するための1つ又は複数の通信バス216(チップセットと呼ばれることもある)とを備える。処理装置202の種類は、いくつかの実施態様によれば、電力要件を含む、用途の要件に合致するように選択される。例えば、CPUの速度は、用途のスループットに合致するのに十分であるべきである。
[0053] いくつかの実施態様では、システム200は、ユーザインターフェース208を備える。いくつかの実施態様では、ユーザインターフェース208は、1つ若しくは複数のスピーカ及び/又は1つ若しくは複数の視覚表示装置を含む、メディアコンテンツの提示を可能にする1つ又は複数の出力デバイス210を備える。いくつかの実施態様では、ユーザインターフェース208はまた、キーボード、マウス、ボイスコマンド入力装置若しくはマイクロフォン、タッチスクリーンディスプレイ、タッチ感知式入力パッド、ジェスチャ捕捉デバイス、又は他の入力ボタン若しくは制御部など、ユーザ入力を容易にするユーザインターフェースコンポーネントを含む、1つ又は複数の入力デバイス212を備える。更に、いくつかのシステムは、キーボードを補完する、又はキーボードに置き換わる、マイクロフォン及び音声認識、又はカメラ及びジェスチャ認識、又はモーションデバイス及びジェスチャ認識を用いる。
[0054] いくつかの実施態様では、システム200は、1つ又は複数の慣性計測装置204を備える。いくつかの実施態様では、IMUは、1つ若しくは複数の加速度計、1つ若しくは複数の磁力計、及び/又は1つ若しくは複数のジャイロスコープ、及び/又は高度計、及び/又は圧力センサを備える。いくつかの実施態様では、1つ又は複数のIMUは、所定の形状に応じて、システム200を組み込む物体に取り付けられる。上記の図1A~図1Fは、モーションセンサの様々な例示的な構成を示す。いくつかの実施態様では、IMUの初期構成(例えば、IMUの数、所定の形状)も、個々のIMUの特徴に基づいて決定される。例えば、IMUの向き又は軸、ひいては所定の形状が、製造欠陥を補償するように選択される。いくつかの実施態様では、1つ又は複数のIMUは、システム200を組み込むCMOS及びMEMSシステムオンチップ(SOC)として作製される。
[0055] 通信インターフェース214は、例えば、様々なカスタム若しくは標準無線プロトコル(例えば、IEEE 802.15.4、Wi-Fi、ZigBee、6LoWPAN、Thread、Z-Wave、Bluetooth Smart、ISA100.11a、WirelessHART、MiWiなど)のいずれか、及び/又は様々なカスタム若しくは標準有線プロトコル(例えば、Ethernet、HomePlugなど)のいずれか、又は本明細書の出願日時点でまだ開発されていない通信プロトコルを含む、任意の他の適切な通信プロトコルを用いてデータ通信が可能なハードウェアを含む。
[0056] メモリ220は、DRAM、SRAM、DDR RAM、又は他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリを含み、任意選択で、1つ若しくは複数の磁気ディスクストレージデバイス、1つ若しくは複数の光ディスクストレージデバイス、1つ若しくは複数のフラッシュメモリデバイス、1つ若しくは複数のEPROM、1つ若しくは複数のEEPROM、又は1つ若しくは複数の他の不揮発性固体ストレージデバイスなどの不揮発性メモリを含む。メモリ220、又は代替的にメモリ220内の不揮発性メモリは、非一時的コンピュータ可読記憶媒体を含む。いくつかの実施態様では、メモリ220、又はメモリ220の非一時的コンピュータ可読記憶媒体は、以下のプログラム、モジュール、及びデータ構造、又はそれらのサブセット若しくはスーパーセットを記憶する:
・ 様々な基本システムサービスを取り扱うため、及びハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングロジック222、
・ 1つ又は複数の通信インターフェース214(有線又は無線)を介して1つ又は複数のネットワークに接続された他のネットワークデバイス(例えば、インターネット接続を提供するルータなどのネットワークインターフェース、ネットワーク化されたストレージデバイス、ネットワークルーティングデバイス、サーバシステムなど)に接続し、及びそれらと通信するためのデバイス通信モジュール224、
・ 1つ又は複数の入力デバイス212からの1つ又は複数のユーザ入力又はインタラクションを検出し、検出された入力又はインタラクションを解釈するための入力処理モジュール226、
・ 1つ又は複数のデバイス(図示せず)に関する設定、取り込まれたデータ、及び/又は他のデータを構成することができる、及び/又は見ることができるユーザインターフェースを提供及び表示するためのユーザインターフェースモジュール228、
・ デバイスを制御するため、及びデバイスによって取り込まれたデータ(例えば、デバイスステータス及び設定、取り込まれたデータ、又はシステム200及び/又は他のクライアント/電子デバイスに関する他の情報)を検討するためにシステム200が実行するための1つ又は複数のアプリケーションモジュール230、
・ 以下を含むがこれらに限定されない、1つ又は複数のIMU 204からのデータを処理するための機能を提供する、1つ又は複数のコントローラモジュール240:
○ コントローラモジュール240によって処理される、1つ又は複数のIMU 204からのデータを受信するためのデータ受信モジュール242、
○ データ受信モジュール242によって受信された生データからノイズを除去するためのフィルタリングモジュール244、
○ 1つ又は複数のIMU 204(例えば、1つ又は複数のIMU 204の異なるジャイロスコープ及び加速度計)間のデータの相互相関を取って、1つ又は複数のIMU 204に関するフィルタにかけられたデータを較正するための動的較正モジュール246、
○ 1つ又は複数のIMUのそれぞれの分解出力に基づいて、位置及び回転状態を判定するモーション分解モジュール248、
○ 動的較正モジュール246及びモーション分解モジュール248の出力に基づいて、モーションを合成するためのモーション合成モジュール250、
○ モーション合成モジュール250からの出力に基づいて、所定の形状に関してセンサ出力のドリフトを補正する(例えば、台形モーションパラメータを用いた適応的連続ファジールール(肯定式なし)ベイジアンフィルタ(ACFBT:Adaptive Continuous Fuzzy Rule Bayesian Filter with Trapezoidal Motion Parameters)を用いて補正するためのドリフト補正モジュール252、並びに
○ (例えば、人工知能/ニューラルネットワーク/深層学習を用いて)ドリフト補正モジュール252の出力に基づいて、複雑な運動を取り扱うエッジ状態取り扱いモジュール254。
○ 第1の物体の初期絶対位置を受信する絶対位置受信モジュール256。
○ IMUの出力及び第1の物体の初期絶対位置を用いて、第1の物体の現在の絶対位置を計算する絶対位置計算モジュール258。
○ 通信インターフェース214と連携して、第2の物体から無線送受信機基準データを受信する基準データ受信モジュール260。基準データは、第2の物体に関連付けられた第2の複数のIMUを使用して計算された第2の物体の現在の絶対位置を含み得る
○ 第1の物体の現在の絶対位置及び第2の物体の現在の絶対位置を用いて、第2の物体に対する第1の物体の相対位置を計算する相対位置計算モジュール262。相対位置は、(i)第1の物体と第2の物体との間の距離と、(ii)第2の物体に対する第1の物体の向きとのうちの少なくとも一方を含み得る。
・ 様々な基本システムサービスを取り扱うため、及びハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングロジック222、
・ 1つ又は複数の通信インターフェース214(有線又は無線)を介して1つ又は複数のネットワークに接続された他のネットワークデバイス(例えば、インターネット接続を提供するルータなどのネットワークインターフェース、ネットワーク化されたストレージデバイス、ネットワークルーティングデバイス、サーバシステムなど)に接続し、及びそれらと通信するためのデバイス通信モジュール224、
・ 1つ又は複数の入力デバイス212からの1つ又は複数のユーザ入力又はインタラクションを検出し、検出された入力又はインタラクションを解釈するための入力処理モジュール226、
・ 1つ又は複数のデバイス(図示せず)に関する設定、取り込まれたデータ、及び/又は他のデータを構成することができる、及び/又は見ることができるユーザインターフェースを提供及び表示するためのユーザインターフェースモジュール228、
・ デバイスを制御するため、及びデバイスによって取り込まれたデータ(例えば、デバイスステータス及び設定、取り込まれたデータ、又はシステム200及び/又は他のクライアント/電子デバイスに関する他の情報)を検討するためにシステム200が実行するための1つ又は複数のアプリケーションモジュール230、
・ 以下を含むがこれらに限定されない、1つ又は複数のIMU 204からのデータを処理するための機能を提供する、1つ又は複数のコントローラモジュール240:
○ コントローラモジュール240によって処理される、1つ又は複数のIMU 204からのデータを受信するためのデータ受信モジュール242、
○ データ受信モジュール242によって受信された生データからノイズを除去するためのフィルタリングモジュール244、
○ 1つ又は複数のIMU 204(例えば、1つ又は複数のIMU 204の異なるジャイロスコープ及び加速度計)間のデータの相互相関を取って、1つ又は複数のIMU 204に関するフィルタにかけられたデータを較正するための動的較正モジュール246、
○ 1つ又は複数のIMUのそれぞれの分解出力に基づいて、位置及び回転状態を判定するモーション分解モジュール248、
○ 動的較正モジュール246及びモーション分解モジュール248の出力に基づいて、モーションを合成するためのモーション合成モジュール250、
○ モーション合成モジュール250からの出力に基づいて、所定の形状に関してセンサ出力のドリフトを補正する(例えば、台形モーションパラメータを用いた適応的連続ファジールール(肯定式なし)ベイジアンフィルタ(ACFBT:Adaptive Continuous Fuzzy Rule Bayesian Filter with Trapezoidal Motion Parameters)を用いて補正するためのドリフト補正モジュール252、並びに
○ (例えば、人工知能/ニューラルネットワーク/深層学習を用いて)ドリフト補正モジュール252の出力に基づいて、複雑な運動を取り扱うエッジ状態取り扱いモジュール254。
○ 第1の物体の初期絶対位置を受信する絶対位置受信モジュール256。
○ IMUの出力及び第1の物体の初期絶対位置を用いて、第1の物体の現在の絶対位置を計算する絶対位置計算モジュール258。
○ 通信インターフェース214と連携して、第2の物体から無線送受信機基準データを受信する基準データ受信モジュール260。基準データは、第2の物体に関連付けられた第2の複数のIMUを使用して計算された第2の物体の現在の絶対位置を含み得る
○ 第1の物体の現在の絶対位置及び第2の物体の現在の絶対位置を用いて、第2の物体に対する第1の物体の相対位置を計算する相対位置計算モジュール262。相対位置は、(i)第1の物体と第2の物体との間の距離と、(ii)第2の物体に対する第1の物体の向きとのうちの少なくとも一方を含み得る。
[0057] いくつかの実施態様では、IMUからデータ受信モジュール242によって受信された生データは、加速度計からの加速度情報、ジャイロスコープからの角速度、磁力計からの磁場の回転度、高度計及び差圧センサからの大気圧を含む。生データは、いくつかの実施態様によれば、IMUのそれぞれから順次受信される。いくつかの実施態様では、IMUデータは、並行して受信される。
[0058] いくつかの実施態様では、フィルタリングモジュール244は、生データをフィルタにかけて、データ受信モジュール242によって受信された生データ信号からノイズを除去する。いくつかの実施態様によれば、フィルタリングモジュール244は、標準的な信号処理技法(例えば、ローパスフィルタリング、クリッピングなど)を用いて、生データをフィルタにかけ、それによって、センサデータのノイズを最小化する。いくつかの実施態様によれば、フィルタリングモジュール244はまた、センサからの過去のデータを用いて、移動平均及び移動分散を計算する。
[0059] いくつかの実施態様では、動的較正モジュール246は、人工知能(AI)フレームワーク(例えば、ニューラルネットワークフレームワーク)を用いて、1つ又は複数のIMU 204からのデータを較正する。例えば、1つ又は複数の「ニューロン」(一般的に、センサ当たり3つ)が、1つ又は複数のIMU 204に関するフィルタにかけられたデータを較正するように、ニューラルネットワーク構成において構成される。どのように動的較正が機能するかを理解するために、まず、物体の静的構成を考察する。更に、説明のために、物体の形状(本明細書では、所定の形状と呼ばれることもある)が直方体であると仮定する。直方体形状の物体は、6つの異なる仕方で平面上に(すなわち、直方体の6つの異なる面上に)配置され得る。したがって、較正すべき向きが6つある。この静的構成では、システム200は、6つの向きのそれぞれに関して、多数のサンプル(例えば、約1,000以上のサンプル)を収集する。このサンプルデータは、収集され、メモリ220に記憶される。後に、生データが受信されるときに、記憶されたサンプルデータは、停止状態中に(すなわち、物体が移動していないときに)、生データのオフセット誤差を補正するためのベースラインとして使用される。ニューラルネットワークを使用するいくつかの実施態様では、ネットワークの重みは、いくつかの実施態様によれば、記憶されたサンプルデータのオフセット後に、IMUからの受信生データに基づいて、常に調整又は調節される。ニューラルネットワークベースの解決策は、最小二乗回帰分析又は統計的尺度よりも優れた推定を提供する。どのようにニューラルネットワークの重みが動的に調節されるかの一例として、物体が静止しているが、物体が移動しているとニューラルネットワーク出力が示す場合を考える。物体が静止していることを出力が示すように、誤差逆伝播法を用いて、重みが再調節される。これにより、物体が静止しているときの重みが定まる。いくつかの実施態様では、ニューラルネットワークの学習率は、停止状態(本明細書では静止状態と呼ばれることもある)中に最大化され、物体が動いているときに最小化される。いくつかの実施態様によれば、学習率を調節することができるように、パターン認識を使用して、物体が移動しているか又は静止しているかが検出される。加速度計に影響を与える重みを調節するために、異なる静止状態及び移動状態が用いられる。いくつかの実施態様では、磁北に対する既知の基準を用いて、磁力計に対応する重みが常に調節される。いくつかの実施態様では、磁北の基準点及び重力ベクトルが常に分かっているため、物体が移動しているときに、加速度計に関する重みを補正する、又は定めるために、磁力計データも使用される。ジャイロスコープデータは、それが単一段階の積分しか必要としないため、加速度計からのデータよりも信頼性が高い。したがって、いくつかの実施態様によれば、ジャイロスコープデータは、加速度計の重みを補正するためにも使用される。いくつかの実施態様では、動的較正モジュール246が任意選択のものであり、パススルーチャネルは、動的較正なしに、フィルタリングモジュール244の出力をモーション合成モジュール250へと渡すことに留意されたい。
[0060] いくつかの実施態様では、モーション分解モジュール248は、パターン認識技法を用いて、各IMUにおいて、サブセンサ間の相互作用又は干渉による異常を排除する。物体の制御された並進運動及び回転運動に関する実験データが収集される。例えば、ジャイロスコープの挙動が、一定速度下で追跡され、パターンがメモリに記憶される。ジャイロスコープデータが既知のパターンをたどるときは、このパターンに基づいて、物体が一定速度下にあるという事実が推論される。同様に、いくつかの実施態様によれば、加速度計データ(例えば、一定重力ベクトル)を使用して、ジャイロスコープデータ及び/又は磁力計データの誤差を補正するためのパターンを識別することができ、磁力計データを使用して、加速度計データ及び/又はジャイロスコープデータの誤差を補正するためのパターンを識別することができる。例えば、いくつかの実施態様では、モーション分解モジュール248は、物体の等速状態と静止状態とを区別する。例えば、物体が一定の速度で移動しているなど、物体が等速状態にあるときには、ジャイロスコープは、特徴(又はパターン)として取り込まれてメモリに記憶される(振動に起因する)ノイズを記録する。ノイズは、物体が一定の速度ではなく、変化する速度で動いているとジャイロスコープに記録させることもできる。一方、物体が等速状態にあるときには、加速度計は、一定速度下で出力に変化を示さない。いくつかの実施態様は、ジャイロスコープの挙動(例えば、ノイズレベル)の違い、及び/又は加速度計の出力に変化がないことを検出して、物体が等速状態にあることにパターンが対応していることを推測する。このような例では、物体は等速状態にあるため、モーション分解モジュール248は、本明細書で説明されるように、以前に計算された速度を現在の位置測定に用いる。
[0061] いくつかの実施態様では、モーション分解モジュール248は、異常を補正するための別の影響として、物体が移動又は回転を突然停止したときなどに、センサデータから検出されるパターンの変化を観測することによって異常を除去する。いくつかの実施態様では、モーション分解モジュール248は、センサのそれぞれにおいて、異常を補正するために、いくつかの異なる記憶されたパターンを分析する。いくつかの実施態様では、モーション分解モジュール248は、追跡された物体の各IMUの並進運動及び/又は回転運動の種類を分類し、モーション合成モジュール250のためにパターン又はカテゴリを出力する。例えば、モーション分解モジュール248は、各IMUが、単純な線形モーション、回転がある単純な線形モーション、単純な回転がある非線形モーションを含む、多くの状態のうちの1つにあることを推論する。いくつかの実施態様では、モーション分解モジュール248からの出力は、更に、動的較正モジュール246の学習率を制御する。
[0062] いくつかの実施態様では、モーション合成モジュール250は、モーション分解モジュール248からの状態情報(例えば、一定速度、一定加速度、変化する加速度、回転との組み合わせで)を使用して、1つ又は複数のアルゴリズムを選択する。その後、モーション合成モジュール250は、動的較正モジュール246からのデータ出力に対して、1つ又は複数のアルゴリズムを適用して、物体のモーションを合成する(本明細書では、1つ又は複数のIMUに関する全体的な修正データの計算と呼ばれることもある)。例えば、物体が回転していることをモーション分解モジュール326からの状態情報が示す場合、モーション合成モジュール250は、(動的較正モジュールの出力によって示される)IMUの角運動量の差、及び異なる複数のIMUの所定の位置によって外形が描かれる既知の形状に基づいて、回転軸を計算する方程式を用いる。この例を詳述するために、4つのセンサを有し、各センサが隅にある、図1Bのような平面構成で、物体にIMUが取り付けられると仮定する。更に、この平面構成が、縦軸が上部のIMU及び底部のIMUを通過する菱形に、垂直に配置されると仮定する。ここで、平面(菱形)の物体が、縦軸の周りを回転する場合、縦軸の両側のIMUは、同じ角運動量を共有するが、上部のIMU及び底部のIMUと比較して異なる角運動量を有し、上部のIMUは、回転軸により近い底部のIMUよりも大きな角速度を有する。モーション合成モジュール250は、IMUによって形成される形状に基づいて、センサ間の角運動量の差及び既知の距離から回転軸データを計算又は合成する。
[0063] いくつかの実施態様では、ドリフト補正モジュール252は、いくつかの実施態様において、センサの位置及び向きを既知の(本明細書では、所定のと呼ばれることもある)形状に再び一致させることによってドリフトを除去する形状補正を用いる。いくつかの実施態様では、ドリフト補正モジュール252は、センサ間のノルム、距離、及び角度の変動に基づいて、モーションセンサによってデータの歪度を計算する。ノルムの変動が閾値を超える場合、ドリフト補正モジュール252は、後続のセンサの読取り値においてドリフトを排除するための補正マトリックス(ドリフトマトリックスと呼ばれることもある)を生成する。いくつかの実施態様によれば、形状補正モジュール(図示せず)は、補正マトリックスを用いて、動的較正モジュールからのデータ出力(本明細書では、クリーンデータ又はフィルタにかけられたデータと呼ばれることもある)を、連続的又は反復的に、クリーンデータからの予測されたドリフトを差し引くことによって補正する。例えば、いくつかの実施態様によれば、センサデータの各読み取り後に、ドリフト補正モジュール252からの以前に生成及び記憶されたデータを使用して、ノイズ除去された、動的較正モジュールからのクリーンデータ出力を補正する。
[0064] いくつかの実施態様では、エッジ状態取り扱いモジュール254は、ドリフト補正モジュール252の出力に基づいて、ドリフトを減少させるために、複雑な運動(例えば、2つの軸に沿ってスピンし、一直線に横断しながら、例えば物体が上にも上がる)、及び/又は並進運動(例えば、直線に沿って横方向に移動するようにスピンする)を取り扱う。いくつかの実施態様では、エッジ状態取り扱いモジュール254は、AIを使用して、エッジ状態を補償するために確率重み付けを適用する。いくつかの実施態様では、エッジ状態取り扱いモジュール254は、現在の物体の共通データ点(例えば、ドリフト補正モジュール252による出力)と、以前の物体の共通データ点(例えば、メモリに記憶された、ドリフト補正モジュール252による事前のセンサ読取り値に関する以前の出力)とを混合して、エッジ状態を除去する。
[0065] いくつかの複雑なシナリオでは、ドリフトが完全には補正されない場合があるが、上述のモジュールを用いて、絶え間ないドリフト又は恒常的なドリフトは排除することができる。更に、いくつかの実施態様では、本明細書に記載されるモジュールの組み合わせによって観測されるドリフトは、センチメートル又は更にはミリメートルのオーダーのものであるが、(例えば、GPSを使用した)別の外部基準に基づくドリフト排除は、時に、メートルのオーダーのドリフトをもたらすことがある。
[0066] いくつかの実施態様では、1つ又は複数のコントローラモジュール240は、デバイス関連情報を含む。いくつかの実施態様では、デバイス関連情報は、デバイス識別子及び/又はデバイス特性を含む。いくつかの実施態様では、デバイス識別子は、ネットワーク内の他の物体に対してデバイスを識別し得る。いくつかの実施態様では、デバイス特性は、デバイスが手動で操作される物体に対応するか又は自律的に操作される物体に対応するかに関連する情報を含む。いくつかの実施態様では、デバイス特性は、デバイスが建物又は家電製品などの静的物体に対応するか又は自動車などの動的物体に対応するかに関連する情報を含む。いくつかの実施態様では、デバイス特性は、デバイスがオンであるか又はオフであるかなど、デバイスの動作状態に関連する情報を含む。
[0067] いくつかの実施態様では、1つ又は複数のコントローラモジュール240は、他の物体の場所関連情報(例えば、絶対位置)を含む。いくつかの実施態様は、システムの特定の特徴(又は特性又は動作状態)及び/又はそのような特徴の符号化を含む。いくつかの実施態様では、物体の動作状態は、ネットワークで検出された特定の基準に基づいて変化し得る。例えば、デバイスがオン/オフと切り替わる電球を有する街灯に埋め込まれている場合、この特性はモジュール240に記憶される。いくつかの実施態様では、この情報は、建物内の物体(例えば、照明)に関連しているため、建物内のそのような物体の場所も記憶される。同様に、デバイスが移動物体(例えば、自動車)にある場合、その物体の特性もモジュール240に記憶される。例えば、このような情報としては、自動車などの物体が、方向指示器のオン/オフを切り替え得るか否かに関する情報が挙げられる。いくつかの実施態様では、上述の特性は、通信インターフェース214と連携して、無線送受信機基準データを送信する、及び/又は他の物体から受信する基準データ受信モジュール260を使用して、他の物体に伝達される、及び/又は他の物体から受信される。いくつかの実施態様では、モジュール240は、物体の最大数若しくは所定の数まで他の物体に関連する情報を記憶する、及び/又は、記憶された情報に基づいて、関連情報が記憶されていない物体に関連する情報を計算する。
[0068] 上記で識別された要素のそれぞれが、前述のメモリデバイスの1つ又は複数に記憶されてもよく、上記の機能を実行するための一式の命令に対応する。上記で識別されたモジュール又はプログラム(すなわち、一式の命令)は、別個のソフトウェアプログラム、プロシージャ、又はモジュールとして実施される必要はなく、したがって、様々な実施態様において、これらのモジュールの様々なサブセットが、組み合わせられてもよいし又は再構成されてもよい。いくつかの実施態様では、メモリ220は、任意選択で、上記で識別されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ220は、任意選択で、上で記載されていない追加のモジュール及びデータ構造を記憶する。いくつかの実施態様では、1つ又は複数の処理モジュール、及びメモリ220に記憶された関連のデータは、IMU 204によって生成された信号を受信及び処理するように構成されたドリフトフリーモーションセンサを備えたシステム200以外の第2の処理デバイスに記憶され、及びそのような第2の処理デバイス上で実行される。例えば、第2の処理デバイスは、少なくとも動作の一部がIMUによって提供されたモーション信号に応答する、アプリケーション(例えば、コンピュータゲーム)を実行するコンピュータシステム、スマートホームデバイス、又はゲーム機でもよい。
[0069] 図3は、いくつかの実施態様による、ドリフトフリーセンサを備えた代表的システムを通るセンサデータのフローを示すフロー図である。1つ又は複数のIMU(例えば、IMU 0、IMU 1、IMU 2、…、IMU N)からの生データ302が、コントローラ300(例えば、コントローラモジュール240)によって受信される(324)。上述のように、いくつかの実施態様では、コントローラは、(図3に示すように)1つ又は複数のIMUからデータを並行して受信する。いくつかの実施態様によれば、受信されたデータは、生データ(304)として、モーション分解モジュール326に出力される。いくつかの実施態様では、生データはまた、データ306としてフィルタリングモジュール328に入力され、フィルタリングモジュール328は、生データをフィルタにかけて、フィルタにかけられたデータ310を生成し、フィルタにかけられたデータ310は、次に動的較正モジュール330へと入力される。いくつかの実施態様では、モーション分解モジュール326はまた、動的較正モジュール330の学習率を制御する(314)。いくつかの実施態様では、モーション分解モジュール326及び/又は動的較正モジュール330は、任意選択のモジュールである。このような場合、フィルタにかけられたデータ310は、モーション合成モジュールに入力される(図示せず)。これらの場合、モーション合成モジュール332は、モーションのパターン又はカテゴリを把握していないが、1つ又は複数のアルゴリズム又は方程式を反復的に適用して、モーションを合成する。いくつかの実施態様では、モーション分解モジュール326及び動的較正モジュール330のステップは、非同期的に、及び/又は並行して実行される。ベイズ計算ステップ336は、モーション合成モジュールの出力316を使用して、モーション合成の次の反復で(すなわち、そのようなデータが利用可能になった後に)入力を補正するために形状補正モジュール334によって使われる(図2を参照して上述したような)ドリフト補正マトリックス320を生成する。図3には示していないが、いくつかの実施態様では、1つ又は複数の反復の第1のセット中に、形状補正データは利用可能ではなく、動的較正出力312がモーション合成モジュール332に入力される。いくつかの実施態様では、ベイズ計算ステップ336の出力(318)は、複雑な運動及び動的学習に関する(図2を参照して上に記載した)エッジ状態を取り扱うようエッジ状態モジュール338に入力される。いくつかの実施態様によれば、出力322は、コントローラのドリフトフリーの実際のモーション出力を示す。
[0070] いくつかの実施態様では、フィルタリングモジュール328は、図2のフィルタリングモジュール244に類似の機能を含み、モーション分解モジュール326は、図2のモーション分解モジュール248と類似の機能を含み、動的較正モジュール330は、図2の動的較正モジュール246と類似の機能を含み、形状補正モジュール334は、図2に関する説明で上に記載した形状補正モジュールと類似の機能を含み、モーション合成モジュール332は、図2のモーション合成モジュール250と類似の機能を含み、ベイズ計算モジュール336は、図2のドリフト補正モジュール252と類似の機能を含み、エッジ状態モジュール338は、図2のエッジ状態取り扱いモジュール254と類似の機能を含む。
[0071] 図4A~図4Dは、いくつかの実施態様による、追跡デバイスを用いた、物体の位置及び向きを追跡する方法400のフローチャート図を示す。いくつかの実施態様では、追跡デバイスは、所定の形状を規定する1つ又は複数の面と、所定の形状の1つ又は複数の面に取り付けられた複数の慣性計測装置(IMU)とを備える(402)。更に、いくつかの実施態様によれば、各IMUは、第1のサブセンサと第2のサブセンサとを備え、各IMUは、追跡システムの重心に対して所定の距離及び向きに配置される。上記の図1A~図1Fは、いくつかの実施態様による、3D物体に取り付けられたセンサの様々な構成を示す。いくつかの実施態様では、追跡デバイスの第1のサブセンサ及び第2のサブセンサ(例えば、図2のIMU 204)はそれぞれ、加速度計、磁力計、ジャイロスコープ、高度計、及び圧力センサのうちの1つであり(404)、第1のサブセンサは、第2のサブセンサとは異なるセンサタイプである。いくつかの実施態様では、追跡デバイスの所定の形状は、平面、四面体、及び立方体のうちの1つである(406)。いくつかの実施態様では、追跡デバイスはまた、複数のIMUに通信可能に結合されたコントローラを備える。いくつかの実施態様による、IMU 204を備えた例示的なシステム200については、図2に関連して上に記載した。
[0072] いくつかの実施態様では、追跡デバイスの各IMUは、物体の運動を検出し(408)、物体の場所及び/又は向きを表す慣性出力データを生成する。例えば、図2のIMU 204、又は図1A~図1Fのセンサは、加速度計、磁力計、ジャイロスコープ、高度計、及び/又は圧力センサの組み合わせを使用して、物体の運動を検出し、物体の場所及び/又は向きを表すデータを生成する。
[0073] いくつかの実施態様では、追跡物体は、コントローラにおいて(410)、複数のIMUのそれぞれからの第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データを受信する(412)。例えば、システム200のデータ受信モジュール242が、1つ又は複数の通信バス216を介して、1つ又は複数のIMU 204からの出力を受信する。いくつかの実施態様では、コントローラは、連続的な高サンプリングレートでは、複数のIMUのそれぞれからの第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データを約1ms未満で周期的に受信する(414)。
[0074] いくつかの実施態様では、コントローラは、信号ノイズを最小化するために、フィルタリングモジュール(例えば、モジュール244)を用いて、第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データをフィルタにかける(416)。
[0075] 次に図4Bを参照すると、いくつかの実施態様によれば、コントローラは、各IMUについて一連のステップ418を実行する。いくつかの実施態様では、コントローラは、第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データに基づいて、較正された慣性出力データを生成する(420)。例えば、コントローラは、動的較正モジュール246を用いて、較正された慣性出力データを生成する。いくつかの実施態様では、コントローラは、第1のサブセンサ慣性出力データ及び第2のサブセンサ慣性出力データを評価するために、ニューラルネットワーク重みを使用すること(422)であって、重みが、追跡デバイスの位置状態(例えば、静止位置状態)に基づいて学習率で調節される、ことと、物体の実際の運動と物体の推定された運動との間の差を表す相違値を計算することと、(例えば、モジュール248などのモーション分解モジュールの出力を使用して)較正された慣性出力データから相違値を除去することとにより、誤差値を計算する。いくつかの実施態様では、コントローラは、第1のサブセンサ及び第2のサブセンサのそれぞれからの過去の(例えば、事前又は以前の)慣性出力データに基づいて、第1のサブセンサ慣性出力データ及び第2の慣性出力データにニューラルネットワーク重みを適用する(424)。図示していないが、コントローラは、後に過去のデータとして取り出される、ある期間にわたってIMUから受信された慣性出力データを記憶及び/又は蓄積する。
[0076] 次に図4Cを参照すると、いくつかの実施態様によれば、コントローラは、動的較正モジュール(例えば、モジュール246)を用いて、第2のサブセンサ慣性出力データに対して第1のサブセンサ慣性出力データの相互相関を取って(426)、第2のサブセンサ慣性出力データに対して第1のサブセンサ慣性出力データから異常を識別して除去して、各IMUについて分解慣性出力データを生成する。いくつかの実施態様では、コントローラは、第2のサブセンサ慣性出力データに基づいて、第1のサブセンサに対応する分解慣性出力データを較正する(428)。いくつかの実施態様では、コントローラは、(例えば、モジュール248などのモーション分解モジュールを用いて)第2のサブセンサ慣性出力データにパターン認識を適用(430)して、第1のサブセンサ慣性出力データを表す分解慣性出力データを生成することによって、第2のサブセンサ慣性出力データに対して第1のサブセンサ慣性出力データの相互相関を取る。
[0077] 次に図4Dを参照すると、コントローラは、いくつかの実施態様によれば、モーション分解モジュール(例えば、上記のモジュール248)を使用して、IMUのそれぞれからの分解慣性出力データに基づいて、追跡デバイスの位置及び回転状態を判定する(432)。
[0078] 続いて、いくつかの実施態様によれば、コントローラは、追跡デバイスの位置及び回転状態に基づいて、合成手法を用いて、モーション合成モジュール(例えば、上記のモジュール250)を用いて、第1のサブセンサ慣性出力データと第2のサブセンサ慣性出力データとを合成(434)して、IMU合成データを生成する。
[0079] いくつかの実施態様では、コントローラは、所定の形状に対して確認するように、IMUのそれぞれについて合成されたデータ、IMUのそれぞれの所定の位置、及びIMUのそれぞれの所定の向きに基づいて、ACFBT計算モジュール(図示せず)を用いて、現在の追跡デバイスの修正データ出力を計算する(436)。コントローラのいくつかの実施態様(438)では、共通データ点を計算するために使用される複数のIMUの少なくともいくつかが、互いに対して異なる2つの軸に沿って異なる角度で向けられる。
[0080] その後、コントローラは、いくつかの実施態様によれば、現在の位置及び向き判定モジュール(例えば、図2のモジュール252、又は図3のステップ336及び334)を使用して、現在の物体の修正データ出力と以前の物体の修正データ出力との間の差に基づいて、物体の現在の位置及び向きを計算する(440)。いくつかの実施態様では、コントローラは、エッジ状態(例えば、上記の複雑な運動)を識別し(442)、エッジ状態取り扱いモジュール(例えば、上記のモジュール254)を用いて、現在の物体の修正データ出力と以前の物体の修正データ出力とを混合して(444)、エッジ状態を除去する。
[0081] 図4A~図4Dの動作が説明された特定の順序は、単なる例であり、記載された順序が、これらの動作が行われ得る唯一の順序であることを示す意図はないことを理解されたい。当業者には、本明細書に記載される動作を並べ替える様々なやり方が認識されよう。
[0082] 次に図5A~図5Dを参照すると、本明細書に記載されるドリフトフリーモーションセンサシステム200-iを使用して、別の物体に対する物体の位置を計算する例示的な実施態様を示す図が示されている。この例示的な実施態様では、図5A~図5Dの自動車502のそれぞれが「物体」である。図5に示し、以下により詳細に説明するように、ドリフトフリーモーションセンサシステム200-iのIMUは、「スマートシティ」構成にある様々な物体(本明細書ではノードとも呼ばれる)に接続されてもよく、様々な物体が他の物体とともに環境中を衝突することなく動くことができるように、それぞれが自身の移動する物体及び相互接続されたメッシュネットワーク内の他の移動する物体若しくはノードの距離及び/又はモーションの方向を、精度、正確性、及び冗長性をもって追跡してもよい。いくつかの実施態様では、物体は、中でも、車両、携帯電話、モバイルデバイス、建物、据え付けられた街灯などであり得る。ドリフトフリーモーションセンサシステムの200-iは、他の外部物体からの較正がなくても動作し得るが、メッシュネットワーク構成においてより多くの物体を追加することにより、より多くの冗長性及びフェイルセーフのオプションをもたらすことができる。例えば、メッシュネットワークにおけるいくつかのノードが位置データを伝達するのに失敗した場合、メッシュネットワークにおける残りのノードが引き継いで失敗したノードを補うことができる。
[0083] 他の実施態様では、物体は、モバイルコンピューティングデバイス、発射体、ヘルメットマウントディスプレイ、ゲーム機、又は別紙Aに含まれる他のデバイスを含むがこれらに限定されない他のデバイスに対応し得る。
[0084] 再び図5A~図5Dを参照すると、第1の自動車502-1、第2の自動車502-2、及び第3の自動車502-3は、それぞれ道路に沿って走行し得る。自動車502のそれぞれが、自動車が道路に沿って走行し続けるときに自身及び他の自動車の位置を追跡するためにドリフトフリーモーションセンサシステム200-iを有し得る。自動車のそれぞれの位置データを利用することにより、特定の自動車は、自動車どうしが道路に沿ったある点で衝突する可能性があるとの判定に応じて、運転者への警告又は特定の自動車の走行経路の変更のいずれかを行うことができる。ドリフトフリーモーションセンサシステム200-iは、それぞれのコントローラ300と、無線送受信機214と、1つ又は複数のIMU 302とをそれぞれ備え得る。コントローラ300は、IMU 302と連携して、ドリフトフリーな向き及び位置データを提供するように構成され得る。
[0085] 最初に、第1の自動車502-1は、第1の自動車502-1のドリフトフリーセンサシステム200-1に対する初期絶対位置(例えば、シード位置)を外部ソースから受信するように構成され得る。初期絶対位置は、中でも、例えば緯度/経度の形式(例えば、緯度XX、経度YY)の座標位置であってもよい。本明細書で使用される場合、絶対位置という用語は、地球上の所定の位置に対する物体の位置を指し得る。地球上の所定の位置は、都市、県、道路、又は建物などに対応し得る。
[0086] 自動車502-1が道路を走行し続けているときに、第1の自動車502-1は、ドリフトフリーセンサシステム200-1のIMUを使用して、第1の自動車502-1が65km/時の速度で動いており、北に10m移動したことを検知し得る。
[0087] 次いで、第1の自動車502-1は、第1の複数のIMU 200-1及びコントローラ300を使用して、第1の自動車502-1のモーションを表すモーション信号を生成し得る。モーション信号は、図3に示し、本明細書で説明されるように、コントローラ300のモジュールの1つ又は複数を使用して計算され得る。いくつかの実施態様では、モーション信号は、第1の複数のIMUのそれぞれからの検知されたモーションデータ、第1の複数のIMUのそれぞれの所定の位置、及び第1の複数のIMUのそれぞれの所定の向きに基づいて、修正データ出力を計算することによって生成され得る。
[0088] 次いで、図5Bに示すように、第1の自動車502-1は、コントローラ300を使用して、第1の自動車502-1の現在の絶対位置を計算し得る。例えば、第1の自動車502-1は、IMU 200-1の出力及び第1の自動車502-1の初期絶対位置を用いて、例えば、IMUの出力を緯度及び経度座標データと足し合わせることにより、第1の自動車502-1の現在の絶対位置を緯度XX、経度YY+10mと計算し得る。
[0089] 図5Cに示すように、第1の自動車502-1は、1つ又は複数の他の自動車(例えば、自動車502-2及び自動車502-3)から基準データを受信し得る。いくつかの実施形態では、自動車の1つ又は複数(例えば、自動車502-3)は、基準データを第1の自動車に送信する能力を欠く無線送信機を備え得る。これらの実施態様では、メッシュネットワークが作られ、これにより、第2の自動車502-2が、第3の自動車502-3からの基準データを第1の自動車502-1に中継し得る。理解を容易にするために3台の自動車のみが示されているが、いくつかの実施態様では、メッシュネットワークは、N台の自動車(又は一般的な物体)を含み、各自動車が、ある自動車から別の自動車への基準/位置データを中継するのであってもよい。第3の自動車502-3は、第3の自動車502-3の基準データを第2の自動車502-2に送信し得、第2の自動車502-2は、第2の自動車502-2及び第3の自動車502-3の基準データを第1の自動車502-1に送信し得る。第2の自動車502-2の基準データは、第2の自動車500-2に関連付けられた第2の複数のIMU 200-2を使用して計算された第2の自動車502-2の現在の絶対位置を含み得る。第3の自動車502-3の基準データは、第3の自動車502-3に関連付けられた第3の複数のIMU 200-3を使用して計算された第3の自動車502-3の現在の絶対位置を含み得る。次いで、第1の自動車502-1は、第1の自動車502-1の無線送受信機を使用して、第2の自動車502-2及び第3の自動車502-3からの基準データを受信し得る。
[0090] 図5Dに示すように、第1の自動車502-1は、第1の自動車502-1の現在の絶対位置、第2の自動車502-2の現在の絶対位置、及び/又は第3の自動車502-3の現在の絶対位置を用いて、第2の自動車502-2及び第3の自動車502-3に対する第1の自動車502-1の相対位置を計算し得る。相対位置は、(i)第1の自動車502-1と第2の自動車502-2との間の距離、及び第1の自動車502-1と第3の自動車502-3との間の距離と、(ii)第2の自動車502-2に対する第1の自動車502-1の向き、及び第3の自動車502-3に対する第1の自動車502-1の向きとのうちの少なくとも一方を含み得る。例えば、第1の自動車502-1は、図5Cに示す第2の自動車502-2及び第3の自動車502-3から受信した基準データに基づいて、第1の自動車502-1と第2の自動車502-2との間の距離を2mと判定し、第1の自動車502-1と第3の自動車502-3との間の距離を5mと判定し得る。いくつかの実施態様では、第2の自動車502-2及び第3の自動車502-3に対する第1の自動車502-1の相対位置は、外部基準信号を使用せずに計算され得る。
[0091] 図5Dに示すように、第1の自動車502-1は、第1の自動車502-1の現在の絶対位置、第2の自動車502-2の現在の絶対位置、及び/又は第3の自動車502-3の現在の絶対位置を用いて、第2の自動車502-2及び第3の自動車502-3の速度を計算し得る。図5Dに示す例では、第2の自動車502-2及び第3の自動車502-3の速度は65km/時である。
[0092] いくつかの実施態様では、各物体は、第1の外部物体の観測値を第2の外部物体と共有し得る。例えば、第1の自動車502-1は、第2の自動車502-2の位置を計算し、第2の自動車502-2の位置の観測値を第3の自動車502-3に伝達し得る。第3の自動車502-3は、第2の自動車502-2の位置を独立に計算するのではなく、又はそれに加えて、第1の自動車502-1から受信した第2の自動車502-2の位置の観測値を使用し得る。同様に、第3の自動車502-3は、第2の自動車502-2の位置を計算し、それを第1の自動車502-1に伝達し得る。
[0093] いくつかの実施態様では、物体がメッシュネットワークにおいてノードとして接続されることにより、物体は、他の物体からの観測値により計算を強化することができる。情報が交換されることにより、時間の経過とともにエントロピー(情報の消失)が減少する。このようにして、いくつかの実施態様では、各ノード(又は、この例では自動車)は、自身の計算した位置と他のノードから受信した情報の位置とを調整することによって、位置(絶対的又は相対位置のいずれかで)を特徴付ける。いくつかの実施態様では、物体は、正確な推定を補強する弾性システムのように動作して、正しさを強化する剛性のポイントに戻り、ある意味で永続的及び/又は継続的に自己補正する。
[0094] いくつかの実施態様では、ドリフトフリーセンサシステム200-1は、過去のデータ(例えば、過去15回の状態)を記憶し、過去のデータを補正のために適用する。いくつかの実施態様は、エントリのタイムスタンプを記憶する、及び/又は精度を高めるためにより新しいエントリに重み付けする。いくつかの実施態様では、情報の計算、交換、及び調整のプロセスをいくつかのサイクルにわたって繰り返す。いくつかの実施態様では、ドリフトフリーセンサシステム200-1は、他の物体からのデータを、受信した順に、及び/又はタイムスタンプ付きで記憶する。最近のデータが過去のデータとの相関がない場合、いくつかの実施態様は、隠れマルコフモデル(HMM)を用い、且つベイズ確率を用いて、他の物体の絶対位置の正確な推定値を計算する。いくつかの実施態様は、すべての観測値を時間順に並べたエントリとして記憶し、ストレージの制約に応じて時間エントリを結合又は融合する。
[0095] いくつかの実施態様は、新しいノード(この例では自動車)を認識し、それに応じて相対位置の計算を調整する。例えば、あるノードが、始動したばかりである、又はメッシュネットワークに加わったばかりであると仮定する。ノードは、事前の予測を持たず、最初は計算に多くの誤差が生じるが、これは時間の経過とともに(例えば、2~3回の繰り返しの後に)安定する(又は、誤差が解消される)。ネットワークにおける他のノードも新しいノードを認識し、それに応じてそのノードからの情報を重み付けする。いくつかの実施態様では、1つ又は複数のノードは、独自のセンサを持たないが、単に他の物体又はノードから受信した情報に基づいて情報を計算及び/又は中継する。いくつかの実施態様では、ネットワークにおける他のノードは、独自のセンサを持たないノードを認識し、それに応じてそのようなノードから得られた情報を重み付けする(例えば、そのような観測値に低い重みを与える)。
[0096] いくつかの実施態様では、ドリフトフリーセンサシステム200-1は、第2の自動車502-2に対する第1の自動車502-1の相対位置が緊急基準を満たすと判定し得る。例えば、第2の自動車502-2は、第1の自動車502-1と第2の自動車502-2とが将来のある時点で衝突し得るように、第1の自動車502-1に向かって旋回することがある。これに応じて、ドリフトフリーセンサシステム200-1は、運転者に警告する、及び/又は第1の自動車502-1に回避操縦を実行させることができ、回避操縦は、第2の自動車502-2を回避するために、第1の自動車を制動すること及び/又は第1の自動車502-1を旋回させることを含む。
[0097] いくつかの実施態様では、ドリフトセンサシステム200-1は、移動する物体の方向、位置、向き、及び/又は加速度の予測に基づいて、1つ又は複数の物体を制御し得る。例えば、ドリフトセンサシステム200-1は、物体(例えば、第1の自動車502-1)が家若しくは家の中の物体(例えば、オーブントースター)に向かって移動することに応じて、又はドリフトセンサシステム200-1が外部物体の相対位置を計算し、外部物体と家(又は家の中の物体)との間の距離が所定の閾値内であると検出したことに応じて、家庭の電気システム(例えば、冷房システム)又は家庭内のオーブンをオン/オフと切り替えることができる。更に例を挙げると、別の状況では、街路又は家の私設車道にある街灯が、自動車が街灯に近づいてきたこと(街灯から離れていくこと)を検知したことに応じて自動的に点灯(消灯)し得る。同様に、このようなシステムは、エリア内の移動する物体(例えば、自動車、ウェアラブルデバイスを装着した人、携帯電話)の数を予測するための交通流分析に使用され得る。モノのインターネット(IoT)の環境の状況では、IoTデバイスは、ドリフトセンサシステム200-1、システム200-1に結合されたマザーボード上のコントローラ、又はIoTデバイスに通信可能に(例えば、無線サービスを使用して)結合された通信コントローラを介して制御され得る。
[0098] いくつかの実施態様では、自動車502-1は、地図のグラフ表現を表示するユーザインターフェースを備え得る。ドリフトフリーセンサシステム200-1は、第2の物体に対する第1の物体の相対位置を用いて、地図のグラフ表現上に自動車502-1の位置を表示し得る。
[0099] いくつかの実施態様では、ドリフトフリーセンサシステム200-1は、位置データを較正するために地図データを利用し得る。
[00100] いくつかの実施態様では、ドリフトフリーセンサシステム200-1は、第2の自動車502-2からの基準データを用いて、第1の自動車502-1の速度を計算し得る。いくつかの実施態様では、ドリフトフリーセンサシステム200-1は、第1の自動車502-1のオンボード診断(OBD)システムに接続されて、OBDシステムから速度データを受信し得る。速度データは、モーション合成モジュール250によって、本明細書に記載された1つ又は複数のモーション合成アルゴリズムを選択するための状態情報として使用され得る。
[00101] いくつかの実施態様では、ドリフトフリーセンサシステム200-1は、第1の自動車502-1の絶対位置を更新(例えば、較正又は冗長性チェック)するために基準データを利用し得る。例えば、ドリフトフリーセンサシステム200-1は、基準データを用いて第1の自動車502-1の絶対位置を三角測量し得る。
[00102] いくつかの実施態様では、ドリフトフリーセンサシステム200-1は、物体の相対位置の時間的変化に基づいて他の自動車又は物体の速度を計算し得る。例えば、第2の自動車が時刻t1に相対位置のp1にあり、時刻t2に相対位置のp2にあるとすると、ドリフトフリーセンサシステム200-1は、p1とp2との間の差の絶対値をt1とt2との間の差で除すことにより、第2の自動車の相対速度を計算し得る。
[00103] 図6は、いくつかの実施態様による、第2の物体に対する第1の物体の位置を計算する方法600のフローチャート図を示す。例えば、図5A~図5Dを参照すると、第1の自動車502-1は、第2の自動車502-2及び第3の自動車502-3に対する第1の自動車502-1の位置を計算する。
[00104] いくつかの実施態様では、本方法は第1の物体において実施される。第1の物体は、街灯、信号機、又は建物などの静的物体であってもよい。第1の物体は、自動車、モバイルデバイス、ゲーム機、又は発射体などの移動する物体であってもよい。第1の物体は、コントローラ(例えば、コントローラ300)と、無線送受信機(例えば、通信インターフェース214)と、第1の複数の慣性計測装置(IMU)であって、それぞれが第1の複数のIMUの他のIMUに対して1つ又は複数の位置及び向きに取り付けられる、第1の複数の慣性計測装置とを備えるドリフトフリーモーションセンサシステム200であってもよい。IMUの例示的な向き/位置は、図1A~図1Fに示されている。
[00105] いくつかの実施態様では、第1の物体は、第1の物体の初期絶対位置を受信する(602)ように構成される。第1の物体の初期絶対位置は、第1の物体のIMUを始動するための初期シード位置であり得る。初期絶対位置は、中でも、緯度/経度の形式(例えば、緯度XX、経度YY)であってもよい。
[00106] いくつかの実施態様では、第1の物体は、第1の複数のIMU(例えば、IMU 200-1)を使用して、第1の物体のモーションを検知する(604)ように構成される。例えば、図5Aに示すように、第1の自動車502-1は、ドリフトフリーセンサシステム200-1のIMUを使用して、第1の自動車502-1が動いていて、北に10m移動したことを検知し得る。
[00107] いくつかの実施態様では、第1の物体は、第1の物体のモーションを表すモーション信号を生成する(606)ように構成される。モーション信号は、図3に示し、本明細書で説明されるように、コントローラ300のモジュールの1つ又は複数を使用して計算され得る。いくつかの実施態様では、モーション信号は、第1の複数のIMUのそれぞれからの検知されたモーションデータ、第1の複数のIMUのそれぞれの所定の位置、及び第1の複数のIMUのそれぞれの所定の向きに基づいて、修正データ出力を計算することにより生成され得る。
[00108] いくつかの実施態様では、第1の物体は、コントローラ(例えば、コントローラ300)を使用して、IMUの出力及び第1の物体の初期絶対位置を用いて、第1の物体の現在の絶対位置を計算する(608)ように構成される。例えば、図5Bに示すように、第1の自動車502-1は、IMU 200-1の出力及び第1の自動車502-1の初期絶対位置を用いて、例えば、IMUの出力を緯度及び経度座標データと足し合わせることにより、第1の自動車502-1の現在の絶対位置を緯度XX、経度YY+10mと計算し得る。
[00109] いくつかの実施態様では、第1の物体は、無線送受信機(例えば、通信インターフェース214)を使用して、第2の物体からの基準データを受信する(610)ように構成される。いくつかの実施態様では、基準データは、第2の物体に関連付けられた第2の複数のIMUを使用して計算された第2の物体の現在の絶対位置を含む。例えば、図5Cに示すように、第2の自動車502-2の基準データは、第2の自動車500-2に関連付けられた第2の複数のIMUを使用して計算された第2の自動車502-2の現在の絶対位置を含み得る。
[00110] いくつかの実施態様では、第1の物体は、第1の物体の現在の絶対位置及び第2の物体の現在の絶対位置を用いて、第2の物体に対する第1の物体の相対位置を計算する(612)ように構成される。いくつかの実施態様では、相対位置は、(i)第1の物体と第2の物体との間の距離と、(ii)第2の物体に対する第1の物体の向きとのうちの少なくとも一方を含む。例えば、図5Dに示すように、第1の自動車502-1は、図5Cに示す第2の自動車502-2から受信した基準データに基づいて、第1の自動車502-1と第2の自動車502-2との間の距離を2mと判定し得る。
[00111] いくつかの実施態様では、第1の物体は、第2の物体に対する第1の物体の推定距離を(例えば、放射測定を使用して)計算するために無線通信信号を使用する。いくつかの実施態様では、距離の測定は、(i)第1の物体による、第1の物体と第2の物体との間の距離の測定と、(ii)無線送受信機を使用してデータ伝送を介して第2の物体から第1の物体に中継される、第2の物体による、第1の物体と第2の物体との間の距離の測定と、(iii)無線送受信機を使用してデータ伝送を介して第1の物体から第2の物体に中継される、第2の物体による、第1の物体と第2の物体との間の距離の測定とのうちの少なくとも1つを含む。いくつかの実施態様では、このような測定方法のうちの1つ又は複数が、全体的な修正相対位置推定に独立して使用される。いくつかの実施態様では、そのような測定のうちの1つ又は複数が、デバイスネットワークにおける誤差を排除するために、IMU修正出力との通信において使用される。
[00112] いくつかの実施態様では、第2の物体からの基準データは、第3の物体に関連付けられた第3の複数のIMUを使用して計算された第3の物体の第3の物体の現在の絶対位置を含む。第1の物体は、第1の物体の現在の絶対位置及び第3の物体の現在の絶対位置を用いて、第3の物体に対する第1の物体の相対位置を計算するように構成される。相対位置は、(i)第1の物体と第3の物体との間の距離と、(ii)第3の物体に対する第1の物体の向きとのうちの少なくとも一方を含む。例えば、図5Cに示すように、メッシュネットワークは、第3の自動車502-3が第3の自動車502-3の基準データを第2の自動車502-2に送信し得、第2の自動車502-2が第3の自動車502-3の基準データを第1の自動車502-1に送信し得るように作られ得る。第3の自動車502-3の基準データは、第3の自動車502-3に関連付けられた第3の複数のIMU 200-3を使用して計算された第3の自動車502-3の現在の絶対位置を含み得る。
[00113] いくつかの実施態様では、第1の複数のIMUは、形状補正、静的較正、モーション分解、動的較正、モーション合成、及びエッジ状態平滑化のうちの少なくとも1つを用いてモーション信号を生成する。
[00114] いくつかの実施態様では、コントローラは、他の内部及び/又は環境状態のための追加的なセンサを含み、これには、典型的には、温度センサ、GPSなどの自動車センサが含まれる。いくつかの実施態様では、追加的なセンサデータが、コントローラによって無線送受信機を使用して、独立したデータパケットで、又は基準信号とともにデータパケットに含まれて送信される。
[00115] いくつかの実施態様では、第1の物体が第1の自動車であり、第2の物体が第2の自動車であり、本方法は、第2の自動車に対する第1の自動車の相対位置を計算した後、第2の自動車に対する第1の自動車の相対位置が緊急基準を満たすか否かを判定することと、第2の自動車に対する第1の自動車の相対位置が緊急基準を満たすと判定したことに応じて、第1の自動車に回避操縦を行わせることであって、回避操縦が、第1の自動車を制動すること及び/又は第1の自動車を旋回させることを含む、こととを更に含む。例えば、図5A~図5Dを参照すると、第2の自動車502-2は、第1の自動車502-1と第2の自動車502-2とが将来のある時点で衝突し得るように、第1の自動車502-1に向かって旋回することがある。これに応じて、ドリフトフリーセンサシステム200-1は、運転者に警告する、及び/又は第1の自動車502-1に回避操縦を実行させることができ、回避操縦は、第2の自動車502-2を回避するために、第1の自動車を制動すること及び/又は第1の自動車502-1を旋回させることを含む。
[00116] いくつかの実施態様では、第1の物体は、第1の物体に関連付けられたユーザインターフェースにおいて、第2の物体に対する第1の物体の相対位置を用いて、地図のグラフ表現上に第1の物体の位置を表示するように更に構成される。例えば、図5A~図5Dを参照すると、ドリフトフリーセンサシステム200-1は、第2の物体に対する第1の物体の相対位置を用いて、地図のグラフ表現上に自動車502-1の位置を表示し得る。
[00117] いくつかの実施態様は、物体の位置、速度、及び/又は向きを計算及び/又は表示するのに、上述のデバイス関連情報(例えば、デバイス識別子、デバイス特性、手動又は自律的な操作、静的又は動的な物体、オン/オフの状態など)を用いる。
[00118] いくつかの実施態様では、第1の物体は家電製品であり、第2の物体は自動車である。家電製品は、家電製品に対する自動車の相対位置を計算した後、家電製品に対する自動車の相対位置が動作状態変化基準を満たすか否かを判定し、家電製品に対する自動車の相対位置が動作状態変化基準を満たすと判定したことに応じて、家電製品をオフ状態からオン状態に変化させるように構成される。
[00119] 上記の説明では、添付の図面に例が示される実施態様について詳細に言及されている。また、上記の詳細な説明では、様々な記載される実施態様の十分な理解を提供するために、多数の具体的詳細が記載される。しかしながら、様々な記載される実施態様が、これらの具体的詳細なしに実施され得ることが当業者には明らかであろう。他の例では、周知の方法、プロシージャ、コンポーネント、回路、及びネットワークが、実施態様の態様を不必要に不明瞭にしないように、詳細に記載されていない。
[00120] いくつかの例では、第1の、第2のなどの用語が、様々な要素を表すために本明細書で使用されるが、これらの要素は、これらの用語によって限定されるものではないことも理解されよう。これらの用語は、ある要素を別の要素と区別するためだけに使用されているに過ぎない。例えば、様々な記載される実施態様の範囲から逸脱することなく、第1の電子デバイスは、第2の電子デバイスと名付けることができ、同様に、第2の電子デバイスは、第1の電子デバイスと名付けることができる。第1の電子デバイス及び第2の電子デバイスは、ともに電子デバイスであるが、これらは、必ずしも同じ電子デバイスではない。
[00121] 本明細書の様々な記載される実施態様の説明で使用される専門用語は、特定の実施態様を説明する目的のものにすぎず、限定することを意図するものではない。様々な記載される実施態様の説明及び添付の特許請求の範囲において使用される場合、単数形「1つの(a)」、「1つの(an)」、及び「その(the)」は、文脈上明白に他の意味を示す場合を除き、複数形も含むことが意図される。本明細書において使用される場合、「及び/又は」という用語は、関連する列挙された項目の1つ又は複数のありとあらゆる可能な組み合わせを指し、及びそれらを包含することも理解されよう。「含む/備える(includes)」、「含む/備える(including)」、「含む/備える(comprises)」、及び/又は「含む/備える(comprising)」という用語は、本明細書において使用される場合、記載された特徴、整数値、ステップ、動作、要素、及び/又はコンポーネントの存在を明示するが、1つ又は複数の他の特徴、整数値、ステップ、動作、要素、コンポーネント、及び/又はこれらのグループの存在又は追加を除外しないことが更に理解されよう。
[00122] 本明細書において使用される場合、「~である場合(if)」という用語は、任意選択で、文脈に応じて、「~するときに(when)」、又は「~すると(upon)」、又は「判定したことに応じて(in response to determining)」、又は「検出したことに応じて(in response to detecting)」、又は「~という判定にしたがって(in accordance with a determination that)」を意味すると解釈される。同様に、「~と判定された場合(if it is determined)」、又は「[記載された状態又は事象]が検出された場合(if [a stated condition or event] is detected)」という語句は、任意選択で、文脈に応じて、「判定されると(upon determining)」、又は「判定したことに応じて(in response to determining)」、又は「[記載された状態又は事象]を検出すると(upon detecting [the stated condition or event])」、又は「[記載された状態又は事象]を検出したことに応じて(in response to detecting [the stated condition or event])」、又は「[記載された状態又は事象]が検出されたという判定にしたがって(in accordance with a determination that [a stated condition or event] is detected)」を意味すると解釈される。
[00123] 様々な図のいくつかは、ある特定の順序で、いくつかの論理段階を示すが、順序に依存しない段階は、並べ替えられてもよく、他の段階は、組み合わせられてもよく、又は取り出されてもよい。いくつかの並び替え、又は他のグループ分けを具体的に述べたが、他の並び替え又はグループ分けが、当業者には明らかであり、したがって、本明細書で提示される順序付け及びグループ分けは、代替策の網羅的なリストではない。また、これらの段階は、ハードウェア、ファームウェア、ソフトウェア、又はこれらの任意の組み合わせで実施され得ることを認識されたい。
[00124] 上記の記載は、説明目的で、特定の実施態様に関連して説明されたものである。しかしながら、上記の説明のための記述が、網羅的であること、又は特許請求の範囲を開示した通りの形に限定することは意図されない。上記の教示に鑑みて、多くの修正形態及び変形形態が可能である。実施態様は、特許請求の範囲及びそれらの実際の応用の基礎となる原理を最良に説明するために、またそれによって、当業者が、企図される特定の使用に適するような様々な修正を有する実施態様を最良に利用することを可能にするために、選択されたものである。
Claims (11)
- 第2の物体に対する第1の物体の位置を計算するための方法であって、前記方法が、
コントローラと、無線送受信機と、第1の複数の慣性計測装置(IMU)であって、それぞれが前記第1の複数のIMUの他のIMUに対して1つ又は複数の位置及び向きに取り付けられる、第1の複数の慣性計測装置とを備える第1の物体であって、前記第1の物体が、
前記第1の複数のIMU又は前記コントローラの第1の物体の初期絶対位置を受信し、
前記第1の複数のIMUを使用して、前記第1の物体のモーションを検知し、前記第1の物体の検知されたモーションデータを生成し、
前記コントローラを使用して、前記第1の物体の前記モーションを表すモーション信号を生成し、前記モーション信号が、前記第1の複数のIMUのそれぞれからの検知されたモーションデータ、前記第1の複数のIMUのそれぞれの所定の位置、及び前記第1の複数のIMUのそれぞれの所定の向きに基づいて、修正データ出力を計算することによって生成され、
前記コントローラを使用して、前記コントローラによって生成された前記モーション信号と前記第1の物体の初期絶対位置とを用いて、第1の物体の現在の絶対位置を計算し、
前記無線送受信機を使用して、第2の物体からの基準データを受信し、前記基準データが、前記第2の物体に関連付けられた第2の複数のIMUを使用して計算された第2の物体の現在の絶対位置を含み、
前記第1の物体の現在の絶対位置及び前記第2の物体の現在の絶対位置を用いて、前記第2の物体に対する前記第1の物体の相対位置を計算し、前記相対位置が、(i)前記第1の物体と前記第2の物体との間の距離と、(ii)前記第2の物体に対する前記第1の物体の向きとのうちの少なくとも一方を含む
ように構成される、第1の物体において
含む、方法。 - 前記基準データが、第3の物体に関連付けられた第3の複数のIMUを使用して計算された前記第3の物体の第3の物体の現在の絶対位置を含み、前記第1の物体が、
前記第1の物体の現在の絶対位置及び前記第3の物体の現在の絶対位置を用いて、前記第3の物体に対する前記第1の物体の相対位置を計算し、前記相対位置が、(i)前記第1の物体と前記第3の物体との間の距離と、(ii)前記第3の物体に対する前記第1の物体の向きとのうちの少なくとも一方を含む
ように構成される、請求項1に記載の方法。 - 前記第1の物体が、
前記第1の物体における前記無線送受信機を使用して、前記第2の物体に対する前記第1の物体の前記第1の物体の現在の絶対位置を送信する
ように構成され、
前記第2の物体が、
前記第2の物体における無線送受信機を使用して、前記第1の物体の前記第1の物体の現在の絶対位置を受信し、
前記第2の物体におけるコントローラを使用して、前記第1の物体の現在の絶対位置及び前記第2の物体の現在の絶対位置を用いて、前記第1の物体に対する前記第2の物体の相対位置を計算し、前記相対位置が、(i)前記第2の物体と前記第1の物体との間の距離と、(ii)前記第1の物体に対する前記第2の物体の向きとのうちの少なくとも一方を含む、
ように構成される、請求項1又は2に記載の方法。 - 前記第1の複数のIMUが、形状補正、静的較正、モーション分解、動的較正、モーション合成、及びエッジ状態平滑化のうちの少なくとも1つを用いて前記モーション信号を生成する、請求項1~3のいずれか一項に記載の方法。
- 前記第1の複数のIMUが、加速度計又はジャイロスコープを備える、請求項1~4のいずれか一項に記載の方法。
- 前記第1の物体の現在の絶対位置及び前記第2の物体の現在の絶対位置が、外部基準信号なしで計算される、請求項1~5のいずれか一項に記載の方法。
- 前記第1の物体が第1の自動車であり、前記第2の物体が第2の自動車であり、前記第1の物体が、
前記第2の自動車に対する前記第1の自動車の相対位置を計算した後、前記第2の自動車に対する前記第1の自動車の前記相対位置が緊急基準を満たすか否かを判定し、
前記第2の自動車に対する前記第1の自動車の前記相対位置が緊急基準を満たすと判定したことに応じて、前記第1の自動車に回避操縦を行わせ、前記回避操縦が、前記第1の自動車を制動すること又は前記第1の自動車を旋回させることを含む、
ように構成される、請求項1~6のいずれか一項に記載の方法。 - 前記第1の物体が、
前記第1の物体に関連付けられたユーザインターフェースにおいて、前記第2の物体に対する前記第1の物体の前記相対位置を用いて、地図のグラフ表現上に前記第1の物体の位置を表示する
ように構成される、請求項1~7のいずれか一項に記載の方法。 - 前記第1の物体が家電製品であり、前記第2の物体が自動車であり、前記家電製品が、
前記家電製品に対する前記自動車の相対位置を計算した後、前記家電製品に対する前記自動車の前記相対位置が動作状態変化基準を満たすか否かを判定し、
前記家電製品に対する前記自動車の前記相対位置が動作状態変化基準を満たすと判定したことに応じて、前記家電製品をオフ状態からオン状態に変化させる
ように構成される、請求項1~6のいずれか一項に記載の方法。 - 第2の物体に対する第1の物体の位置を計算するためのシステムであって、前記システムが、
コントローラと、無線送受信機と、第1の複数の慣性計測装置(IMU)とを備える第1の物体であって、前記第1の物体が、請求項1~9のいずれか一項に記載のステップを実行するように構成される、第1の物体
を備える、システム。 - 1つ又は複数のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ又は複数のプログラムが、コントローラと、無線送受信機と、第1の複数の慣性計測装置(IMU)とを備える第1の物体によって実行されると、請求項1~9のいずれか一項に記載のステップを前記第1の物体に実行させる命令を含む、非一時的コンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962862645P | 2019-06-17 | 2019-06-17 | |
US62/862,645 | 2019-06-17 | ||
PCT/CA2020/050838 WO2020252575A1 (en) | 2019-06-17 | 2020-06-17 | Relative position tracking using motion sensor with drift correction |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022537361A true JP2022537361A (ja) | 2022-08-25 |
Family
ID=74036848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021575389A Pending JP2022537361A (ja) | 2019-06-17 | 2020-06-17 | ドリフト補正を用いるモーションセンサを使用した相対位置追跡 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220306089A1 (ja) |
EP (1) | EP3983752A4 (ja) |
JP (1) | JP2022537361A (ja) |
CN (1) | CN114556050A (ja) |
CA (1) | CA3143762A1 (ja) |
WO (1) | WO2020252575A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102254290B1 (ko) * | 2020-11-18 | 2021-05-21 | 한국과학기술원 | 모션 처리 방법 및 장치 |
CN112988930A (zh) * | 2021-03-05 | 2021-06-18 | 维沃移动通信有限公司 | 穿戴设备的交互方法和装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7629899B2 (en) * | 1997-10-22 | 2009-12-08 | Intelligent Technologies International, Inc. | Vehicular communication arrangement and method |
US7009557B2 (en) * | 2001-07-11 | 2006-03-07 | Lockheed Martin Corporation | Interference rejection GPS antenna system |
US6859725B2 (en) * | 2002-06-25 | 2005-02-22 | The Boeing Company | Low power position locator |
US7095336B2 (en) * | 2003-09-23 | 2006-08-22 | Optimus Corporation | System and method for providing pedestrian alerts |
US9156474B2 (en) * | 2009-09-23 | 2015-10-13 | Ford Global Technologies, Llc | Jurisdiction-aware function control and configuration for motor vehicles |
US9683848B2 (en) * | 2011-04-19 | 2017-06-20 | Ford Global Technologies, Llc | System for determining hitch angle |
US20140168009A1 (en) * | 2012-12-17 | 2014-06-19 | Trimble Navigation Ltd. | Multi-IMU INS for vehicle control |
US20150092048A1 (en) * | 2013-09-27 | 2015-04-02 | Qualcomm Incorporated | Off-Target Tracking Using Feature Aiding in the Context of Inertial Navigation |
US10917259B1 (en) * | 2014-02-13 | 2021-02-09 | Amazon Technologies, Inc. | Computing device interaction with surrounding environment |
CN105492985B (zh) * | 2014-09-05 | 2019-06-04 | 深圳市大疆创新科技有限公司 | 一种用于在环境内控制可移动物体的系统及方法 |
CN105203129B (zh) * | 2015-10-13 | 2019-05-07 | 上海华测导航技术股份有限公司 | 一种惯导装置初始对准方法 |
US20180194344A1 (en) * | 2016-07-29 | 2018-07-12 | Faraday&Future Inc. | System and method for autonomous vehicle navigation |
US10511951B2 (en) * | 2017-01-17 | 2019-12-17 | 3AM Innovations LLC | Tracking and accountability device and system |
US20200272221A1 (en) * | 2019-02-26 | 2020-08-27 | Apple Inc. | Multi-Interface Transponder Device - Power Management |
US11077825B2 (en) * | 2019-12-16 | 2021-08-03 | Plusai Limited | System and method for anti-tampering mechanism |
-
2020
- 2020-06-17 JP JP2021575389A patent/JP2022537361A/ja active Pending
- 2020-06-17 EP EP20827329.2A patent/EP3983752A4/en active Pending
- 2020-06-17 WO PCT/CA2020/050838 patent/WO2020252575A1/en unknown
- 2020-06-17 CN CN202080052007.1A patent/CN114556050A/zh active Pending
- 2020-06-17 US US17/620,056 patent/US20220306089A1/en active Pending
- 2020-06-17 CA CA3143762A patent/CA3143762A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220306089A1 (en) | 2022-09-29 |
CN114556050A (zh) | 2022-05-27 |
WO2020252575A1 (en) | 2020-12-24 |
CA3143762A1 (en) | 2020-12-24 |
EP3983752A4 (en) | 2023-08-02 |
EP3983752A1 (en) | 2022-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3107374C (en) | Systems and methods for autonomous machine tracking and localization of mobile objects | |
US10295365B2 (en) | State estimation for aerial vehicles using multi-sensor fusion | |
Schmid et al. | Autonomous vision‐based micro air vehicle for indoor and outdoor navigation | |
JP6814752B2 (ja) | 分散された位置特定システムおよび方法ならびに自己位置特定装置 | |
JP7390322B2 (ja) | ドリフト補正を用いるモーションセンサ | |
US9214021B2 (en) | Distributed position identification | |
Poulose et al. | Performance analysis of sensor fusion techniques for heading estimation using smartphone sensors | |
Strohmeier et al. | Ultra-wideband based pose estimation for small unmanned aerial vehicles | |
CN110686671B (zh) | 基于多传感器信息融合的室内3d实时定位方法及装置 | |
CN113108791A (zh) | 一种导航定位方法及导航定位设备 | |
Batista et al. | Low-cost attitude and heading reference system: Filter design and experimental evaluation | |
JP2022537361A (ja) | ドリフト補正を用いるモーションセンサを使用した相対位置追跡 | |
US20230333572A1 (en) | Methods and systems for estimating the orientation of an object | |
CA3165409A1 (en) | Geospatial operating system and method | |
CN114111776B (zh) | 定位方法及相关装置 | |
CN115164936A (zh) | 高精地图制作中用于点云拼接的全局位姿修正方法及设备 | |
Nemra et al. | Robust cooperative UAV visual SLAM | |
CN109945864B (zh) | 室内行车定位融合方法、装置、存储介质及终端设备 | |
CN109769206B (zh) | 一种室内定位融合方法、装置、存储介质及终端设备 | |
Luo et al. | Positioning technology of mobile vehicle using self-repairing heterogeneous sensor networks | |
CN111811500A (zh) | 目标对象的位姿估计方法、装置、存储介质和电子设备 | |
Lou et al. | Application of distributed motion estimation for swarm MAVs in a GPS-restricted environment based on a wireless sensor network | |
WO2023162017A1 (ja) | 位置姿勢推定装置、位置姿勢推定システム、およびセンサ設置方法 | |
Mathew et al. | Real-Time Distributed Infrastructure-free Searching and Target Tracking via Virtual Pheromones | |
Glavine | Interactive multiple model filtering for robotic navigation and tracking applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230619 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240418 |