19

私はxyz加速度計と磁力計を持っています。ここで、両方を使用してデバイスの向きを決定したいと思います。私が見ている問題は、デバイスの向きによっては、センサーを異なる順序で使用する必要があることです。

例を挙げましょう。デバイスを自分の方に向けると、ロールとピッチの両方の変化を加速度計で判断できます。ヨーには磁力計を使用します。

しかし、デバイスを水平に置いた場合 (つまり、天井に向けて 90 度回転させた場合)、加速度計が変化を検出しないため、アップ ベクトル (現在は水平) の変化は通知されません。これは、磁力計で検出できるようになりました。

したがって、問題は、どちらをいつ使用するかをどのように決定するかです。両方のセンサーでこれで十分ですか、それとも他に何か必要ですか?

ありがとう

4

5 に答える 5

18

重要なのは、重力と磁力計の2つのベクトルの外積を使用することです。外積は、両方に垂直な新しいベクトルを与えます。これは、水平(下に垂直)で、北から90度離れていることを意味します。これで、方向を定義する3つの直交ベクトルができました。それらがすべて垂直ではないので少し醜いですが、それは簡単に修正できます。次に、この新しいベクトルを、重力ベクトルと磁石平面ベクトルに垂直な3番目のベクトルを与える重力ベクトルと交差させます。これで、3D標定座標系を定義する3つの垂直ベクトルができました。元の加速度計(重力)ベクトルはZ(上/下)を定義し、2つの外積ベクトルは方向の東/西および北/南のコンポーネントを定義します。

于 2010-02-13T17:36:12.393 に答える
2

このプロジェクトを説明するドキュメントを次に示します。他の回答から明らかなように、数学は難しい場合があります。 http://www.freescale.com/files/sensors/doc/app_note/AN4248.pdf

于 2013-03-25T20:26:04.347 に答える
1

私の理解が正しければ、基点 (北、東、南、西) に従ってピッチ (傾き) と方向を検出するものが必要になります。

ピッチは加速度計から読み取ることができます。

方位はコンパスで読み取ることができます。

これら 2 つのセンサーからの出力をソフトウェアで適切な計算と正しく組み合わせると、絶対的な向きが得られる可能性が高くなります。

その方法で可能だと思います。

幸運を。

于 2009-07-27T00:05:24.330 に答える
1

「どちらをいつ使用するかを決定する方法」という質問は見当違いだと思います。向きには常に両方のセンサーを使用する必要があります。そのうちの1つが役に立たない場合があります。ただし、これらは特殊なケースです。

于 2009-07-26T23:59:27.787 に答える