AUTOMATIC_SCORER.md
План перехода на автоматизированную оценку соревнований по кибериммунной автономности
- Последнее обновление: 12/09/2024
- Владелец документа: Безнос Юрий
- Статус: на рассмотрении
Данный документ предназначен подготовить необходимые шаги для автоматизации оценки соревнований.
Первый этап: получать события от автопилота и модуля безопасности
Включая, но не ограничиваясь, следующими данными:
- Версия прошивки автопилота
- Версия модуля безопасности
- Срабатывание киберпрепятствий
- Преодоление киберпрепятствий
Логика обработки событий на стороне ОРВД
- Отдельный API запрос для получения событий на стороне ОРВД
- Сохранение журнала событий в отдельный файл (имя mac_events_год-месяц-день.txt)
- Отдельная страница (или на странице с журналами второе окно) для отображения событий.
Логика обработки событий на стороне Модуля Безопасности
- Сохранение событий в файл на карточку (каждый запуск новый файл).
- Отправление событий на сервер по мере получения (одно событие – одна отправка).
- (если потребуется, то добавить логику отправки агрегированных событий, скажем раз в 10 секунд).
Дополнительные события автопилота
- Событие. Версия прошивки.
- События. По киберпрепятствиям: a. Какие КП присутствуют b. Какие КП активированы c. Какие КП не отменяемы
- Событие. ARM произошёл.
- Событие. DISARM произошёл.
- Событие. Takeoff произошло.
- Событие. Land произошло.
- Событие. Ground hit (с данными, скорость посадки)
- Событие. Заряд батареи.
Киберпрепятствия и задания (события)
- В задании вторая точка в которой нужно зависнуть (Delay и Waypoint delay) ожидая команду из ОРВД.
- Вопрос. Какую задержку использовать (Delay или Waypoint delay)?
- Вопрос. Waypoint delay не учитывается в структуре API, нужен ли он там?
- Решение. Использовать команду Delay с n-секунд (время дня не берём).
- Добавить команду Delay в МБ.
- Добавить команду Delay в ОРВД.
- Добавить проверку Waypoint delay в ОРВД, если она содержит waypoint delay, то отклонять. 1.Добавить проверку в ОРВД, что команда Delay использует n-секунд формат (время дня не подходит).
- Использование Wayoint delay запрещаем.
- Исходя из а. Если Delay нужен, то добавить его.
- (отдельный канал) Добавить. Отправление сообщение о достижении точки задания из автопилота в модуль безопасности. + время
- По команде из ОРВД нужно сесть.
- Приходит из ОРВД запрет полёта – участники отправляют pause и потом resume если получили разрешение.
- Событие о pause.
- Событие о посадке.
- Событие о resume.
- КП Высота
- Событие. Изменение высоты как КП.
- Событие. Пришла команда от участника изменить высоту.
- КП Ускорение (изменение скорости)
- Событие. Изменение максимальной скорости как КП.
- Событие. Изменение максимальной скорости от участника.
- КП Попытка сброса груза
- Событие. Сброс груза по мнению автопилота.
- Событие от МБ. Запрет на сброс груза.
- Событие от МБ. Разрешение на сброс груза.
- Доставка груза
- События из п. 5
- КП Полёт в случайную сторону
- Событие. Изменение waypoint как КП.
- Событие. Пришла команда от участника изменить waypoint.
- Срабатывание killswitch
- Событие МБ. Открыт KillSwitch
- Событие МБ. Закрыт KillSwitch
- Срабатывание пищалки
- Событие МБ. Сигнал подан.
Заметки
- Модуль безопасности проставляет время в журнал событий (включая полученные от автопилота).
- События от автопилота
- События МБ – от модуля безопасности
Второй этап: оформление журнала событий для быстрого анализа событий
Третий этап: онлайн результаты с агрегированием журналов событий
Словарь терминов и сокращений
- API – Application Programming Interface (интерфейс взаимодействия с программой/системой)
- КП - Киберпрепятствия
- МБ – Модуль безопасности
- Страницы
- AUTOMATIC_SCORER
- README
- ZONES