[GitHub Code for this Chapter: chapter2_3
branch](https://github.com/Lab-of-AI-and-Robotics/IsaacLab-Tutorial/tree/chapter2_3)
To establish a custom project structure for our Go2 robot using the built-in template generator. This chapter will introduce the fundamental development paradigms within Isaac Lab—Manager-Based and Direct—and justify our selection of the Manager-Based approach for its modularity and scalability.
Isaac Lab provides a command-line tool to automatically generate the complex folder structure and boilerplate code required for a new project. This ensures consistency and allows us to focus immediately on the logic of our task.
In your terminal, from the root of the isaaclab
repository, execute the following script:
./isaaclab.sh --new
You will be guided through a series of prompts. Please configure your project as follows, using the provided screenshots as a reference:
Task type: Select External. This is the recommended approach as it creates a self-contained project in its own repository, decoupled from the main Isaac Lab source code.
Project path: Enter the absolute path to the directory where you want to store your projects (e.g., /home/yoda/Projects/personal_tutorial_isaaclab
).
Project name: Enter manager_based_go2
. We will use this name throughout the tutorial.
Isaac Lab workflow: Select Manager-based | single-agent (you can additionally select Direct | single-agent). The generator displays a useful table comparing the features of each workflow. We are choosing the modular, single-agent manager-based approach.
RL library: Select rsl_rl. Again, a comparison table is shown. rsl_rl
is a robust and high-performance library that we will use for training.
After the final prompt, the script will generate all the necessary files and initialize a new git repository for your project. In my case, the generator will create a new folder at /home/yoda/Projects/personal_tutorial_isaaclab/test
.
Your new project is an installable Python package. This allows Isaac Lab to discover and run the tasks you define within it. Navigate to your new project's root directory and install it in editable mode (-e
).
cd /home/yoda/Projects/personal_tutorial_isaaclab/test
python -m pip install -e source/test/