This commit is contained in:
2026-05-28 17:30:54 +03:00
parent fc072d798e
commit 6477ce0776
16 changed files with 604 additions and 39 deletions

View File

@@ -0,0 +1,46 @@
# 3.8 Визуализатор эксперимента
Визуализатор эксперимента используется для наблюдения за ходом симуляции и анализа качества работы алгоритма навигации. Он реализован в модуле `visualization.py` классом `VisualizationManager` и запускается в режиме выполнения маршрута.
<image description="Скриншот окна визуализатора эксперимента с графиком ошибки, глобальной картой, сопоставлением признаков и областью поиска ориентиров">
\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}
Таким образом, визуализатор связывает численные результаты эксперимента с визуальными признаками, по которым алгоритм принимает решение.

View File

@@ -0,0 +1,3 @@
# 3.8 Визуализатор эксперимента
Описание визуализатора эксперимента находится в файле 3.8_experiment_visualizer.md