Перейти к содержанию

Сценарии использования

Конкретные задачи, которые решают в Аэрозвено: кто решает, что нужно получить, какие шаги пройти в интерфейсе или API и что получится. Большинство случаев разобраны на встроенных демо-сценариях: их можно открыть на стартовом экране и повторить.

Откуда числа

Числа ниже — прогоны планировщика и валидатора текущего выпуска на демо-сценариях 29.09.2026 (зерно 42, ветер — из сценария, без прогноза). Рельеф в этих прогонах не подключён, поэтому в каждом плане есть предупреждение TERRAIN_UNKNOWN, а в отчёте — G2-04. У вас числа могут немного отличаться, если включён прогноз ветра или изменён лимит времени.

Демо-сценарии

Все демо-сценарии синтетические: районы условные, площадки и парк придуманы для проверки правил.

ID Что проверяет Участки Парк Особенность
s01 один борт, участок 1×1 км 1 RGB, GSD 3 см Gemini эталон арифметики: высота 153 м, выше 150 м — предупреждение ИВП
s02 бесполётная зона в невыпуклом участке 1 RGB, GSD 5 см Gemini обход зоны 0–500 м
s03 несколько площадок 1 RGB, GSD 3 см 3 × Gemini две площадки на противоположных концах
s04 разнотипный парк на большом полигоне 1 RGB, GSD 5 см 201, Gemini, 801 основную работу должен взять самолёт 201
s05 разные типы съёмки RGB (3 см) и ИК (15 см) Gemini + камера, 801 + тепловизор совместимость нагрузки
s06 ветер 8 м/с как s01 Gemini снос и дополнительные вылеты
s07 граничный запас хода 1 RGB, ≈ 8 км² Gemini, площадка далеко много вылетов
s08 недостижимый GSD 1 RGB, GSD 0,5 см 201 ожидаемая ошибка GSD_UNREACHABLE
s09 ветер 11 м/с выше предела части парка 1 RGB, GSD 5 см 201, Gemini, 801 в расчёте остаётся только 201
s10 выбытие борта большой полигон 201, Gemini, 801 пересчёт после отказа
s11 парк из 10 бортов 4 участка: RGB, ИК, мультиспектр 3 модели, 10 бортов, 3 площадки демо стартового экрана
s12 парк из 20 бортов 6 участков 20 бортов, 4 площадки масштабирование
s13 самолёт с взлётно-посадочной полосой 1 RGB, GSD 5 см Penguin B полоса 600 × 30 м

1. Один участок, один борт

Кто: оператор съёмки, который впервые открывает сервис. Цель: получить маршрут ПАФС для поля 1×1 км с GSD 3 см и выгрузить его в KML.

Шаги в интерфейсе:

  1. «Сценарии» → строка s01 → «Открыть».
  2. «Область съёмки и парк»: проверьте участок (RGB, GSD 3 см), борт gemini-01 и площадку.
  3. «Рассчитать».
  4. «План полётов»: галсы на карте, диаграмма Ганта, «Протокол решений».
  5. «Отчёт валидатора» → «Экспорт» → KML.

Результат: высота съёмки 153 м (из GSD и камеры), один вылет, время работ 00:27:38, покрытие 100 %. План допущен; предупреждение G1-05 — высота выше 150 м, нужно разрешение на ИВП. Интерфейс предлагает ослабить GSD до значения, при котором высота будет не выше 150 м.

2. Несколько площадок и выбор, откуда лететь

Кто: руководитель работ с двумя точками базирования. Цель: распределить полосу ≈ 3×1 км между тремя бортами на двух площадках.

Шаги: откройте s03; на экране «Область съёмки и парк» в разделе «Площадки» видны «ВПП запад» и «ВПП восток»; у каждого борта — домашняя площадка. Нажмите «Рассчитать».

Результат (критерий «время работ»): три борта, три вылета, время работ 00:13:08, суммарный налёт 00:38:30, покрытие 100 %. Между вылетами борт может сесть на ближайшую подходящую площадку, если так короче подлёт к следующим галсам. Валидатор допускает план и предупреждает о сближении бортов в воздухе (G7-01) — его можно убрать разведением по высоте или времени (случай 16).

3. Выбор критерия: время работ или суммарный налёт

Кто: руководитель, который решает, что дороже — простой бригады или моторесурс. Цель: сравнить два плана на одном сценарии.

Шаги: откройте s03 и рассчитайте дважды: с критерием «Время работ» и «Налёт» (переключатель в блоке «Критерий оптимизации»). Для полной картины откройте «Мультикритериальный анализ».

Критерий Время работ Суммарный налёт Бортов Вылетов
Время работ (makespan) 00:13:08 00:38:30 3 3
Суммарный налёт (total_flight_time) 00:18:07 00:35:26 2 2

Результат: по критерию «время работ» бригада заканчивает на 27 % раньше, но суммарный налёт на 9 % больше и занят третий борт. Через API — поле objective запроса POST /api/plans.

4. Бесполётная зона внутри участка

Кто: оператор, у которого в районе работ есть запретный объект. Цель: снять невыпуклый участок в обход зоны 0–500 м.

Шаги: откройте s02; на экране «Воздушное пространство и БПЗ» видна зона с высотным слоем и буфером 25 м. Рассчитайте план.

Результат: галсы режутся по зоне с буфером, перелёты обходят её по кратчайшему пути вокруг контура. Покрытие доступной части — 99,96 %, время работ 00:17:19, заходов в зону нет (G1-01).

Известный дефект выпуска

Сейчас валидатор не допускает план s02 по проверке G6-05 (поперечное перекрытие с учётом ветра на коротких галсах у зоны). Сам маршрут в зону не заходит; дефект в работе.

5. Граница разрешённого воздушного пространства

Кто: оператор, которому согласовали только часть неба. Цель: убедиться, что съёмка и развороты не выходят за границу.

Шаги: на экране «Воздушное пространство и БПЗ» задайте контур разрешённого пространства (вершины, азимуты, длины сторон). Площадки должны быть внутри — площадка снаружи помечается предупреждением.

Результат: часть участка за границей не снимается (TASK_OUTSIDE_AIRSPACE), развороты выносятся или укорачивают галсы, чтобы не выйти наружу. Перелёты границу не обходят — если перелёт вышел за неё, план получит нарушение, а валидатор — G1-02 (см. Правила).

6. Разнотипный парк на большом полигоне

Кто: подрядчик с самолётом и мультироторами. Цель: снять крупный полигон так, чтобы каждый борт делал то, что у него получается лучше.

Шаги: откройте s04 (самолёт 201, Gemini, 801 на одной площадке) и рассчитайте.

Результат: полигон режется на полосы пропорционально производительности бортов; самолёт с запасом хода 180 мин берёт основную работу, мультироторы — ближние полосы. На стенде план допущен, время работ ≈ 27:22:43 — это многодневная работа, видно по диаграмме Ганта.

7. Разные типы съёмки на одном районе

Кто: агроном, которому нужны RGB и ИК. Цель: снять два перекрывающихся участка разными камерами.

Шаги: откройте s05: участок RGB с GSD 3 см и участок ИК с GSD 15 см; Gemini с камерой и 801 с тепловизором. Рассчитайте.

Результат: каждый участок назначается только бортам с подходящей установленной нагрузкой (проверка G5-01). Если нагрузки нет ни у одного борта, галсы уходят в нераспределённые с причиной no_compatible_payload, а в карточке борта — «Нагрузка не подходит ни к одному участку».

8. Сильный ветер

Кто: оператор в ветреный день. Цель: понять, сколько вылетов займёт тот же участок при ветре 8 м/с.

Шаги: откройте s06 (участок как в s01, ветер 8 м/с с запада). Рассчитайте и сравните с s01.

Сценарий Ветер Вылетов Время работ Налёт
s01 0 1 00:27:38 00:27:38
s06 8 м/с 3 01:36:23 01:16:23

Результат: снос сужает шаг галсов (галсов становится больше), путевая скорость против ветра падает — работа не помещается в один вылет. Время работ больше налёта на два оборота между вылетами (по 10 мин).

9. Ветер выше предела части парка

Кто: оператор, у которого часть бортов не летает в такой ветер. Цель: узнать, кто может работать при 11 м/с.

Шаги: откройте s09 (201, Gemini, 801; ветер 11 м/с). В карточках Gemini и 801 — предупреждение «борт выбывает по ветру». Рассчитайте.

Результат: в расчёт идёт только самолёт 201 (предел 12 м/с), высота для его камеры при GSD 5 см — 388 м. Время работ 00:52:05, один вылет. Причина исключения остальных — в «Протоколе решений», раздел «Борта вне расчёта».

10. Много вылетов: граничный запас хода

Кто: оператор, у которого площадка далеко от участка. Цель: увидеть, как работа нарезается на вылеты.

Шаги: откройте s07 (Gemini, участок ≈ 8 км², площадка на удалении). Рассчитайте.

Результат: каждый вылет укладывается в 40 мин × (1 − 20 %), между вылетами — оборот на площадке. Длинный галс, не влезающий в вылет, делится. На стенде план допущен, время работ ≈ 18:49:01. Угол галсов сильно влияет на число вылетов при дальнем подлёте — поэтому планировщик уточняет его целыми планами (см. Правила).

11. Недостижимое требование к качеству

Кто: заказчик, который просит GSD 0,5 см. Цель: узнать заранее, выполнимо ли это.

Шаги: откройте s08 и нажмите «Рассчитать».

Результат: расчёт сразу отклоняется с кодом GSD_UNREACHABLE: высота для такого GSD ниже минимальной безопасной высоты борта. Что делать: ослабить GSD, сменить нагрузку или борт.

12. Выбытие борта и пересчёт

Кто: руководитель работ, у которого борт сломался в поле. Цель: перераспределить оставшиеся галсы на остальные борты.

Шаги в интерфейсе: откройте s10, рассчитайте, на экране «План полётов» нажмите кнопку с молнией у выбывшего борта — «смоделировать выбытие» — и подтвердите пересчёт.

Через API:

curl -sS -X POST "$BASE/api/plans/$PLAN_ID/replan" -H 'content-type: application/json' \
  -d '{"exclude_uav_ids":["gemini-01"]}'

Результат: новый план (новый planId) без выбывшего борта; его галсы распределены между остальными.

13. Большой парк

Кто: оператор, у которого 10–20 бортов и несколько площадок. Цель: получить план за разумное время.

Шаги: на стартовом экране выберите «Демо-сценарий» (s11: 10 бортов трёх моделей, 4 участка RGB, ИК и мультиспектр, 3 площадки) или откройте s12 (20 бортов, 6 участков).

Результат: участки назначаются по совместимости нагрузки, внутри — по производительности групп бортов. При больше чем 4 участках угол подбирается быстрой оценкой без уточнения целыми планами — это ограничивает время расчёта. Панель бортов и «Загрузка бортов» в протоколе показывают, кто сколько летает.

14. Самолёт с взлётно-посадочной полосой

Кто: оператор самолётного БВС с разбегом. Цель: спланировать работы с полосы.

Шаги: откройте s13 (Penguin B, полоса 600 × 30 м). На экране «Область съёмки и парк» у площадки есть блок «Полоса»: длина и курс в обе стороны, ширина, покрытие. Торцы можно двигать мышью.

Результат: один вылет, время работ 00:27:43. Направление взлёта и посадки выбирается по ветру; если полоса короче потребной (45 м разбег, 150 м пробег у Penguin B), борт в расчёт не идёт (RUNWAY_TOO_SHORT). Разбег, набор по курсу полосы и заход по глиссаде 3° строятся, когда на сервере включён расчётный профиль; на публичном стенде он выключен.

15. Рельеф

Кто: оператор в холмистой местности. Цель: не подойти к земле ближе безопасного.

Как работает: если к стенду подключена цифровая модель рельефа, галс идёт на постоянной высоте над землёй, а перелёт, возврат и заход поднимаются целиком, если запас над рельефом меньше 50 м. Валидатор независимо проверяет запас 50 м по всему маршруту (G2-04). Без модели рельефа в плане предупреждение TERRAIN_UNKNOWN. Подробно — Правила: рельеф.

16. Сближение бортов

Кто: руководитель работ, у которого несколько бортов в воздухе одновременно. Цель: убрать опасные сближения.

Шаги: если в отчёте валидатора есть предупреждение G7-01 (ближе 300 м по горизонтали и 50 м по высоте), поставьте расчёт с разведением — через API поле separation: time (сдвиг бортов по времени шагом 30 с) или altitude (перелёты k-го борта выше на k × 50 м).

Результат: план без сближений или с их минимумом; способ разведения записан в протоколе решений.

17. Лимит времени расчёта и «остановить и взять лучший»

Кто: оператор, которому план нужен прямо сейчас. Цель: не ждать полного перебора.

Шаги: на экране «Область съёмки и парк» в разделе «Расчёт» выберите «Быстро» (до 30 с) вместо «Точно» (до 300 с). Уже идущий расчёт можно остановить кнопкой «Остановить и взять лучший план» в шапке.

Результат: при остановке возвращается лучший найденный к этому моменту план с предупреждением STOPPED_BY_OPERATOR. Первый план остановка не прерывает. Через API — time_limit_s (1…1800 с) и POST /api/plans/{id}/stop.

18. Проверка внешнего плана

Кто: инженер, у которого план построен в другой системе. Цель: независимо проверить его по тем же 39 правилам.

Шаги: приведите план к формату JSON-плана (см. Работа с файлами) и отправьте вместе со сценарием:

jq -n --slurpfile s scenario.json --slurpfile p external-plan.json '{scenario:$s[0], plan:$p[0]}' \
  | curl -sS -X POST "$BASE/api/validate" -H 'content-type: application/json' -d @- \
  | jq '.report | {admitted, fails: [.checks[] | select(.status=="fail") | .id]}'

Результат: вердикт admitted, пересчитанные метрики (покрытие, время работ, налёт) рядом с заявленными и список проверок со статусами. Расхождение заявленных и пересчитанных метрик больше 1 % — отдельная ошибка (G6-04).

19. Импорт файлов организаторов

Кто: оператор, которому выдали KML с участками, зонами и препятствиями. Цель: собрать сценарий из файлов без ручного рисования.

Шаги: «Сценарии» → карточка «Импорт проекта» → «Выбрать файлы» — можно выбрать сразу несколько KML/KMZ. В диалоге проверьте роль каждого файла: «Участки съёмки», «Зоны ограничений», «Высотные препятствия». Отметьте флажок данных организаторов, если это их файлы.

Результат: сценарий с участками, зонами (высоты из текста «От земли до … м», «FL…» пересчитаны в высоту над землёй с запасом) и препятствиями как зонами от земли. Отчёт импорта показывает, что пропущено: вырожденные контуры, неразобранные высоты, объекты вне района. Парк, площадка и ветер подставляются по умолчанию — их нужно поправить. Подробно — Работа с файлами.

20. Передача полётных заданий на наземную станцию

Кто: оператор, который загружает маршруты в автопилот. Цель: получить файлы по каждому борту.

Шаги: «Экспорт» → отметьте KML и GeoJSON (по умолчанию), при необходимости QGC .plan и CSV → «Выгрузить». Для печатной документации — карточка «Отчёт PDF» → «Отчёт по плану» или «Отчёт по борту».

Результат: KML и GeoJSON — один файл на план со слоями сценария и маршрутами по бортам и вылетам, высоты над землёй (relativeToGround); QGC .plan и путевые точки — по файлу на борт. KML открывается в Google Earth и QGIS и загружается обратно в Аэрозвено.

21. Работа через чат-ассистента

Кто: оператор, которому проще сказать, чем искать поле. Цель: поправить сценарий, пересчитать и понять результат.

Шаги: кнопка «Ассистент» в шапке → «Поставь ветер 7 м/с с запада и рассчитай» → ассистент показывает карточку изменений и карточку оценки с вердиктом валидатора. Затем «Подбери вариант лучше, включая угол галсов» или кнопка «Объяснить отчёт».

Результат: изменения видны как «было → стало», числа — из планировщика и валидатора, а не из текста модели. Прежний сценарий возвращается кнопкой «Вернуть прежний». Подробно — Чат-ассистент.

22. Встраивание в свой контур через API

Кто: интегратор. Цель: считать планы из своей системы учёта работ.

Шаги: POST /api/plans со сценарием и заголовком Idempotency-Key → поток GET /api/plans/{id}/events или опрос → GET /api/plans/{id}/export/kml → POST /api/validate. Полный пример — Обзор API.

Результат: тот же план, что в интерфейсе; повтор запроса с тем же ключом не ставит расчёт второй раз.