RL Project Tutorial

To build your own project, Nvidia Team has provide a pre-configured and customizable template for creating projects in an isolated environment.

Due to the IsaacLab/source is mounted to your local machine, so I suggest to place your template into IsaacLab/source.

In the container, you can enter the template by

cd /workspace/isaaclab/source/IsaacLabExtensionTemplate

Throughout the repository, the name ext_template only serves as an example and it provides a script to rename all the references to it automatically:

# Rename all occurrences of ext_template (in files/directories) to your_fancy_extension_name
python scripts/rename_template.py your_fancy_extension_name

Start Your Project

In IsaacLab, a “task” encompasses everything involved in the training process. Specifically, it includes both the environment and the robot(agent). To start your own RL project, you’ll need to configure both the environment and the robot within this task.

In this section, I’ll provide a brief overview of how these two elements are organized within the project template and explain the underlying principles. For more detailed information, please refer to the additional tutorials that will be provided.

Environment Configuration

Environment defines the actual task and assets(ground, light, and objects except the robot) in the scene. Usually, the environment configuration file will be in the root of task directory, and named as “[task name]_env_cfg.py”. In thie environment configuration you need to provide scene settings, basic settings, and MDP settings. If you want to modify the MDP setting here, you should create a MDP directory in the root to overwrite MDP terms.

Robot Configuration

The robot configuration defines the interface how the robot to complete the task, and here does not contain the actual detail of the robot such as mesh or material. This should be maintained in the cofig directory for each robot. In each robot, you need to do following steps:

Template Organization Explanation

In this section, I will give a purpose explanation about important directories and files in the template.

IsaacLabExtensionTemplate/