Дилемма точности компаса

Я должен создать компас для своего приложения.

От чтения документации кажется, что существует два разумных способа сделать это:

  • Датчик. Метод TYPE_ORIENTATION: Это - простой способ сделать его. Проблема с этим - это, не точно. Когда я сравниваю свое чтение с Компасом Snaptic, это, приблизительно 10-15 отступают, от которого в моих целях недопустимо.
  • Датчик. TYPE_ACCELEROMETER, Датчик. TYPE_MAGNETIC_FIELD и getRotationMatrix () в сочетании с remapCoordinateSystem () и getOrientation () метод: в документации говорится, что это "обычно более точно". Проблема независимо от задержки, которую я регистрирую в слушателе, компас сходит с ума, даже когда устройство является стационарным на плоской поверхности.

Любые предложения для решения этой проблемы будут значительно цениться.

6
задан mob1lejunkie 4 May 2010 в 22:51
поделиться

2 ответа

Похоже, mob1lejunkie уже понял это, но на всякий случай позвольте мне упомянуть, что проблема здесь в магнитном склонении (разница между магнитным севером и истинным севером ). Вы можете попробовать онлайн-модель от NOAA , чтобы понять, в чем разница в вашей части мира.

Android включает модель под названием Geom MagneticField , которую можно использовать для вычисления приблизительного склонения с учетом широты, долготы и высоты. Итак, что, как я считаю, вам нужно сделать для вычисления истинного севера, это считать значение азимута из Sensor.TYPE_ORIENTATION и затем добавить к этому Geom MagneticField.getDeclination ().

8
ответ дан 10 December 2019 в 02:43
поделиться

Это обратная сторона компактных деталей, сделанных для телефонов. IMU за $5000, который мы используем сейчас, имеет погрешность +/- 2 градуса, и в этом диапазоне он, похоже, тоже сходит с ума.

Попробуйте отойти от помех, металлических поверхностей и посмотрите, улучшится ли ситуация. Если нет, не хотелось бы сообщать плохие новости, но это аппаратура.

Вы видели это?

http://developer.android.com/reference/android/hardware/SensorManager.html

http://groups.google.com/group/android-developers/browse_thread/thread/bbb0e8b97c673cf9/5c16bc2e49f6e972?lnk=raot

1
ответ дан 10 December 2019 в 02:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: