Unverified Commit 8b590c1a authored by Mayank Mittal's avatar Mayank Mittal Committed by GitHub

Details installation section in documentation (#3442)

# Description

It was getting confusing with the table of content on which installation
instruction to follow when. This MR takes a stab at writing clearer
documentation for users. I hope this helps with new users coming to
Isaac Lab.

## Type of change

- Documentation update

## Screenshots

<img width="553" height="865" alt="image"
src="https://github.com/user-attachments/assets/b2b8c71c-8aa4-4911-8efb-25bc894e3a00"
/>

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
parent 137106d3
...@@ -37,92 +37,6 @@ Isaac Lab offers a comprehensive set of tools and environments designed to facil ...@@ -37,92 +37,6 @@ Isaac Lab offers a comprehensive set of tools and environments designed to facil
## Getting Started ## Getting Started
### Getting Started with Open-Source Isaac Sim
Isaac Sim is now open source and available on GitHub!
For detailed Isaac Sim installation instructions, please refer to
[Isaac Sim README](https://github.com/isaac-sim/IsaacSim?tab=readme-ov-file#quick-start).
1. Clone Isaac Sim
```
git clone https://github.com/isaac-sim/IsaacSim.git
```
2. Build Isaac Sim
```
cd IsaacSim
./build.sh
```
On Windows, please use `build.bat` instead.
3. Clone Isaac Lab
```
cd ..
git clone https://github.com/isaac-sim/IsaacLab.git
cd isaaclab
```
4. Set up symlink in Isaac Lab
Linux:
```
ln -s ../IsaacSim/_build/linux-x86_64/release _isaac_sim
```
Windows:
```
mklink /D _isaac_sim ..\IsaacSim\_build\windows-x86_64\release
```
5. Install Isaac Lab
Linux:
```
./isaaclab.sh -i
```
Windows:
```
isaaclab.bat -i
```
6. [Optional] Set up a virtual python environment (e.g. for Conda)
Linux:
```
source _isaac_sim/setup_conda_env.sh
```
Windows:
```
_isaac_sim\setup_python_env.bat
```
7. Train!
Linux:
```
./isaaclab.sh -p scripts/reinforcement_learning/skrl/train.py --task Isaac-Ant-v0 --headless
```
Windows:
```
isaaclab.bat -p scripts\reinforcement_learning\skrl\train.py --task Isaac-Ant-v0 --headless
```
### Documentation ### Documentation
Our [documentation page](https://isaac-sim.github.io/IsaacLab) provides everything you need to get started, including Our [documentation page](https://isaac-sim.github.io/IsaacLab) provides everything you need to get started, including
......
...@@ -96,6 +96,8 @@ nitpick_ignore_regex = [ ...@@ -96,6 +96,8 @@ nitpick_ignore_regex = [
(r"py:.*", r"trimesh.*"), # we don't have intersphinx mapping for trimesh (r"py:.*", r"trimesh.*"), # we don't have intersphinx mapping for trimesh
] ]
# emoji style
sphinxemoji_style = "twemoji" # options: "twemoji" or "unicode"
# put type hints inside the signature instead of the description (easier to maintain) # put type hints inside the signature instead of the description (easier to maintain)
autodoc_typehints = "signature" autodoc_typehints = "signature"
# autodoc_typehints_format = "fully-qualified" # autodoc_typehints_format = "fully-qualified"
......
...@@ -8,7 +8,7 @@ In some cases, it is possible that asset loading times can be long when assets a ...@@ -8,7 +8,7 @@ In some cases, it is possible that asset loading times can be long when assets a
If you run into cases where assets take a few minutes to load for each run, If you run into cases where assets take a few minutes to load for each run,
we recommend enabling asset caching following the below steps. we recommend enabling asset caching following the below steps.
First, launch the Isaac Sim app: First, launch the Isaac Sim application:
.. tab-set:: .. tab-set::
:sync-group: os :sync-group: os
...@@ -27,25 +27,32 @@ First, launch the Isaac Sim app: ...@@ -27,25 +27,32 @@ First, launch the Isaac Sim app:
isaaclab.bat -s isaaclab.bat -s
On the top right of the Isaac Sim app, there will be an icon labelled ``CACHE:``. On the top right of the Isaac Lab or Isaac Sim app, look for the icon labeled ``CACHE:``.
There may be a message indicating ``HUB NOT DETECTED`` or ``NEW VERSION DETECTED``. You may see a message such as ``HUB NOT DETECTED`` or ``NEW VERSION DETECTED``.
Click the message to enable `Hub <https://docs.omniverse.nvidia.com/utilities/latest/cache/hub-workstation.html>`_.
Hub automatically manages local caching for Isaac Lab assets, so subsequent runs will use cached files instead of
downloading from AWS each time.
.. figure:: ../../_static/setup/asset_caching.jpg .. figure:: ../../_static/setup/asset_caching.jpg
:align: center :align: center
:figwidth: 100% :figwidth: 100%
:alt: Simulator with cache messaging. :alt: Simulator with cache messaging.
Click on the message, which will enable `Hub <https://docs.omniverse.nvidia.com/utilities/latest/cache/hub-workstation.html>`_ Hub provides better control and management of cached assets, making workflows faster and more reliable, especially
for asset caching. Once enabled, Hub will run automatically each time an Isaac Lab or Isaac Sim instance is run. in environments with limited or intermittent internet access.
Note that for the first run, assets will still need to be pulled from the cloud, which could lead to longer loading times. .. note::
However, subsequent runs that use the same assets will be able to use the cached files from Hub. The first time you run Isaac Lab, assets will still need to be pulled from the cloud, which could lead
Hub will provide better control for caching of assets used in Isaac Lab. to longer loading times. Once cached, loading times will be significantly reduced on subsequent runs.
Nucleus Nucleus
------- -------
Prior to Isaac Sim 4.5, assets were accessible from the Omniverse Nucleus server and through setting up a local Nucleus server.
Although from Isaac Sim 4.5, we have deprecated the use of Omniverse Nucleus and the Omniverse Launcher, any existing instances Before Isaac Sim 4.5, assets were accessed via the Omniverse Nucleus server, including setups with local Nucleus instances.
or setups of local Nucleus instances should still work. We recommend keeping existing setups if a local Nucleus server
was previously already set up. .. warning::
Starting with Isaac Sim 4.5, the Omniverse Nucleus server and Omniverse Launcher are deprecated.
Existing Nucleus setups will continue to work, so if you have a local Nucleus server already configured,
you may continue to use it.
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
Installation using Isaac Sim Binaries Installation using Isaac Sim Binaries
===================================== =====================================
Isaac Lab requires Isaac Sim. This tutorial installs Isaac Sim first from binaries, then Isaac Lab from source code. Isaac Lab requires Isaac Sim. This tutorial installs Isaac Sim first from its binaries, then Isaac Lab from source code.
Installing Isaac Sim Installing Isaac Sim
-------------------- --------------------
...@@ -15,7 +15,8 @@ Please follow the Isaac Sim ...@@ -15,7 +15,8 @@ Please follow the Isaac Sim
`documentation <https://docs.isaacsim.omniverse.nvidia.com/latest/installation/install_workstation.html>`__ `documentation <https://docs.isaacsim.omniverse.nvidia.com/latest/installation/install_workstation.html>`__
to install the latest Isaac Sim release. to install the latest Isaac Sim release.
From Isaac Sim 4.5 release, Isaac Sim binaries can be `downloaded <https://docs.isaacsim.omniverse.nvidia.com/latest/installation/download.html#download-isaac-sim-short>`_ directly as a zip file. From Isaac Sim 4.5 release, Isaac Sim binaries can be `downloaded <https://docs.isaacsim.omniverse.nvidia.com/latest/installation/download.html#download-isaac-sim-short>`_
directly as a zip file.
To check the minimum system requirements, refer to the documentation To check the minimum system requirements, refer to the documentation
`here <https://docs.isaacsim.omniverse.nvidia.com/latest/installation/requirements.html>`__. `here <https://docs.isaacsim.omniverse.nvidia.com/latest/installation/requirements.html>`__.
...@@ -485,7 +486,7 @@ and ``source _isaac_sim/setup_conda_env.sh`` has been executed (for uv as well). ...@@ -485,7 +486,7 @@ and ``source _isaac_sim/setup_conda_env.sh`` has been executed (for uv as well).
Train a robot! Train a robot!
~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
You can now use Isaac Lab to train a robot through Reinforcement Learning! The quickest way to use Isaac Lab is through the predefined workflows using one of our **Batteries-included** robot tasks. Execute the following command to quickly train an ant to walk! You can now use Isaac Lab to train a robot through Reinforcement Learning! The quickest way to use Isaac Lab is through the predefined workflows using one of our **Batteries-included** robot tasks. Execute the following command to quickly train an ant to walk!
We recommend adding ``--headless`` for faster training. We recommend adding ``--headless`` for faster training.
......
...@@ -19,6 +19,11 @@ Local Installation ...@@ -19,6 +19,11 @@ Local Installation
:target: https://www.microsoft.com/en-ca/windows/windows-11 :target: https://www.microsoft.com/en-ca/windows/windows-11
:alt: Windows 11 :alt: Windows 11
Isaac Lab installation is available for Windows and Linux. Since it is built on top of Isaac Sim,
it is required to install Isaac Sim before installing Isaac Lab. This guide explains the
recommended installation methods for both Isaac Sim and Isaac Lab.
.. caution:: .. caution::
We have dropped support for Isaac Sim versions 4.2.0 and below. We recommend using the latest We have dropped support for Isaac Sim versions 4.2.0 and below. We recommend using the latest
...@@ -27,44 +32,121 @@ Local Installation ...@@ -27,44 +32,121 @@ Local Installation
For more information, please refer to the For more information, please refer to the
`Isaac Sim release notes <https://docs.isaacsim.omniverse.nvidia.com/latest/overview/release_notes.html#>`__. `Isaac Sim release notes <https://docs.isaacsim.omniverse.nvidia.com/latest/overview/release_notes.html#>`__.
.. note::
We recommend system requirements with at least 32GB RAM and 16GB VRAM for Isaac Lab. System Requirements
For workflows with rendering enabled, additional VRAM may be required. -------------------
For the full list of system requirements for Isaac Sim, please refer to the
`Isaac Sim system requirements <https://docs.isaacsim.omniverse.nvidia.com/latest/installation/requirements.html#system-requirements>`_. General Requirements
~~~~~~~~~~~~~~~~~~~~
- **RAM:** 32 GB or more
- **GPU VRAM:** 16 GB or more (additional VRAM may be required for rendering workflows)
- **OS:** Ubuntu 22.04 (Linux x64) or Windows 11 (x64)
For detailed requirements, see the
`Isaac Sim system requirements <https://docs.isaacsim.omniverse.nvidia.com/latest/installation/requirements.html#system-requirements>`_.
Driver Requirements
~~~~~~~~~~~~~~~~~~~
Drivers other than those recommended on `Omniverse Technical Requirements <https://docs.omniverse.nvidia.com/materials-and-rendering/latest/common/technical-requirements.html>`_
may work but have not been validated against all Omniverse tests.
- Use the **latest NVIDIA production branch driver**.
- On Linux, version ``535.216.01`` or later is recommended, especially when upgrading to
**Ubuntu 22.04.5 with kernel 6.8.0-48-generic** or newer.
- If you are using a new GPU or encounter driver issues, install the latest production branch
driver from the `Unix Driver Archive <https://www.nvidia.com/en-us/drivers/unix/>`_
using the ``.run`` installer.
Troubleshooting
~~~~~~~~~~~~~~~
Please refer to the `Linux Troubleshooting <https://docs.omniverse.nvidia.com/dev-guide/latest/linux-troubleshooting.html>`_
to resolve installation issues in Linux.
Quick Start (Recommended)
-------------------------
For most users, the simplest and fastest way to install Isaac Lab is by following the
:doc:`pip_installation` guide.
This method will install Isaac Sim via pip and Isaac Lab through its source code.
If you are new to Isaac Lab, start here.
Choosing an Installation Method
-------------------------------
Different workflows require different installation methods.
Use this table to decide:
+-------------------+------------------------------+------------------------------+---------------------------+------------+
| Method | Isaac Sim | Isaac Lab | Best For | Difficulty |
+===================+==============================+==============================+===========================+============+
| **Recommended** | |:package:| pip install | |:floppy_disk:| source (git) | Beginners, standard use | Easy |
+-------------------+------------------------------+------------------------------+---------------------------+------------+
| Binary + Source | |:inbox_tray:| binary | |:floppy_disk:| source (git) | Users preferring binary | Easy |
| | download | | install of Isaac Sim | |
+-------------------+------------------------------+------------------------------+---------------------------+------------+
| Full Source Build | |:floppy_disk:| source (git) | |:floppy_disk:| source (git) | Developers modifying both | Advanced |
+-------------------+------------------------------+------------------------------+---------------------------+------------+
| Pip Only | |:package:| pip install | |:package:| pip install | External extensions only | Special |
| | | | (no training/examples) | case |
+-------------------+------------------------------+------------------------------+---------------------------+------------+
Next Steps
----------
Once you've reviewed the installation methods, continue with the guide that matches your workflow:
- |:smiley:| :doc:`pip_installation`
- Install Isaac Sim via pip and Isaac Lab from source.
- Best for beginners and most users.
- :doc:`binaries_installation`
- Install Isaac Sim from its binary package (website download).
- Install Isaac Lab from its source code.
- Choose this if you prefer not to use pip for Isaac Sim (for instance, on Ubuntu 20.04).
For details on driver requirements, please see the `Technical Requirements <https://docs.omniverse.nvidia.com/materials-and-rendering/latest/common/technical-requirements.html>`_ guide - :doc:`source_installation`
* See `Linux Troubleshooting <https://docs.omniverse.nvidia.com/dev-guide/latest/linux-troubleshooting.html>`_ to resolve driver installation issues in linux - Build Isaac Sim from source.
* If you are on a new GPU or are experiencing issues with the current drivers, we recommend installing the **latest production branch version** drivers from the `Unix Driver Archive <https://www.nvidia.com/en-us/drivers/unix/>`_ using the ``.run`` installer on Linux. - Install Isaac Lab from its source code.
* NVIDIA driver version ``535.216.01`` or later is recommended when upgrading to **Ubuntu 22.04.5 kernel 6.8.0-48-generic** or later - Recommended only if you plan to modify Isaac Sim itself.
- :doc:`isaaclab_pip_installation`
Isaac Lab is built on top of the Isaac Sim platform. Therefore, it is required to first install Isaac Sim - Install Isaac Sim and Isaac Lab as pip packages.
before using Isaac Lab. - Best for advanced users building **external extensions** with custom runner scripts.
- Note: This does **not** include training or example scripts.
Both Isaac Sim and Isaac Lab provide two ways of installation:
either through binary download/source file, or through Python's package installer ``pip``.
The method of installation may depend on the use case and the level of customization desired from users. Asset Caching
For example, installing Isaac Sim from pip will be a simpler process than installing it from binaries, -------------
but the source code will then only be accessible through the installed source package and not through the direct binary download.
Similarly, installing Isaac Lab through pip is only recommended for workflows that use external launch scripts outside of Isaac Lab. Isaac Lab assets are hosted on **AWS S3 cloud storage**. Loading times can vary
The Isaac Lab pip packages only provide the core framework extensions for Isaac Lab and does not include any of the depending on your **network connection** and **geographical location**, and in some cases,
standalone training, inferencing, and example scripts. Therefore, this workflow is recommended for projects that are assets may take several minutes to load for each run. To improve performance or support
built as external extensions outside of Isaac Lab, which utilizes user-defined runner scripts. **offline workflows**, we recommend enabling **asset caching**.
We recommend using Isaac Sim pip installation for a simplified installation experience. - Cached assets are stored locally, reducing repeated downloads.
- This is especially useful if you have a slow or intermittent internet connection,
or if your deployment environment is offline.
For users getting started with Isaac Lab, we recommend installing Isaac Lab by cloning the repo. Please follow the steps :doc:`asset_caching` to enable asset caching and speed up your workflow.
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
:hidden:
Pip installation (recommended) <pip_installation> pip_installation
Binary installation <binaries_installation> binaries_installation
Advanced installation (Isaac Lab pip) <isaaclab_pip_installation> source_installation
Asset caching <asset_caching> isaaclab_pip_installation
asset_caching
...@@ -187,14 +187,17 @@ To run a user-defined script for Isaac Lab, simply run ...@@ -187,14 +187,17 @@ To run a user-defined script for Isaac Lab, simply run
Generating VS Code Settings Generating VS Code Settings
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Due to the structure resulting from the installation, VS Code IntelliSense (code completion, parameter info and member lists, etc.) will not work by default. Due to the structure resulting from the installation, VS Code IntelliSense (code completion, parameter info
To set it up (define the search paths for import resolution, the path to the default Python interpreter, and other settings), for a given workspace folder, run the following command: and member lists, etc.) will not work by default. To set it up (define the search paths for import resolution,
the path to the default Python interpreter, and other settings), for a given workspace folder,
run the following command:
.. code-block:: bash .. code-block:: bash
python -m isaaclab --generate-vscode-settings python -m isaaclab --generate-vscode-settings
.. warning::
The command will generate a ``.vscode/settings.json`` file in the workspace folder. .. warning::
If the file already exists, it will be overwritten (a confirmation prompt will be shown first).
The command will generate a ``.vscode/settings.json`` file in the workspace folder.
If the file already exists, it will be overwritten (a confirmation prompt will be shown first).
.. _isaaclab-pip-installation: .. _isaaclab-pip-installation:
Installation using Isaac Sim pip Installation using Isaac Sim Pip
================================ ================================
Isaac Lab requires Isaac Sim. This tutorial first installs Isaac Sim from pip, then Isaac Lab from source code. Isaac Lab requires Isaac Sim. This tutorial first installs Isaac Sim from pip, then Isaac Lab from source code.
...@@ -371,7 +371,7 @@ On Windows machines, please terminate the process from Command Prompt using ...@@ -371,7 +371,7 @@ On Windows machines, please terminate the process from Command Prompt using
If you see this, then the installation was successful! |:tada:| If you see this, then the installation was successful! |:tada:|
Train a robot! Train a robot!
~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
You can now use Isaac Lab to train a robot through Reinforcement Learning! The quickest way to use Isaac Lab is through the predefined workflows using one of our **Batteries-included** robot tasks. Execute the following command to quickly train an ant to walk! You can now use Isaac Lab to train a robot through Reinforcement Learning! The quickest way to use Isaac Lab is through the predefined workflows using one of our **Batteries-included** robot tasks. Execute the following command to quickly train an ant to walk!
We recommend adding ``--headless`` for faster training. We recommend adding ``--headless`` for faster training.
......
.. _isaaclab-source-installation:
Installation using Isaac Sim Source
===================================
Isaac Lab requires Isaac Sim. This tutorial first installs Isaac Sim from source, then Isaac Lab from source code.
.. note::
This is a more advanced installation method and is not recommended for most users. Only follow this method
if you wish to modify the source code of Isaac Sim as well.
Installing Isaac Sim
--------------------
From Isaac Sim 5.0 release, it is possible to build Isaac Sim from its source code.
This approach is meant for users who wish to modify the source code of Isaac Sim as well,
or want to test Isaac Lab with the nightly version of Isaac Sim.
The following instructions are adapted from the `Isaac Sim documentation <https://github.com/isaac-sim/IsaacSim?tab=readme-ov-file#quick-start>`_
for the convenience of users.
.. attention::
Building Isaac Sim from source requires Ubuntu 22.04 LTS or higher.
.. attention::
For details on driver requirements, please see the `Technical Requirements <https://docs.omniverse.nvidia.com/materials-and-rendering/latest/common/technical-requirements.html>`_ guide!
On Windows, it may be necessary to `enable long path support <https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later>`_ to avoid installation errors due to OS limitations.
- Clone the Isaac Sim repository into your workspace:
.. code:: bash
git clone https://github.com/isaac-sim/IsaacSim.git
- Build Isaac Sim from source:
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
cd IsaacSim
./build.sh
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: bash
cd IsaacSim
build.bat
Verifying the Isaac Sim installation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To avoid the overhead of finding and locating the Isaac Sim installation
directory every time, we recommend exporting the following environment
variables to your terminal for the remaining of the installation instructions:
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
# Isaac Sim root directory
export ISAACSIM_PATH="${pwd}/_build/linux-x86_64/release"
# Isaac Sim python executable
export ISAACSIM_PYTHON_EXE="${ISAACSIM_PATH}/python.sh"
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: batch
:: Isaac Sim root directory
set ISAACSIM_PATH="%cd%\_build\windows-x86_64\release"
:: Isaac Sim python executable
set ISAACSIM_PYTHON_EXE="%ISAACSIM_PATH:"=%\python.bat"
- Check that the simulator runs as expected:
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
# note: you can pass the argument "--help" to see all arguments possible.
${ISAACSIM_PATH}/isaac-sim.sh
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: batch
:: note: you can pass the argument "--help" to see all arguments possible.
%ISAACSIM_PATH%\isaac-sim.bat
- Check that the simulator runs from a standalone python script:
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
# checks that python path is set correctly
${ISAACSIM_PYTHON_EXE} -c "print('Isaac Sim configuration is now complete.')"
# checks that Isaac Sim can be launched from python
${ISAACSIM_PYTHON_EXE} ${ISAACSIM_PATH}/standalone_examples/api/isaacsim.core.api/add_cubes.py
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: batch
:: checks that python path is set correctly
%ISAACSIM_PYTHON_EXE% -c "print('Isaac Sim configuration is now complete.')"
:: checks that Isaac Sim can be launched from python
%ISAACSIM_PYTHON_EXE% %ISAACSIM_PATH%\standalone_examples\api\isaacsim.core.api\add_cubes.py
.. caution::
If you have been using a previous version of Isaac Sim, you need to run the following command for the *first*
time after installation to remove all the old user data and cached variables:
.. tab-set::
.. tab-item:: :icon:`fa-brands fa-linux` Linux
.. code:: bash
${ISAACSIM_PATH}/isaac-sim.sh --reset-user
.. tab-item:: :icon:`fa-brands fa-windows` Windows
.. code:: batch
%ISAACSIM_PATH%\isaac-sim.bat --reset-user
If the simulator does not run or crashes while following the above
instructions, it means that something is incorrectly configured. To
debug and troubleshoot, please check Isaac Sim
`documentation <https://docs.omniverse.nvidia.com/dev-guide/latest/linux-troubleshooting.html>`__
and the
`forums <https://docs.isaacsim.omniverse.nvidia.com/latest/isaac_sim_forums.html>`__.
Installing Isaac Lab
--------------------
Cloning Isaac Lab
~~~~~~~~~~~~~~~~~
.. note::
We recommend making a `fork <https://github.com/isaac-sim/IsaacLab/fork>`_ of the Isaac Lab repository to contribute
to the project but this is not mandatory to use the framework. If you
make a fork, please replace ``isaac-sim`` with your username
in the following instructions.
Clone the Isaac Lab repository into your **workspace**. Please note that the location of the Isaac Lab repository
should be outside of the Isaac Sim repository. For example, if you cloned Isaac Sim into ``~/IsaacSim``,
then you should clone Isaac Lab into ``~/IsaacLab``.
.. tab-set::
.. tab-item:: SSH
.. code:: bash
git clone git@github.com:isaac-sim/IsaacLab.git
.. tab-item:: HTTPS
.. code:: bash
git clone https://github.com/isaac-sim/IsaacLab.git
.. note::
We provide a helper executable `isaaclab.sh <https://github.com/isaac-sim/IsaacLab/blob/main/isaaclab.sh>`_ that provides
utilities to manage extensions:
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: text
./isaaclab.sh --help
usage: isaaclab.sh [-h] [-i] [-f] [-p] [-s] [-t] [-o] [-v] [-d] [-n] [-c] -- Utility to manage Isaac Lab.
optional arguments:
-h, --help Display the help content.
-i, --install [LIB] Install the extensions inside Isaac Lab and learning frameworks (rl_games, rsl_rl, sb3, skrl) as extra dependencies. Default is 'all'.
-f, --format Run pre-commit to format the code and check lints.
-p, --python Run the python executable provided by Isaac Sim or virtual environment (if active).
-s, --sim Run the simulator executable (isaac-sim.sh) provided by Isaac Sim.
-t, --test Run all python pytest tests.
-o, --docker Run the docker container helper script (docker/container.sh).
-v, --vscode Generate the VSCode settings file from template.
-d, --docs Build the documentation from source using sphinx.
-n, --new Create a new external project or internal task from template.
-c, --conda [NAME] Create the conda environment for Isaac Lab. Default name is 'env_isaaclab'.
-u, --uv [NAME] Create the uv environment for Isaac Lab. Default name is 'env_isaaclab'.
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: text
isaaclab.bat --help
usage: isaaclab.bat [-h] [-i] [-f] [-p] [-s] [-v] [-d] [-n] [-c] -- Utility to manage Isaac Lab.
optional arguments:
-h, --help Display the help content.
-i, --install [LIB] Install the extensions inside Isaac Lab and learning frameworks (rl_games, rsl_rl, sb3, skrl) as extra dependencies. Default is 'all'.
-f, --format Run pre-commit to format the code and check lints.
-p, --python Run the python executable provided by Isaac Sim or virtual environment (if active).
-s, --sim Run the simulator executable (isaac-sim.bat) provided by Isaac Sim.
-t, --test Run all python pytest tests.
-v, --vscode Generate the VSCode settings file from template.
-d, --docs Build the documentation from source using sphinx.
-n, --new Create a new external project or internal task from template.
-c, --conda [NAME] Create the conda environment for Isaac Lab. Default name is 'env_isaaclab'.
-u, --uv [NAME] Create the uv environment for Isaac Lab. Default name is 'env_isaaclab'.
Creating the Isaac Sim Symbolic Link
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set up a symbolic link between the installed Isaac Sim root folder
and ``_isaac_sim`` in the Isaac Lab directory. This makes it convenient
to index the python modules and look for extensions shipped with Isaac Sim.
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
# enter the cloned repository
cd IsaacLab
# create a symbolic link
ln -s ${ISAACSIM_PATH} _isaac_sim
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: batch
:: enter the cloned repository
cd IsaacLab
:: create a symbolic link - requires launching Command Prompt with Administrator access
mklink /D _isaac_sim ${ISAACSIM_PATH}
Setting up the uv environment (optional)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. attention::
This step is optional. If you are using the bundled python with Isaac Sim, you can skip this step.
The executable ``isaaclab.sh`` automatically fetches the python bundled with Isaac
Sim, using ``./isaaclab.sh -p`` command (unless inside a virtual environment). This executable
behaves like a python executable, and can be used to run any python script or
module with the simulator. For more information, please refer to the
`documentation <https://docs.isaacsim.omniverse.nvidia.com/latest/python_scripting/manual_standalone_python.html>`__.
To install ``uv``, please follow the instructions `here <https://docs.astral.sh/uv/getting-started/installation/>`__.
You can create the Isaac Lab environment using the following commands.
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
# Option 1: Default name for uv environment is 'env_isaaclab'
./isaaclab.sh --uv # or "./isaaclab.sh -u"
# Option 2: Custom name for uv environment
./isaaclab.sh --uv my_env # or "./isaaclab.sh -u my_env"
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: batch
:: Option 1: Default name for uv environment is 'env_isaaclab'
isaaclab.bat --uv :: or "isaaclab.bat -u"
:: Option 2: Custom name for uv environment
isaaclab.bat --uv my_env :: or "isaaclab.bat -u my_env"
Once created, be sure to activate the environment before proceeding!
.. code:: bash
source ./env_isaaclab/bin/activate # or "source ./my_env/bin/activate"
Once you are in the virtual environment, you do not need to use ``./isaaclab.sh -p`` / ``isaaclab.bat -p``
to run python scripts. You can use the default python executable in your environment
by running ``python`` or ``python3``. However, for the rest of the documentation,
we will assume that you are using ``./isaaclab.sh -p`` / ``isaaclab.bat -p`` to run python scripts. This command
is equivalent to running ``python`` or ``python3`` in your virtual environment.
Setting up the conda environment (optional)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. attention::
This step is optional. If you are using the bundled python with Isaac Sim, you can skip this step.
.. note::
If you use Conda, we recommend using `Miniconda <https://docs.anaconda.com/miniconda/miniconda-other-installer-links/>`_.
The executable ``isaaclab.sh`` automatically fetches the python bundled with Isaac
Sim, using ``./isaaclab.sh -p`` command (unless inside a virtual environment). This executable
behaves like a python executable, and can be used to run any python script or
module with the simulator. For more information, please refer to the
`documentation <https://docs.isaacsim.omniverse.nvidia.com/latest/python_scripting/manual_standalone_python.html>`__.
To install ``conda``, please follow the instructions `here <https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html>`__.
You can create the Isaac Lab environment using the following commands.
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
# Option 1: Default name for conda environment is 'env_isaaclab'
./isaaclab.sh --conda # or "./isaaclab.sh -c"
# Option 2: Custom name for conda environment
./isaaclab.sh --conda my_env # or "./isaaclab.sh -c my_env"
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: batch
:: Option 1: Default name for conda environment is 'env_isaaclab'
isaaclab.bat --conda :: or "isaaclab.bat -c"
:: Option 2: Custom name for conda environment
isaaclab.bat --conda my_env :: or "isaaclab.bat -c my_env"
Once created, be sure to activate the environment before proceeding!
.. code:: bash
conda activate env_isaaclab # or "conda activate my_env"
Once you are in the virtual environment, you do not need to use ``./isaaclab.sh -p`` / ``isaaclab.bat -p``
to run python scripts. You can use the default python executable in your environment
by running ``python`` or ``python3``. However, for the rest of the documentation,
we will assume that you are using ``./isaaclab.sh -p`` / ``isaaclab.bat -p`` to run python scripts. This command
is equivalent to running ``python`` or ``python3`` in your virtual environment.
Installation
~~~~~~~~~~~~
- Install dependencies using ``apt`` (on Ubuntu):
.. code:: bash
sudo apt install cmake build-essential
- Run the install command that iterates over all the extensions in ``source`` directory and installs them
using pip (with ``--editable`` flag):
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
./isaaclab.sh --install # or "./isaaclab.sh -i"
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: bash
isaaclab.bat --install :: or "isaaclab.bat -i"
.. note::
By default, this will install all the learning frameworks. If you want to install only a specific framework, you can
pass the name of the framework as an argument. For example, to install only the ``rl_games`` framework, you can run
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
./isaaclab.sh --install rl_games # or "./isaaclab.sh -i rl_games"
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: bash
isaaclab.bat --install rl_games :: or "isaaclab.bat -i rl_games"
The valid options are ``rl_games``, ``rsl_rl``, ``sb3``, ``skrl``, ``robomimic``, ``none``.
Verifying the Isaac Lab installation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To verify that the installation was successful, run the following command from the
top of the repository:
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
# Option 1: Using the isaaclab.sh executable
# note: this works for both the bundled python and the virtual environment
./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py
# Option 2: Using python in your virtual environment
python scripts/tutorials/00_sim/create_empty.py
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: batch
:: Option 1: Using the isaaclab.bat executable
:: note: this works for both the bundled python and the virtual environment
isaaclab.bat -p scripts\tutorials\00_sim\create_empty.py
:: Option 2: Using python in your virtual environment
python scripts\tutorials\00_sim\create_empty.py
The above command should launch the simulator and display a window with a black
viewport as shown below. You can exit the script by pressing ``Ctrl+C`` on your terminal.
On Windows machines, please terminate the process from Command Prompt using
``Ctrl+Break`` or ``Ctrl+fn+B``.
.. figure:: ../../_static/setup/verify_install.jpg
:align: center
:figwidth: 100%
:alt: Simulator with a black window.
If you see this, then the installation was successful! |:tada:|
Train a robot!
~~~~~~~~~~~~~~
You can now use Isaac Lab to train a robot through Reinforcement Learning! The quickest way to use Isaac Lab is through the predefined workflows using one of our **Batteries-included** robot tasks. Execute the following command to quickly train an ant to walk!
We recommend adding ``--headless`` for faster training.
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0 --headless
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: batch
isaaclab.bat -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0 --headless
... Or a robot dog!
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Velocity-Rough-Anymal-C-v0 --headless
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: batch
isaaclab.bat -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Velocity-Rough-Anymal-C-v0 --headless
Isaac Lab provides the tools you'll need to create your own **Tasks** and **Workflows** for whatever your project needs may be. Take a look at our :ref:`how-to` guides like `Adding your own learning Library <source/how-to/add_own_library>`_ or `Wrapping Environments <source/how-to/wrap_rl_env>`_ for details.
.. figure:: ../../_static/setup/isaac_ants_example.jpg
:align: center
:figwidth: 100%
:alt: Idle hands...
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment