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

Симулятор «мир БВС» — второй сервис рядом с планировщиком geoscan

M1-снимок. Синтетический 3D-мир с привязкой к WGS84 (телеметрия lon/lat, локальная ENU для физики), фикстуры ≤ нескольких км, headless-прогон планов планировщика, журнал, HTTP-стенд и пакетный прогон sim batch. Борта парка Геоскан (201 / 801 / Gemini) исполняют полётное задание планировщика под ветром, температурой, отказами связи и частью бортовых ограничений. Реальные геоданные (GLO-30, WorldCover, OSM) в поставке нет — см. LIMITATIONS.md. На выходе — факт прогона (в пределах реализованных метрик): длительность sortie по плану, доля площади, снятая кадрами (сухая геометрия), нарушения клиренса, события потери связи. Снос парашюта в отчёт прогона не попадает (только эталон V-10 в sim validate — см. LIMITATIONS.md).

Зачем. План планировщика арифметически корректен, но проверить его сегодня можно только вылетом, а вылет необратим. Симулятор превращает проверку гипотезы «полетит ли этот план» в операцию, которая стоит секунды на один sim run. Массовый прогон сценариев — sim batch (CSV/JSON-сводка); его границы описаны в LIMITATIONS.md.

Чем он не является. Он не планирует маршруты, не считает метрики качества плана вместо валидатора, не управляет реальными бортами и не сверялся с реальным полётом. Достоверность доказана до уровня V5 из шести — реальной телеметрии не существует.

Основной сервис (планировщик, задача 5 ЛЦТ) — ../docs/task5/. Направление зависимости строго одностороннее: симулятор читает выход планировщика; планировщик о симуляторе не знает и сдаётся без него.


Карта документов

Документ Зачем
docs/91-doc/README.md Собранная продуктовая документация симулятора (бизнес, сценарии, архитектура, эксплуатация)
LIMITATIONS.md Шестой артефакт ТЗ: честный перечень того, что не поддержано, с SIM-ID и доказательствами

90-final — свод (читать отсюда)

Документ Зачем открывать
01-business-requirements.md Головной документ. Резюме на страницу, объём продукта, уровни M0/M1/M2, 25 требований верхнего уровня, раздел достоверности, критерии приёмки числами, перечень известных ограничений (п. 5 ТЗ), соответствие ТЗ и таблица «замечание ревью → что сделано»
02-requirements-registry.md (docs/90-final/02-requirements-registry.md) Единый реестр 338 требований со статусом после ревью, уровнем зрелости и критерием приёмки. Плюс приложения: 20 наследуемых ограничений INH и 18 поглощённых SIM-01…18
03-next-steps.md (docs/90-final/03-next-steps.md) Что делать дальше: 6 шагов от спайков до сдаваемого M1, критерий готовности каждого, оценки в агенто-заходах и итерациях ревью, порядок отсечения при нехватке времени

00-brief — постановка

Документ Зачем открывать
01-context-digest.md (docs/00-brief/01-context-digest.md) Что симулятор наследует от планировщика: 20 ограничений INH, ТТХ парка, контракт полётного задания, 17 дыр, которые расчётом не закрываются, 12 расхождений между источниками
02-vision-and-business.md Продуктовый домен: 12 проблем P-01…P-12 с ценой ошибки в числах, роли, 12 сценариев U-01…U-12, границы, пирамида достоверности V1…V6, мутационный контроль
03-primary-sources-digest.md (docs/00-brief/03-primary-sources-digest.md) Дайджест первоисточников: что именно сказано в РЭ Геоскан 201, спецификациях 801 и Gemini, руководстве Mission Planner, и где они расходятся с дистиллятом

10-world — мир

Документ Зачем открывать
01-geodata-sources.md Исследование 30+ источников рельефа с лицензиями, точностями и ценами; почему Google 3D Tiles заблокированы трижды; пирамида приоритета высот; три высоты и цена их путаницы; 24 требования SIM-GEO
02-world-model-requirements.md Слои мира, ENU через ECEF вместо UTM (с числами: 84 м на 210 км, провал 785 м на 100 км), зоны, препятствия со связными пролётами ЛЭП, LOS с зоной Френеля, детерминизм сборки; 38 требований SIM-WORLD

20-fleet (docs/20-fleet/) — борт

Документ Зачем открывать
01-uav-model-requirements.md (docs/20-fleet/01-uav-model-requirements.md) Почему L1, а не L3 (в РЭ нет ни поляры, ни крена), фазы полёта как автомат, энергомодель по двум якорным точкам, автопилот-эмулятор, деградации по кодам РЭ, 14 эталонных кейсов V-1…V-14; 40 требований SIM-UAV

30-sensors (docs/30-sensors/) — камера

Документ Зачем открывать
01-camera-and-imagery.md (docs/30-sensors/01-camera-and-imagery.md) Геометрия камер из payloads.yaml, три режима получения кадра, контракт кадра с сайдкаром, расчёт объёма (5000 кадров ≈ 100 ГБ на вылет 201) и находка про мультиспектр; 32 требования SIM-CAM

40-environment (docs/40-environment/) — среда

Документ Зачем открывать
01-weather-and-failures.md (docs/40-environment/01-weather-and-failures.md) Ветер полем, а не скаляром; переформулировка «эмуляции молнии» в грозовую обстановку; четыре канала связи; предикат «продолжать возможно» P1–P6; каталог сценариев W-01…W-24; 40 требований SIM-ENV

50-mission (docs/50-mission/) — миссия

Документ Зачем открывать
01-mission-execution.md (docs/50-mission/01-mission-execution.md) Вход как комплект, а не файл; створ вместо круга на галсах; единые часы и детерминизм; журнал прогона как контракт; отчёт «план против факта» с разложением дельты; 40 требований SIM-MIS

60-platform (docs/60-platform/) — платформа

Документ Зачем открывать
01-api-and-nfr.md (docs/60-platform/01-api-and-nfr.md) 8 операций REST, развилка «физика на клиенте или на сервере» с решением, модель данных, НФТ с расчётами, паспорт прогона, наблюдаемость; 36 требований SIM-PLT

70-ux (docs/70-ux/) — интерфейс

Документ Зачем открывать
01-frontend-3d-requirements.md (docs/70-ux/01-frontend-3d-requirements.md) 7 экранов, экран прогона детально, таблица «данные → зачем → как читается» для 3D, правило «5 секунд», развилка карта- против сцено-ориентированного стека; 34 требования SIM-UX

80-review (docs/80-review/) — ревью

Документ Зачем открывать
01-business-review.md (docs/80-review/01-business-review.md) Бизнес и ценность: у кого есть настоящая работа, измеримость критериев, что резать первым
02-tech-review.md (docs/80-review/02-tech-review.md) Техническая состоятельность: 5 пар взаимоисключающих MUST, пересчёт всей арифметики против первоисточников
03-completeness-and-risks.md (docs/80-review/03-completeness-and-risks.md) Чего в наборе нет вообще: 14 отсутствующих доменов, 9 противоречий, 12 рисков, ранжирование вопросов заказчику

Если читать один документ

Вопрос Куда
Что это и зачем, в одну страницу 90-final/01, §1
Что входит в сдачу 29.09, а что нет 90-final/01, §5
С чего начинать код 90-final/03-next-steps.md (docs/90-final/03-next-steps.md)
Почему числам симулятора можно верить 90-final/01, §7
Чего симулятор не умеет (факт поставки, с доказательствами) LIMITATIONS.md
Целевая модель и допущения BRD (не равно факту кода; GLO-30 там — проектно) 90-final/01, §11
Где искать конкретное требование по ID 90-final/02-requirements-registry.md (docs/90-final/02-requirements-registry.md)
Артефакты сдачи п. 5 ТЗ (6 документов) 92-api/03-architecture.md (docs/92-api/03-architecture.md) … 05-quickstart.md (docs/92-api/05-quickstart.md), 01-http-api.md, 02-user-guide.md (docs/92-api/02-user-guide.md), LIMITATIONS.md
Откуда берётся рельеф и почему не Google 10-world/01-geodata-sources.md
Что спросить у заказчика в первую очередь 90-final/01, §10

Двенадцать фактов, которые определяют решение

Только то, что следует из проработки, с числами и источниками.

  1. Клиренс 100 м — жёсткое требование РЭ-201, а перепад рельефа 50 м на обычном полигоне 5×5 км превращает задание «100 м AGL», поданное как AMSL, в фактические 50 м. Там же GSD PF1B уезжает с 1,96 до 0,98 см — полоса захвата сужается вдвое, и в покрытии появляется дыра, которой планировщик не видит. Это самая дорогая ошибка домена, и она ловится только прогоном.
  2. Радиус разворота 201 — 137 м (R = V²/(g·tanφ) при 27,8 м/с и крене 30°), диаметр 273 м против шага галсов 41–123 м. Отсюда обязательность «петли» с выходом на ЛЗП. При крене 20° радиус 216 м, при 45° — 79 м: разброс ×2,7, и это самое дорогое допущение проекта (крена в РЭ нет).
  3. У 201 радиодальность 40 км при маршруте 210 км — уход за пределы телеметрии штатен, а не аварийная ситуация. Потеря связи не прерывает задание: возврат начинается только по таймеру «Время автономного полёта», числа которого в РЭ нет вообще.
  4. Круг радиуса R — заведомо неверная модель связи. На гряде высотой 80 м между НСУ и полигоном связь рвётся на 12 км вместо 40. Интерфейс обязан рисовать фактическую LOS-изолинию, а не круг.
  5. Прогноз ветра 7,2 м/с на 10 м — это уже отказ мультироторам. По степенному закону (α = 0,143) на 100 м получается 10,0 м/с, а wind_max у 801 и Gemini — ровно 10. Скаляр из схемы планировщика систематически недооценивает ветер на высоте съёмки.
  6. У Gemini 40 мин полёта против 105 мин заряда (2,6 : 1), и зарядное устройство работает 0…+40 °C при полёте до −15 °C: летать можно, заряжать нельзя. Любой план длиннее одного вылета упирается не в энергию, а в очередь на ЗУ.
  7. Рабочая СК — локальная ENU через ECEF, а не UTM. Масштаб UTM отклоняется до 4·10⁻⁴ → 84 м на маршруте 210 км и 0,08 % по площади при допуске теста ±0,1 %; плоская аппроксимация даёт провал 785 м на 100 км. UTM остаётся только форматом хранения и обмена.
  8. GLO-30 даёт 4 м LE90 против допуска клиренса 100 м — это 4 %. Клиренс обязан возвращаться интервалом значение ± LE90, но нарушение ставится по центральному значению: иначе каждый корректный план, летящий на минимальных 100 м AGL, перманентно красный.
  9. Мультиспектр на 22 км² не влезает в один вылет 201. Шаг галсов Pollux на 100 м — 15,5 м против 95,4 м у RX1RM2; суммарная длина галсов ≈ 1420 км при максимальной дальности 210 км. Паспортные «7–22 км² за вылет», видимо, калиброваны под RGB-профиль.
  10. Слов «дождь», «снег», «туман», «обледенение», «молния», «гроза» в РЭ-201 нет ни разу. Жёстко задано ровно два метеоограничения: ветер (12 / 10 / 10 м/с) и температура (−20…+40 °C, «Арктика» −40…+20). Всё остальное — назначенные пороги, и они не могут быть основанием для вердикта.
  11. Достоверность доказуема максимум до V5. Реальной телеметрии полётов не существует, поэтому честная формулировка одна: «сверено с руководством по эксплуатации и с независимой геометрией; с реальным полётом не сверялось». Соответственно вердикт приёмки плана — трёхзначный (NO-GO / UNRESOLVED / NO-FINDINGS), а не бинарный GO.
  12. 338 требований на 14 дней не сходятся ни в какой продукт. После расстановки уровней в сдачу входят 224 требования (M0 — 67, M1 — 157), из них 220 MUST; 111 требований отнесены к M2 и официально не блокируют сдачу, и MUST среди них нет ни одного. Реальный измеритель объёма — не требования, а 52 агенто-захода и ≈130 с итерациями при 20–25 часах ревью. Правило, действующее всё время: симулятор не блокирует сдачу планировщика.

Собрано 15.09.2026. Первоисточники: hackathon/5. Геоскан.html (ТЗ), files/Geoscan_201_Manual.pdf (РЭ, 117 стр.), files/Gemini_Specs_EN_RUS.pdf, files/Geoscan_801.pdf, hackathon/AQ2LRTfTZvQcyhtEMPPh.html (Mission Planner RU). Машиночитаемые ТТХ: docs/task5/10-hardware/fleet.yaml, payloads.yaml — единственный источник правды.