# roboverseorg/roboverse architecture

> Architecture diagram of the GitHub repository roboverseorg/roboverse, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/roboverseorg/roboverse
- Repository: https://github.com/roboverseorg/roboverse

## Overview

RoboVerse combines MetaSim’s simulator-agnostic robotics runtime with robot, scene, and task content and learning workflows. A typical path is to select a registered task, construct its scenario and simulator environment, then use the environment for policy training or evaluation; imitation-learning workflows can also collect demonstrations and train from converted datasets. The README documents broad simulator, task, RL, IL, and VLA capabilities. Sampled source confirms the manager environment and fusion orchestration; wiring for unsampled subsystems is shown only where documented.

Main entry points: [`packages/metasim/metasim/sim`](https://github.com/RoboVerseOrg/RoboVerse/tree/main/packages/metasim/metasim/sim) (Simulator handlers), [`roboverse_learn/managers/manager_based_rv_env.py`](https://github.com/RoboVerseOrg/RoboVerse/blob/main/roboverse_learn/managers/manager_based_rv_env.py) (Manager RL env), [`roboverse_learn/fusion/pipeline.py`](https://github.com/RoboVerseOrg/RoboVerse/blob/main/roboverse_learn/fusion/pipeline.py) (Fusion pipeline), [`packages/metasim/metasim/scenario/scenario.py`](https://github.com/RoboVerseOrg/RoboVerse/blob/main/packages/metasim/metasim/scenario/scenario.py) (Scenario config)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Simulation runtime"]
  node_task_registry["Task registry<br/>[registry.py]"]
  node_scenario["Scenario config<br/>[scenario.py]"]
  node_base_env["Task environment<br/>[base.py]"]
  node_manager_env["Manager RL env"]
  node_sim_handlers["Simulator handlers"]
  node_randomization["Domain randomization<br/>[dr_manager.py]"]
  node_queries["State queries"]
end

subgraph group_content["Robotics content"]
  node_robots["Robot catalog"]
  node_scenes["Scenes and grounds"]
  node_tasks["Task content"]
end

subgraph group_learning["Learning workflows"]
  node_rl["RL training"]
  node_il["Imitation learning"]
  node_vla["VLA workflows"]
  node_fusion["Fusion pipeline<br/>[pipeline.py]"]
end

subgraph group_data["Demonstration data"]
  node_collection["Demo collection<br/>[collect.py]"]
  node_conversion["Dataset conversion<br/>[data2zarr_dp.py]"]
  node_datasets[("IL datasets")]
end

subgraph group_integration["External integrations"]
  node_sim_frameworks["Simulator frameworks"]
  node_benchmarks["Benchmark integrations"]
end

node_user(("Engineer"))

node_user -->|"selects task"| node_task_registry
node_task_registry -->|"resolves task"| node_scenario
node_scenario -->|"configures"| node_base_env
node_base_env -->|"constructs handler"| node_sim_handlers
node_manager_env -->|"initializes via"| node_base_env
node_manager_env -->|"simulates"| node_sim_handlers
node_robots -->|"configures robots"| node_scenario
node_scenes -->|"configures scene"| node_scenario
node_tasks -->|"registers tasks"| node_task_registry
node_manager_env -.->|"optional randomizes"| node_randomization
node_manager_env -->|"reads state"| node_queries
node_sim_handlers -->|"adapts to"| node_sim_frameworks
node_sim_handlers -->|"supports training"| node_rl
node_sim_handlers -->|"supports evaluation"| node_il
node_fusion -->|"dispatches training"| node_rl
node_fusion -->|"dispatches collection"| node_collection
node_fusion -->|"dispatches conversion"| node_conversion
node_fusion -->|"dispatches training"| node_il
node_collection -->|"writes demonstrations"| node_datasets
node_conversion -->|"converts to Zarr"| node_datasets
node_il -->|"loads datasets"| node_datasets
node_vla -->|"uses robot data"| node_datasets
node_benchmarks -->|"provides task ports"| node_tasks

click node_task_registry "https://github.com/RoboVerseOrg/RoboVerse/blob/main/packages/metasim/metasim/task/registry.py"
click node_scenario "https://github.com/RoboVerseOrg/RoboVerse/blob/main/packages/metasim/metasim/scenario/scenario.py"
click node_base_env "https://github.com/RoboVerseOrg/RoboVerse/blob/main/packages/metasim/metasim/task/base.py"
click node_manager_env "https://github.com/RoboVerseOrg/RoboVerse/blob/main/roboverse_learn/managers/manager_based_rv_env.py"
click node_sim_handlers "https://github.com/RoboVerseOrg/RoboVerse/tree/main/packages/metasim/metasim/sim"
click node_randomization "https://github.com/RoboVerseOrg/RoboVerse/blob/main/packages/metasim/metasim/randomization/dr_manager.py"
click node_queries "https://github.com/RoboVerseOrg/RoboVerse/tree/main/packages/metasim/metasim/queries"
click node_robots "https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_pack/robots"
click node_scenes "https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_pack/scenes"
click node_tasks "https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_pack/tasks"
click node_rl "https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_learn/rl"
click node_il "https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_learn/il"
click node_vla "https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_learn/vla"
click node_fusion "https://github.com/RoboVerseOrg/RoboVerse/blob/main/roboverse_learn/fusion/pipeline.py"
click node_collection "https://github.com/RoboVerseOrg/RoboVerse/blob/main/roboverse_learn/fusion/collect.py"
click node_conversion "https://github.com/RoboVerseOrg/RoboVerse/blob/main/roboverse_learn/il/data2zarr_dp.py"
click node_datasets "https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_learn/il/datasets"
click node_benchmarks "https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_pack/tasks"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_task_registry,node_scenario,node_base_env,node_manager_env,node_sim_handlers,node_randomization,node_queries toneBlue
class node_robots,node_scenes,node_tasks toneAmber
class node_rl,node_il,node_vla,node_fusion toneMint
class node_collection,node_conversion,node_datasets toneRose
class node_sim_frameworks,node_benchmarks,node_user toneIndigo
```

## Components

### Simulation runtime

- [Task registry](https://github.com/RoboVerseOrg/RoboVerse/blob/main/packages/metasim/metasim/task/registry.py): `packages/metasim/metasim/task/registry.py`
- [Scenario config](https://github.com/RoboVerseOrg/RoboVerse/blob/main/packages/metasim/metasim/scenario/scenario.py): `packages/metasim/metasim/scenario/scenario.py`
- [Task environment](https://github.com/RoboVerseOrg/RoboVerse/blob/main/packages/metasim/metasim/task/base.py): `packages/metasim/metasim/task/base.py`
- [Manager RL env](https://github.com/RoboVerseOrg/RoboVerse/blob/main/roboverse_learn/managers/manager_based_rv_env.py): `roboverse_learn/managers/manager_based_rv_env.py`
- [Simulator handlers](https://github.com/RoboVerseOrg/RoboVerse/tree/main/packages/metasim/metasim/sim): `packages/metasim/metasim/sim`
- [Domain randomization](https://github.com/RoboVerseOrg/RoboVerse/blob/main/packages/metasim/metasim/randomization/dr_manager.py): `packages/metasim/metasim/randomization/dr_manager.py`
- [State queries](https://github.com/RoboVerseOrg/RoboVerse/tree/main/packages/metasim/metasim/queries): `packages/metasim/metasim/queries`

### Robotics content

- [Robot catalog](https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_pack/robots): `roboverse_pack/robots`
- [Scenes and grounds](https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_pack/scenes): `roboverse_pack/scenes`
- [Task content](https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_pack/tasks): `roboverse_pack/tasks`

### Learning workflows

- [RL training](https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_learn/rl): `roboverse_learn/rl`
- [Imitation learning](https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_learn/il): `roboverse_learn/il`
- [VLA workflows](https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_learn/vla): `roboverse_learn/vla`
- [Fusion pipeline](https://github.com/RoboVerseOrg/RoboVerse/blob/main/roboverse_learn/fusion/pipeline.py): `roboverse_learn/fusion/pipeline.py`

### Demonstration data

- [Demo collection](https://github.com/RoboVerseOrg/RoboVerse/blob/main/roboverse_learn/fusion/collect.py): `roboverse_learn/fusion/collect.py`
- [Dataset conversion](https://github.com/RoboVerseOrg/RoboVerse/blob/main/roboverse_learn/il/data2zarr_dp.py): `roboverse_learn/il/data2zarr_dp.py`
- [IL datasets](https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_learn/il/datasets): `roboverse_learn/il/datasets`

### External integrations

- **Simulator frameworks**
- [Benchmark integrations](https://github.com/RoboVerseOrg/RoboVerse/tree/main/roboverse_pack/tasks): `roboverse_pack/tasks`

### Other components

- **Engineer**

## Connections

- Engineer → Task registry: selects task
- Task registry → Scenario config: resolves task
- Scenario config → Task environment: configures
- Task environment → Simulator handlers: constructs handler
- Manager RL env → Task environment: initializes via
- Manager RL env → Simulator handlers: simulates
- Robot catalog → Scenario config: configures robots
- Scenes and grounds → Scenario config: configures scene
- Task content → Task registry: registers tasks
- Manager RL env → Domain randomization: optional randomizes
- Manager RL env → State queries: reads state
- Simulator handlers → Simulator frameworks: adapts to
- Simulator handlers → RL training: supports training
- Simulator handlers → Imitation learning: supports evaluation
- Fusion pipeline → RL training: dispatches training
- Fusion pipeline → Demo collection: dispatches collection
- Fusion pipeline → Dataset conversion: dispatches conversion
- Fusion pipeline → Imitation learning: dispatches training
- Demo collection → IL datasets: writes demonstrations
- Dataset conversion → IL datasets: converts to Zarr
- Imitation learning → IL datasets: loads datasets
- VLA workflows → IL datasets: uses robot data
- Benchmark integrations → Task content: provides task ports
