Sensor.TYPE_ROTATION_VECTOR имеет дрейф: есть ли альтернатива?

Я тестирую Sensor.TYPE_ROTATION_VECTOR на Android. Предполагается использовать магнитный датчик, акселерометр и гироскоп для обеспечения точного вращения в любое время. Тем не менее, я замечаю огромный дрейф, происходящий на Moto G 2nd. Интересно, является ли это проблемой, специфичной для устройства, или что это происходит на многих телефонах (что я бы предположил, хотя я знаю, что Moto G 2nd является проблемным случаем с этим гироскопом).

Есть ли альтернативная форма слияния сенсора, которая свободна от дрейфа (с использованием магнизенсатора)? Я также пробовал слияние Google Cardboard с датчиком, но он использует оценку смещения, поэтому предположительно не полностью дрейфует (поскольку магнитный датчик не используется в это время, кажется), хотя он все же намного лучше, чем TYPE_ROTATION_VECTOR.

Ответ 1

https://play.google.com/store/apps/details?id=org.hitlabnz.sensor_fusion_demo имеет некоторые удобные альтернативы, которые я только что нашел. Я все еще должен проверить, какой слияние приводит к самым устойчивым результатам. Источник здесь: https://bitbucket.org/apacha/sensor-fusion-demo/src.

Многие из них также показывают дрейф; в частности те, которые используют гироскоп.

Ответ 2

Независимый подход к платформе/аппаратной части

  • Гироскоп будет, по определению, всегда дрейфовать.
  • Магнитометр будет по определению лишен точности (*).
  • Акселерометр, в отношении положения устройства обнаружения, не имеет никакого значения.

Общий подход состоит в следующем:

  • прислушиваться к уведомлениям об изменениях магнитометра, со временем амортизации. Это дает вам большие изменения в изменении ориентации устройства.
  • прислушиваться к уведомлениям о гироскопических изменениях со временем амортизации. Это дает вам небольшие изменения в изменении ориентации устройства.

(*) В декартовом физическом мире магнитометру должно быть достаточно, но в землевладелительной вселенной вам необходимо компенсировать отсутствие магнитометра частоты обновления, точности и внешних факторов с помощью гироскопа, который обеспечивает немедленную обратную связь.