# Overview This section provides an overview of GenesisLab's design, philosophy, and architecture. ```{toctree} :maxdepth: 2 what_is_genesislab architecture concepts design_philosophy faq ``` ## Quick Summary **GenesisLab** is a unified framework for robot learning built on Genesis physics simulation. It provides: - **Manager-based architecture** for modular, extensible task definitions - **Multi-robot support** with pre-configured robot platforms - **Gymnasium API integration** for seamless RL library compatibility - **Advanced sensor systems** with fake and native Genesis sensors - **Terrain generation** with procedural generation and curriculum support - **Domain randomization** through the event system ## Key Concepts Understanding these core concepts will help you work effectively with GenesisLab: 1. **LabScene**: The central simulation manager that coordinates all other managers 2. **Managers**: Specialized components handling observations, actions, rewards, etc. 3. **Terms**: Individual computation units within managers (e.g., observation terms, reward terms) 4. **ConfigClass**: Configuration system using `@configclass` decorators 5. **Scene Builder/Controller/Querier**: Patterns for interacting with the Genesis scene ## Philosophy GenesisLab is designed with several key principles: - **Modularity**: Clean separation between different aspects of the learning problem - **Extensibility**: Easy to add custom observations, rewards, and behaviors - **Performance**: Leveraging Genesis's speed for fast parallel training - **Simplicity**: Configuration-driven design with sensible defaults - **Compatibility**: Works with standard RL libraries and follows Gymnasium conventions