Available Environments
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:
Linux
Windows
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.
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:
- Isaac-Lift-Cube-Franka-v0: Franka arm with joint position control
- Isaac-Lift-Cube-Franka-IK-Abs-v0: Franka arm with absolute IK control
- Isaac-Lift-Cube-Franka-IK-Rel-v0: Franka arm with relative IK control
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:
- Isaac-Factory-PegInsert-Direct-v0: Peg insertion with the Franka arm
- Isaac-Factory-GearMesh-Direct-v0: Gear meshing with the Franka arm
- Isaac-Factory-NutThread-Direct-v0: Nut-Bolt fastening with the Franka arm
AutoMate
Environments based on 100 diverse assembly tasks, each involving the insertion of a plug into a socket. These tasks share a common configuration and differ by th geometry and properties of the parts.
You can switch between tasks by specifying the corresponding asset ID. Available asset IDs include:
‘00004’, ‘00007’, ‘00014’, ‘00015’, ‘00016’, ‘00021’, ‘00028’, ‘00030’, ‘00032’, ‘00042’, ‘00062’, ‘00074’, ‘00077’, ‘00078’, ‘00081’, ‘00083’, ‘00103’, ‘00110’, ‘00117’, ‘00133’, ‘00138’, ‘00141’, ‘00143’, ‘00163’, ‘00175’, ‘00186’, ‘00187’, ‘00190’, ‘00192’, ‘00210’, ‘00211’, ‘00213’, ‘00255’, ‘00256’, ‘00271’, ‘00293’, ‘00296’, ‘00301’, ‘00308’, ‘00318’, ‘00319’, ‘00320’, ‘00329’, ‘00340’, ‘00345’, ‘00346’, ‘00360’, ‘00388’, ‘00410’, ‘00417’, ‘00422’, ‘00426’, ‘00437’, ‘00444’, ‘00446’, ‘00470’, ‘00471’, ‘00480’, ‘00486’, ‘00499’, ‘00506’, ‘00514’, ‘00537’, ‘00553’, ‘00559’, ‘00581’, ‘00597’, ‘00614’, ‘00615’, ‘00638’, ‘00648’, ‘00649’, ‘00652’, ‘00659’, ‘00681’, ‘00686’, ‘00700’, ‘00703’, ‘00726’, ‘00731’, ‘00741’, ‘00755’, ‘00768’, ‘00783’, ‘00831’, ‘00855’, ‘00860’, ‘00863’, ‘01026’, ‘01029’, ‘01036’, ‘01041’, ‘01053’, ‘01079’, ‘01092’, ‘01102’, ‘01125’, ‘01129’, ‘01132’, ‘01136’.
We provide environments for both disassembly and assembly.
CUDA is required for running the AutoMate environments. Follow the below steps to install CUDA 12.8:
When using conda, cuda toolkit can be installed with:
For addition instructions and Windows installation, please refer to the CUDA installation page.
-
Isaac-AutoMate-Disassembly-Direct-v0: The plug starts inserted in the socket. A low-level controller lifts the plug out and moves it to a random position. This process is purely scripted and does not involve any learned policy. Therefore, it does not require policy training or evaluation. The resulting trajectories serve as demonstrations for the reverse process, i.e., learning to assemble. To run disassembly for a specific task:
python source/isaaclab_tasks/isaaclab_tasks/direct/automate/run_disassembly_w_id.py --assembly_id=ASSEMBLY_ID --disassembly_dir=DISASSEMBLY_DIR. All generated trajectories are saved to a local directoryDISASSEMBLY_DIR. -
Isaac-AutoMate-Assembly-Direct-v0: The goal is to insert the plug into the socket. You can use this environment to train a policy via reinforcement learning or evaluate a pre-trained checkpoint.
- To train an assembly policy, we run the command
python source/isaaclab_tasks/isaaclab_tasks/direct/automate/run_w_id.py --assembly_id=ASSEMBLY_ID --train. We can customize the training process using the optional flags:--headlessto run without opening the GUI windows,--max_iterations=MAX_ITERATIONSto set the number of training iterations,--num_envs=NUM_ENVSto set the number of parallel environments during training,--seed=SEEDto assign the random seed. The policy checkpoints will be saved automatically during training in the directorylogs/rl_games/Assembly/test. - To evaluate an assembly policy, we run the command
python source/isaaclab_tasks/isaaclab_tasks/direct/automate/run_w_id.py --assembly_id=ASSEMBLY_ID --checkpoint=CHECKPOINT --log_eval. The evaluation results are stored inevaluation_{ASSEMBLY_ID}.h5.
- To train an assembly policy, we run the command
FORGE
FORGE environments extend Factory environments with:
- Force sensing: Add observations for force experienced by the end-effector.
- Excessive force penalty: Add an option to penalize the agent for excessive contact forces.
- Dynamics randomization: Randomize controller gains, asset properties (friction, mass), and dead-zone.
- Success prediction: Add an extra action that predicts task success.
These tasks share the same task configurations and control options. You can switch between them by specifying the task name.
- Isaac-Forge-PegInsert-Direct-v0: Peg insertion with the Franka arm
- Isaac-Forge-GearMesh-Direct-v0: Gear meshing with the Franka arm
- Isaac-Forge-NutThread-Direct-v0: Nut-Bolt fastening with the Franka arm
Locomotion
Environments based on legged locomotion tasks.
Navigation
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.
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
Manipulation
Environments based on fixed-arm manipulation tasks.
Comprehensive List of Environments
For environments that have a different task name listed under Inference Task Name, please use the Inference Task Name
provided when running play.py or any inferencing workflows. These tasks provide more suitable configurations for
inferencing, including reading from an already trained checkpoint and disabling runtime perturbations used for training.








































