2011-01-05 11 views
2

加速度計の出力を出力する簡単なプログラムを作成しました。アンドロイド加速度計の精度が極端に悪い

mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); 
mSensorManager.registerListener(this,mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_FASTEST);  

それはことが判明:実際の加速度計の測定値は非常に不正確である

public void onAccuracyChanged(Sensor sensor, int accuracy) { 
    if (collectingData){ 
    accelPrecision.setText("accelerometer accuracy: " + accuracy); 
    } 
} 
  • - について:によって決定された加速度計の出力は常に "最低" に設定されている

    1. テーブル上に載っていても2%-5%の変動があります

    は、私の知る限り、それは

  • +1

    加速度計の2%-5%の精度はかなり良いです。 – Falmarri

    +1

    加速度計の精度はハードウェアに依存します。つまり、Android(ソフトウェア)の問題ではありません。 –

    答えて

    0

    使用して、フィルタを設定し、どのようなネクサスS、ネクサスワンとG1

    それはモードが正確に行うことができる方法任意のアイデア/上と同じ問題です。あなたは生データを見ているので、もちろんそれは変動します。 weighted averagemoving averageのようなもので十分です。

    +1

    ありがとうございます。しかし、私のアイドル状態のNexus Sは、 "SENSOR_STATUS_UNRELIABLE"という精度で "SENSOR_STATUS_UNRELIABLE"という精度を常に "0"として報告しています - このセンサーから返された値は信頼できず、較正が必要であるか、 – user564594