What is GenesisLab?#

GenesisLab is a comprehensive framework for robot reinforcement learning (RL) built on top of Genesis, the world’s fastest physics simulation platform.

Motivation#

Robot learning requires:

  • Fast simulation for efficient training

  • Modular design for easy experimentation

  • Rich observations for complex behaviors

  • Flexible rewards for diverse tasks

  • Domain randomization for sim-to-real transfer

GenesisLab addresses these needs by providing a unified framework that:

  • Leverages Genesis’s ultra-fast parallel simulation

  • Implements a clean manager-based architecture

  • Supports diverse sensor modalities

  • Enables easy task and robot configuration

  • Integrates seamlessly with popular RL libraries

What Can You Do with GenesisLab?#

1. Train Legged Robots#

Train quadrupeds and humanoids to walk, run, and navigate complex terrains:

import gymnasium as gym
import genesislab.envs

# Train a quadruped on rough terrain
env = gym.make("GenesisLab-Go2-Rough-v0", num_envs=4096)

Supported Robots:

  • Unitree Go2, A1, B2

  • Unitree H1, G1 (humanoids)

  • ANYmal-D

  • Custom URDF/MJCF robots

2. Develop Custom Tasks#

Create your own tasks with minimal code:

from genesislab.tasks import LocomotionTask
from genesislab.managers import ObservationManager, RewardManager

class MyCustomTask(LocomotionTask):
    def setup_scene(self):
        # Define your scene
        pass
    
    def setup_managers(self):
        self.observation_manager = ObservationManager(...)
        self.reward_manager = RewardManager(...)

3. Experiment with Sensors#

Use various sensor modalities:

  • Proprioception: Joint positions, velocities, torques

  • IMU: Angular velocity, linear acceleration, orientation

  • Vision: RGB, depth, segmentation cameras

  • LiDAR: Point cloud sensing

  • Contact sensors: Force and contact detection

4. Test Sim-to-Real Transfer#

Apply domain randomization for robust policies:

  • Dynamics randomization (mass, friction, motor strength)

  • Observation noise injection

  • Action delays and noise

  • Terrain randomization

How is GenesisLab Different?#

vs Isaac Lab#

Similarities:

  • Both provide RL frameworks for robotics

  • Manager-based architecture

  • Gymnasium integration

Differences:

  • GenesisLab uses Genesis (faster simulation)

  • Simpler configuration system

  • Focus on locomotion and manipulation tasks

  • Lightweight and easy to extend

vs Legged Gym / RSL RL#

Similarities:

  • Focus on legged robot locomotion

  • Support for terrain randomization

Differences:

  • GenesisLab supports multiple robot types (not just legged)

  • More modular manager system

  • Built-in Gymnasium compatibility

  • Native support for vision and LiDAR

vs MuJoCo / IsaacGym#

GenesisLab is a framework built on top of Genesis physics engine, not a physics engine itself:

  • Provides task definitions and RL utilities

  • Manager-based abstractions

  • Pre-configured robot models and tasks

  • Easier to get started with robot learning

Architecture at a Glance#

┌─────────────────────────────────────────────────────────┐
│                    Gymnasium Env                         │
│  ┌───────────────────────────────────────────────────┐  │
│  │                    LabScene                        │  │
│  │  ┌──────────┐  ┌──────────┐  ┌───────────────┐   │  │
│  │  │ Observer │  │  Action  │  │    Reward     │   │  │
│  │  │ Manager  │  │ Manager  │  │   Manager     │   │  │
│  │  └──────────┘  └──────────┘  └───────────────┘   │  │
│  │  ┌──────────┐  ┌──────────┐  ┌───────────────┐   │  │
│  │  │ Command  │  │  Event   │  │  Termination  │   │  │
│  │  │ Manager  │  │ Manager  │  │   Manager     │   │  │
│  │  └──────────┘  └──────────┘  └───────────────┘   │  │
│  └───────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────┐
│                  Genesis Scene                           │
│  ┌────────┐  ┌────────┐  ┌────────┐  ┌──────────────┐  │
│  │ Robot  │  │ Sensor │  │Terrain │  │   Objects    │  │
│  └────────┘  └────────┘  └────────┘  └──────────────┘  │
└─────────────────────────────────────────────────────────┘

Next Steps#