maddevsio / mad-location-manager

Mad Location Manager is a library for GPS and Accelerometer data "fusion" with Kalman filter
MIT License
533 stars 154 forks source link

Фильтр Калмана не работает ожидаемым образом #122

Open alinaSib opened 1 year ago

alinaSib commented 1 year ago

Привет! Мне нужно научиться избавляться от скачков, которые появляются в треке на карте, если просто использовать данные FusedLocationProvider'a. Исходя из того, что я изучила по теме и из статей в вашем блоге - фильтр Калмана, это именно то, что должно помочь решить проблему.
Я пробовала подключать эту библиотеку к своему проекту и пробовала просто использовать sample app. Но, к сожалению, и так и так получаю трек со скачками. И, собственно, координаты до фильтра Калмана и после не особо отличаются. После фильтра становится больше знаков после запятой в значениях lat и long. Но какой-то магии, где с помощью фильтра было рассчитано некое медианное значение и скорректирован трек - я так и не увидела. Учитывая масштабы труда, которые вы вложили в создание этой библиотеки - не верится, что она не работает. Скорее у меня какие-то проблемы с использованием, настройками или самим тестовым девайсом... Есть ли у Вас возможность обсудить мою проблему?

Lezh1k commented 1 year ago

Привет. Проект чуть подзаржавел и я бы предложил использовать альтернативу.

А так - если просто убрать скачки, то возможно просто взять Geohash filter отсюда будет достаточно. Ну или помучаться с настройкой коэффициентов.

alinaSib commented 1 year ago

Благодарю за ответ. Что-то не поняла по поводу альтернативы. Ведь именно этот API (Fused Location Provider API) используется внутри вашего проекта. К сожалению, этого недостаточно. Возможно, потому что мое приложение планируется использовать в условиях, где плохое покрытие сотовой связи. А о каких коэффициентах речь?

Lezh1k commented 1 year ago

Нет, в этом проекте можно подключить Fused Location Provider API, но вообще там все эти усилия с Калманом и т.п. были направлены на то, чтоб можно было работать без него.

Попробуйте использовать просто Fused Location Provider, без mad location manager-а . Если его точности не хватает... Ну, тогда всё сложно.

Коэффициенты в ковариационных матрицах Q и R . Их автоматически подобрать пока не получилось.