"関連したメモリを有するデバイス内のマイクロプロセッサと、前記デバイスの3D配向及び/又は3D運動を検知することができる、前記デバイス内の少なくとも2組の独立したセンサと、を含み、少なくとも1つのセンサの組は、デバイス運動の初めにうまく較正されず、a一連の時刻t=0、1、...、kにおいて前記センサからセンサデータを読み出し、格納し、処理するステップと、bt=0、1、...、kにおける前記センサデータを用いて、時刻t=kにおけるデバイスの3D配向を推定するステップと、c以前の時刻t=m、...、k0≦m≦kについてのセンサ測定値を用いて、上述の1つのセンサの組の次の時刻t=k1値を予測するステップと、d予測されたセンサ値と観測されたセンサ値との間の差を構築するステップと、e前記差を用いて、上記の前記推定されたデバイスの3D配向の判定、及び/又は、前記デバイス運動の初めにうまく較正されなかった前記センサの組の較正を連続的に改善するステップと、を実行するための、前記マイクロプロセッサ内で動作可能なマイクロプロセッサプログラムをさらに含むことを特徴とするデバイス。前記センサの組は磁気センサの組及びジャイロセンサの組を含むことを特徴とする、請求項1に記載のデバイス。前記ジャイロセンサの組は、前記デバイス運動の初めにうまく較正されないことを特徴とする、請求項2に記載のデバイス。前記ジャイロセンサの組の較正方法が、所定の時間間隔にわたってジャイロセンサ信号を観測するステップと、未知のジャイロ較正パラメータの第1の推測値又はそれらの名目値のうちの1つを適用することにより、前記ジャイロ信号を補正するステップと、前記観測され、そのように補正されたジャイロ信号に基づいて、前記時間間隔の間の前記デバイス配向の認識される変化を判定するステップと、前記得られたデバイス配向の変化によって適切に補正された、積分間隔の初め及び終わりの磁気センサ値を比較するステップと、前記観測された磁気信号と名目上の回転補正された磁気信号との間の差の尺度から得られる補正を適用することによって、ジャイロ較正パラメータの初期値を補正するステップと、を含むことを特徴とする、請求項3に記載のデバイス。全てのジャイロチャネルに対して、1つだけの較正パラメータが決定されることを特徴とする、請求項4に記載のデバイス。前記較正パラメータは、前記名目値に対する未知のジャイロ利得補正であることを特徴とする、請求項5に記載のデバイス。前記較正パラメータは、前記名目値に対する未知のジャイロバイアス補正であることを特徴とする、請求項5に記載のデバイス。前記時間間隔の終わりにおける前記磁気信号と、前記時間間隔の初めにおける前記磁気ベクトルの前記回転補正値との間の前記差の前記尺度は、これらの2つのベクトルのベクトル差のベクトルノルムであることを特徴とする、請求項4に記載のデバイス。同じ時間間隔において、複数の代替的な回転が較正下のジャイロパラメータの異なる仮定値を用いて求められることを特徴とする、請求項4に記載のデバイス。異なる時間間隔において、前記ジャイロ較正パラメータの異なる値が、前記回転判定のために用いられることを特徴とする、請求項4に記載のデバイス。較正パラメータは、前記観測された磁気信号と前記回転補正された磁気信号との間の差の前記計算された尺度に対して最小値を生じるパラメータの組み合わせを見出すことによって求められることを特徴とする、請求項4に記載のデバイス。所定の時間間隔にわたってジャイロセンサ信号を観測し、ジャイロ較正パラメータを適用することによって前記ジャイロ信号を補正し、前記観測され、そのように補正されたジャイロ信号に基づいて、前記時間間隔の間の前記デバイス配向の認識される変化を判定し、前記時間間隔の初め及び終わりにおける磁気センサ信号を観測し、磁気較正パラメータを適用することによって前記磁気センサ信号を補正し、前記較正補正された磁気センサ信号における観測される変化と一致し、かつ、前記ジャイロ信号から求められた前記回転に最も近い、前記時間間隔の間の前記デバイス配向の認識される変化を求め、前記ジャイロセンサから得られた回転と、前記磁気センサ観測値と一致する回転との組み合わせとして、前記時間間隔の間の前記デバイス回転を求める、ことによって、前記デバイス回転を求めるステップをさらに含むことを特徴とする、請求項2に記載のデバイス。回転近似の尺度が、前記ジャイロ信号積分から計算された4元数と前記磁気センサ観測値と一致するデバイス回転をもたらす4元数との間の4元数差のノルムであることを特徴とする、請求項12に記載のデバイス。関連したメモリを有するマイクロプロセッサと、デバイスの3D配向及び/又は3D運動を検知することができる少なくとも2組の独立センサとを含み、少なくとも1つのセンサの組はデバイス運動の初めにうまく較正されない、デバイスにおいて、マイクロセッサプログラムが、a一連の時刻t=0、1、...、kにおいて前記センサからセンサデータを読み出し、格納し、処理するステップと、bt=0、1、...、kにおける前記センサデータを用いて、時刻t=kにおけるデバイスの3D配向を推定するステップと、c以前の時刻t=m、...、k0≦m≦kについてのセンサ測定値を用いて、上述の1つのセンサの組の次の時刻t=k1の値を予測するステップと、d予測されたセンサ値と観測されたセンサ値との間の差を構築するステップと、e前記差を用いて、上記の前記推定されたデバイスの3D配向の判定、及び/又は、前記デバイス運動の初めにうまく較正されなかった前記センサの組の較正を連続的に改善するステップと、を実行するように、前記マイクロプロセッサ内で動作可能であることを特徴とする方法。前記センサの組は磁気センサの組及びジャイロセンサの組を含むことを特徴とする、請求項14に記載の方法。前記ジャイロセンサの組は、前記デバイス運動の初めにうまく較正されないことを特徴とする、請求項15に記載の方法。所定の時間間隔にわたってジャイロセンサ信号を観測するステップと、未知のジャイロ較正パラメータの第1の推測値又はそれらの名目値のうちの1つを適用することにより、前記ジャイロ信号を補正するステップと、前記観測され、そのように補正されたジャイロ信号に基づいて、前記時間間隔の間の前記デバイス配向の認識される変化を判定するステップと、前記得られたデバイス配向の変化によって適切に補正された、積分間隔の初め及び終わりの磁気センサ値を比較するステップと、前記観測された磁気信号と名目上の回転補正された磁気信号との間の差の尺度から得られる補正を適用することによって、ジャイロ較正パラメータの初期値を補正するステップと、によりジャイロセンサの組を較正するステップをさらに含むことを特徴とする、請求項16に記載の方法。コンピューティングデバイスによって実行されるとき、前記コンピューティングデバイスに、a一連の時刻t=0、1、...、kにおいて前記センサからセンサデータを読み出し、格納し、処理するステップと、bt=0、1、...、kにおける前記センサデータを用いて、時刻t=kにおけるデバイスの3D配向を推定するステップと、c以前の時刻t=m、...、k0≦m≦kについてのセンサ測定値を用いて、上述の1つのセンサの組の時刻t=k1の値を予測するステップと、d予測されたセンサ値と観測されたセンサ値との間の差を構築するステップと、e前記差を用いて、上記の前記推定されたデバイスの3D配向の判定、及び/又は、前記デバイス運動の初めにうまく較正されなかった前記センサの組の較正を連続的に改善するステップと、を含む方法を実行させる1組の命令が上に格納された機械可読媒体。前記センサの組は磁気センサの組及びジャイロセンサの組を含むことを特徴とする、請求項18に記載の媒体。前記方法は、所定の時間間隔にわたってジャイロセンサ信号を観測するステップと、未知のジャイロ較正パラメータの第1の推測値又はそれらの名目値のうちの1つを適用することにより、前記ジャイロ信号を補正するステップと、前記観測され、そのように補正されたジャイロ信号に基づいて、前記時間間隔の間の前記デバイス配向の認識される変化を判定するステップと、前記得られたデバイス配向の変化によって適切に補正された、積分間隔の初め及び終わりの磁気センサ値を比較するステップと、前記観測された磁気信号と名目上の回転補正された磁気信号との間の差の尺度から得られる補正を適用することによって、によってジャイロセンサの組を較正するステップをさらに含むことを特徴とする、請求項19に記載の媒体。本開示の目的は、通常のデバイス動作中にジャイロセンサの較正パラメータを、リアルタイムで自動的に調整する実際的で効率的な方法を提供することである。本開示の目的はまた、デバイス配向の判定の精度を高める実際的で効率的な方法を提供することである。本開示は、当業者には周知の方法のいずれかによる較正に先立って、磁気センサの測定値を用いる適切なリアルタイム計算を行う方法、及び、ジャイロセンサの積分を実行してジャイロセンサの利得に対する補正を求める方法を、当業者に指示するものである。本開示は、ジャイロセンサが適切に較正される場合、ジャイロ信号の適切な積分によって計算されるデバイス回転が、積分が開始する瞬間のそれらの配向から、ジャイロ積分が終了する瞬間の観測されたそれらの配向まで、磁気ベクトル成分を回転させるべきであることを述べる。従って、観測された磁気ベクトルと回転した磁気ベクトルとの間の不一致の何らかの尺度を用いて、ジャイロセンサの較正を改善することができる。そのような確立された近似の尺度を用いて、本開示は、ジャイロ較正誤差が大きいほど、この不一致の尺度が大きくなること、及びこの尺度の最小値がジャイロセンサの最良の較正に対応することを教示する。従って、用いられるジャイロパラメータと、磁気ベクトルの計測された配向及び推定された配向間の誤差との間に依存性が確立されれば、ジャイロ較正パラメータの正しい値が、この表面に対する最小値をもたらす。本開示はまた、ジャイロ積分で計算されるデバイス配向は、計算された回転が磁気ベクトルの観測された配向と一致することを確実にすることによって改善することができることも、当業者に指示する。本開示の一実施形態は、関連したメモリを有するマイクロプロセッサと、デバイスの3D配向及び/又は3D運動を検知することができる、デバイス内の少なくとも2組の独立したセンサとを含み、少なくとも1つのセンサの組はデバイス運動の初めにうまく較正されていず、マイクロプロセッサ内で動作可能なマイクロプロセッサプログラムをさらに含むデバイスである。このプログラムは、a一連の時刻t=0,1,...kにおいて、センサからセンサデータを読み出し、格納し、処理するステップと、bt=0,1,...kにおけるセンサデータを用いて、時刻t=kにおけるデバイスの3D配向を推定するステップと、c以前の時刻t=m,...,k0≦m≦kについてのセンサ測定値を用いて、上述の1つのセンサの組の次の時刻t=k1値を予測するステップと、d予測されたセンサ値と観測されたセンサ値との間の差を構築するステップと、eこの差を用いて、上記の推定されたデバイスの3D配向の判定、及び/又はデバイス運動の初めにうまく較正されなかったセンサの組の較正を連続的に改善するステップとを実行する。本デバイスの一実施形態において、センサの組は、磁気センサの組及びジャイロセンサの組である。一実施形態において、ジャイロセンサの組は、デバイス運動の初めにうまく較正されない。一実施形態において、ジャイロセンサの組を較正する方法が、所定の時間間隔にわたってジャイロセンサ信号を観測するステップと、未知のジャイロ較正パラメータの第1の推測値又はそれらの名目値のうちの1つを適用することにより、ジャイロ信号を補正するステップと、観測された、そのように補正されたジャイロ信号に基づいて、この時間間隔の間のデバイス配向の認識される変化を判定するステップと、得られたデバイス配向の変化によって適切に補正された、積分間隔の初め及び終わりの磁気センサ値を比較するステップと、観測された磁気信号と名目上の回転補正された磁気信号との間の差の尺度から得られる補正を適用することによって、ジャイロ較正パラメータの初期値を補正するステップとを含む。本デバイスの例示的な一実施形態において、全てのジャイロチャネルに対して。1つだけの較正パラメータが決定される。較正パラメータは、名目値に対する未知のジャイロ利得補正とすることができる。一実施形態において、較正パラメータは、名目値に対する未知のジャイロバイアス補正とすることができる。別の実施形態において、複数の較正パラメータを求めることができる。このような実施形態において、較正パラメータは、ジャイロセンサの各々についての未知の利得補正とすることができる。代替的に、較正パラメータは、ジャイロセンサの各々についての未知のバイアス補正とすることができる。別の実施形態において、較正パラメータは、全てのジャイロセンサの未知のバイアス補正と未知の利得補正との組み合わせである。別の実施形態において、時間間隔の終わりにおける磁気信号と、時間間隔の初めにおける磁気ベクトルの回転補正された値との間の差の尺度は、これらの2つのベクトルのベクトル差のベクトルノルムである。1つの実施形態において、同じ時間間隔において、複数の代替的な回転は、較正下のジャイロパラメータの異なる仮定値を用いて求めることができる。代替的に、異なる時間間隔において、ジャイロ較正パラメータの異なる値は、回転判定のために用いることができる。そうした場合、補正パラメータ値は、最適な実験設計の方法によって選択することができる。一実施形態において、較正パラメータは、観測された磁気信号と回転補正された磁気信号との間の差の計算された尺度に対して最小値を生じるパラメータの組み合わせを見出すことによって求めることができる。代替的に、1つの較正パラメータの組に対して記録されたデータを用いて、全ての計算をオフラインで行い、次いで、較正パラメータの人為的な変更により再計算することができる。一実施形態において、本開示によるデバイス回転の判定方法は、所定の時間間隔にわたってジャイロセンサ信号を観測し、ジャイロ較正パラメータを適用することによってジャイロ信号を補正し、観測され、そのように補正されたジャイロ信号に基づいて、この時間間隔の間のデバイス配向の認識される変化を判定するステップを含む。本方法は、この時間間隔の初め及び終わりにおける磁気センサ信号を観測し、磁気較正パラメータを適用することによって磁気センサ信号を補正し、較正補正された磁気センサ信号における観測される変化と一致し、かつ、ジャイロ信号から求められた回転に最も近い、この時間間隔の間のデバイス配向の認識される変化を判定し、ジャイロセンサから得られた回転と、磁気センサ観測値と一致する回転との組み合わせとして、この時間間隔の間のデバイス回転を判定するステップをさらに含む。そうした実施形態において、回転の近似の尺度は、ジャイロ信号積分から計算された4元数と、磁気センサ観測値と一致するデバイス回転をもたらす4元数との間の4元数差のノルムである。この計算は、実際の運動の際のセンサ値の記録を用いてオフラインで行うことができる。以下の説明において、より完全な開示を提供するために、多くの特定の詳細が説明される。しかしながら、当業者であれば、本開示技術は、これらの特定の詳細なしに実施できることが明らかであろう。場合によっては、周知の構造部は、本開示技術を不明瞭にするのを避けるために詳細には説明されていないことがある。好ましい実施において、回転を判定するために4元数演算が用いられる。しかしながら、この選択は、本開示を制約するものではなく、説明のためだけに用いられている。当業者であれば、回転行列、オイラー角などの他の回転表現、又は他の方法が存在することを理解している。4元数は、ある特定の数学的特性を有する、4つの実数の順序集合q=a,b,c,dである。4元数の詳しい説明は、それに関する多くの教科書に見出すことができる。本開示の目的のために、単位4元数を用いる。単位4元数は、単位ベクトルe=e1,e2,e3の周りの、角度αの回転を表す。従って、座標系x,y,zで表されるベクトルm=[mx,my,mz]がベクトルeの周りを角度αだけ回転される場合、ベクトルmの新しい座標は、である。4元数表現において、剛体の回転は、以下の微分方程式により表すことができる。ここで、ω=[ωx,ωy,ωz]は、ボディ座標系における回転の角速度ベクトルであり、これは、適切に較正されたジャイロセンサによって計測される。この微分方程式の解は、ルンゲクッタ法又は当業者に周知の何れかの他の方法を用いて数値的に得ることができる。同時に、剛体が初めに4元数q1だけ回転され、次いで4元数q2だけ回転されるとき、回転全体は、順序積によって表し得ることを考慮に入れる必要がある。時刻T=t0において、単位座標フレームにおける磁気ベクトルの測定値は、であり、時刻T=tkにおおいて計測された磁気ベクトルは、次の内部成分を有すると仮定する。T=t0からT=tkまでの回転は、制約条件5のもとで式4を積分することによって計算することができる。この積分により4元数qkが生じたと仮定する。次に、式3を用いると、回転座標系における予測される磁気ベクトルの構成は、となるはずである。この段階で、磁気ベクトルの観測値と推定値を比較して、近似の尺度を生成することができる。説明の1つの方法として、これら2つのベクトルの差のベクトルノルムを用いる。この操作は、次の時間間隔tk-tk1等において行うことができる。その結果、蓄積誤差の尺度を計算することができる。未処理のジャイロセンサ測定値は、センサによって生成される電圧又は電流のデジタル値である。これらの値を、g=gxgygzのように示すものとする。これらの値は、式4に用いられる角回転速度ωに関係する。ベクトルω及びgは、以下の、のような、それらの成分の各々についての一次関係により関連付けられることが、当技術分野において一般的に知られている。従って、式4に用いられる角速度ωは、のように、未処理のジャイロ信号から得ることができる。式12において、ckはジャイロの利得を表し、bkはジャイロバイアスを表す。デバイスの配向の正しい判定を可能にするために、デバイス操作時に、ck及びbkの値を正確に知っている必要がある。これらのパラメータは工場較正中に決定されることが多いが、操作中の実際の値は僅かに異なる。実際のωの値は、式12として計算された値とは、未知のもの小さい利得補正μだけ異なるものとする。未知のパラメータμを求めるために、幾つかの異なるμの値を用いて幾つかのジャイロ積分4を並列に又は順次実行することを提案する。好ましい実施において、限定としてではなく例証として、dを0<d<<1の小さい正数であるものとして、μ0=0、μ1=d、μ2=-dの場合の3つの積分を並列に実行する。μ0=0の場合の積分の結果はデバイス操作のために使用され、他方、他の積分はバックグラウンドで実行され、それらの結果は、以下に説明するように真のμ値の決定のために用いられる。近似の尺度Em-式10が、これらの積分の各々について計算される。結果として、集合{Emk,mk}は、図4に示されるような依存性曲線Em対μを構成する。次に、この関数の最小値を生じるμの最適値を、二次フィットquadraticfit、又は当業者には既知の何れかの他の関数最小値決定法を用いて見出すことができる。図4は、ある実際のデバイスの操作中に収集されたデータで見出された二次フィット及び最小値を示す。μ=μの最適値が見出された後、これが名目の積分に用いられ、μ0=μ、μ1=μd、μ2=μ-dであり、プロセス全体が継続するので、ジャイロ利得のあらゆる可能なリアルタイム変化が直ちに検出される。提示される例証は、単一の可変関数の最小値として1つのパラメータだけを決定する。しかしながら、より多くのパラメータを推定する必要がある場合には、同様の手順を行うことができる。実際に、3つのジャイロ軸の各々についての補正パラメータμ、即ち、μx、μy、μzを別個に見出さなければならないとする。次に、補正[0,0,0]、[d,d,d]及び[-d,-d,-d]を用いる3つの並列積分の同じ特許を繰り返す代わりに、例えば第1の実行に対して[0,0,0]、[d,d,d]及び[-d,-d,-d]など、各実行に対して1つのパラメータを変化させることができ、次に、最適共通因子μが上記のように求められた後、パラメータ[0,0,0]、[d,0,0]及び[-d,0,0]を用いて次の実行を行うことができ、それにより付加的な補正μxが求められ、次いでμyが求められ、以下同様である。代替的に、追加の並列積分を用いることにより、各実行において、3つのパラメータ全てが求められる実験を設計することができる。式4を解くための計算負荷は大きくないので、そうしたシステムに典型的に用いられる今日のマクロプロセッサを用いて、複数のスレッドの同時の並列計算は完全に達成可能である。別の実施において、1つのμの値に対して1つの積分スレッドだけが毎回実行され、次に、これらの積分が異なる時間に行われた場合でも、幾つかの積分の結果が比較される。全ての較正パラメータが最適化された場合でも、ジャイロ信号は不可避の雑音を有し、この雑音の積分は、積分時間の平方根に比例して時間と共に増大する配向誤差をもたらす。これらの誤差は、ある所定の閾値より小さいあらゆるジャイロ信号を強制的にゼロにするデッドゾーン技術を用いることによって減らすことができるが、除去することはできない。デッドゾーン技術は全体のSNR信号対雑音比を改善するが、雑音積分の全体の影響を排除するものではない。従って、上述の問題を軽減するために、本開示は、ジャイロ積分に加えて、磁気ベクトルを用いて配向決定を改善する方法を教示する。磁気センサが適切に較正される場合、式4-5に従ったジャイロ積分から計算される回転は、ベクトルmt0をmtにもっていく回転と一致するはずである。Lgを式4-5から計算された4元数とする。ベクトルmをm0からm1まで回転させる回転は、4元数Lmを用いて行うことができる。:ベクトルm1を変更せずに、新しいベクトルm1の周りの付加的な回転が可能である。この付加的な回転は4元数Lrによって表すことができる。:ここで、βは付加的な回転の角度であり、この時点では定められていない。本開示は、4元数Lm及びLrによる全回転Leβとして表すが、回転Lgに最も近くなるように、角度βを選択すべきであることを教示する。:4元数の近似の尺度についての本開示の好ましい実施において、4元数の差のノルムが選択される。従って、ノルムLg-Leβの最小化から、付加的な回転βが求められる。式17は、当業者にはよく知られている多くの方法によって解くことができる。式17の最小値がβ=βで達成されるとする。従って、各ジャイロ積分ステップの終わりに、潜在的に回転を記述する2つの4元数:Lg及びLeβが存在する。これらの2つの4元数をどのように用い得るかについては、例えば、各4元数の推定される精度に逆比例する重みによる加重和のような、複数の方法がある。好ましい実施は、これら2つの4元数の平均を用いている。図8は、本開示の好ましい実施が、制御された条件におけるテストケースの回転に対して達成した改善を示す。当業者であれば、開示される実施形態は、上述の1つ又はそれ以上の利点を実現することが容易に分かるであろう。前述の明細書を読んだ後で、当業者であれば、種々の変更、等価物の置き換え、並びに本明細書で広く開示されたような種々の他の実施形態に影響を与えることができるであろう。従って、本明細書で与えられる保護は、添付の特許請求の範囲に含まれる定義及びその等価物によってのみ限定されることが意図されている。"