(57)【要約】  物体の位置／場所及び方位を追跡するための追跡デバイスを実現するためのシステム及び／又はデバイスが、本明細書に提供される。デバイスは、所定の形状を規定する１つ又は複数の面と、所定の形状の１つ又は複数の面に取り付けられた複数の慣性計測装置（ＩＭＵ）とを有する。各ＩＭＵは、物体の移動を検出し、並びに物体の位置及び／又は方位を表す慣性出力データを生成するように構成される。各ＩＭＵは、第１のサブセンサ及び第２のサブセンサを含む。各ＩＭＵは、追跡デバイスの中心点に対して所定の距離及び方位に配置される。デバイスは、複数のＩＭＵに通信可能に結合されたコントローラも有し、コントローラは、複数のＩＭＵのそれぞれから出力データを受信し、センサデータからドリフトを排除するために、複数のＩＭＵからの受信された出力データ及び所定の形状に関する既知のデータ点に基づいて、物体の位置／場所及び方位を決定するように構成される。
2021529947.tif 000002
【特許請求の範囲】
【請求項１】
物体の場所及び方位を追跡するための追跡デバイスであって、
所定の形状を規定する１つ又は複数の面と、
前記所定の形状の前記１つ又は複数の面に取り付けられた複数の慣性計測装置（ＩＭＵ）であって、各ＩＭＵが、前記物体の移動を検出し、並びに前記物体の前記場所及び／又は方位を表す慣性出力データを生成するように構成され、各ＩＭＵが、第１のサブセンサ及び第２のサブセンサを含み、各ＩＭＵが、前記追跡デバイスの重心に対して所定の距離及び方位に配置される、複数のＩＭＵと、
前記複数のＩＭＵに通信可能に結合されたコントローラであって、
高サンプリングレートで、前記複数のＩＭＵのそれぞれから、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データを受信するステップと、
ＩＭＵごとに、
前記第１のサブセンサ慣性出力データ及び前記第２のサブセンサ慣性出力データに基づいて、較正された慣性出力データを生成するステップと、
分解慣性出力データを生成するために、前記第１のサブセンサ慣性出力データを前記第２のサブセンサ慣性出力データと相互相関させることによって、前記第２のサブセンサ慣性出力データを用いて、異常を識別し、及び前記第１のサブセンサ慣性出力データから除去するステップと、
前記複数のＩＭＵのそれぞれからの前記分解慣性出力データに基づいて、前記追跡デバイスの位置及び回転状態を決定するステップと、
前記追跡デバイスの前記位置及び回転状態に基づいて、合成技法を用いて、ＩＭＵ合成データを生成するために、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データを合成するステップと、
前記複数のＩＭＵのそれぞれに関する、前記合成されたデータ、前記複数のＩＭＵのそれぞれの所定の位置、及び前記複数のＩＭＵのそれぞれの所定の方位に基づいて、現在の追跡デバイス修正データ出力を計算するステップと、
前記現在の物体修正データ出力と、以前の物体修正データ出力との差に基づいて、物体の現在の場所及び方位を計算するステップと、
を行うように構成された、コントローラと、
を有する、追跡デバイス。
【請求項２】
較正された慣性出力データを生成することが、前記第１のサブセンサ慣性出力データ及び前記第２のサブセンサ慣性出力データを評価するために、ニューラルネットワーク重みを使用することであって、前記重みが、前記追跡デバイスの前記位置状態に基づいて学習率で調節される、使用することと、前記物体の実際の移動と、前記物体の推定された移動との差を表す相違値を計算することと、前記較正された慣性出力データから前記相違値を除去することと、を含む、請求項１に記載の追跡デバイス。
【請求項３】
第１のサブセンサ慣性出力データ及び前記第２の慣性出力データの前記ニューラルネットワークに適用される前記重みが、前記第１のサブセンサ及び前記第２のサブセンサのそれぞれからの履歴慣性出力データに基づいて調節される、請求項２に記載の追跡デバイス。
【請求項４】
前記第１のサブセンサに対応する、前記分解慣性出力データが、前記第２のサブセンサ慣性出力データに基づいて較正される、請求項１〜３の何れか一項に記載の追跡デバイス。
【請求項５】
前記第１のサブセンサ慣性出力データを前記第２のサブセンサ慣性出力データと相互相関させることが、前記第１のサブセンサ慣性出力データを表す前記分解慣性出力データを生成するために、パターン認識を前記第２のサブセンサ慣性出力データに適用することを含む、請求項１〜４の何れか一項に記載の追跡デバイス。
【請求項６】
信号調整によって信号ノイズを最小限に抑えるために、前記第１のサブセンサ慣性出力データ及び前記第２のサブセンサ慣性出力データがフィルタにかけられる、請求項１〜５の何れか一項に記載の追跡デバイス。
【請求項７】
前記複数のＩＭＵのそれぞれからの前記第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データが、高速の、連続的な、高サンプリングレートのために、約１ｍｓ未満で周期的に受信される、請求項１〜５の何れか一項に記載の追跡デバイス。
【請求項８】
第１のサブセンサ及び第２のサブセンサが、それぞれ、加速度計、磁力計、ジャイロスコープ、高度計、及び／又は圧力センサの１つであり、前記第１のサブセンサが、前記第２のサブセンサとは異なるセンサタイプである、請求項１〜５の何れか一項に記載の追跡デバイス。
【請求項９】
前記所定の形状が、平面、四面体、及び立方体の１つである、請求項１〜８の何れか一項に記載の追跡デバイス。
【請求項１０】
前記修正データ出力を計算するために使用される前記複数のＩＭＵの少なくとも幾つかが、互いに対して異なる２つの軸に沿って異なる角度で配向される、請求項１〜９の何れか一項に記載の追跡デバイス。
【請求項１１】
前記現在の物体修正データ出力と、前記以前の物体修正データ出力との前記差に基づいて、前記物体の前記現在の位置及び方位を計算することが、
エッジ状態を識別することと、
前記エッジ状態を除去するために、前記現在の物体修正データ出力及び前記以前の物体修正データ出力を混合することと、
を含む、請求項１〜１０の何れか一項に記載の追跡デバイス。
【請求項１２】
追跡デバイスを使用して、物体の位置及び方位を追跡する方法であって、前記追跡デバイスが、所定の形状を規定する１つ又は複数の面と、前記所定の形状の前記１つ又は複数の面に取り付けられた複数の慣性計測装置（ＩＭＵ）であって、各ＩＭＵが、第１のサブセンサ及び第２のサブセンサを含み、各ＩＭＵが、前記追跡デバイスの重心に対して所定の距離及び方位に配置される、複数のＩＭＵと、前記複数のＩＭＵに通信可能に結合されたコントローラと、を含み、前記方法が、
各ＩＭＵにおいて、前記物体の移動を検出すること、並びに前記物体の位置及び／又は方位を表す慣性出力データを生成することと、
前記コントローラにおいて、
前記複数のＩＭＵのそれぞれから、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データを受信することと、
ＩＭＵごとに、
前記第１のサブセンサ慣性出力データ及び前記第２のサブセンサ慣性出力データに基づいて、較正された慣性出力データを生成することと、
分解慣性出力データを生成するために、前記第１のサブセンサ慣性出力データを前記第２のサブセンサ慣性出力データと相互相関させることによって、前記第２のサブセンサ慣性出力データを用いて、異常を識別し、及び前記第１のサブセンサ慣性出力データから除去することと、
前記複数のＩＭＵのそれぞれからの前記分解慣性出力データに基づいて、前記追跡デバイスの位置及び回転状態を決定することと、
前記追跡デバイスの前記位置及び回転状態に基づいて、合成技法を用いて、ＩＭＵ合成データを生成するために、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データを合成することと、
前記複数のＩＭＵのそれぞれに関する合成された、前記補正された移動、前記複数のＩＭＵのそれぞれの所定の位置、及び前記複数のＩＭＵのそれぞれの所定の方位に基づいて、現在の追跡デバイス修正データ出力を計算することと、
前記現在の物体修正データ出力と、以前の物体修正データ出力との差に基づいて、物体の現在の場所及び方位を計算することと、
を有する、方法。
【請求項１３】
較正された慣性出力データを生成することが、重みを前記第１のサブセンサ慣性出力データ及び前記第２のサブセンサ慣性出力データに適用するために、ニューラルネットワークを使用することであって、前記重みが、前記追跡デバイスの前記位置状態に基づいて学習率で調節される、使用することと、前記物体の実際の移動と、前記物体の推定された移動との差を表す相違値を計算することと、前記較正された慣性出力データから前記相違値を除去することと、を含む、請求項１２に記載の方法。
【請求項１４】
前記第１のサブセンサ慣性出力データ及び前記第２の慣性出力データに適用される前記重みが、前記第１のサブセンサ及び前記第２のサブセンサのそれぞれからの履歴慣性出力データに基づいて調節される、請求項１３に記載の方法。
【請求項１５】
前記第１のサブセンサに対応する、前記分解慣性出力データが、前記第２のサブセンサ慣性出力データに基づいて較正される、請求項１２〜１４の何れか一項に記載の方法。
【請求項１６】
前記第１のサブセンサ慣性出力データを前記第２のサブセンサ慣性出力データと相互相関させることが、前記第１のサブセンサ慣性出力データを表す前記分解慣性出力データを生成するために、パターン認識を前記第２のサブセンサ慣性出力データに適用することを含む、請求項１２〜１５の何れか一項に記載の方法。
【請求項１７】
信号ノイズを最小限に抑えるために、前記第１のサブセンサ慣性出力データ及び前記第２のサブセンサ慣性出力データがフィルタにかけられる、請求項１２〜１６の何れか一項に記載の方法。
【請求項１８】
前記複数のＩＭＵのそれぞれからの前記第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データが、連続的な、高サンプリングレートのために、約１ｍｓ未満で周期的に受信される、請求項１２〜１６の何れか一項に記載の方法。
【請求項１９】
前記第１のサブセンサ及び前記第２のサブセンサが、それぞれ、加速度計、磁力計、ジャイロスコープ、高度計、及び／又は圧力センサの１つであり、前記第１のサブセンサが、前記第２のサブセンサとは異なるセンサタイプである、請求項１２〜１８の何れか一項に記載の方法。
【請求項２０】
前記所定の形状が、平面、四面体、及び立方体の１つである、請求項１２〜１９の何れか一項に記載の方法。
【請求項２１】
前記修正データ出力を計算するために使用される前記複数のＩＭＵの少なくとも幾つかが、互いに対して異なる２つの軸に沿って異なる角度で配向される、請求項１２〜２０の何れか一項に記載の方法。
【請求項２２】
前記現在の物体修正データ出力と、前記以前の物体修正データ出力との前記差に基づいて、前記物体の前記現在の場所及び方位を計算することが、
エッジ状態を識別することと、
前記エッジ状態を除去するために、前記現在の物体修正データ出力及び前記以前の物体修正データ出力を混合することと、
を含む、請求項１２〜２１の何れか一項に記載の方法。
【請求項２３】
１つ又は複数のプロセッサを含むコンピュータシステムによって実行されるように構成された１つ又は複数のコンピュータプログラムを保存する、非一時的なコンピュータ可読ストレージ媒体であって、前記１つ又は複数のプログラムが、実行されると、請求項１２〜２２の何れか一項に記載の方法を前記コンピュータシステムに行わせる命令、非一時的なコンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
[0001]  開示する実施態様は、一般に、モーションセンサに関し、より詳細には、幾つかの実施態様では、全地球測位システム（ＧＰＳ）よりも正確で、且つ外部基準マーカ、トランスポンダ、又はサテライトから独立した位置追跡が可能な、ドリフト補正を用いるモーションセンサを実現するための方法、システム、及びデバイスに関する。
【背景技術】
【０００２】
背景
[0002]  モーション追跡は、物体の回転（ピッチ、ヨー、及びロール）並びに並進移動を認識することによって、物体の正確な位置及び場所を検出する。慣性追跡は、物体の位置的変化を測定するために、物体に取り付けられたセンサ（例えば、加速度計、ジャイロスコープ、磁力計、高度計、及び圧力センサ）からのデータを使用するモーション追跡の一種である。これらのセンサの幾つかは、動作するために推測航法に依存する慣性センサである。推測航法は、以前に決定された位置を使用し、経過時間及びコースにわたる、既知の、又は推定された加速度、速度、又は変位に基づいて、その位置を前進させることによって、物体の現在の場所を計算するプロセスである。推測航法技術は、多少効果的ではあるが、それらは、「ドリフト」と呼ばれる累積誤差を受ける。一部のＩＭＵは、加速度計からの加速度データを二度積分することによって、相対位置／場所を推定するため、加速度の小さな誤差でさえ、時間と共に累積する、相対位置／場所の複合の増大する誤差をもたらす。同様に、ジャイロスコープの角速度データの誤差は、相対角方位の累積誤差をもたらす。従って、加速度及びジャイロスコープデータは、分離して使用されるときは、ＩＭＵを使用して追跡されている物体の方位及び位置的変化を推定するには信頼性が低い。
【０００３】
[0003]  ドリフトを排除せずに補償する従来の解決策は、費用が高すぎ、及び／又は信頼性が低すぎる。このような解決策の１つは、例えばカメラ又はＧＰＳからの外部基準データを、追跡されている物体に取り付けられたＩＭＵからのデータと統合することによって、規定の間隔でＩＭＵデータのドリフトをリセットする。ＩＭＵデータをＧＰＳ信号と融合させることは、一般的に、大きな誤差マージン（例えば、数メートル）をもたらす。他の解決策は、カルマンフィルタ、及び示差測定技術を用いて大規模なサンプル又は多数のＩＭＵセンサにわたる統計的計算を使用して方位ドリフトを減少させようと試みるための重み付き平均化を用いて、複数のＩＭＵからのデータを融合する。複数のセンサが使用されるときは、センサの内の数個が遮断された場合でさえ、方位追跡は、ますます信頼性が低くなる。場所追跡は、重み付き統計計算を用いた複数のセンサを使用する、現在最良のドリフト補償技術を用いても解くことができないままである。さらに、マルチセンサシステムにおける総合的なドリフトを大幅に減少させるためには、非常に多くのセンサが必要とされる。センサが多くなれば、費用も高くなり、総消費電力も増え、並びに方位データのサンプリング及び処理の待ち時間も増えることを意味する。待ち時間の増加は、低サンプリングレートの原因となり、位置的誤差及び位置精度の低下をさらにもたらす。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
概要
[0004]  従って、ドリフトを補正する、費用効率の高い、高精度の、高速モーションセンサを実現するためのシステム及び／又はデバイスに対するニーズが存在する。
【課題を解決するための手段】
【０００５】
[0005]  （Ａ１）ある態様において、幾つかの実施態様は、物体の場所及び方位を追跡するための追跡デバイスを含む。本デバイスは、所定の形状を形成する１つ又は複数の面を有する。本デバイスは、所定の形状の１つ又は複数の面に取り付けられた複数の慣性計測装置（ＩＭＵ）も有する。各ＩＭＵは、物体の移動を検出し、並びに物体の非線形加速度及び／又は角速度を表す慣性出力データを生成するように構成される。各ＩＭＵは、第１のサブセンサ及び第２のサブセンサを含む。各ＩＭＵは、互いに対して、及び追跡デバイスの重心に対して、所定の距離及び方位に配置される。本デバイスは、複数のＩＭＵに通信可能に結合されたコントローラも有し、このコントローラは、一連のステップを行うように構成される。一連のステップは、複数のＩＭＵのそれぞれから、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データを受信することを有する。一連のステップは、ＩＭＵごとに、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データに基づいて、較正された慣性出力データを生成することと、分解慣性出力データを生成するために、第１のサブセンサ慣性出力データを第２のサブセンサ慣性出力データと相互相関させることによって、第２のサブセンサ慣性出力データを用いて、異常を識別し、及び第１のサブセンサ慣性出力データから除去することと、も有する。一連のステップは、各ＩＭＵからの分解慣性出力データに基づいて、追跡デバイスの並進及び回転状態を決定することも有する。一連のステップは、追跡デバイスの並進及び回転状態に基づいて、合成技法を用いて、ＩＭＵ合成又は算出データを生成するために、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データを合成することも有する。一連のステップは、各ＩＭＵの合成された移動、各ＩＭＵの所定の位置、及び各ＩＭＵの所定の方位に基づいて、現在の追跡デバイス修正データ出力（本明細書では、「ドリフトフリー」又は「ドリフト補正された」とも呼ばれる）を計算することも有する。一連のステップは、現在の物体修正データ出力と、以前の物体ドリフトフリー又は修正データ出力との差に基づいて、物体の現在の場所及び方位を計算することも有する。
【０００６】
[0006]  （Ａ２）較正された慣性出力データを生成することが、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データにニューラルネットワーク重みを適用することであって、ニューラルネットワーク重みが、追跡デバイスの位置状態に基づいて学習率で調節される、適用することと、物体の実際の移動と、物体の推定された移動との差を表す相違値を計算することと、較正された慣性出力データから相違値を除去することと、を含む、Ａ１の追跡デバイスの幾つかの実施態様において。
【０００７】
[0007]  （Ａ３）Ａ２の追跡デバイスの幾つかの実施態様では、第１のサブセンサ慣性出力データ及び第２の慣性出力データに適用されるニューラルネットワーク重みが、第１のサブセンサ及び第２のサブセンサのそれぞれからの履歴慣性出力データに基づく。
【０００８】
[0008]  （Ａ４）Ａ１の追跡デバイスの幾つかの実施態様では、第１のサブセンサに対応する、分解慣性出力データが、第１のサブセンサの動的較正ニューラルネットワークにフィードバックを提供することによって、第２のサブセンサ慣性出力データに基づいて較正される。
【０００９】
[0009]  （Ａ５）Ａ１の追跡デバイスの幾つかの実施態様では、第１のサブセンサ慣性出力データを第２のサブセンサ慣性出力データと相互相関させることが、第１のサブセンサ慣性出力データを表す分解慣性出力データを生成するために、パターン認識を第２のサブセンサ慣性出力データに適用することを含む。
【００１０】
[0010]  （Ａ６）Ａ１の追跡デバイスの幾つかの実施態様では、信号調整によって信号ノイズを最小限に抑えるために、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データがフィルタにかけられる。
【００１１】
[0011]  （Ａ７）Ａ１の追跡デバイスの幾つかの実施態様では、複数のＩＭＵのそれぞれからの第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データが、連続的な、高サンプリングレートのために、約１ミリ秒（ｍｓ）未満で周期的に受信される。
【００１２】
[0012]  （Ａ８）Ａ１の追跡デバイスの幾つかの実施態様では、第１のサブセンサ及び第２のサブセンサが、それぞれ、加速度計、磁力計、ジャイロスコープ、高度計、及び圧力センサの１つであり、第１のサブセンサが、第２のサブセンサとは異なるセンサタイプである。
【００１３】
[0013]  （Ａ９）Ａ１の追跡デバイスの幾つかの実施態様では、所定の形状が、平面、四面体、立方体、又は何らかのプラトンの立体、又はＩＭＵ間で既知の距離及び天使を有する、その他の不規則な構成の１つである。
【００１４】
[0014]  （Ａ１０）Ａ１の追跡デバイスの幾つかの実施態様では、修正ＩＭＵデータ出力を計算するために使用されるＩＭＵの少なくとも幾つかが、互いに対して異なる２つの軸に沿って異なる角度で配向される。
【００１５】
[0015]  （Ａ１１）Ａ１の追跡デバイスの幾つかの実施態様では、現在の修正ＩＭＵ出力と、以前の物体修正ＩＭＵ出力との差に基づいて、物体の現在の位置及び方位を計算することが、エッジ状態を識別することと、ニューラルネットワークを使用して、エッジ状態を除去するために、現在の物体修正ＩＭＵ出力及び以前の物体修正ＩＭＵ出力を混合することと、を含む。
【００１６】
[0016]  別の態様において、幾つかの実施態様は、追跡デバイスを使用して、物体の場所及び方位を追跡する方法を含む。追跡デバイスは、所定の形状を規定する１つ又は複数の面を含む。追跡デバイスは、所定の形状の１つ又は複数の面に取り付けられた複数の慣性計測装置（ＩＭＵ）も含む。各ＩＭＵは、第１のサブセンサ及び第２のサブセンサを含む。各ＩＭＵは、互いに対して、及び追跡デバイスの重心に対して、所定の距離及び方位に配置される。追跡デバイスは、ＩＭＵに通信可能に結合されたコントローラも含む。本方法は、一連のステップを行うことを有する。一連のステップは、各ＩＭＵにおいて、物体の移動を検出すること、並びに物体の加速度及び／又は角速度を表す慣性出力データを生成することを含む。一連のステップは、コントローラにおいて、複数のＩＭＵのそれぞれから、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データを受信することも含む。一連のステップは、コントローラにおいて、ＩＭＵごとに、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データに基づいて、較正された慣性出力データを生成することと、分解慣性出力データを生成するために、第１のサブセンサ慣性出力データを第２のサブセンサ慣性出力データと相互相関させることによって、第２のサブセンサ慣性出力データを用いて、異常を識別し、及び第１のサブセンサ慣性出力データから除去することと、も含む。一連のステップは、コントローラにおいて、各ＩＭＵからの分解慣性出力データに基づいて、追跡デバイスの並進及び回転状態を決定することも含む。一連のステップは、コントローラにおいて、追跡デバイスの位置及び回転状態に基づいて、合成技法を用いて、ＩＭＵ合成又は算出データを生成するために、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データを合成することも含む。一連のステップは、コントローラにおいて、各ＩＭＵの合成移動、各ＩＭＵの所定の場所、及び各ＩＭＵの所定の方位に基づいて、現在の追跡デバイス総合的ドリフトフリー又は修正データ出力を計算することも含む。一連のステップは、コントローラにおいて、現在の物体総合的修正データと、以前の物体総合的修正データとの差に基づいて、物体の現在の場所及び方位を計算することも含む。
【００１７】
[0017]  （Ａ１３）較正された慣性出力データを生成することが、ニューラルネットワーク重みを第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データに適用することであって、ニューラルネットワーク重みが、追跡デバイスの位置状態に基づいて学習率で調節される、適用することと、物体の実際の移動と、物体の推定された移動との差を表す相違値を計算することと、較正された慣性出力データから相違値を除去することと、を含む、（Ａ１２）の方法の幾つかの実施態様において。
【００１８】
[0018]  （Ａ１４）（Ａ１３）の方法の幾つかの実施態様では、第１のサブセンサ慣性出力データ及び第２の慣性出力データに適用されるニューラルネットワーク重みが、第１のサブセンサ及び第２のサブセンサのそれぞれからの履歴慣性出力データに基づく。
【００１９】
[0019]  （Ａ１５）（Ａ１２）の方法の幾つかの実施態様では、第１のサブセンサに対応する、分解慣性出力データが、第１のサブセンサの動的較正ニューラルネットワークにフィードバックを提供することによって、第２のサブセンサ慣性出力データに基づいて較正される。
【００２０】
[0020]  （Ａ１６）（Ａ１２）の方法の幾つかの実施態様では、第１のサブセンサ慣性出力データを第２のサブセンサ慣性出力データと相互相関させることが、第１のサブセンサ慣性出力データを表す分解慣性出力データを生成するために、パターン認識を第２のサブセンサ慣性出力データに適用することを含む。
【００２１】
[0021]  （Ａ１７）（Ａ１２）の方法の幾つかの実施態様では、信号調整によって信号ノイズを最小限に抑えるために、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データがフィルタにかけられる。
【００２２】
[0022]  （Ａ１８）（Ａ１２）の方法の幾つかの実施態様では、複数のＩＭＵのそれぞれからの第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データが、連続的な、高サンプリングレートのために、約１ｍｓ未満で周期的に受信される。
【００２３】
[0023]  （Ａ１９）（Ａ１２）の方法の幾つかの実施態様では、第１のサブセンサ及び第２のサブセンサが、それぞれ、加速度計、磁力計、ジャイロスコープ、高度計、及び圧力センサの１つであり、第１のサブセンサが、第２のサブセンサとは異なるセンサタイプである。
【００２４】
[0024]  （Ａ２０）（Ａ１２）の方法の幾つかの実施態様では、所定の形状が、平面、四面体、立方体、又は何らかのプラトンの立体、又はＩＭＵ間で既知の距離及び天使を有する、その他の不規則な構成の１つである。
【００２５】
[0025]  （Ａ２１）（Ａ１２）の方法の幾つかの実施態様では、総合的ドリフトフリー又は修正システム出力を計算するために使用されるＩＭＵの少なくとも幾つかが、互いに対して異なる２つの軸に沿って異なる角度で配向される。
【００２６】
[0026]  （Ａ２２）（Ａ１２）の方法の幾つかの実施態様では、現在の物体修正データと、以前の物体修正データ出力との差に基づいて、物体の現在の場所及び方位を計算することが、エッジ状態を識別することと、ニューラルネットワークを使用して、エッジ状態を除去するために、現在の物体修正データ出力及び以前の物体修正データ出力を混合することと、を含む。
【００２７】
図面の簡単な説明
[0027]  様々な記載される実施態様のより深い理解のために、図面全体を通して同様の参照番号が対応する部分を指す、以下の図面と併せて、以下の実施態様の説明が参照されるべきである。
【図面の簡単な説明】
【００２８】
【図１Ａ】[0028]幾つかの実施態様による、二次元（「２Ｄ」）又は三次元（「３Ｄ」）物体に取り付けられたモーションセンサの様々な構成を示す。
【図１Ｂ】[0028]幾つかの実施態様による、二次元（「２Ｄ」）又は三次元（「３Ｄ」）物体に取り付けられたモーションセンサの様々な構成を示す。
【図１Ｃ】[0028]幾つかの実施態様による、二次元（「２Ｄ」）又は三次元（「３Ｄ」）物体に取り付けられたモーションセンサの様々な構成を示す。
【図１Ｄ】[0028]幾つかの実施態様による、二次元（「２Ｄ」）又は三次元（「３Ｄ」）物体に取り付けられたモーションセンサの様々な構成を示す。
【図１Ｅ】[0028]幾つかの実施態様による、二次元（「２Ｄ」）又は三次元（「３Ｄ」）物体に取り付けられたモーションセンサの様々な構成を示す。
【図１Ｆ】[0028]幾つかの実施態様による、二次元（「２Ｄ」）又は三次元（「３Ｄ」）物体に取り付けられたモーションセンサの様々な構成を示す。
【図２】[0029]幾つかの実施態様による、ドリフト補正を用いるセンサを備えた代表的システムを示すブロック図である。
【図３】[0030]幾つかの実施態様による、ドリフト補正を用いる代表的システムを通るセンサデータのフローを示すフロー図である。
【図４Ａ】[0031]幾つかの実施態様による、追跡デバイスを用いた、物体の位置及び方位を追跡する方法のフローチャート図を示す。
【図４Ｂ】[0031]幾つかの実施態様による、追跡デバイスを用いた、物体の位置及び方位を追跡する方法のフローチャート図を示す。
【図４Ｃ】[0031]幾つかの実施態様による、追跡デバイスを用いた、物体の位置及び方位を追跡する方法のフローチャート図を示す。
【図４Ｄ】[0031]幾つかの実施態様による、追跡デバイスを用いた、物体の位置及び方位を追跡する方法のフローチャート図を示す。
【発明を実施するための形態】
【００２９】
実施態様の説明
[0032]  これより、例が添付の図面に示される実施態様について詳細に言及する。以下の詳細な説明では、様々な記載される実施態様の十分な理解を提供するために、多数の具体的詳細が記載される。しかし、様々な記載される実施態様が、これらの具体的詳細なしに実施され得ることが当業者には明らかとなるだろう。他の例では、周知の方法、プロシージャ、コンポーネント、回路、及びネットワークが、実施態様の態様を不必要に分かり難くしないように、詳細に記載されない。
【００３０】
[0033]  幾つかの例では、「第１の」、「第２の」などの用語が、様々な要素を表すために本明細書で使用されるが、これらの要素は、これらの用語によって限定されるものではないことも理解されるだろう。これらの用語は、ある要素を別の要素と区別するためだけに使用される。例えば、様々な記載される実施態様の範囲から逸脱することなく、第１の電子デバイスは、第２の電子デバイスと名付けることができ、同様に、第２の電子デバイスは、第１の電子デバイスと名付けることができる。第１の電子デバイス及び第２の電子デバイスは、共に電子デバイスであるが、これらは、必ずしも同じ電子デバイスではない。
【００３１】
[0034]  本明細書の様々な記載される実施態様の説明で使用される専門用語は、特定の実施態様を説明する目的のものにすぎず、限定を意図するものではない。様々な記載される実施態様の説明及び添付の特許請求の範囲において、単数形「a」、「an」、及び「the」は、文脈上明白に他の意味を示す場合を除き、複数形も含むことが意図される。本明細書における「及び／又は」という用語は、関連する列挙されたアイテムの１つ又は複数のあらゆる可能な組み合わせを指し、及びそれらを包含することも理解されるだろう。「含む（includes）」、「含んだ（including）」、「有する（comprises）」、及び／又は「有した（comprising）」という用語は、本明細書で使用されるときに、記載された特徴、整数値、ステップ、動作、要素、及び／又はコンポーネントの存在を明示するが、１つ又は複数の他の特徴、整数値、ステップ、動作、要素、コンポーネント、及び／又はこれらのグループの存在又は追加を除外しないことがさらに理解されるだろう。
【００３２】
[0035]  本明細書において、「もし〜ならば（if）」という用語は、任意選択的に、文脈に応じて、「〜するときに（when）」、又は「〜のときに（upon）」、又は「決定に応答して（in response to determining）」、又は「検出に応答して（in response to detecting）」、又は「〜という決定に従って（in accordance with a determination that）」を意味すると解釈される。同様に、「もし決定されたならば（if it is determined）」、又は「もし［記載された状態又は事象］が検出されたならば」というフレーズは、任意選択的に、文脈に応じて、「決定時に（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）」を意味すると解釈される。
【００３３】
[0036]  本明細書に記載するのは、ドリフトを補正する、費用効率の高い、高精度の、高速モーションセンサを実現するためのシステム、方法、及び／又はデバイスの例示的な実施態様である。中でも、ゲーム機、スマートフォン、ヘルメット装着ディスプレイ、軍事用途、及びジェスチャ追跡デバイスを含む（ただし、これらに限定されない）、ドリフトを補正するモーションセンサの幾つかの異なる適用例が存在する。例えば、全体が参照により本明細書に援用される米国特許第９，４１７，６９３号（「’６９３号特許」）では、ウェアラブル無線ヒューマンマシンインタフェース（ＨＭＩ）の異なる実施態様が記載されている。‘６９３号特許では、ユーザは、ウェアラブルＨＭＩを使用してユーザによって行われたジェスチャに基づいて、制御可能なデバイスを制御することができる。幾つかの実施態様では、本明細書に記載されるような、モーションを追跡し、及びドリフトを補正するコントローラが、ウェアラブルＨＭＩのＩＭＵに接続されてもよい。幾つかの実施態様では、コントローラは、ウェアラブルＨＭＩに取り付けられ、又はウェアラブルＨＭＩに組み込まれる。幾つかの実施態様では、コントローラは、ウェアラブルＨＭＩから離れているが、ウェアラブルＨＭＩと通信可能に結合されている。
【００３４】
[0037]  図１Ａ〜１Ｆは、幾つかの実施態様による、３Ｄ物体に取り付けられたモーションセンサの様々な構成を示す。モーションセンサは、線形配列で、又は任意の次元の平面、プラトンの立体、若しくは不規則な３Ｄ物体によって形成された、多数のジオメトリ構成の平面若しくは頂点に取り付けられてもよい。取り付けられたモーションセンサ間の距離及び角度が分かっている限り、ドリフトは、本明細書に記載される特定の方法又はそれらの一部の中でも、下記のフローチャート４Ａ〜４Ｄを参照して下記でさらに説明されるように、互いに対するモーションセンサの物理的距離及び角度によって形成される既知のジオメトリに合致するように、モーションセンサの即時測定加速度、角速度、磁気方位、及び高度をリセットすることによって排除することができる。
【００３５】
[0038]  図１Ａに示すような線形ジオメトリでは、２つのセンサ１０２、１０４が、一定距離１０７を置いて、互いに隣接して配置され、２つのセンサ間の角度は、約０度又は約１８０度と見なされ得る。２つの固定センサ１０２と１０４との間の測定距離又は角度は、いかなる即時読み取りにおいても、既知の距離１０７、又はそれらの間の角度から逸脱するため、このドリフトは、除去することができ、２つのモーションセンサの位置は、かなり正確な度合いにまでリセットすることができる。
【００３６】
[0039]  ３つ、又は４つ、又はそれよりも多いセンサの平面構成は、センサ間の既知の物理的角度及び距離を有する配列にある全センサの即時測定の、より多い数のＩＭＵの読み取りに基づいて、空間計算を提供し得る。図１Ｂは、平面構成で互いに隣接して取り付けられたセンサ１０６、１０８、１１０、及び１１２を備えた４つのセンサ構成を示す。図１Ａ及び１Ｂに示される構成などの平面構成は、算出要求がかなり低い、より単純な数学モデルを提供する。しかし、物理センサの軸方向モーション検出方法のばらつきが、モーションの異なる軸及び方位の測定の精度に影響を与え得る。例えば、ＭＥＭＳベースのセンサのＺ軸のモーションは、この軸におけるセンサの物理的モーションのより高い分散を導入し得る重力ベクトルを用いて、重くバイアスされる。加えて、ｚ軸のヨーを計算するために使用されるコリオリの力も、Ｘ軸又はＹ軸よりも大きな分散を受けやすい。
【００３７】
[0040]  ドリフト補正の向上のために、４つのセンサを備えた四面体構成（各センサが、四面体の各面に取り付けられる）は、幾つかの実施態様によれば、全センサの単一のＺ軸よりも、重力ベクトルバイアスに対して良好な相補的及び補償的測定をもたらす多軸データの混合を提供し得る。図１Ｃ及び１Ｄは、そのような構成の１つを示す。図１Ｃは、見えている３つの面のそれぞれに取り付けられたモーションセンサ１１４、１１６、及び１１８を備えた四面体の上面斜視図を示す。図１Ｄは、四面体の第４の面上のさらなるセンサ１２０を示す、図１Ｃに示された四面体の底面斜視図を示す。この構成では、Ｘ及びＹ軸のコンポーネントも、いかなる時点においても、少なくとも３つのセンサからの重力ベクトルを受け、これによって、あらゆる即時測定において、幾つかのセンサ及び幾つかの軸からの重力ベクトルの除去により、より高い度合いの精度が可能となる。センサは、幾つかの実施態様によれば、各表面上に、傾斜して取り付けられ、より良好な空間計算及びドリフト補正のために、Ｘ、Ｙ、及びＺ軸データの混合を提供する。
【００３８】
[0041]  さらに、立方体構成は、空間的逸脱をさらにより安定させるために、立方体の６つの表面上に、６つのセンサという、より大きなセンサ数を提供する。図１Ｅは、幾つかの実施態様による、立方体構成の斜視図を示す。６つの面の内の３つのみが、図１Ｅでは見えている。６つの面のそれぞれは、センサ１２２、１２４、及び１２６を含む、取り付けられたセンサを備え得る。幾つかの実施態様では、本明細書に記載される何れかの物体の幾つかの（全てよりも少ない）面が、少なくとも１つのセンサを有する。この構成では、各面上の各センサは、立方体の他の面上の他のセンサ間の相補的読み取りを可能にする。しかし、センサの数が増えるにつれて、立方体又はより高い次元の立体ジオメトリにおいて、全ての測定を読み取るための待ち時間も増加する。
【００３９】
[0042]  幾つかの実施態様によれば、モーションセンサは、どのような構成においても、軸方向の混合を提供するために、幾何学的立体の対向面上で、回転されてもよい。図１Ｆは、モーションセンサが、前述同様に、立方体の各面上に取り付けられるが、センサが、０〜９０度の角度（０度及び９０度は含まない）で回転され得る、図１Ｅの直方体の別の構成の斜視図を示す。例えば、センサ１２２は、他のセンサに対して約４５度の角度で回転されてもよい。この方法は、即時モーションデータのより良好な分析を提供し得るが、測定−計算出力当たりの算出時間は、長くなり得る。
【００４０】
[0043]  図２は、幾つかの実施態様による、１つ又は複数のドリフトフリーセンサを備えた代表的システム２００を示すブロック図である。幾つかの実施態様では、システム２００は、１つ又は複数の処理装置（例えば、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡ、マイクロプロセッサなど）２０２、１つ又は複数の通信インタフェース２１４、メモリ２２０、及びこれらのコンポーネントを相互接続するための１つ又は複数の通信バス２１６（チップセットと呼ばれることもある）を含む。処理装置２０２のタイプは、幾つかの実施態様によれば、電力要件を含む、適用の要件に合致するように選択される。例えば、ＣＰＵの速度は、適用のスループットに合致するのに十分であるべきである。
【００４１】
[0044]  幾つかの実施態様では、システム２００は、ユーザインタフェース２０８を含む。幾つかの実施態様では、ユーザインタフェース２０８は、１つ若しくは複数のスピーカ及び／又は１つ若しくは複数の視覚表示装置を含む、メディアコンテンツの提示を可能にする１つ又は複数の出力デバイス２１０を含む。幾つかの実施態様では、ユーザインタフェース２０８は、キーボード、マウス、ボイスコマンド入力装置、若しくはマイクロフォン、タッチスクリーンディスプレイ、タッチセンサ式入力パッド、ジェスチャ捕捉デバイス、又は他の入力ボタン、若しくは制御装置などのユーザ入力を容易にするユーザインタフェースコンポーネントを含む、１つ又は複数の入力デバイス２１２も含む。さらに、幾つかのシステムは、キーボードを補完し、又はキーボードに取って代わる、マイクロフォン及び音声認識、又はカメラ及びジェスチャ認識、又はモーションデバイス及びジェスチャ認識を用いる。
【００４２】
[0045]  幾つかの実施態様では、システム２００は、１つ又は複数の慣性計測装置２０４を含む。幾つかの実施態様では、ＩＭＵは、１つ若しくは複数の加速度計、１つ若しくは複数の磁力計、及び／又は１つ若しくは複数のジャイロスコープ、及び／又は高度計、及び／又は複数の圧力センサを含む。幾つかの実施態様では、１つ又は複数のＩＭＵは、所定の形状に応じて、システム２００を組み込む物体に取り付けられる。上記の図１Ａ〜１Ｆは、モーションセンサの様々な例示的な構成を示す。幾つかの実施態様では、ＩＭＵの初期構成（例えば、ＩＭＵの数、所定の形状）も、個々のＩＭＵの特徴に基づいて決定される。例えば、ＩＭＵの方位又は軸、ひいては所定の形状が、製造欠陥を補償するように選択される。幾つかの実施態様では、１つ又は複数のＩＭＵは、システム２００を組み込むＣＭＯＳ及びＭＥＭＳシステムオンチップ（ＳＯＣ）として組み立てられる。
【００４３】
[0046]  通信インタフェース２１４は、例えば、様々なカスタム若しくは標準無線プロトコル（例えば、IEEE 802.15.4、Wi-Fi、ZigBee、6LoWPAN、Thread、Z-Wave、Bluetooth Smart、ISA100.11a、WirelessHART、MiWiなど）の何れか、及び／又は様々なカスタム若しくは標準有線プロトコル（例えば、Ethernet、HomePlugなど）の何れか、又は本文書の出願日時点でまだ開発されていない通信プロトコルを含む、その他の適宜の通信プロトコルを用いてデータ通信が可能なハードウェアを含む。
【００４４】
[0047]  メモリ２２０は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、又は他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリを含み、任意選択的に、１つ若しくは複数の磁気ディスクストレージデバイス、１つ若しくは複数の光ディスクストレージデバイス、１つ若しくは複数のフラッシュメモリデバイス、１つ若しくは複数のＥＰＲＯＭ、１つ若しくは複数のＥＥＰＲＯＭ、又は１つ若しくは複数の他の不揮発性固体ストレージデバイスなどの不揮発性メモリを含む。メモリ２２０、又は代替的にメモリ２２０内の不揮発性メモリは、非一時的なコンピュータ可読ストレージ媒体を含む。幾つかの実施態様では、メモリ２２０、又はメモリ２２０の非一時的なコンピュータ可読ストレージ媒体は、以下のプログラム、モジュール、及びデータ構造、又はそれらのサブセット若しくはスーパーセットを保存する：
・  様々な基本システムサービスを取り扱うため、及びハードウェア依存タスクを行うためのプロシージャを含むオペレーティング論理２２２；
・  １つ又は複数の通信インタフェース２１４（有線又は無線）を介して１つ又は複数のネットワークに接続された他のネットワークデバイス（例えば、インターネット接続を提供するルータなどのネットワークインタフェース、ネットワーク化されたストレージデバイス、ネットワークルーティングデバイス、サーバシステムなど）に接続し、及びそれらと通信するためのデバイス通信モジュール２２４；
・  １つ又は複数の入力デバイス２１２からの１つ又は複数のユーザ入力又はインタラクションを検出し、検出された入力又はインタラクションを解釈するための入力処理モジュール２２６；
・  １つ又は複数のデバイス（図示されない）に関する設定、捕捉データ、及び／又は他のデータを構成し、及び／又は見ることができるユーザインタフェースを提供及び表示するためのユーザインタフェースモジュール２２８；
・  デバイスを制御するため、並びにデバイスによって捕捉されたデータ（例えば、デバイスステータス及び設定、捕捉データ、又はシステム２００及び／又は他のクライアント／電子デバイスに関する他の情報）を見直すためにシステム２００によって実行される１つ又は複数のアプリケーションモジュール２３０；
・  以下を含む（ただし、限定されない）、１つ又は複数のＩＭＵ２０４からのデータを処理するための機能性を提供する、１つ又は複数のコントローラモジュール２４０：
・  １つ又は複数のコントローラモジュール２４０によって処理される、１つ又は複数のＩＭＵ２０４からのデータを受信するためのデータ受信モジュール２４２；
・  データ受信モジュール２４２によって受信された生データからノイズを除去するためのフィルタリングモジュール２４４；
・  １つ又は複数のＩＭＵ２０４（例えば、１つ又は複数のＩＭＵ２０４の異なる複数のジャイロスコープ及び加速度計）間でデータを相互相関させることにより、１つ又は複数のＩＭＵ２０４に関するフィルタにかけられたデータを較正するための動的較正モジュール２４６；
・  １つ又は複数のＩＭＵのそれぞれに関する分解出力に基づいて、位置及び回転状態を決定するモーション分解モジュール２４８；
・  動的較正モジュール２４６及びモーション分解モジュール２４８の出力に基づいて、モーションを合成するためのモーション合成モジュール２５０；
・  モーション合成モジュール２４８からの出力に基づいて、所定の形状に関してセンサ出力のドリフトを補正する（例えば、台形モーションパラメータを用いた適用連続ファジールール（肯定式なし）ベイズフィルタ（ＡＣＦＢＴ：Adaptive Continuous Fuzzy Rule Bayesian Filter with Trapazoidal Motion Paramters）ためのドリフト補正モジュール２５２；並びに
・  （例えば、人工知能／ニューラルネットワーク／深層学習を用いて）ドリフト補正モジュール２５２の出力に基づいて、複雑な移動を取り扱うエッジ状態取り扱いモジュール２５４。
【００４５】
[0048]  幾つかの実施態様では、ＩＭＵからデータ受信モジュール２４２によって受信された生データは、加速度計からの加速度情報、ジャイロスコープからの角速度、磁力計からの磁場の回転度、高度計からの気圧、及び差圧センサを含む。生データは、幾つかの実施態様によれば、各ＩＭＵから順次受信される。幾つかの実施態様では、ＩＭＵデータは、並行して受信される。
【００４６】
[0049]  幾つかの実施態様では、フィルタリングモジュール２４４は、生データをフィルタにかけることにより、データ受信モジュール２４２によって受信された生データ信号からノイズを除去する。幾つかの実施態様によれば、フィルタリングモジュール２４４は、標準的な信号処理技術（例えば、低域フィルタリング、クリッピングなど）を用いることによって、生データをフィルタにかけ、それによって、センサデータのノイズを最小限に抑える。幾つかの実施態様によれば、フィルタリングモジュール２４４は、センサからの履歴データを用いて、移動平均及び移動分散も算出する。
【００４７】
[0050]  幾つかの実施態様では、動的較正モジュール２４６は、人工知能（ＡＩ）フレームワーク（例えば、ニューラルネットワークフレームワーク）を用いることによって、１つ又は複数のＩＭＵ２０４からのデータを較正する。例えば、１つ又は複数の「ニューロン」（一般的に、センサ当たり３つ）が、１つ又は複数のＩＭＵ２０４に関するフィルタにかけられたデータを較正するように、ニューラルネットワーク構成において構成される。どのように動的較正が機能するかを理解するために、まず、物体の静的構成を考察する。さらに、説明のために、物体の形状（本明細書では、所定の形状と呼ばれることもある）が直方体であると仮定する。直方体形状の物体は、６つの異なる様式で平面上に（すなわち、直方体の６つの異なる面上に）配置され得る。従って、較正すべき６つの方位が存在する。この静的構成では、システム２００は、６つの方位のそれぞれに関して、多数のサンプル（例えば、約１，０００以上のサンプル）を収集する。このサンプルデータは、収集され、メモリ２２０に保存される。後に、生データが受信されるときに、保存されたサンプルデータは、定住状態中に（すなわち、物体が移動していないときに）、生データのオフセット誤差を補正するためのベースラインとして使用される。ニューラルネットワークを使用する幾つかの実施態様では、ネットワークの重みは、幾つかの実施態様によれば、保存されたサンプルデータのオフセット後に、ＩＭＵからの受信生データに基づいて、常に調整又は調節される。ニューラルネットワークベースの解は、最小二乗回帰分析又は統計的尺度よりも優れた推定を提供する。どのようにニューラルネットワークの重みが動的に調節されるかの一例として、物体が静止しているが、物体が移動していることをニューラルネットワーク出力が示す場合を考察する。物体が静止していることを出力が示すように、逆伝搬を用いて、重みが再調節される。従って、重みは、物体が静止しているときに定まる。幾つかの実施態様では、ニューラルネットワークの学習率は、定住状態（本明細書では静止状態と呼ばれることもある）中に最大化され、物体が動いているときに最小化される。幾つかの実施態様によれば、学習率を調節することができるように、パターン認識を使用することによって、物体が移動しているか、或いは静止しているかが検出される。異なる静止状態及び移動状態を用いることによって、加速度計に影響を与える重みが調節される。幾つかの実施態様では、磁北に対する既知の参照を用いることにより、磁力計に対応する重みが常に調節される。幾つかの実施態様では、磁北の基準点及び重力ベクトルが常に分かっているため、物体が移動しているときに、加速度計に関する重みを補正し、又は定めるために、磁力計データも使用される。ジャイロスコープデータは、それが単一のレベル統合のみを必要とするため、加速度計からのデータよりも信頼性が高い。従って、幾つかの実施態様によれば、加速度計の重みを補正するために、ジャイロスコープデータも使用される。なお、幾つかの実施態様では、動的較正モジュール２４６が任意選択のものであり、パススルーチャネルは、動的較正なしに、フィルタリングモジュール２４４の出力���モーション合成モジュール２５０へと渡す。
【００４８】
[0051]  幾つかの実施態様では、モーション分解モジュール２４８は、パターン認識技術を用いることによって、各ＩＭＵにおけるサブセンサ間の相互作用又は干渉による異常を排除する。物体の制御された並進移動及び回転移動に関する実験データが収集される。例えば、ジャイロスコープの挙動が、一定速度下で追跡され、パターンがメモリに保存される。ジャイロスコープデータが既知のパターンをたどるときは、このパターンに基づいて、物体が一定速度下にあるという事実が推論される。同様に、幾つかの実施態様によれば、加速度計データ（例えば、一定重力ベクトル）を使用して、ジャイロスコープデータ及び／又は磁力計データの誤差を補正するためのパターンを識別することができ、磁力計データを使用して、加速度計データ及び／又はジャイロスコープデータの誤差を補正するためのパターンを識別することができる。
【００４９】
[0052]  幾つかの実施態様では、モーション分解モジュール２４８は、物体が移動又は回転を突然停止したときなどに、センサデータから検出されるパターンの変化を、異常を補正するための別の影響として、観察することによって、異常を除去する。幾つかの実施態様では、モーション分解モジュール２４８は、各センサにおいて、異常を補正するために、幾つかの異なる保存されたパターンを分析する。幾つかの実施態様では、モーション分解モジュール２４８は、追跡された物体の各ＩＭＵの並進移動及び／又は回転移動のタイプを分類し、モーション合成モジュール２５０に対して、パターン又はカテゴリを出力する。例えば、モーション分解モジュール２４８は、各ＩＭＵが、単純な線形モーション、回転がある単純な線形モーション、単純な回転がある非線形モーションを含む、多くの状態の１つにあることを推論する。幾つかの実施態様では、モーション分解モジュール２４８からの出力は、さらに、動的較正モジュール２４６の学習率を制御する。
【００５０】
[0053]  幾つかの実施態様では、モーション合成モジュール２５０は、モーション分解モジュール２４８からの状態情報（例えば、一定速度、一定加速度、変化する加速度、回転との組み合わせで）を使用して、１つ又は複数のアルゴリズム／技法を選択する。モーション合成モジュール２５０は、後に、動的較正モジュール２４６からのデータ出力に対して、１つ又は複数のアルゴリズムを適用することにより、物体のモーションを合成する（本明細書では、１つ又は複数のＩＭＵに関する総合的修正データの算出と呼ばれることもある）。例えば、もし物体が回転していることをモーション分解モジュール３２６からの状態情報が示すならば、モーション合成モジュール２５０は、（動的較正モジュールの出力によって示される）ＩＭＵの角運動量の差、及び異なる複数のＩＭＵの所定の位置によって外形が描かれる既知の形状に基づいて、回転軸を算出する方程式を用いる。この例を詳述するために、４つのセンサを有する（角に各センサ）、図１Ｂのような平面構成で、物体にＩＭＵが取り付けられると仮定する。さらに、この平面構成が、縦軸が最上部のＩＭＵ及び底部のＩＭＵを通過するひし形に、垂直に配置されると仮定する。ここで、もし平面（ひし形）の物体が、縦軸の周りを回転するならば、縦軸の両側の横側のＩＭＵは、同じ角運動量を共有するが、最上部のＩＭＵ及び底部のＩＭＵと比較して異なる角運動量を有し、最上部のＩＭＵは、回転軸により近い底部のＩＭＵよりも大きな角速度を有する。モーション合成モジュール２５０は、ＩＭＵによって形成される形状に基づいて、センサ間の角運動量の差及び既知の距離から回転軸データを算出又は合成する。
【００５１】
[0054]  幾つかの実施態様では、ドリフト補正モジュール２５２は、ベイズ定理を用いて、センサの位置及び方位を既知の（本明細書では、「所定の」と呼ばれることもある）形状に再び一致させることによって、ドリフトを除去する。ベイズフィルタは、どの程度ＩＭＵデータがドリフトするかを予測する。幾つかの実施態様では、ドリフト補正モジュール２５２は、センサ間のノルム、距離、及び角度の変動に基づいて、モーションセンサによってデータの歪度を算出する。もしノルムの変動が閾値を超えるならば、ドリフト補正モジュール２５２は、後続のセンサの読み取りにおいてドリフトを排除するための補正マトリックス（ドリフトマトリックスと呼ばれることもある）を生成する。幾つかの実施態様によれば、形状補正モジュール（図示されない）は、補正マトリックスを用いて、動的較正モジュールからのデータ出力（本明細書では、クリーンデータ又はフィルタにかけられたデータと呼ばれることもある）を、連続的に、又は反復的に、クリーンデータから予測されたドリフトを減算することによって補正する。例えば、幾つかの実施態様によれば、センサデータの各読み取り後に、ドリフト補正モジュール２５２からの以前に生成及び保存されたデータを使用して、ノイズ除去された、動的較正モジュールからのクリーンデータ出力が補正される。
【００５２】
[0055]  幾つかの実施態様では、エッジ状態取り扱いモジュール２５４は、ドリフト補正モジュール２５２の出力に基づいて、ドリフトを減少させるために、複雑な移動（例えば、２つの軸に沿ってスピンし、一直線に横断しながら、例えば物体が上にも上がる）、及び／又は並進移動（例えば、直線に沿って横方向に移動するようにスピンする）を取り扱う。幾つかの実施態様では、エッジ状態取り扱いモジュール２５４は、ＡＩを使用して、エッジ状態を補償するために確率重み付けを適用する。幾つかの実施態様では、エッジ状態取り扱いモジュール２５４は、現在の物体の共通データ点（例えば、ドリフト補正モジュール２５２による出力）、及び以前の物体共通データ点（例えば、メモリに保存された、ドリフト補正モジュール２５２による事前のセンサ読み取りに関する以前の出力）を混合することにより、エッジ状態を除去する。
【００５３】
[0056]  幾つかの複雑なシナリオでは、ドリフトが、完全には補正されない場合があるが、上述のモジュールを用いて、絶え間ないドリフト、又は恒常的なドリフトは、排除することができる。さらに、幾つかの実施態様では、本明細書に記載されるモジュールの組み合わせによって観測されるドリフトは、センチメートル或いはミリメートルのオーダーのものであるが、（例えば、ＧＰＳを使用した）代替の外部基準に基づくドリフト排除は、時に、メートルのオーダーのドリフトをもたらす可能性がある。
【００５４】
[0057]  上記で識別された要素のそれぞれは、前述のメモリデバイスの１つ又は複数に保存されてもよく、上記の機能を行うための命令のセットに対応する。上記で識別されたモジュール又はプログラム（すなわち、命令のセット）は、別個のソフトウェアプログラム、プロシージャ、又はモジュールとして実現される必要はなく、従って、様々な実施態様において、これらのモジュールの様々なサブセットが、組み合わせられてもよく、又は再構成されてもよい。幾つかの実施態様では、メモリ２２０は、任意選択的に、上記で識別されたモジュール及びデータ構造のサブセットを保存する。さらに、メモリ２２０は、任意選択的に、上記に記載されていない追加のモジュール及びデータ構造を保存する。幾つかの実施態様では、１つ又は複数の処理モジュール、及びメモリ２２０に保存された関連のデータは、ＩＭＵ２１４によって生成された信号を受信及び処理するように構成されたドリフトフリーモーションセンサ２００を備えたシステム以外の第２の処理デバイスに保存され、及びそのような第２の処理デバイス上で実行される。例えば、第２の処理デバイスは、少なくとも動作の一部が、ＩＭＵによって提供されたモーション信号に応答したものである、アプリケーション（例えば、コンピュータゲーム）を実行するコンピュータシステム、スマートホームデバイス、又はゲーム機でもよい。
【００５５】
[0058]  図３は、幾つかの実施態様による、１つ又は複数のドリフトフリーセンサを備えた代表的システムを通るセンサデータのフローを示すフロー図である。１つ又は複数のＩＭＵセンサ（ＩＭＵ０、ＩＭＵ１、ＩＭＵ２、…、ＩＭＵＮ）からの生データ（３０２）が、コントローラ３００（例えば、コントローラモジュール２４０）によって受信される（３２４）。前述の通り、幾つかの実施態様では、コントローラは、（図３に示すように）１つ又は複数のＩＭＵからデータを並行して受信する。幾つかの実施態様によれば、受信されたデータは、生データ（３０４）として、モーション分解モジュール３２６に出力される。幾つかの実施態様では、生データは、次に動的較正モジュール３３０へと入力される、フィルタにかけられたデータ３１０を生成するために生データをフィルタにかけるフィルタリングモジュール３２８へと、データ３０６としても入力される。幾つかの実施態様では、モーション分解モジュール３２６は、動的較正モジュール３３０の学習率も制御する（３１４）。幾つかの実施態様では、モーション分解モジュール３２６及び／又は動的較正モジュール３３０は、任意選択のモジュールである。このような場合、フィルタにかけられたデータ３１０は、モーション合成モジュールに入力される（図示されない）。これらの場合、モーション合成モジュール３３２は、モーションのパターン又はカテゴリを知らないが、モーションを合成するために、１つ又は複数のアルゴリズム又は方程式を反復的に適用する。幾つかの実施態様では、モーション分解３２６及び動的較正３３０のステップは、非同期的に、及び／又は並行して実行される。ベイズ計算ステップ３３６は、モーション合成モジュールの出力３１６を使用して、モーション合成の次の反復で（すなわち、そのようなデータが利用可能になった以降に）入力を補正するために形状補正モジュール３３４によって使われる（図２を参照して前述したような）ドリフト補正マトリックス３２０を生成する。図３には示されないが、幾つかの実施態様では、１つ又は複数の反復の第１のセット中に、形状補正データは、利用可能ではなく、動的較正出力３１２が、モーション合成ステップ３３２に入力される。幾つかの実施態様では、ベイズ計算ステップ３３６の出力（３１８）は、複雑な移動及び動的学習に関する（図２を参照して上記に記載した）エッジ状態を取り扱うステップ３３８に入力される。幾つかの実施態様によれば、出力３２２は、コントローラのドリフトフリーの実際のモーション出力を示す。
【００５６】
[0059]  幾つかの実施態様では、フィルタリングモジュール３２８は、図２のフィルタリングモジュール２４４に類似の機能性を含み、モーション分解モジュール３２６は、図２のモーション分解モジュール２４８と類似の機能性を含み、動的較正モジュール３３０は、図２の動的較正モジュール２４６と類似の機能性を含み、形状補正モジュール３３４は、図２に関する説明で上記に記載した形状補正モジュールと類似の機能性を含み、モーション合成モジュール３３２は、図２のモーション合成モジュール２５０と類似の機能性を含み、ベイズ計算モジュール３３６は、図２のドリフト補正モジュール２５２と類似の機能性を含み、エッジ状態を取り扱うモジュール３３８は、図２のエッジ状態取り扱いモジュール２５４と類似の機能性を含む。
【００５７】
[0060]  図４Ａ〜４Ｄは、幾つかの実施態様による、追跡デバイスを用いた、物体の位置及び方位を追跡する方法４００のフローチャート図を示す。幾つかの実施態様では、追跡デバイスは、所定の形状を規定する１つ又は複数の面、及び所定の形状の１つ又は複数の面に取り付けられた複数の慣性計測装置（ＩＭＵ）を含む（４０２）。さらに、幾つかの実施態様によれば、各ＩＭＵは、第１のサブセンサ及び第２のサブセンサを含み、各ＩＭＵは、追跡システムの重心に対して所定の距離及び方位に配置される。上記の図１Ａ〜１Ｆは、様々な実施態様による、３Ｄ物体に取り付けられたセンサの様々な構成を示す。幾つかの実施態様（４０４）では、追跡デバイスの第１のサブセンサ及び第２のサブセンサ（例えば、図２のＩＭＵ２０４）はそれぞれ、加速度計、磁力計、ジャイロスコープ、高度計、及び圧力センサの１つであり、第１のサブセンサは、第２のサブセンサとは異なるセンサタイプである。幾つかの実施態様（４０６）では、追跡デバイスの所定の形状は、平面、四面体、及び立方体の１つである。幾つかの実施態様では、追跡デバイスは、複数のＩＭＵに通信可能に結合されたコントローラも含む。幾つかの実施態様による、ＩＭＵ２０４を備えた例示的なシステム２００が、図２を参照して上記に記載されている。
【００５８】
[0061]  幾つかの実施態様では、追跡デバイスの各ＩＭＵ（４０８）は、物体の移動を検出し、並びに、物体の場所及び／又は方位を表す慣性出力データを生成する。例えば、図２のＩＭＵ２０４、又は図１Ａ〜１Ｆのセンサは、加速度計、磁力計、ジャイロスコープ、高度計、及び／又は圧力センサの組み合わせを使用して、物体の移動を検出し、並びに、物体の場所及び／又は方位を表すデータを生成する。
【００５９】
[0062]  幾つかの実施態様では、追跡物体は、コントローラにおいて（４１０）、複数のＩＭＵのそれぞれから、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データを受信する（４１２）。例えば、システム２００のデータ受信モジュール２４２が、通信バス２１６を介して、１つ又は複数のＩＭＵ２０４から出力を受信する。幾つかの実施態様では、コントローラは、連続する、高サンプリングレートのために、約１ｍｓ未満で周期的に、複数のＩＭＵのそれぞれから第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データを受信する（４１４）。
【００６０】
[0063]  幾つかの実施態様では、コントローラは、信号ノイズを最小限に抑えるために、フィルタリングモジュール（例えば、モジュール２４４）を用いて、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データをフィルタにかける（４１６）。
【００６１】
[0064]  これより図４Ｂを参照して、幾つかの実施態様によれば、コントローラは、各ＩＭＵに関して一連のステップ４１８を行う。幾つかの実施態様では、コントローラは、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データに基づいて、較正された慣性出力データを生成する（４２０）。例えば、コントローラは、動的較正モジュール２４６を用いて、較正された慣性出力データを生成する。幾つかの実施態様では、コントローラは、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データを評価するために、ニューラルネットワーク重みを使用（４２２）し（重みは、追跡デバイスの位置状態（例えば、静止位置状態）に基づいて学習率で調節される）、物体の実際の移動と、物体の推定された移動との差を表す相違値を計算し、並びに較正された慣性出力データから相違値を除去する（例えば、モジュール２４８などのモーション分解モジュールの出力を使用して）ことにより、誤差値を計算する。幾つかの実施態様では、コントローラは、第１のサブセンサ及び第２のサブセンサのそれぞれからの履歴（例えば、事前又は以前の）慣性出力データに基づいて、第１のサブセンサ慣性出力データ及び第２の慣性出力データにニューラルネットワーク重みを適用する（４２４）。図示されないが、コントローラは、後に履歴データとして取り出される、ある期間にわたってＩＭＵから受信された慣性出力データを保存及び／又は蓄積する。
【００６２】
[0065]  次に図４Ｃを参照して、幾つかの実施態様によれば、コントローラは、各ＩＭＵの分解慣性出力データを生成するために、動的較正モジュール（例えば、モジュール２４６）を用いて、第１のサブセンサ慣性出力データを第２のサブセンサ慣性出力データと相互相関させる（４２６）ことによって、第２のサブセンサ慣性出力データを用いて、異常を識別し、及び第１のサブセンサ慣性出力データから除去する。幾つかの実施態様では、コントローラは、第２のサブセンサ慣性出力データに基づいて、第１のサブセンサに対応する分解慣性出力データを較正する（４２８）。幾つかの実施態様では、コントローラは、第１のサブセンサ慣性出力データを表す分解慣性出力データを生成するために、（例えば、モジュール２４８などのモーション分解モジュールを用いて）パターン認識を第２のサブセンサ慣性出力データに適用（４３０）することによって、第１のサブセンサ慣性出力データを第２のサブセンサ慣性出力データに相互相関させる。
【００６３】
[0066]  次に、図４Ｄを参照して、コントローラは、幾つかの実施態様によれば、モーション分解モジュール（例えば、上記のモジュール２４８）を使用して、各ＩＭＵからの分解慣性出力データに基づいて、追跡デバイスの位置及び回転状態を決定する（４３２）。
【００６４】
[0067]  続いて、幾つかの実施態様によれば、コントローラは、追跡デバイスの位置及び回転状態に基づいて、合成技法を用いてＩＭＵ合成データを生成するために、モーション合成モジュール（例えば、上記のモジュール２５０）を用いて、第１のサブセンサ慣性出力データ及び第２のサブセンサ慣性出力データを合成（４３４）する。
【００６５】
[0068]  幾つかの実施態様では、コントローラは、所定の形状に対して確認するように、各ＩＭＵに関する合成されたデータ、各ＩＭＵの所定の位置、及び各ＩＭＵの所定の方位に基づいて、ＡＣＦＢＴ計算モジュール（図示されない）を用いて、現在の追跡デバイス修正データ出力を計算する（４３６）。コントローラの幾つかの実施態様（４３８）では、共通データ点を計算するために使用される複数のＩＭＵの少なくとも幾つかが、互いに対して異なる２つの軸に沿って異なる角度で配向される。
【００６６】
[0069]  続いて、コントローラは、幾つかの実施態様によれば、現在の位置及び方位決定モジュール（例えば、図２のモジュール２５２、又は図３のステップ３３６及び３３４）を使用して、現在の物体修正データ出力と、以前の物体修正データ出力との差に基づいて、物体の現在の位置及び方位を計算する（４４０）。幾つかの実施態様では、コントローラは、エッジ状態（例えば、上記の複雑な移動）を識別し（４４２）、並びに、エッジ状態を除去するために、エッジ状態取り扱いモジュール（例えば、上記のモジュール２５４）を用いて、現在の物体修正データ出力及び以前の物体修正データ出力を混合する（４４４）。
【００６７】
[0070]  図４Ａ〜４Ｄの動作が説明された特定の順序は、単なる例であり、記載された順序が、これらの動作が行われ得る唯一の順序であることを示す意図はないことが理解されるものとする。当業者は、本明細書に記載される動作を並べ替える様々なやり方を認識するだろう。
【００６８】
[0071]  様々な図の幾つかは、ある特定の順序で、幾つかの論理段階を示すが、順序に依存しない段階は、並べ替えられてもよく、他の段階は、組み合わせられてもよく、又は取り出されてもよい。幾つかの並び替え、又は他のグループ分けを具体的に述べたが、他の並び替え又はグループ分けが、当業者には明らかとなり、従って、本明細書で提示される順序付け及びグループ分けは、代替手段の網羅的なリストではない。また、これらの段階は、ハードウェア、ファームウェア、ソフトウェア、又はこれらの任意の組み合わせで実現され得ることを認識されたい。
【００６９】
[0072]  上記の記載は、説明目的で、特定の実施態様を参照して説明されたものである。しかし、上記の説明のための記述が、網羅的であること、又は請求項の範囲を開示した通りの形に限定することは意図されない。上記の教示に鑑みて、多くの変更形態及び変形形態が可能である。実施態様は、請求項及びそれらの実際の応用の基礎となる原理を最良に説明することによって、当業者が、企図される特定の使用に適するような様々な変更を有する実施態様を最良に利用することを可能にするために、選択されたものである。
【図１Ａ】
2021529947.tif 000003
【図１Ｂ】
2021529947.tif 000004
【図１Ｃ】
2021529947.tif 000005
【図１Ｄ】
2021529947.tif 000006
【図１Ｅ】
2021529947.tif 000007
【図１Ｆ】
2021529947.tif 000008
【図２】
2021529947.tif 000009
【図３】
2021529947.tif 000010
【図４Ａ】
2021529947.tif 000011
【図４Ｂ】
2021529947.tif 000012
【図４Ｃ】
2021529947.tif 000013
【図４Ｄ】
2021529947.tif 000014
【国際調査報告】
2021529947.tif 000015
2021529947.tif 000016