fixes
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
# 3.10 Параметры запуска и кэширование маршрутов
|
||||
|
||||
Основной сценарий работы с программой задаётся через аргументы командной строки в файле `main.py`. Это позволяет запускать систему в разных режимах, выбирать источник карт, задавать координаты эксперимента и переиспользовать ранее построенные маршруты.
|
||||
|
||||
\section{Режимы работы}
|
||||
|
||||
Ключевым параметром является `--mode`. Он определяет, какую часть эксперимента необходимо выполнить:
|
||||
|
||||
\begin{itemize}
|
||||
\item `build` -- построение маршрута, сбор эталонных кадров и сохранение данных;
|
||||
\item `run` -- запуск симуляции по ранее сохранённому маршруту;
|
||||
\item `standalone` -- последовательное выполнение построения и запуска в одном процессе.
|
||||
\end{itemize}
|
||||
|
||||
Разделение на режимы `build` и `run` позволяет сначала подготовить набор данных, а затем многократно запускать навигационный алгоритм на одинаковом маршруте.
|
||||
|
||||
\section{Поддерживаемые аргументы}
|
||||
|
||||
Программа поддерживает следующие параметры:
|
||||
|
||||
\begin{itemize}
|
||||
\item `--mode` -- режим работы программы: `standalone`, `build` или `run`;
|
||||
\item `--name` -- имя маршрута, под которым сохраняются или загружаются данные;
|
||||
\item `--lat` -- широта начальной области карты;
|
||||
\item `--lon` -- долгота начальной области карты;
|
||||
\item `--reference` -- источник эталонных изображений: `google` или `yandex`;
|
||||
\item `--simulation` -- картографический источник, в котором выполняется симуляция: `google` или `yandex`;
|
||||
\item `--ref-min-distance` -- минимальное расстояние между эталонными кадрами;
|
||||
\item `--debug-fps` -- включение отладочного вывода, связанного со скоростью обработки кадров;
|
||||
\item `--debug-landmark` -- включение отладочного вывода, связанного с поиском ориентиров.
|
||||
\end{itemize}
|
||||
|
||||
Параметры `--reference` и `--simulation` могут отличаться. Это позволяет проводить эксперименты, в которых эталонные изображения получены из одного картографического сервиса, а движение моделируется в другом. Такой сценарий используется для проверки устойчивости алгоритма к различиям в цветовой палитре, детализации и способе отрисовки спутниковых снимков.
|
||||
|
||||
\section{Кэширование маршрутов}
|
||||
|
||||
При запуске в режиме `build` программа создаёт каталог `trajectories/<name>/`. В него сохраняются:
|
||||
|
||||
\begin{itemize}
|
||||
\item каталог `chunks/` с эталонными изображениями маршрута;
|
||||
\item файл `positions.pkl` с координатами контрольных точек, позициями кадров и начальной геолокацией;
|
||||
\item данные, необходимые для повторного запуска без повторного ручного построения маршрута.
|
||||
\end{itemize}
|
||||
|
||||
Файл `positions.pkl` содержит словарь с полями `points`, `chunk_positions` и `initial_geolocation`. Поле `points` хранит маршрут в координатах карты, `chunk_positions` связывает сохранённые кадры с положением БПЛА, а `initial_geolocation` используется для открытия карты в той же области при повторном запуске.
|
||||
|
||||
\section{Повторные запуски и сравнение}
|
||||
|
||||
В режиме `run` программа загружает данные из `trajectories/<name>/`, восстанавливает список эталонных кадров и запускает симуляцию без повторного этапа разметки. Параметр `--ref-min-distance` позволяет управлять плотностью используемых ориентиров: чем больше значение, тем меньше эталонных кадров участвует в коррекции позиции.
|
||||
|
||||
За счёт кэширования один и тот же маршрут можно использовать для серии сравнительных экспериментов. Например, можно запускать симуляцию с разными картографическими источниками, разной плотностью ориентиров или различными отладочными режимами, сохраняя неизменной геометрию маршрута и набор исходных данных.
|
||||
|
||||
\section{Примеры запуска}
|
||||
|
||||
Построение нового маршрута:
|
||||
|
||||
```bash
|
||||
python main.py --mode build --name route_01 --reference google --lat 49.103814 --lon 55.794258
|
||||
```
|
||||
|
||||
Повторный запуск по сохранённому маршруту:
|
||||
|
||||
```bash
|
||||
python main.py --mode run --name route_01 --simulation yandex --ref-min-distance 100
|
||||
```
|
||||
|
||||
Полный запуск без разделения на этапы:
|
||||
|
||||
```bash
|
||||
python main.py --mode standalone --name route_02 --reference google --simulation yandex
|
||||
```
|
||||
3
dissertation/chapter_3/3.10_cli_and_cache/readme.md
Normal file
3
dissertation/chapter_3/3.10_cli_and_cache/readme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# 3.10 Параметры запуска и кэширование маршрутов
|
||||
|
||||
Описание параметров запуска и кэширования маршрутов находится в файле 3.10_cli_and_cache.md
|
||||
Reference in New Issue
Block a user