Skip to main content

Физический и виртуальный полигоны

Платформа ARTEX объединяет два мира: физический полигон с реальными устройствами и виртуальный полигон с симуляцией. Оба подключаются к платформе одинаково, поэтому модели и интерфейс работают с ними без изменений.

Сравнение

Физический полигон Виртуальный полигон
Устройства RC-танки, машинки, дроны на реальной трассе Модели роботов в симуляторе (Unity / Gazebo)
Видео FPV-камера на каждом устройстве Рендер камеры симулятора
Телеметрия Скорость, GPS, батарея, датчики Те же поля, вычисленные симулятором
Подключение SDK artex-robot SDK artex-robot — тот же протокол
Для чего Соревнования, итоговая проверка, сбор реальных данных Прототипирование ИИ, тысячи итераций RL без риска для оборудования

Подключение симулятора к платформе

Каждый робот в симуляции — отдельный клиент SDK. Мост между симулятором и SDK:

  1. Получает из симулятора кадр виртуальной камеры и состояние робота.
  2. Передаёт их через @robot.video и @robot.telemetry.
  3. Команды из @robot.com_handler передаёт в симулятор как управляющие воздействия.

Простейший пример самодостаточного виртуального робота — на странице Примеры роботов (пример 3). Для Gazebo мост удобно реализовать как узел ROS2, для Unity — через TCP/UDP-соединение с Python-скриптом моста.

Чтобы модель переносилась на реальное устройство без изменений, виртуальный робот должен совпадать с реальным по словарю команд, набору и единицам измерения телеметрии, разрешению и положению камеры.

Перенос из симуляции в реальность (sim2real)

Модель, хорошо работающая в симуляции, часто хуже работает на реальном роботе из-за различий в изображении и физике. Рекомендации:

  • Рандомизация домена — в симуляции меняйте освещение, текстуры, цвета, шум камеры, трение и задержки.
  • Реалистичные задержки — добавьте в симулятор задержку видео и команд, как на реальной сети (100–200 мс).
  • Промежуточное представление — обучайте политику на признаках (детекции YOLO, сегментация), а не на «сырых» пикселях: признаки меньше отличаются между симуляцией и реальностью.
  • Дообучение на реальных данных — после переноса соберите реальные сессии с подстраховкой оператора и дообучите модель (см. Сбор данных и обучение).
  • Безопасный первый запуск — ограничьте скорость, держите оператора наготове с кнопкой «Стоп».