1

Android センサー管理を理解しようとしています。ジャイロスコープを含めて電話の向きを取得したい場合、 getOrientation(..) を呼び出して電話にジャイロセンサーがあると自動的に行われるというのは正しいですか?

スマートフォンに加速度センサーとジャイロスコープ センサーがある場合、加速度センサーのみの場合とは対照的に、方向の結果はおそらくより良いものになるでしょうか?

ありがとう!

4

2 に答える 2

2

方向を取得するために Android API に含まれるメソッドには、ジャイロスコープ センサーからの読み取り値は含まれません。ジャイロスコープは、回転速度に関する情報しか持っていないため、向きに関する情報は提供しません。

このような情報を使用してジャイロスコープセンサーの読み取り値を利用すると、方向をより適切に推定できます。

  • ステップ 1: オリエンテーションの初期推定を行います。
  • ステップ 2: 方向の新しい推定と、ジャイロスコープ センサーからの情報があります。
    • ステップ 1 とステップ 2 の間の時間増加 (デルタ t) に関する情報が得られます。したがって、この時間の回転速度を統合して、2 つの状態間の回転を推定できます。
    • 状態 2 には、新しい向きの読み取りもあります。
    • これら 2 つの情報源 ([orientation @step=1 + rotation] と [orientation @step=2]) を統合して、ステップ 2 で方向の正確な推定値を得ることができます。
    • これは、相補フィルターを使用してかなり簡単な方法で行うことができます。
于 2011-12-05T18:17:21.563 に答える
1

Api レベル 9 以上を使用していて、デバイスにジャイロスコープがある場合は、Sensor.TYPE_ROTATION_VECTOR.

加速度計、磁気センサー、ジャイロスコープから取得したデータの「融合」を処理します。

于 2013-03-26T16:46:50.047 に答える