Конвейеры модулей

Логика обработки данных на сервере собирается в визуальном редакторе модулей: модули перетаскиваются на рабочее поле, их порты соединяются линиями. Описание самих модулей и их портов — на странице Веб-интерфейс управления роботами; здесь — готовые схемы соединения для типовых задач.

Базовые правила

Схема 1. Ручное управление (минимальная)

Оператор видит видео и телеметрию робота и управляет им.

┌───────────────┐ robot.video      ┌────────────────┐
│ RobotWSModule │ ───────────────▶ │ ClientIOModule │
│               │ robot.telemetry  │  (Web UI)      │
│               │ ───────────────▶ │                │
│               │ robot.connected  │                │
│               │ ───────────────▶ │                │
│               │ robot.disconnected                │
│               │ ───────────────▶ │                │
│               │ ◀─────────────── │                │
└───────────────┘  robot.command   └────────────────┘

Схема 2. Детекция объектов поверх видео

Оператор управляет вручную, а YOLO подсвечивает найденные объекты.

                   robot.video   ┌────────────┐  yolo.detect   ┌────────────────┐
┌───────────────┐ ─────────────▶ │ YoloModule │ ─────────────▶ │                │
│ RobotWSModule │                └────────────┘                │ ClientIOModule │
│               │ robot.video, robot.telemetry, connected ...  │                │
│               │ ────────────────────────────────────────────▶│                │
└───────────────┘ ◀──────────────────────────────────────────── └────────────────┘
                                 robot.command

Схема 3. Автономное управление по видео

Конвейер полного автономного контура: захват → детекция → трекинг → решение → команда, с логированием.

 Захват видео ─▶ Детекция (YOLO) ─▶ Трекинг объектов ─▶ Принятие решения ─▶ Команда устройству
 (RobotWSModule)  (YoloModule)                              │                (robot.command)
                                                            └──▶ Логирование (S3 + DB)

Запуск и остановка автоматического управления — командами auto_run / auto_stop из поля ввода команд на странице робота. Оператор в любой момент может нажать «Стоп».

Схема 4. Запись датасета

Для сбора данных к источнику видео и телеметрии подключается модуль записи (VideoRecordModule). Запись включается командой video_start_record и останавливается командой video_stop_record.

┌───────────────┐ robot.video  ┌────────────────────┐
│ RobotWSModule │ ───────────▶ │ VideoRecordModule  │ ──▶ файл / S3
│               │              └────────────────────┘
│               │ robot.video, robot.telemetry ──────▶ ClientIOModule
└───────────────┘

Отладка конвейера

Проблема Проверка
В интерфейсе нет видео Соединён ли robot.video источника с ClientIOModule? Подключите ConsoleLogModule к robot.video
YOLO не выдаёт результатов Идёт ли видео на вход YoloModule; есть ли объекты известных модели классов
Команды не доходят до робота Соединён ли robot.command ClientIOModule с RobotWSModule; получил ли робот Ready
Высокая задержка Не подключено ли слишком много тяжёлых модулей к одному потоку; загрузка GPU в мониторинге

Revision #3
Created 2026-09-23 09:32:29 UTC by Маслов Алексей
Updated 2026-09-23 09:35:11 UTC by Маслов Алексей