Ориентация Android: азимут зависит от тангажа и крена

Проблема: значение азимута изменяется при изменении тангажа или крена, даже если ориентация устройства остается прежней; Мне нужно получить стабильный независимый азимут и тангаж: наклон не должен влиять на рыскание.

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

Есть ли кто-нибудь, кто может решить эту проблему? Мне нужно иметь стабильный азимут по крайней мере + или - 45 градусов изменения шага относительно горизонтальной плоскости и наоборот. Заранее спасибо.


person abe65xt    schedule 07.09.2015    source источник


Ответы (1)


азимут очень хитрая штука.

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

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

person Fixus    schedule 07.09.2015
comment
Спасибо за ответ. Конечно, я занимаюсь отладкой рядом с ПК, что может вызвать некоторые помехи. Но изменение рыскания слишком велико по сравнению с изменением высоты тона, и между ними, по-видимому, нет никакой функциональной связи. - person abe65xt; 08.09.2015
comment
@abe65xt попробуйте мой метод и проверьте, поможет ли он, или вставьте свой код, потому что в настоящее время мы просто говорим о какой-то теоретической проблеме :) - person Fixus; 08.09.2015