1

センサーについて非常に基本的な質問があります。

磁気センサーは、電話の最初の向きで読み取り値を返しますか、それとも世界座標で読み取り値を返しますか?

加速度計はどうですか?それらは以前の読み取り値に対して値を返しますか、それとも各値はワールド座標系に対して独立した加速度ですか?

私は、ジャイロが電話の最初の向きを基準にして測定値を返すことを知っています。では、ジャイロからのヨー、ピッチ、ロールの読み取り値を、スマートフォンの磁気センサーからの方位角、ピッチ、ロールの読み取り値に変換するにはどうすればよいですか(HTCヒーローを使用しています)

ありがとう!

4

2 に答える 2

0

Android センサー (FroYo まで) は、アプリケーションに「生の」データを提供します。
最小限の「調理」(つまり、処理)が含まれます。

加速度 & コンパス デバイスは、絶対加速度 & 磁気データをそれぞれ提供します。
ジャイロスコープは相対角速度を提供します。

ジャイロスコープは、特定の状態/位置に関して相対的なデータを提供しません。
理解する必要があるのは、ジャイロスコープ データが角速度であることです。
角速度は、単純に、電話が回転する速さ (度/秒) です。
静止すると、ジャイロは (0,0,0)を返し
、回転すると回転速度がわかります。 これは、ジャイロの読みが再び (0,0,0) になったときに再び
静止するまで続きます。

理論的には、ジャイロはコンパスの「校正」に使用できます。
しかし、これを行うには、多くの実験が必要になります。
いじるのに理想的な場所は、センサー HAL です。


注:コンパス データのみが必要な場合でも、すべてのセンサー ハードウェアをオンにする必要があります。
そのためにジャイロ/アクセルデータを相互参照することになります。これは、消費電力が大きくなり
、バッテリー寿命が極端に短くなることを意味します。すべてのセンサーを継続的にオンにする
と、標準の Android フォンのバッテリーが 4 ~ 5 時間で消耗する可能性があります。

Android センサーの詳細については、こちらを参照してください。

于 2011-03-04T16:05:30.863 に答える
0

前述のように、ジャイロスコープは角速度を測定します。返される 3 番目の値 (values[2]) は、z 軸に関する角速度です。この値を磁力計の初期値と一緒に使用して、現在の進行方向を計算できます: Theta(i+1) = Theta(i) + Wgyro*deltaT

'Orientation' 測定 (values[0]) から初期方位を受け取ることができます。この測定は磁力計のみに依存します。(磁石または 2 番目の電話をスマートフォンの近くに置いて、出力が狂っていくのを見ることができます)

「方向」の 2 番目と 3 番目の値は、加速度計の読み取り値に依存します。加速度計は重力を測定するため、Y 軸と X 軸の加速度計の読み取り値からピッチ角とロール角を計算することができます。

お役に立てれば

アリエル

于 2012-06-03T11:57:55.533 に答える