> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/isaaclab/_mcp/server. # Tutorials Welcome to the Isaac Lab tutorials! These tutorials provide a step-by-step guide to help you understand and use various features of the framework. All the tutorials are written as Python scripts. You can find the source code for each tutorial in the `scripts/tutorials` directory of the Isaac Lab repository. > **Note** > > We would love to extend the tutorials to cover more topics and use cases, so please let us know if > you have any suggestions. We recommend that you go through the tutorials in the order they are listed here. ## Setting up a Simple Simulation These tutorials show you how to launch the simulation with different settings and spawn objects in the simulated scene. They cover the following APIs: `~isaaclab.app.AppLauncher`, `~isaaclab.sim.SimulationContext`, and `~isaaclab.sim.spawners`. ## Interacting with Assets Having spawned objects in the scene, these tutorials show you how to create physics handles for these objects and interact with them. These revolve around the `~isaaclab.assets.AssetBase` class and its derivatives such as `~isaaclab.assets.RigidObject`, `~isaaclab.assets.Articulation` and `~isaaclab.assets.DeformableObject`. ## Creating a Scene With the basic concepts of the framework covered, the tutorials move to a more intuitive scene interface that uses the `~isaaclab.scene.InteractiveScene` class. This class provides a higher level abstraction for creating scenes easily. ## Designing an Environment The following tutorials introduce the concept of manager-based environments: `~isaaclab.envs.ManagerBasedEnv` and its derivative `~isaaclab.envs.ManagerBasedRLEnv`, as well as the direct workflow base class `~isaaclab.envs.DirectRLEnv`. These environments bring-in together different aspects of the framework to create a simulation environment for agent interaction. ## Integrating Sensors The following tutorial shows you how to integrate sensors into the simulation environment. The tutorials introduce the `~isaaclab.sensors.SensorBase` class and its derivatives such as `~isaaclab.sensors.Camera` and `~isaaclab.sensors.RayCaster`. ## Using motion generators While the robots in the simulation environment can be controlled at the joint-level, the following tutorials show you how to use motion generators to control the robots at the task-level. ## Docs - [Creating an empty scene](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/creating-an-empty-scene.md): - [Spawning prims into the scene](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/spawning-prims-into-the-scene.md): - [Deep-dive into AppLauncher](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/deep-dive-into-app-launcher.md): - [Adding a New Robot to Isaac Lab](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/adding-a-new-robot-to-isaac-lab.md): - [Interacting with a rigid object](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/interacting-with-a-rigid-object.md): - [Interacting with an articulation](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/interacting-with-an-articulation.md): - [Interacting with a deformable object](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/interacting-with-a-deformable-object.md): - [Interacting with a surface gripper](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/interacting-with-a-surface-gripper.md): - [Using the Interactive Scene](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/using-the-interactive-scene.md): - [Creating a Manager-Based Base Environment](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/creating-a-manager-based-base-environment.md): - [Creating a Manager-Based RL Environment](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/creating-a-manager-based-rl-environment.md): - [Creating a Direct Workflow RL Environment](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/creating-a-direct-workflow-rl-environment.md): - [Registering an Environment](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/registering-an-environment.md): - [Training with an RL Agent](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/training-with-an-rl-agent.md): - [Configuring an RL Agent](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/configuring-an-rl-agent.md): - [Modifying an existing Direct RL Environment](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/modifying-an-existing-direct-rl-environment.md): - [Policy Inference in USD Environment](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/policy-inference-in-usd-environment.md): - [Adding sensors on a robot](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/adding-sensors-on-a-robot.md): - [Using a task-space controller](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/using-a-task-space-controller.md): - [Using an operational space controller](https://docs.nvidia.com/isaaclab/2.3/getting-started/tutorials/using-an-operational-space-controller.md):