Комбинированный гироскоп c акселерометром для определения курса

Я использую Android-устройство, чтобы получить заголовок(Азимут или угол рыскания).

Android API использовал значение акселерометра + поле mganetic для вычисления вращения матрицы, затем Азимут извлекается из этой Матрицы (он же SensorManager.getOrientation(...)) Но результат очень неточный! особенно если телефон возмущен какими-то магнитными штуками.

и тогда у меня есть гироскоп, если я интегрирую значение времени гироскопа, я могу получить фактический угол, но, как все знают: p, это подвержено дрейфу... после 10 секунд, даже если я не двигаюсь угол дрейфовал на 10°...

Итак, здесь у меня в одной стороне результат accel + magneto, это довольно дерьмо рядом с магнитным полем и с другой стороны, у меня есть результат гироскопа, который действительно хорош, но дрейфует со временем...

Итак, мой вопрос в том, есть ли простой или умный способ объединить два результата вместе, чтобы получить своего рода "надежный" заголовок оценка? Я говорю легко, потому что я знаю, что есть фильтры Калмана.. но даже жестко я прочитал теорию 50 раз, я не могу получить ни черта:).

спасибо!

3 ответов


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

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


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

Я использовал описанную технику в этом приложение (компас, который интегрирует показания гироскопа для улучшения результатов). Результат не идеален, но в целом намного лучше, чем у других компасов.


чтобы сделать его коротким:

невозможно объединить гироскоп + акселерометр, чтобы получить Азимут (я точный) просто потому, что акселерометр не может чувствовать ускорение на оси XY..

методом было бы сплавить гироскоп с компасом, но это не будет работать очень хорошо, если есть магнитное возмущение