В настоящее время я работаю над простым и маленьким Kalman-фильтром для GPS-навигации.Я получаю от своего GPS-датчика текущее местоположение, угол курса и скорость.Таким образом, фильтр Калмана должен объединить текущее измерение и линейное движение, начиная с предыдущего местоположения, предполагая постоянную скорость и угол курса.
Моя задача состоит в том, чтобы выбрать полезное пространство, в котором фильтр Калмана может выполнятьв лучшем случае.
Подход к локальной системе координат:
Если я выберу локальную систему координат (север [метр], восток [метр]) с предыдущим местоположением в начале координат, я смогу предсказать новое местоположениелегко, но как преобразовать новое измерение (широта / долгота) в мою локальную систему координат, используя эллипсоид wgs-84?и как преобразовать мой новый прогноз в моей локальной системе координат в широту / долготу, также используя эллипсоид wgs-84?
Итак, мне нужны две функции:
f: = (lat_ref, lng_ref,lat, lng) -> (x, y)
g: = (lat_ref, lng_ref, x, y) -> (lat, lng) (это также можно сделать с помощью Vincenty )
1016 * Глобальная система координат подход: 1018 * Я нашел
Vincenty-Algorithm , который вычисляет новое местоположение из ссылки местоположения, расстояния и курсового угла на любом эллипсоиде.Этот алгоритм работает нормально, но я не вижу, как использовать этот алгоритм внутри фильтра Калмана, который работает в глобальной системе координат.
Есть какие-нибудь идеи или предложения, как решить одну из моих проблем?