Skip to content

Genesis Forge Tasks

Genesis Forge is a modular RL robotics framework built on the Genesis physics simulator and inspired by the manager-style environment structure used by frameworks such as Isaac Lab.

Genesis Forge is not installed as part of LAV2's default Python dependencies, so Genesis and Genesis Forge must be installed separately before using the task package under lav2.tasks.genesis_forge.

How LAV2 Connects To Genesis Forge

LAV2's Genesis Forge integration lives under lav2.tasks.genesis_forge. Tasks are organized by task type first, then robot-specific configuration under config/<robot>/, matching the Isaac Lab and mjlab layouts where possible.

Genesis Forge does not provide a task registry API, so LAV2 keeps an explicit task catalog in lav2.tasks.genesis_forge.rl.tasks. The shared train/eval runners look up task ids there.

Once Genesis Forge and its dependencies are installed, use the shared runner entrypoints:

  • uv run -m lav2.tasks.genesis_forge.rl.train --task Genesis-Aerial-Base-LAV2-v0
  • uv run -m lav2.tasks.genesis_forge.rl.eval --task Genesis-Aerial-Velocity-LAV2-v0

LAV2 Base Task

The aerial base and aerial velocity Genesis Forge tasks follow the same manager-based design idea as the other RL backends in this repository. The environment module wires the backend-specific managed environment, while the mdp package carries the actions, commands, rewards, and related task terms.

The important point is consistency of task layout rather than the exact backend API spelling: task-level code is shared under aerial/<task>/, while LAV2-specific asset binding and runner parameters live under config/lav2/.

What To Edit

When tuning the Genesis Forge task:

API Cross-References