Overview#

This section provides an overview of GenesisLab’s design, philosophy, and architecture.

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