Оценка смещения гироскопа и правильного угла

Для позиционирования я использую смартфон LG Optimus 2x (датчик гироскопа и акселерометра).

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

Как я могу измерить и устранить занос в гироскопе датчика.

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

Когда мобильный телефон находится во вращении / движении, как получить свободные углы дрейфа?

3 ответа

Насколько я знаю, в SensorManager реализован фильтр Калмана или что-то подобное. Проверьте Sensor Fusion на устройствах Android: революция в обработке движения.

Вы пытаетесь решить проблему, которая уже решена.

Я являюсь автором приложения для компаса, которое объединяет данные от магнитных и гироскопических датчиков ( устойчивый компас). Я тестировал это приложение в основном на LG Optimus black (устройство, которое вы видите на видео) под управлением Android 2.2, поэтому я поделюсь своим опытом:

  • Показания гироскопа очень точные. Этот датчик является противоположностью акселерометра и магнитных датчиков, которые дают показания с большим количеством джиттера.
  • Показания с гироскопа (то есть угловая скорость) вообще не смещаются. У вас будет дрейф в оценке ориентации, если вы просто интегрируете показания гироскопа. Поскольку вы интегрируете образцы в разное время, вы получите только подход, который будет ухудшаться после каждого шага интеграции.
  • Чтобы избежать такого отклонения в оценке ориентации, необходимо учитывать другие входные источники, чтобы скорректировать результаты, полученные в результате интеграции данных гироскопа. Решение заключается в интеграции данных, поступающих от датчика ориентации (магнитный + ускорение) и данных, поступающих с гироскопа.

Будьте осторожны с телефонами LG: согласно Android API, гироскоп будет возвращать данные в рад / с. LG Optimus Black с Froyo дает показания в градусах / с. Обновление для Android 2.3 только что было выпущено для такого телефона. Я должен проверить, ведет ли себя новая версия в соответствии со спецификациями.

Какая версия Android у вашего телефона? Вы тестировали какое-либо приложение с помощью гироскопа? Вы получили ожидаемые результаты?

В основном гироскопы дрейфуют в течение длительных периодов времени. В то время как акселерометры не имеют дрейфа, но имеют тенденцию быть нестабильными. Комбинируя информацию от обоих датчиков с помощью фильтра Калмана, вы можете получить точное положение. Для некоторых это менее сложный, вы также можете использовать дополнительный фильтр.

См. Этот пост для получения дополнительной информации: объединить данные гироскопа и акселерометра

Другие вопросы по тегам