2015-12-07 18 views
11

AndroidでSensor.TYPE_ROTATION_VECTORを試しています。常に正確な回転を提供するために、磁場センサ、加速度計、およびジャイロスコープを使用することが想定されています。しかし、私はMoto G 2ndで大きなドリフトが発生していることに気付きました。私はこれがデバイス特有の問題であるのか、これが多くの電話機で起こったのか疑問に思います(私はMoto G 2ndがジャイロスコープでは問題があることに慣れていますが)。Sensor.TYPE_ROTATION_VECTORにはドリフトがあります:代替手段はありますか?

ドリフトフリー(磁気センサーを使用)のセンサー融合の代替形式がありますか?私もGoogle Cardboardのセンサーフュージョンを試しましたが、バイアス推定を使用していますので、おそらく完全にドリフトしていない(この時点では磁場センサーが使用されていないため)のですが、TYPE_ROTATION_VECTORよりもはるかに優れています。

+0

センサーフュージョンに関する古いGoogleトークのビデオ:https://youtu.be/C7JQ7Rpwn2k仕様内のドリフトもありますか? 'は1Hzあたり1e-7 rad^2/s^2(1Hzあたりの分散、またはrad^2/s)以下の分散を持たなければならない。分散はサンプリングレートによって変化することが許されますが、この値によって制約を受けなければなりません。言い換えれば、1Hzのサンプリングレートでジャイロの分散を測定すると、1e-7 rad^2/s^2以下になるはずです。http://static.googleusercontent.com/media/source.android .com/en // compatibility/android-cdd.pdf –

+0

長時間続くARの場合は、HiFI Sensorの機能である 'android.hardware.sensor.hifi_sensors'を追加したのでしょう。 –

答えて

0

プラットフォーム/ハードウェアに依存しないアプローチ

  1. ジャイロれ、定義によって、常にドリフト。
  2. 磁力計は、定義により、には、の精度(*)がありません。
  3. 加速度計は、デバイスの位置を検出する限り、価値がありません。

一般的なアプローチはで構成されています

  • は、磁力計を聞く時間をかけて償却して、通知を変更します。これにより、デバイスの向きが変更されたのサイズが大きく変わります()。
  • ジャイロスコープの変更通知に耳を傾け、時間をかけて償却します。これにより、小さいのデバイスの向きが変更されます。

(*)デカルトの物理的な世界では、磁力計は十分なはずですが、地球人の宇宙では、あなたが更新、精度および外部要因の磁力周波数の不足を補うために必要がありますジャイロスコープは即時フィードバックを提供します。

関連する問題