# Управление роботами с помощью ИИ: обзор

Платформа ARTEX позволяет управлять роботом человеку, модели ИИ или обоим одновременно. Модели ИИ работают в распределённой вычислительной среде платформы (или на борту робота), получают от ХАБа видео и телеметрию и возвращают команды управления — в том же формате, что и оператор.

## Кто управляет роботом

```
                     видео + телеметрия
        Робот ─────────────────────────────▶ ХАБ ─────────┬──────────▶ Оператор (Web UI)
          ▲                                   │          └──────────▶ Модели ИИ оператора
          │         команды (с приоритетом)   │                            │
          └───────────────────────────────────┴◀───────── команды ─────────┘
                                                 ◀──────── команды оператора
```

- **Основной источник команд — модель ИИ.** Оператор управляет роботом при обучении модели или для «подстраховки» (перехватывает управление в опасной ситуации).
- **Одна команда — один формат.** Для робота нет разницы, кто отправил команду: различается только автор (`author`), по которому ХАБ применяет приоритет.
- **Каждый оператор может подключить свои модели** (Модели ИИ оператора 1 … N) — они запускаются в контейнерах вычислительной среды.

## Три уровня автономности

| Уровень | Кто управляет | Роль ИИ | Роль оператора |
|---|---|---|---|
| **Ручное управление** | Оператор | Не участвует или только анализирует (детекция объектов поверх видео) | Полное управление: джойстик, клавиатура, VR-контроллер |
| **Assist (гибридный режим)** | Оператор + ИИ | «Второй пилот»: подсказки, стабилизация, удержание курса, автоматическая остановка перед препятствием | Задаёт цель и основное направление |
| **Полная автономия** | ИИ | Принимает все решения по видео и телеметрии | Наблюдает, может в любой момент вмешаться (приоритет оператора) |

## Контур управления роботом

Платформа поддерживает полный цикл: от наблюдения и ручного управления до сбора датасета и обучения следующей модели.

| Этап | Технологии | Что происходит |
|---|---|---|
| **Наблюдение** | WebRTC + WebSocket | FPV-видео; телеметрия в JSON (GPS, скорость, батарея, IMU); дашборд реального времени |
| **Управление** | WebSocket-команды | Ручной режим → Assist → полная автономия ИИ; джойстик / клавиатура / VR-контроллер |
| **Обучение** | Запись в S3 | Каждое действие оператора записывается в датасет; Imitation Learning для обучения следующей модели |

```
   ┌────────────┐      ┌────────────┐      ┌────────────┐
   │ Наблюдение │ ───▶ │ Управление │ ───▶ │  Обучение  │
   └────────────┘      └────────────┘      └─────┬──────┘
          ▲                                      │ новая версия модели
          └──────────────────────────────────────┘
```

## Какие модели поддерживаются

| Модель | Задача | Входы | Выходы |
|---|---|---|---|
| **YOLO** | Детекция объектов на видео в реальном времени | Кадры | Список объектов: класс, уверенность, рамка |
| **Assist AI** | Помощь оператору (co-pilot) | Кадры, телеметрия, команды оператора | Скорректированные команды, подсказки |
| **RL Agent** | Управление на основе обучения с подкреплением | Признаки из видео, телеметрия | Команды управления |
| **Custom** | Любые пользовательские модели | Любые данные ХАБа | Команды, признаки, события |

## Где выполняется модель

| Вариант | Когда выбирать | Пример |
|---|---|---|
| **В вычислительной среде платформы** (Docker, K8s, GPU) | Тяжёлые модели, соревнования ИИ vs ИИ, централизованный контроль | YOLO на сервере, RL-агент |
| **В конвейере модулей сервера** | Типовая обработка, собираемая без программирования | YoloModule в визуальном редакторе |
| **На борту робота** | Нужна минимальная задержка или работа при плохой связи | Лёгкая детекция на Jetson / Raspberry Pi; результаты передаются как признаки в телеметрии |

## С чего начать

1. Познакомьтесь с [веб-интерфейсом управления роботами](https://docs.mephi-ai.ru/books/upravlenie-robotami-s-pomoshhiu-ii/page/veb-interfeis-upravleniia-robotami).
2. Выберите [режим управления или состязаний](https://docs.mephi-ai.ru/books/upravlenie-robotami-s-pomoshhiu-ii/page/rezimy-upravleniia-i-sostiazanii).
3. Разработайте модель по руководству [Разработка модели ИИ для платформы](https://docs.mephi-ai.ru/books/upravlenie-robotami-s-pomoshhiu-ii/page/razrabotka-modeli-ii-dlia-platformy).
4. Соберите конвейер обработки в визуальном редакторе — [Конвейеры модулей](https://docs.mephi-ai.ru/books/upravlenie-robotami-s-pomoshhiu-ii/page/konveiery-modulei).
5. Запишите данные и обучите следующую версию — [Сбор данных и обучение](https://docs.mephi-ai.ru/books/upravlenie-robotami-s-pomoshhiu-ii/page/sbor-dannyx-i-obucenie-modelei).