Isaac Lab

type access

  • Operating System:

  • Terminal:

  • Shell:

  • Editor:

  • Package Manager:

  • Programming Language:

  • Database:

  • Utility:

  • Extension:

type access

  • Operating System:

  • Terminal:

  • Shell:

  • Editor:

  • Package Manager:

  • Programming Language:

  • Database:

  • Utility:

  • Extension:

Isaac Lab is a unified and modular framework for robot learning that aims to simplify common workflows in robotics research (such as reinforcement learning, learning from demonstrations, and motion planning). It is built on NVIDIA Isaac Sim to leverage the latest simulation capabilities for photo-realistic scenes, and fast and efficient simulation.

More information can be found here.

Initialization

For information on how to use the Initialization parameter, please refer to the Initialization: Bash Script section of the documentation.

App Requirements

The app is built on the top of Isaac Sim. As a consequence the same system requirements apply here. The app requires GPUs to run (more details below). If a job does not fulfil the system requirements, Isaac Lab will not be able to run inside the virtual desktop.

Important

If the app is started on a CPU machine type the job will fail.

When the job starts it is checked whether it meets the system requirements. The test's result is printed to the job console and can be found in /work/compatibility_check_result.txt.

Supported GPU machines types

The app only support GPUs with RT cores.

The table below shows the compatibility with the different GPU machine types available on UCloud:

Provider  

Machine type  

Compatible?

SDU-K8s

u2-gpu-*

No

SDU-K8s

u3-gpu-*

No

AAU-K8s

uc1-a10-*

Yes

AAU-K8s

uc1-l4-*

Yes

AAU-K8s

uc1-l40-*

Yes

Note

While starting the app on GPUs without RT cores, there may be different errors and missing features.

Running Isaac Lab

Isaac Lab is installed in the /opt/IsaacLab directory, accessible through the environment variable ${ISAACLAB_PATH}.

Quick Start

Isaac Lab includes predefined workflows using one of the Batteries-included robot tasks. The scripts are present in the /opt/IsaacLab/scripts directory.

For example, for training an ant to walk, open a terminal and write:

$ ${ISAACLAB_PATH}/isaaclab.sh -p ${ISAACLAB_PATH}/scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0 --headless

Adding the --headless option to the command, ensures a faster training.

Creating a Dedicated Conda Environment

Create a dedicated environment for Isaac Lab is strongly recommended. Advantages includes to keep dependencies isolated while running different experiments/projects and easily manage multiple environments for setups with different versions of libraries/frameworks. This can be easily done via conda, pre-installed in the directory /opt/conda and accessible through the environment variable $CONDA_DIR.

To create a dedicated conda environment:

  • Execute the command:

    $ ${ISAACLAB_PATH}/isaaclab.sh --conda environment_name
    

    (the environment name can be omitted, the default name is env_isaaclab).

    By running this command, all the dependencies/path will be set correctly and the environment will be created with the specific python version compatible with the Isaac Sim installation.

  • Initialize the current shell:

    $ conda init
    $ source ~/.bashrc
    
  • Activate and prepare the environment

    $ conda activate env_isaaclab
    $ ${ISAACLAB_PATH}/isaaclab.sh --install
    

From this point it is possible to run the scripts simply by using python:

  $ python ${ISAACLAB_PATH}/scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0 --headless

Important

In order to be able to use the dedicated environment for future jobs on UCloud, it is necessary to move (not copy) the environment in the /work directory:

  $ mv $CONDA_DIR/envs/env_isaaclab /work

Using pre-created conda environment

In order to re-use a previously Isaac Lab dedicated environment:

  • Mount the created environment when starting the Isaac Lab app, via the job parameter Select folders to use

  • Open the terminal and write:

      $ conda init
      $ source ~/.bashrc
      $ conda activate /work/env_isaaclab
    

The full activation process can be automatized and completed before the app starts, by using the script:

  $ conda init
  $ export MY_ENV=/work/env_isaaclab
  $ echo "conda activate $MY_ENV" >> ~/.bashrc

via the app Initialization parameter, when starting the job. The last line automatically activates the environment while opening the terminal.