Использование¶
Основные режимы работы¶
unity-simreal-robot
Для оператора оба режима проходят через один backend и один Web UI.
Базовый операторский поток¶
sequenceDiagram
participant User as "Оператор"
participant UI as "Web UI"
participant Backend as "Operator backend"
participant Runtime as "Unity / Physical runtime"
User->>UI: выбирает runtime, host и port
UI->>Backend: connect
Backend->>Runtime: connect / reset / health
Runtime-->>Backend: status / contract / telemetry
Backend-->>UI: unified state
User->>UI: отправляет команды
UI->>Backend: command
Backend->>Runtime: runtime-specific control
Runtime-->>Backend: camera / telemetry / health
Backend-->>UI: updated state
Unity runtime через rusim¶
Поднять runtime¶
rusim server up --mode background --port 8000 --scenario configs/scenarios/demo.yaml
rusim doctor --base-url http://127.0.0.1:8000
Проверить доступные сущности¶
rusim list tracks --base-url http://127.0.0.1:8000
rusim list vehicles --base-url http://127.0.0.1:8000
rusim inspect vehicle vehicle.arcade.blue.v1 --base-url http://127.0.0.1:8000
Сбросить сценарий или выбрать сущности вручную¶
rusim scenario validate configs/scenarios/demo.yaml
rusim scenario reset configs/scenarios/demo.yaml --base-url http://127.0.0.1:8000
rusim reset --base-url http://127.0.0.1:8000 --track-id track.roadsystem_realistic.v2 --vehicle-id vehicle.arcade.blue.v1
Cardboard Corridor для sim-to-real¶
Основной Sprint 2 сценарий теперь живёт отдельно от basic_arena:
rusim scenario validate configs/scenarios/cardboard-corridor-v1.yaml
rusim scenario reset configs/scenarios/cardboard-corridor-v1.yaml --base-url http://127.0.0.1:8000
rusim reset --base-url http://127.0.0.1:8000 --track-id track.cardboard_corridor.v1 --vehicle-id vehicle.prometeo.sport.v1
track.basic_arena.v1 остаётся demo/research трассой для общего PPO baseline, а track.cardboard_corridor.v1 используется как узкий L-коридор с ArUco-маркером для sim-to-real.
Отправить шаг управления¶
Multi-agent сценарий¶
Референсный multi-agent конфиг:
Запуск:
rusim server up --mode background --port 8000 --scenario configs/scenarios/demo-multi-agent.yaml
rusim step --base-url http://127.0.0.1:8000 --agent-id npc-red --throttle 0.3 --steer 0.0 --brake 0.0
Сценарий поднимает:
- ego на vehicle.arcade.blue.v1
- npc-red на vehicle.arcade.red.v1
- трек track.roadsystem_realistic.v2
Web UI¶
Текущий Web UI используется как единый операторский интерфейс: - подключение и отключение; - отображение статуса; - ручное управление; - просмотр камеры; - телеметрия и сенсоры; - логирование.
Для Unity runtime UI поддерживает:
- выбор track;
- выбор основного робота;
- список дополнительных agents[];
- control agent;
- camera agent;
- camera mode.
Standalone runtime¶
Для работы без Unity Editor можно использовать локально собранный runtime build:
rusim runtime build --project-path src/UnityProject/uav-simulator
rusim runtime list
rusim server up --build latest --mode background --port 8011
rusim server down
background остаётся практическим режимом по умолчанию, если нужна камера и рендер.
Реальный стенд¶
Физический runtime подключается через тот же backend и тот же Web UI.
Отличается только target подключения:
- runtimeMode=real-robot
- собственные host и port
Product-layer не требует отдельного frontend для физического стенда.
Что относится к research-layer¶
- Python SDK и notebooks;
- ROS2 bridge;
- внешние автопилотные модули.
Эти контуры используют продуктовые интерфейсы, но не определяют основной пользовательский путь.