# akbaslab/isaaclab architecture

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

- Interactive diagram: https://gitdiagram.com/akbaslab/isaaclab
- Repository: https://github.com/akbaslab/isaaclab

## Overview

Isaac Lab is a GPU-accelerated robotics simulation and learning framework built on Isaac Sim. A researcher selects a task and robot, configures a simulated scene and sensors, then interacts with the environment to train or evaluate a policy; recorded demonstrations also support imitation-learning data generation. The graph highlights simulation, task/environment execution, policy integrations, and teleoperation. The README establishes the major capabilities; sampled source confirms the manager-based environment setup, observation handling, recording, and visualization, while unsampled subsystem wiring is kept conservative.

Main entry points: [`source/isaaclab/isaaclab/envs/manager_based_rl_env.py`](https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/envs/manager_based_rl_env.py) (RL Environment), [`source/isaaclab/isaaclab/envs/manager_based_env.py`](https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/envs/manager_based_env.py) (Manager Environment), [`source/isaaclab/isaaclab/scene/interactive_scene.py`](https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/scene/interactive_scene.py) (Interactive Scene), [`source/isaaclab/isaaclab/sim/simulation_context.py`](https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/sim/simulation_context.py) (Simulation Context)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_simulation["Simulation"]
  node_app["Application Launcher<br/>[app_launcher.py]"]
  node_simcontext["Simulation Context"]
  node_scene["Interactive Scene"]
  node_sensors["Sensor Systems"]
end

subgraph group_environment["Tasks and Environments"]
  node_tasks["Task Environments"]
  node_managerenv["Manager Environment"]
  node_rlenv["RL Environment"]
  node_managers["MDP Managers"]
  node_actions["Actions and Controllers"]
  node_observations["Observations"]
end

subgraph group_learning["Learning Workflows"]
  node_rladapters["RL Integrations"]
  node_rlscripts["Training and Playback"]
  node_mimic["Imitation Data Generation"]
  node_recorder["Episode Recorder"]
  node_datasets[("HDF5 Datasets")]
end

subgraph group_interaction["Interaction and Visualization"]
  node_teleop["Teleoperation Devices"]
  node_visualization["Visualization"]
  node_motionplanning["Motion Planning"]
end

subgraph group_assets["Robot Assets"]
  node_assets["Robot Models"]
end

node_researcher(("Researcher"))
node_isaacsim["Isaac Sim"]

node_researcher -->|"launches"| node_app
node_app -->|"initializes"| node_simcontext
node_simcontext -->|"controls simulation"| node_isaacsim
node_researcher -->|"selects task"| node_tasks
node_tasks -->|"configures"| node_managerenv
node_managerenv -->|"creates context"| node_simcontext
node_managerenv -->|"sets up scene"| node_scene
node_scene -->|"instantiates models"| node_assets
node_scene -->|"hosts sensors"| node_sensors
node_managerenv -->|"initializes"| node_managers
node_rlenv -->|"extends"| node_managerenv
node_rlenv -->|"processes actions"| node_actions
node_rlenv -->|"computes observations"| node_observations
node_rlenv -->|"steps managers"| node_managers
node_observations -->|"reads sensor data"| node_sensors
node_researcher -->|"trains or evaluates"| node_rlscripts
node_rlscripts -->|"uses"| node_rladapters
node_rladapters -->|"wraps environment"| node_rlenv
node_researcher -->|"provides commands"| node_teleop
node_teleop -->|"supplies control"| node_actions
node_managerenv -->|"supports live views"| node_visualization
node_rlenv -->|"records episodes"| node_recorder
node_recorder -->|"writes episodes"| node_datasets
node_datasets -->|"provides demonstrations"| node_mimic
node_researcher -->|"generates demonstrations"| node_mimic
node_mimic -.->|"uses planners"| node_motionplanning

click node_app "https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/app/app_launcher.py"
click node_simcontext "https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/sim/simulation_context.py"
click node_scene "https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/scene/interactive_scene.py"
click node_sensors "https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab/isaaclab/sensors"
click node_assets "https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab_assets/isaaclab_assets/robots"
click node_tasks "https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab_tasks/isaaclab_tasks"
click node_managerenv "https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/envs/manager_based_env.py"
click node_rlenv "https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/envs/manager_based_rl_env.py"
click node_managers "https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab/isaaclab/managers"
click node_actions "https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab/isaaclab/envs/mdp/actions"
click node_observations "https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/managers/observation_manager.py"
click node_rladapters "https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab_rl/isaaclab_rl"
click node_rlscripts "https://github.com/akbaslab/isaaclab/tree/main/scripts/reinforcement_learning"
click node_mimic "https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab_mimic/isaaclab_mimic/datagen"
click node_recorder "https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/managers/recorder_manager.py"
click node_datasets "https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/utils/datasets/hdf5_dataset_file_handler.py"
click node_teleop "https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab/isaaclab/devices"
click node_visualization "https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab/isaaclab/ui"
click node_motionplanning "https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab_mimic/isaaclab_mimic/motion_planners"

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_app,node_simcontext,node_scene,node_sensors toneBlue
class node_tasks,node_managerenv,node_rlenv,node_managers,node_actions,node_observations toneAmber
class node_rladapters,node_rlscripts,node_mimic,node_recorder,node_datasets toneMint
class node_teleop,node_visualization,node_motionplanning toneRose
class node_assets,node_researcher,node_isaacsim toneIndigo
```

## Components

### Simulation

- [Application Launcher](https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/app/app_launcher.py): `source/isaaclab/isaaclab/app/app_launcher.py`
- [Simulation Context](https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/sim/simulation_context.py): `source/isaaclab/isaaclab/sim/simulation_context.py`
- [Interactive Scene](https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/scene/interactive_scene.py): `source/isaaclab/isaaclab/scene/interactive_scene.py`
- [Sensor Systems](https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab/isaaclab/sensors): `source/isaaclab/isaaclab/sensors`

### Tasks and Environments

- [Task Environments](https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab_tasks/isaaclab_tasks): `source/isaaclab_tasks/isaaclab_tasks`
- [Manager Environment](https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/envs/manager_based_env.py): `source/isaaclab/isaaclab/envs/manager_based_env.py`
- [RL Environment](https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/envs/manager_based_rl_env.py): `source/isaaclab/isaaclab/envs/manager_based_rl_env.py`
- [MDP Managers](https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab/isaaclab/managers): `source/isaaclab/isaaclab/managers`
- [Actions and Controllers](https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab/isaaclab/envs/mdp/actions): `source/isaaclab/isaaclab/envs/mdp/actions`
- [Observations](https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/managers/observation_manager.py): `source/isaaclab/isaaclab/managers/observation_manager.py`

### Learning Workflows

- [RL Integrations](https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab_rl/isaaclab_rl): `source/isaaclab_rl/isaaclab_rl`
- [Training and Playback](https://github.com/akbaslab/isaaclab/tree/main/scripts/reinforcement_learning): `scripts/reinforcement_learning`
- [Imitation Data Generation](https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab_mimic/isaaclab_mimic/datagen): `source/isaaclab_mimic/isaaclab_mimic/datagen`
- [Episode Recorder](https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/managers/recorder_manager.py): `source/isaaclab/isaaclab/managers/recorder_manager.py`
- [HDF5 Datasets](https://github.com/akbaslab/isaaclab/blob/main/source/isaaclab/isaaclab/utils/datasets/hdf5_dataset_file_handler.py): `source/isaaclab/isaaclab/utils/datasets/hdf5_dataset_file_handler.py`

### Interaction and Visualization

- [Teleoperation Devices](https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab/isaaclab/devices): `source/isaaclab/isaaclab/devices`
- [Visualization](https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab/isaaclab/ui): `source/isaaclab/isaaclab/ui`
- [Motion Planning](https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab_mimic/isaaclab_mimic/motion_planners): `source/isaaclab_mimic/isaaclab_mimic/motion_planners`

### Robot Assets

- [Robot Models](https://github.com/akbaslab/isaaclab/tree/main/source/isaaclab_assets/isaaclab_assets/robots): `source/isaaclab_assets/isaaclab_assets/robots`

### Other components

- **Researcher**
- **Isaac Sim**

## Connections

- Researcher → Application Launcher: launches
- Application Launcher → Simulation Context: initializes
- Simulation Context → Isaac Sim: controls simulation
- Researcher → Task Environments: selects task
- Task Environments → Manager Environment: configures
- Manager Environment → Simulation Context: creates context
- Manager Environment → Interactive Scene: sets up scene
- Interactive Scene → Robot Models: instantiates models
- Interactive Scene → Sensor Systems: hosts sensors
- Manager Environment → MDP Managers: initializes
- RL Environment → Manager Environment: extends
- RL Environment → Actions and Controllers: processes actions
- RL Environment → Observations: computes observations
- RL Environment → MDP Managers: steps managers
- Observations → Sensor Systems: reads sensor data
- Researcher → Training and Playback: trains or evaluates
- Training and Playback → RL Integrations: uses
- RL Integrations → RL Environment: wraps environment
- Researcher → Teleoperation Devices: provides commands
- Teleoperation Devices → Actions and Controllers: supplies control
- Manager Environment → Visualization: supports live views
- RL Environment → Episode Recorder: records episodes
- Episode Recorder → HDF5 Datasets: writes episodes
- HDF5 Datasets → Imitation Data Generation: provides demonstrations
- Researcher → Imitation Data Generation: generates demonstrations
- Imitation Data Generation → Motion Planning: uses planners
