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-v0uv 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:
- start from lav2.tasks.genesis_forge.locomotion.aerial.base.environment or lav2.tasks.genesis_forge.locomotion.aerial.velocity.environment to confirm how the environment and managers are wired
- adjust the matching
mdppackage for action, command, reward, or termination behavior - update lav2.tasks.genesis_forge.rl.tasks when adding a new task id
API Cross-References
- Package root: lav2.tasks.genesis_forge
- Task catalog: lav2.tasks.genesis_forge.rl.tasks
- Train entrypoint: lav2.tasks.genesis_forge.rl.train
- Eval entrypoint: lav2.tasks.genesis_forge.rl.eval
- Aerial base task: lav2.tasks.genesis_forge.locomotion.aerial.base
- Aerial velocity task: lav2.tasks.genesis_forge.locomotion.aerial.velocity