Что вы видите. Полный цикл C2: обнаружение → трек → классификация → решение →
отработка → разбор. Сенсоры имитируются, вся остальная логика — рабочая: расчёт размера
цели в пикселях по оптике поста, вероятность обнаружения по нашей измеренной кривой,
композитная уверенность по модальностям, движок допусков и неизменяемый журнал с цепочкой хешей.
Чем это отличается от дашборда. Каждое действие в интерфейсе
меняет состояние системы и оставляет запись: кто, когда, на каком основании. Любая цифра на
экране раскрывается до источника — кадр, пост, модель, версия весов, порог уверенности.
Условия и рой. Условия замера — веса, порог, свет, погода, ветер,
нарезка на плитки — убраны под кнопку «⚙ Условия» в шапке: на самой кнопке видно текущий свет,
погоду и ветер, а разворачивается панель одним нажатием. В блоке башен рядом с одиночной демонстрацией
появилась «▲▲ Демонстрация роя»: пять опознанных целей сразу, боекомплект пополняется, режим
реакции поднимается — у старшего смены до автоматического, у оператора до полуавтомата, — и дальше видно,
как контур сам разбирает рой по приоритету, распределяет цели между башнями и показывает дефицит средств,
если целей больше, чем боекомплекта. В окне тепловизора цель показана крупнее и с врезкой ×4:
по построению она там мелкая, и без увеличения оператор её просто не разглядит.
Доступ, канал, протокол и вид с телефона. Учётные записи живут в файле,
а не в коде: старший смены заводит и удаляет их прямо в панели, там же журнал доступа — кто, когда, с
какого адреса и чем закончилась попытка входа. Канал оповещения настраивается кнопкой «Настроить канал»
и переживает перезапуск. В замерах появилась строка источник вероятности поражения: пока «модель»,
после натурных пусков файл заменяется измеренной кривой, и в журнале и в акте вместо «модель p=…» будет
«измерено p=… (n=…)». Кнопка «Протокол замера» выгружает всё в формате открытой методики — с
условиями, ложными тревогами, разбивками по размеру, типу, ракурсу, освещению, видимости и каналам,
задержками контура и источником вероятности поражения. Вид ?view=mobile — карточка решения
для старшего смены с телефона. В сцене наведения переключатель оптика / ИК: ночью сцена рисуется
тепловым каналом.
Объект: координаты, редактор, несколько площадок. Схема привязана к
местности — широта, долгота центра и разворот плана относительно севера; отсюда каждый трек получает
настоящие координаты, они видны в карточке и уходят в акт. Кнопка ✎ рядом с выбором объекта
открывает редактор: строения перетаскиваются мышью прямо по радару, добавляются и удаляются, привязка
правится тут же — сохраняется в схему объекта, а не в код. Рядом выбор объекта: площадок может
быть несколько, каждая со своей схемой и привязкой, переключение — на ходу. Править схему и создавать
объекты может только старший смены.
Ветер, подложка объекта, журнал и оповещения. Ветер в шапке сносит
цели тем сильнее, чем они легче — мультиротор вдвое сильнее самолётного типа, — и входит в задачу
упреждения перехватчика; остаточный снос показан в карточке перехвата, а вероятность поражения на ветру
честно падает. На радаре и в сцене появилась подложка объекта: периметр, дороги, резервуары и
здания — правится файлом data/site.json, у каждого заказчика периметр свой. В карточке трека
кнопка «Журнал по инциденту» собирает все записи именно по этому треку с проверкой цепочки.
В журнале — кнопка «Оповещения вовне»: пуск и подозрение на подмену своего борта уходят старшему
в Telegram, а если канал не настроен, события всё равно копятся в ленте с честной пометкой, что они
никуда не ушли.
Ночной показ, запись в файл и дежурство. Рядом с «▶ Кино» есть
«▶ Ночь» — тот же показ, но ночью: оптика слепа, контакт берёт тепловизор, дальность подтверждает
радар, каналы сшиваются в один трек, и в акте остаётся, что решение принято по тепловому каналу.
Кнопка ⏺ открывает работу с записью: сохранить смену в файл, посмотреть список сохранённых и
загрузить любую обратно — тогда лента времени крутит её, а живая запись останавливается, чтобы не затирать.
В списке обстановок появилось «Дежурство: сутки за две минуты» — свет и погода идут по кругу от
рассвета до ночного тумана, в небе в основном птицы и гражданские борта: так частота ложных тревог
набирается по-честному, а не на подобранном отрезке.
Один объект — один трек. Оптика, тепловизор и радар видят одну и ту же
цель, и контур сшивает их в единый трек: если новый источник попадает в ворота ассоциации по дальности
и высоте, он не заводит второй трек, а ложится на существующий — в журнале это видно строкой «Треки сшиты».
В карточке есть блок «Источники трека»: какой канал, когда видел последний раз, сколько отметок и
с какой уверенностью. Кнопка «Почему так решено» раскрывает решение построчно: вклад каждого канала
в итоговую уверенность (насколько она упала бы без него) и проверку по каждому пункту регламента.
В журнале — кнопка проверки целостности цепочки хешей.
Ночь, мобильный вид, CoT и память замеров. Оптические каналы ночью
больше не выглядят поломкой: виден горизонт, зарево над объектом, огни площадки и звёзды, а вместо
«пусто» пишется «ниже порога», если цель в кадре, но мельче порога, и «цель закрыта» с
именем строения, если её перекрыло. В мобильном виде старшего смены сверху появилась карта, снизу —
очередь решений с подтверждением. Кнопка «Треки в CoT» отдаёт обстановку в формате Cursor on
Target — том самом, на котором работают TAK-системы: свой борт и гражданские идут своим типом, точность
берётся из ковариации трека. И главное для методики: накопленный замер теперь переживает
перезапуск — частота ложных тревог считается за всё время наблюдения, а не с последнего рестарта.
Физика, которой раньше не было. Появилась линия визирования:
цель за резервуаром или за зданием пост не видит, и в карточке прямо написано, какой пост чем перекрыт —
включите обстановку «Низколетящая цель за строениями» и посмотрите, как ведение переходит с поста на пост.
Учитывается и дальность горизонта с кривизной Земли. У трека теперь есть ковариация положения:
на радаре рисуется эллипс ошибки 95%, в карточке — σ в метрах; ассоциация отметок идёт по
махаланобисову расстоянию с гейтом χ² 99%, а не «на глаз». Вероятность поражения считается из
геометрии встречи — запас по скорости, ракурс подхода, ветер, — и разложение видно в карточке перехвата.
Ложные тревоги разложены по причинам: птица, облако, блик, насекомое у объектива, провод, — и
состав зависит от условий. Связь с постом можно оборвать кнопкой и увидеть, как контур перестраивается,
а у РЭБ-подавителя появился нагрев и перегрев.
Палитры теплового канала. В окне тепловизора три палитры, как в
настоящей камере: WH — белое-горячее (холодное небо тёмное, цель светится белым),
BH — чёрное-горячее (обратная шкала, часто удобнее по контрасту), IRON — «железо»,
цветовая шкала от пурпурного к белому. Сцена в тепловом режиме рисуется той же палитрой.
Слева — шкала уровней. Небо в тепловом канале холодное, земля прогрета, строения теплее земли,
цель — горячее всего; у аппарата с двигателем внутреннего сгорания пятно ярче, у электрического
мультиротора заметно тусклее, и это видно глазами, а не только в цифрах.
Тепловизор. Четвёртое окно — инфракрасная камера длинноволнового
диапазона (LWIR 8–14 мкм), она же тепловизор: неохлаждаемый болометр 640×512 с шагом пикселя 12 мкм.
Он видит не силуэт, а тепловой контраст, поэтому ему безразлична темнота — включите «ночь» в шапке и
сравните два окна: оптика гаснет, тепловизор продолжает работать. Дымку и морось длинная волна проходит
втрое лучше видимого канала, но туман съедает и её. Честная обратная сторона: матрица вчетверо грубее,
поэтому в пикселях цель всегда мельче, и электрический мультиротор почти холодный — его тепловой
контраст втрое ниже, чем у аппарата с двигателем внутреннего сгорания. Именно поэтому тепловизор — не
замена оптике, а вторая независимая модальность: в замерах есть отдельная строка «по каналу», где видно,
кто кого выручает.
Ручной цикл и автоматика. Вручную это три шага: выбрать цель в списке
или на радаре, нажать «Захват зумом» — поворотная берёт её на сопровождение и подтверждает класс, —
затем нажать кнопку воздействия: первое нажатие взводит пуск и даёт шесть секунд на отмену,
второе подтверждает. Кинетика при этом всё равно требует роли старшего смены.
Режим реакции в шапке: ручной — контур только показывает; полуавтомат — сам доворачивает
зум, опознаёт и помечает цели рекомендацией, решение остаётся человеку; автомат — работает по
подписанному регламенту, но включить его может только старший смены, санкция видна слева, а каждый
автоматический пуск идёт в журнал со ссылкой на неё и на версию регламента. Темп ограничен: не чаще
одного пуска в две секунды и не более трёх перехватчиков в воздухе — чтобы человек успевал видеть.
Ещё четыре вещи на экране. Во вкладке «Башня» модель связана с контуром:
выбранная башня показывает свой остаток боекомплекта, а её пуск проигрывается в модели анимацией — это
та же станция, что на странице изделия, только теперь она отражает происходящее.
При двух и более допущенных целях слева появляется блок групповой обстановки: очередь по приоритету,
какая башня закрывает какую цель и честный признак дефицита средств, если целей больше, чем боекомплекта.
Кнопка «Акт» в карточке трека открывает печатную форму с хронологией, условиями замера, регламентом
и выпиской из журнала — браузер сохраняет её в PDF. Кнопка «⧉ Радар» в шапке открывает радар
отдельным окном — его можно вынести на второй монитор.
Показ, запись и погода. Кнопка «▶ Кино» под радаром запускает
автоматический сценарий смены на полторы минуты: обзорная видит пятно → секторная ведёт трек →
поворотная подтверждает класс → регламент допускает → старший принимает решение → пуск → разбор.
Подпись к каждому шагу идёт полосой над лентой времени. Сама лента времени — это запись смены:
ползунком можно отмотать последние минуты и посмотреть, как всё было, кнопка «В эфир» возвращает.
Погода в шапке задаёт видимость по закону Кошмидера: в тумане контраст цели съедается
экспоненциально с дальностью, и это видно и на экране, и в таблице замеров отдельной осью.
Там же — задержки контура: от первого контакта до трека, до опознания, до решения и до пуска.
Масштаб радара меняется колесом мыши над планом или кнопками
1 / 2 / 3 / 4 / 6 / 8 км в левом нижнем углу; шаг сетки и колец подстраивается сам, выбор запоминается.
Окно борта — вид с головки самонаведения: горизонт наклоняется по разнице высот, земля бежит
навстречу со скоростью аппарата, рамка захвата сжимается по мере сближения, справа шкала дальности,
слева скорость сближения, тряска растёт на терминальном участке, а после контакта картинка гаснет
в «сигнал потерян». Вкладка «Башня „Бастион"» — интерактивная 3D-модель станции и состав каждого
поста с остатком боекомплекта.
Слева — сцена наведения, справа — радар. Сцена не ролик: она рисуется
по тем же данным контура, что и всё остальное. Перспективная сетка земли — это настоящие дальностные
дуги через 500 метров и радиальные лучи через 10 градусов, шкала азимута сверху, зоны на земле, мачты
башен. Цели стоят на своих азимуте, дальности и высоте, вертикальный пунктир до земли показывает высоту,
скобки захвата — на сопровождаемой. Перехватчик идёт по своей настоящей траектории, врезкой внизу слева —
профиль подъёма. Камера сцены смотрит на цель перехвата, иначе на выбранный трек.
Как посмотреть перехват. Кнопка «Демо: перехват» в шапке заводит опознанную
цель на полутора километрах и сразу поднимает перехватчик — смотреть надо в три места: плашка над картой
со временем до контакта, трасса и вспышка пуска от башни на карте, и правое окно, где идёт кадр с борта,
а справа в нём — профиль подъёма: высота против дальности до цели. На секторной камере в этот момент
видно, как перехватчик входит в кадр и как в момент попадания срабатывает вспышка.
Перехват показан целиком. Посты в контуре — это башни «Бастион»
кругового обзора с боекомплектом из четырёх перехватчиков-таранов (5″ до 420 км/ч или 10″ до 350 км/ч);
их остаток виден слева. Когда старший смены разрешает кинетический перехват, из ближайшей башни с
боекомплектом уходит перехватчик: сход из трубы и набор высоты, затем автономное наведение с
упреждением — он летит не в цель, а в точку встречи. На карте видна его трасса, пунктир до цели и время
до контакта; третье окно на это время отдаётся борту перехватчика: цель растёт в кадре по мере
сближения, на терминальном участке рамка краснеет, дальше — «контакт» или «промах». РЭБ-подавление
показано так же честно: цель теряет канал управления, снижается и садится. Вероятность поражения на
терминальном участке — модель (0,62–0,90 по типам), это написано в журнале рядом с результатом,
потому что настоящей цифры у нас пока нет.
Регламент подписан. Пороги допусков живут не в коде и не в настройках, а в файле
регламента с подписью HMAC ключом сервера. Контур при старте и при каждом изменении проверяет подпись и пишет
результат в журнал; если файла нет или он изменён в обход подписи — контур откатывается на встроенный
консервативный регламент (0,80 / 0,95) и показывает это красным в блоке слева. Старший смены может подписать
новый регламент и, для демонстрации, подменить файл без подписи — и увидеть, как контур это отвергает.
Две вещи регламентом не меняются вовсе: кинетика всегда через старшего и никогда над запретной зоной.
Реальный поток. На место имитатора встаёт адаптер по контракту сенсора:
он читает RTSP-камеру (или видеофайл, или папку кадров как виртуальную камеру), гонит кадры через детектор и
шлёт в ЦУ события — рамку, уверенность, класс, размер цели в пикселях, имя весов — и сам кадр. ЦУ ведёт по ним
треки с пометкой «реальный», показывает живой кадр в окне секторного канала, а дальность оценивает обратным
ходом по методике — от размера в пикселях и типового габарита — и честно подписывает «оценка по размеру».
Тот же контракт нужен радару и РЧ-детектору: меняется только источник detections.
Три оптических канала — это схема из документации, а не украшение.
Обзорная камера (25 мм, поле 44°) видит широко, но цель в ней — пятно в единицы пикселей: она отвечает на
вопрос «есть ли что-то». Секторная камера с глобальным затвором (50 или 100 мм) даёт в два-четыре раза больше
пикселей на ту же цель — по ней идёт трек и классификация по силуэту. Поворотная 32× (156 мм) видит всего 5,7°
— полосу 50 м на 500 м — и потому не ищет, а доворачивается по координатам трека и подтверждает класс
увеличением. На карте её конус виден и крутится к цели; в карточке трека — размер цели в пикселях во всех трёх
каналах для одной и той же дистанции. Кнопка «Доворот камеры» отдаёт зум оператору вручную.
Переключатели вверху — это доказательная часть. Смена весов
на прежние показывает, как выглядела система до чистого замера; порог 0,25 против 0,15 —
цену дефолтной настройки; нарезка на плитки — рост обнаружения мелких целей ценой
пятикратной нагрузки. Разница видна не в презентации, а в накопленных замерах на вкладке рядом.
Конструктор. Вкладка «Конструктор · диалог» — это то, чем платформа
отличается от изделия: центр управления дописывается разговором, голосом или текстом, прямо в смене.
Модуль — это декларация (правило над треками или счётная панель), она проверяется перед установкой и
сразу встаёт в рабочий контур; произвольный код в сервис таким путём не попадает. Каждая установка и
каждое срабатывание модуля идут в тот же неизменяемый журнал.
Освещение. Переключатель «Свет» в шапке задаёт условия смены. Для боевых
весов множители — оценка по опыту (замера по свету на реальном наборе ещё нет, и это сказано прямо); для
синтетических весов они берутся из их собственного замера по оси «освещение». Замер смены накапливается
по условиям и выгружается в методику — так ось освещённости входит в протокол.
Синтетика. Вкладка «Синтетика · обучение» — это то, как новые данные
и новые веса заливаются в контур, не выходя из него: рендер сцен с физическим небом → набор с точной
разметкой → обучение с отложенной частью → замер по тем же осям методики (размер, тип, ракурс и новая
ось — освещение) → веса появляются в переключателе в шапке, и контур начинает работать по их измеренной
кривой. Замер на синтетике проверяет контур обучения, а не изделие: характеристику даёт только реальный набор.
Оговорка, которую называем сами. Цифры этого контура получены
на имитаторе сцены и служат проверкой самого контура, а не заявлением характеристик изделия.
На реальных сенсорах тот же расчёт выполняется без изменений в коде.