5.4 KiB
3.8 Визуализатор эксперимента
Визуализатор эксперимента используется для наблюдения за ходом симуляции и анализа качества работы алгоритма навигации. Он реализован в модуле visualization.py классом VisualizationManager и запускается в режиме выполнения маршрута.
\section{Назначение визуализатора}
Визуализатор объединяет в одном окне несколько источников диагностической информации. Это позволяет одновременно контролировать реальное положение БПЛА в симуляторе, положение, вычисленное алгоритмом визуальной одометрии, качество сопоставления кадров и динамику ошибки.
В процессе эксперимента отображаются:
\begin{itemize} \item график погрешности позиционирования по кадрам; \item глобальная карта с фактической траекторией и траекторией, восстановленной автопилотом; \item текущий целевой ориентир и уже пройденные контрольные точки; \item результат сопоставления признаков между последовательными кадрами; \item результат сопоставления текущего кадра с ближайшим эталонным ориентиром; \item визуализация движения ключевых точек и сетки гомографии. \end{itemize}
\section{Структура окна}
Окно визуализации построено как сетка из нескольких областей. Левая часть отвечает за численную и траекторную оценку: сверху расположен график ошибки, снизу -- карта перемещения. Правая и центральная части отведены под изображения, получаемые в ходе обработки кадров: сопоставление признаков, поиск ориентиров и отображение преобразования изображения.
Такое размещение выбрано для того, чтобы во время запуска видеть не только итоговую метрику, но и причину изменения ошибки. Например, резкий рост погрешности можно сопоставить с отсутствием устойчивых ключевых точек или с ошибочным сопоставлением текущего кадра с эталонным.
\section{Обновление данных}
В режиме run объект VisualizationManager передаётся в автопилот и дополнительно обновляется из основного цикла симуляции. После обработки очередного кадра вызываются методы обновления целевого ориентира, траектории БПЛА, фактического положения и графика ошибки. Затем окно перерисовывается методом update_display.
График ошибки строится как евклидово расстояние между координатами, рассчитанными автопилотом, и координатами симулятора. Для более удобного анализа поверх исходных значений может отображаться сглаженный тренд.
\section{Использование при отладке}
Визуализатор выполняет роль инструмента отладки. Он позволяет проверять:
\begin{itemize} \item устойчивость визуальной одометрии на соседних кадрах; \item корректность выбора ближайшего ориентира; \item влияние крена, тангажа и изменения масштаба на ошибку; \item моменты, в которые автопилот переходит к следующей целевой точке; \item расхождение между фактической траекторией и траекторией, восстановленной по изображениям. \end{itemize}
Таким образом, визуализатор связывает численные результаты эксперимента с визуальными признаками, по которым алгоритм принимает решение.