Skip to navigation

Available Environments

View as Markdown

The following lists comprises of all the RL tasks implementations that are available in Isaac Lab. While we try to keep this list up-to-date, you can always get the latest list of environments by running the following command:

./isaaclab.sh -p scripts/environments/list_envs.py

We are actively working on adding more environments to the list. If you have any environments that you would like to add to Isaac Lab, please feel free to open a pull request!

Single-agent

Classic

Classic environments that are based on IsaacGymEnvs implementation of MuJoCo-style environments.

WorldEnvironment IDDescription
humanoidIsaac-Humanoid-v0
Isaac-Humanoid-Direct-v0
Move towards a direction with the MuJoCo humanoid robot
antIsaac-Ant-v0
Isaac-Ant-Direct-v0
Move towards a direction with the MuJoCo ant robot
cartpoleIsaac-Cartpole-v0
Isaac-Cartpole-Direct-v0
Move the cart to keep the pole upwards in the classic cartpole control
cartpoleIsaac-Cartpole-RGB-v0
Isaac-Cartpole-Depth-v0
Isaac-Cartpole-RGB-Camera-Direct-v0
Isaac-Cartpole-Depth-Camera-Direct-v0
Move the cart to keep the pole upwards in the classic cartpole control and perceptive inputs
cartpoleIsaac-Cartpole-RGB-ResNet18-v0
Isaac-Cartpole-RGB-TheiaTiny-v0
Move the cart to keep the pole upwards in the classic cartpole control based off of features extracted from perceptive inputs with pre-trained frozen vision encoders

Manipulation

Environments based on fixed-arm manipulation tasks.

For many of these tasks, we include configurations with different arm action spaces. For example, for the lift-cube environment:

WorldEnvironment IDDescription
reach-frankaIsaac-Reach-Franka-v0Move the end-effector to a sampled target pose with the Franka robot
reach-ur10Isaac-Reach-UR10-v0Move the end-effector to a sampled target pose with the UR10 robot
lift-cubeIsaac-Lift-Cube-Franka-v0Pick a cube and bring it to a sampled target position with the Franka robot
stack-cubeIsaac-Stack-Cube-Franka-v0Stack three cubes (bottom to top: blue, red, green) with the Franka robot
cabi-frankaIsaac-Open-Drawer-Franka-v0
Isaac-Franka-Cabinet-Direct-v0
Grasp the handle of a cabinet’s drawer and open it with the Franka robot
cube-allegroIsaac-Repose-Cube-Allegro-v0
Isaac-Repose-Cube-Allegro-Direct-v0
In-hand reorientation of a cube using Allegro hand
cube-shadowIsaac-Repose-Cube-Shadow-Direct-v0
Isaac-Repose-Cube-Shadow-OpenAI-FF-Direct-v0
Isaac-Repose-Cube-Shadow-OpenAI-LSTM-Direct-v0
In-hand reorientation of a cube using Shadow hand
cube-shadowIsaac-Repose-Cube-Shadow-Vision-Direct-v0In-hand reorientation of a cube using Shadow hand using perceptive inputs

Contact-rich Manipulation

Environments based on contact-rich manipulation tasks such as peg insertion, gear meshing and nut-bolt fastening.

These tasks share the same task configurations and control options. You can switch between them by specifying the task name. For example:

WorldEnvironment IDDescription
factory-pegIsaac-Factory-PegInsert-Direct-v0Insert peg into the socket with the Franka robot
factory-gearIsaac-Factory-GearMesh-Direct-v0Insert and mesh gear into the base with other gears, using the Franka robot
factory-nutIsaac-Factory-NutThread-Direct-v0Thread the nut onto the first 2 threads of the bolt, using the Franka robot

Locomotion

Environments based on legged locomotion tasks.

WorldEnvironment IDDescription
velocity-flat-anymal-bIsaac-Velocity-Flat-Anymal-B-v0Track a velocity command on flat terrain with the Anymal B robot
velocity-rough-anymal-bIsaac-Velocity-Rough-Anymal-B-v0Track a velocity command on rough terrain with the Anymal B robot
velocity-flat-anymal-cIsaac-Velocity-Flat-Anymal-C-v0
Isaac-Velocity-Flat-Anymal-C-Direct-v0
Track a velocity command on flat terrain with the Anymal C robot
velocity-rough-anymal-cIsaac-Velocity-Rough-Anymal-C-v0
Isaac-Velocity-Rough-Anymal-C-Direct-v0
Track a velocity command on rough terrain with the Anymal C robot
velocity-flat-anymal-dIsaac-Velocity-Flat-Anymal-D-v0Track a velocity command on flat terrain with the Anymal D robot
velocity-rough-anymal-dIsaac-Velocity-Rough-Anymal-D-v0Track a velocity command on rough terrain with the Anymal D robot
velocity-flat-unitree-a1Isaac-Velocity-Flat-Unitree-A1-v0Track a velocity command on flat terrain with the Unitree A1 robot
velocity-rough-unitree-a1Isaac-Velocity-Rough-Unitree-A1-v0Track a velocity command on rough terrain with the Unitree A1 robot
velocity-flat-unitree-go1Isaac-Velocity-Flat-Unitree-Go1-v0Track a velocity command on flat terrain with the Unitree Go1 robot
velocity-rough-unitree-go1Isaac-Velocity-Rough-Unitree-Go1-v0Track a velocity command on rough terrain with the Unitree Go1 robot
velocity-flat-unitree-go2Isaac-Velocity-Flat-Unitree-Go2-v0Track a velocity command on flat terrain with the Unitree Go2 robot
velocity-rough-unitree-go2Isaac-Velocity-Rough-Unitree-Go2-v0Track a velocity command on rough terrain with the Unitree Go2 robot
velocity-flat-spotIsaac-Velocity-Flat-Spot-v0Track a velocity command on flat terrain with the Boston Dynamics Spot robot
velocity-flat-h1Isaac-Velocity-Flat-H1-v0Track a velocity command on flat terrain with the Unitree H1 robot
velocity-rough-h1Isaac-Velocity-Rough-H1-v0Track a velocity command on rough terrain with the Unitree H1 robot
velocity-flat-g1Isaac-Velocity-Flat-G1-v0Track a velocity command on flat terrain with the Unitree G1 robot
velocity-rough-g1Isaac-Velocity-Rough-G1-v0Track a velocity command on rough terrain with the Unitree G1 robot
WorldEnvironment IDDescription
anymal c navIsaac-Navigation-Flat-Anymal-C-v0Navigate towards a target x-y position and heading with the ANYmal C robot.

Others

Adversarial Motion Priors (AMP) training is only available with the skrl library, as it is the only one of the currently integrated libraries that supports it out-of-the-box (for the other libraries, it is necessary to implement the algorithm and architectures). See the skrl’s AMP Documentation for more information. The AMP algorithm can be activated by adding the command line input --algorithm AMP to the train/play script.

For evaluation, the play script’s command line input --real-time allows the interaction loop between the environment and the agent to run in real time, if possible.

WorldEnvironment IDDescription
quadcopterIsaac-Quadcopter-Direct-v0Fly and hover the Crazyflie copter at a goal point by applying thrust.
humanoid ampIsaac-Humanoid-AMP-Dance-Direct-v0
Isaac-Humanoid-AMP-Run-Direct-v0
Isaac-Humanoid-AMP-Walk-Direct-v0
Move a humanoid robot by imitating different pre-recorded human animations (Adversarial Motion Priors).

Spaces showcase

The cartpole_showcase folder contains showcase tasks (based on the Cartpole and Cartpole-Camera Direct tasks) for the definition/use of the various Gymnasium observation and action spaces supported in Isaac Lab.

Currently, only Isaac Lab’s Direct workflow supports the definition of observation and action spaces other than Box. See Direct workflow’s isaaclab.envs.DirectRLEnvCfg.observation_space / isaaclab.envs.DirectRLEnvCfg.action_space documentation for more details.

The following tables summarize the different pairs of showcased spaces for the Cartpole and Cartpole-Camera tasks. Replace <OBSERVATION> and <ACTION> with the observation and action spaces to be explored in the task names for training and evaluation.

Multi-agent

True mutli-agent training is only available with the skrl library, see the Multi-Agents Documentation for more information. It supports the IPPO and MAPPO algorithms, which can be activated by adding the command line input --algorithm IPPO or --algorithm MAPPO to the train/play script. If these environments are run with other libraries or without the IPPO or MAPPO flags, they will be converted to single-agent environments under the hood.

Classic

WorldEnvironment IDDescription
cart-double-pendulumIsaac-Cart-Double-Pendulum-Direct-v0Move the cart and the pendulum to keep the last one upwards in the classic inverted double pendulum on a cart control

Manipulation

Environments based on fixed-arm manipulation tasks.

WorldEnvironment IDDescription
shadow-hand-overIsaac-Shadow-Hand-Over-Direct-v0Passing an object from one hand over to the other hand

Comprehensive List of Environments

Task NameInference Task NameWorkflowRL Library
------------
Isaac-Ant-Direct-v0Directrl_games (PPO), rsl_rl (PPO), skrl (PPO)
Isaac-Ant-v0Manager Basedrsl_rl (PPO), rl_games (PPO), skrl (PPO), sb3 (PPO)
Isaac-Cart-Double-Pendulum-Direct-v0Directrl_games (PPO), skrl (IPPO, PPO, MAPPO)
Isaac-Cartpole-Camera-Showcase-Box-Box-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Camera-Showcase-Box-Discrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Camera-Showcase-Box-MultiDiscrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Camera-Showcase-Dict-Box-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Camera-Showcase-Dict-Discrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Camera-Showcase-Dict-MultiDiscrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Camera-Showcase-Tuple-Box-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Camera-Showcase-Tuple-Discrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Camera-Showcase-Tuple-MultiDiscrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Depth-Camera-Direct-v0Directrl_games (PPO), skrl (PPO)
Isaac-Cartpole-Depth-v0Manager Basedrl_games (PPO)
Isaac-Cartpole-Direct-v0Directrl_games (PPO), rsl_rl (PPO), skrl (PPO), sb3 (PPO)
Isaac-Cartpole-RGB-Camera-Direct-v0Directrl_games (PPO), skrl (PPO)
Isaac-Cartpole-RGB-ResNet18-v0Manager Basedrl_games (PPO)
Isaac-Cartpole-RGB-TheiaTiny-v0Manager Basedrl_games (PPO)
Isaac-Cartpole-RGB-v0Manager Basedrl_games (PPO)
Isaac-Cartpole-Showcase-Box-Box-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Showcase-Box-Discrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Showcase-Box-MultiDiscrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Showcase-Dict-Box-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Showcase-Dict-Discrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Showcase-Dict-MultiDiscrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Showcase-Discrete-Box-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Showcase-Discrete-Discrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Showcase-Discrete-MultiDiscrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Showcase-MultiDiscrete-Box-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Showcase-MultiDiscrete-Discrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Showcase-MultiDiscrete-MultiDiscrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Showcase-Tuple-Box-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Showcase-Tuple-Discrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-Showcase-Tuple-MultiDiscrete-Direct-v0Directskrl (PPO)
Isaac-Cartpole-v0Manager Basedrl_games (PPO), rsl_rl (PPO), skrl (PPO), sb3 (PPO)
Isaac-Factory-GearMesh-Direct-v0Directrl_games (PPO)
Isaac-Factory-NutThread-Direct-v0Directrl_games (PPO)
Isaac-Factory-PegInsert-Direct-v0Directrl_games (PPO)
Isaac-Franka-Cabinet-Direct-v0Directrl_games (PPO), rsl_rl (PPO), skrl (PPO)
Isaac-Humanoid-AMP-Dance-Direct-v0Directskrl (AMP)
Isaac-Humanoid-AMP-Run-Direct-v0Directskrl (AMP)
Isaac-Humanoid-AMP-Walk-Direct-v0Directskrl (AMP)
Isaac-Humanoid-Direct-v0Directrl_games (PPO), rsl_rl (PPO), skrl (PPO)
Isaac-Humanoid-v0Manager Basedrsl_rl (PPO), rl_games (PPO), skrl (PPO), sb3 (PPO)
Isaac-Lift-Cube-Franka-IK-Abs-v0Manager Based
Isaac-Lift-Cube-Franka-IK-Rel-v0Manager Based
Isaac-Lift-Cube-Franka-v0Isaac-Lift-Cube-Franka-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO), rl_games (PPO), sb3 (PPO)
Isaac-Lift-Teddy-Bear-Franka-IK-Abs-v0Manager Based
Isaac-Navigation-Flat-Anymal-C-v0Isaac-Navigation-Flat-Anymal-C-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Open-Drawer-Franka-IK-Abs-v0Manager Based
Isaac-Open-Drawer-Franka-IK-Rel-v0Manager Based
Isaac-Open-Drawer-Franka-v0Isaac-Open-Drawer-Franka-Play-v0Manager Basedrsl_rl (PPO), rl_games (PPO), skrl (PPO)
Isaac-Quadcopter-Direct-v0Directrl_games (PPO), rsl_rl (PPO), skrl (PPO)
Isaac-Reach-Franka-IK-Abs-v0Manager Based
Isaac-Reach-Franka-IK-Rel-v0Manager Based
Isaac-Reach-Franka-OSC-v0Isaac-Reach-Franka-OSC-Play-v0Manager Basedrsl_rl (PPO)
Isaac-Reach-Franka-v0Isaac-Reach-Franka-Play-v0Manager Basedrl_games (PPO), rsl_rl (PPO), skrl (PPO)
Isaac-Reach-UR10-v0Isaac-Reach-UR10-Play-v0Manager Basedrl_games (PPO), rsl_rl (PPO), skrl (PPO)
Isaac-Repose-Cube-Allegro-Direct-v0Directrl_games (PPO), rsl_rl (PPO), skrl (PPO)
Isaac-Repose-Cube-Allegro-NoVelObs-v0Isaac-Repose-Cube-Allegro-NoVelObs-Play-v0Manager Basedrsl_rl (PPO), rl_games (PPO), skrl (PPO)
Isaac-Repose-Cube-Allegro-v0Isaac-Repose-Cube-Allegro-Play-v0Manager Basedrsl_rl (PPO), rl_games (PPO), skrl (PPO)
Isaac-Repose-Cube-Shadow-Direct-v0Directrl_games (PPO), rsl_rl (PPO), skrl (PPO)
Isaac-Repose-Cube-Shadow-OpenAI-FF-Direct-v0Directrl_games (FF), rsl_rl (PPO), skrl (PPO)
Isaac-Repose-Cube-Shadow-OpenAI-LSTM-Direct-v0Directrl_games (LSTM)
Isaac-Repose-Cube-Shadow-Vision-Direct-v0Isaac-Repose-Cube-Shadow-Vision-Direct-Play-v0Directrsl_rl (PPO), rl_games (VISION)
Isaac-Shadow-Hand-Over-Direct-v0Directrl_games (PPO), skrl (IPPO, PPO, MAPPO)
Isaac-Stack-Cube-Franka-IK-Rel-v0Manager Based
Isaac-Stack-Cube-Franka-v0Manager Based
Isaac-Stack-Cube-Instance-Randomize-Franka-IK-Rel-v0Manager Based
Isaac-Stack-Cube-Instance-Randomize-Franka-v0Manager Based
Isaac-Velocity-Flat-Anymal-B-v0Isaac-Velocity-Flat-Anymal-B-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Flat-Anymal-C-Direct-v0Directrl_games (PPO), rsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Flat-Anymal-C-v0Isaac-Velocity-Flat-Anymal-C-Play-v0Manager Basedrsl_rl (PPO), rl_games (PPO), skrl (PPO)
Isaac-Velocity-Flat-Anymal-D-v0Isaac-Velocity-Flat-Anymal-D-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Flat-Cassie-v0Isaac-Velocity-Flat-Cassie-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Flat-G1-v0Isaac-Velocity-Flat-G1-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Flat-H1-v0Isaac-Velocity-Flat-H1-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Flat-Spot-v0Isaac-Velocity-Flat-Spot-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Flat-Unitree-A1-v0Isaac-Velocity-Flat-Unitree-A1-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Flat-Unitree-Go1-v0Isaac-Velocity-Flat-Unitree-Go1-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Flat-Unitree-Go2-v0Isaac-Velocity-Flat-Unitree-Go2-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Rough-Anymal-B-v0Isaac-Velocity-Rough-Anymal-B-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Rough-Anymal-C-Direct-v0Directrl_games (PPO), rsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Rough-Anymal-C-v0Isaac-Velocity-Rough-Anymal-C-Play-v0Manager Basedrl_games (PPO), rsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Rough-Anymal-D-v0Isaac-Velocity-Rough-Anymal-D-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Rough-Cassie-v0Isaac-Velocity-Rough-Cassie-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Rough-G1-v0Isaac-Velocity-Rough-G1-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Rough-H1-v0Isaac-Velocity-Rough-H1-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Rough-Unitree-A1-v0Isaac-Velocity-Rough-Unitree-A1-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Rough-Unitree-Go1-v0Isaac-Velocity-Rough-Unitree-Go1-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)
Isaac-Velocity-Rough-Unitree-Go2-v0Isaac-Velocity-Rough-Unitree-Go2-Play-v0Manager Basedrsl_rl (PPO), skrl (PPO)