私は現在、自分の携帯電話から向きデータを受け取ってスピードメーターを実装しています。私は、デバイスがテーブルか何かの上に置かれている間、これは正常に動作し、私はとにかく、このような方位など。 として、自分の携帯電話からの回転データを受信することができていますこれにより定数回転装置 - 正しい方位データを受け取る方法?
SensorManager.getRotationMatrix(R, I, gravity, geomagnetic);
float orientation[] = new float[3];
SensorManager.getOrientation(R, orientation);
float azimuth = orientation[0];
double azimuthD = Math.toDegrees(azimuth);
if(azimuthD < 0) azimuthD = 360 + azimuthD;
を使用しています。しかし、特定の点を中心に回転すると(私の場合、装置は車輪に固定され、一定の速度で回転する)、値は正確ではありません。私は、重力と地磁気センサーを使用しているので、これらのセンサーに影響する力と回転しながら衝突する可能性があると私は信じています。 As the wheel turns, the rotation changes relative to a point, but the local device rotation stays the same.
多くのノイズの多いデータに遭遇することなく、デバイスが回転している間にデバイスの向きにアクセスするにはどうすればよいですか? 私は'Sensor.TYPE_ROTATION_VECTOR 'プロパティについていくつか読んでいますが、それがどのように動作するのかは分かりませんでした。また、コーディネーションシステムを再構築する可能性についても読んでいますが、私の電話機は5°〜10°の角度で床に垂直になることは決してありません。 私は助けていただければ幸いです。
乾杯、 viehlieb