2012-05-04 20 views
22

Androidの重力センサーと加速度センサーの違いは何ですか?私の視点から見ると、物理的価値はどちらの場合も同じです。Androidの重力センサーと加速度センサーの違いは何ですか?

デバイス内部の単位質量に作用する力を測定するものはどれですか?

ADDITION

質問です:どのような物理量は、これらのセンサによって測定されましたか? equivalence principleによれば、加速度と重力は区別できません。両方を測定する唯一の方法は、通常の(しかし3d)スプリングバランスです。

答えて

11

加速度センサは、デバイスに適用されるすべての力の合計を返します。重力センサは重力の影響のみを返します。重力を加速から除外したい場合は、ハイパスフィルターを使用するか、加速度センサー値から重力センサー値を減算するだけです。どちらの方が精度が良いかはわかりません。

もう1つの方法は、正確に(加速度 - 重力)を与えるSensor.TYPE_LINEAR_ACCELERATIONを使用している可能性がありますが、デバイス上で使用可能かどうかを確認する必要があります。 ACCELERATIONセンサーは動作していますが、GRAVITYセンサーやLINEAR_ACCELERATIONセンサーからの応答はないデバイスがいくつか見つかりました。

+0

ですから、その重力センサーを意味しますローパスフィルタを通過したばかりの加速度センサーですか? –

+2

GRAVITYはAPIバージョン9以降で利用可能になり、アップグレードしたときに携帯電話がハードウェアの変更を受けたとは思わない=) – lenik

+0

ちょうどテストし、それは文句なしのコードを実行しても、私の古い携帯電話は多分重力が別のセンサですが、あなたは、Android 2.1をサポートすることを計画している場合は、おそらく加速度センサの高域通過フィルタは、あなたの最善の策である。、任意のGRAVITYの更新を返しません。 – lenik

3

このリンクは役に立つかもしれません:http://www.sensorplatforms.com/which-sensors-in-android-gets-direct-input-what-are-virtual-sensors

次の抜粋は、あなたの質問に対する答えを要約:

「リストを...時々、物理センサから得られた値との物理的センサーやセンサータイプの両方を含んでいますこれらは、仮想センサー...仮想センサータイプ(重力、線形加速度および回転ベクトル)インテリジェント物理的センサからの結果を組み合わせることによって得られた値を提供すると呼ばれ...回転ベクトルは、加速度計、磁力計の組み合わせである、及び時にはジャイロスコープは、Androidデバイスがそれに沿って3次元の角度を決定する地球フレームの座標。デバイスの回転ベクトルを知ることによって、加速度計データは、重力とリニア加速に分離することができる。」

このリンクhttps://stackoverflow.com/a/8238389/604964も重力値はバターワースフィルタを用いて計算されることを言います。

関連する問題