Цель работы: моделирование движения материальной точки с заданной динамикой и реализация алгоритма линейной фильтрации Калмана для оценки координат объекта по зашумлённым измерениям с анализом поведения оценок и ковариаций.
Оценивание: 10 баллов (Часть 1 — 5 баллов, Часть 2 — 5 баллов).
Оборудование: персональный компьютер.
-
Создать траекторию движения материальной точки в локальной системе координат. Траектория движения задаётся позицией и скоростью (опционально добавить ориентацию), частота обновления траектории — не менее 1 Гц. Траектория должна быть с манёврами, содержать движение как с постоянной скоростью, так и с равноускоренными участками движения, без вращения вокруг своих осей во время отсутствия движения.
-
Добавить к составляющим вектора координат неопределённость с фиксированной дисперсией и использовать полученные значения как измерения позиции ГНСС-приёмником.
-
Реализовать линейный фильтр Калмана с различными параметрами шума процесса и сравнить получаемые результаты работы фильтра с истинными значениями координат и скорости.
1.1. С помощью любого доступного инструмента создайте файл с траекторией движения материальной точки. Рекомендуются к использованию инструменты из репозитория курса.
1.2. Файл с траекторией должен содержать строки следующего состава в обязательном порядке: время в секундах, составляющие вектора координат в метрах, составляющие вектора скорости в м/с. Например:
- Время
t, [с] - Координата
E, [м] - Координата
N, [м] - Координата
U, [м] - Скорость по
E, [м/с] - Скорость по
N, [м/с] - Скорость по
U, [м/с]
1.4. Опционально можно сгенерировать и добавить столбцы с углами ориентации в ССК.
2.1. Скопировать файл с полученной траекторией, переименовать в файл с измеренными значениями, удалить лишние столбцы (скорость и ориентация).
2.2. Новый файл использовать для создания данных ГНСС - добавить к составляющим вектора координат погрешность измерения, заданную как три некоррелированных нормально распределённых случайных величины с постоянной дисперсией. Значение дисперсии выбрать самостоятельно.
2.3. Конвертировать траекторию из ENU в LLH (WGS84) и ECEF. Визуализировать полученную траекторию движения по данным ГНСС в любом доступном сервисе, предварительно сохранив файлы с траекториями в нужных для них форматах. Можно использовать следующие решения по визуализации:
3.1. Спроектировать линейный фильтр Калмана по оценке вектора состояния, включающего составляющие вектора координат и скорости в локальной системе отсчёта.
3.2. Реализовать работу фильтра на любом языке программирования и обеспечить возможность задать настройки фильтра при его запуске (дисперсии, начальные значения).
3.3. Получить метрики точности работы ФК при различных настройках, сделать выводы по проделанной работе.
Для защиты результатов лабораторной работы необходимо подготовить и продемонстрировать преподавателю следующие материалы:
- [часть 1] проект исходных кодов с комментариями по созданию траектории;
- [часть 1] график или анимационный GIF-файл с траекторией движения и файл со значениями координат, скорости (опционально ориентации) во времени;
- [часть 2] проект с исходными кодами фильтра Калмана и результаты его запуска с различными параметрами, в том числе графики сравнения координат и скорости;
- [часть 2] выводы по работе.
ver.0.1