Commit b68cbe2f authored by Kelly Guo's avatar Kelly Guo Committed by Kelly Guo

Updates to Isaac Sim 5.0 (#379)

Changes required for updating to be compatible with Isaac Sim 5.0 and
Kit 107.3. Notable changes include:
- Python version updated to 3.11, which means we need special support
for rl-games since it does not include python 3.11 support out of the
box. Additionally, rl-games has not updated torch.load with weights_only
flag required since torch 2.6.
- Updates pytorch to 2.7 for Blackwell support. We now uninstall the
torch build that comes with isaac sim as part of the isaacsim.sh/bat
script and forces an install of torch 2.7 with torchvision
- Removal of deprecated flags in kit that no longer exist -
improve_path_friction and SETTING_BACKWARD_COMPATIBILITY
- Some tests are still timing out / failing - there seems to be an issue
with the first load of assets that's causing checks like
`stage.ResolveIdentifierToEditTarget(usd_path)` and `is_prim_path_valid`
to take up to a minute.

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- This change requires a documentation update

- [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
- [x] 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

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->

---------
Signed-off-by: 's avatarrwiltz <165190220+rwiltz@users.noreply.github.com>
Signed-off-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
Signed-off-by: 's avatarAshwin Varghese Kuruttukulam <123109010+ashwinvkNV@users.noreply.github.com>
Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
Signed-off-by: 's avatarMichael Gussert <michael@gussert.com>
Co-authored-by: 's avatarjaczhangnv <jaczhang@nvidia.com>
Co-authored-by: 's avatarrwiltz <165190220+rwiltz@users.noreply.github.com>
Co-authored-by: 's avatarYanzi Zhu <yanziz@nvidia.com>
Co-authored-by: 's avatarnv-mhaselton <mhaselton@nvidia.com>
Co-authored-by: 's avatarcosmith-nvidia <141183495+cosmith-nvidia@users.noreply.github.com>
Co-authored-by: 's avatarMichael Gussert <michael@gussert.com>
Co-authored-by: 's avatarCY Chen <cyc@nvidia.com>
Co-authored-by: 's avataroahmednv <oahmed@Nvidia.com>
Co-authored-by: 's avatarAshwin Varghese Kuruttukulam <123109010+ashwinvkNV@users.noreply.github.com>
Co-authored-by: 's avatarRafael Wiltz <rwiltz@nvidia.com>
Co-authored-by: 's avatarPeter Du <peterd@nvidia.com>
Co-authored-by: 's avatarmatthewtrepte <mtrepte@nvidia.com>
Co-authored-by: 's avatarchengronglai <chengrongl@nvidia.com>
Co-authored-by: 's avatarpulkitg01 <pulkitg@nvidia.com>
Co-authored-by: 's avatarConnor Smith <cosmith@nvidia.com>
Co-authored-by: 's avatarAshwin Varghese Kuruttukulam <ashwinvk@nvidia.com>
parent 85a4d317
...@@ -38,7 +38,7 @@ jobs: ...@@ -38,7 +38,7 @@ jobs:
- name: Setup python - name: Setup python
uses: actions/setup-python@v2 uses: actions/setup-python@v2
with: with:
python-version: "3.10" python-version: "3.11"
architecture: x64 architecture: x64
- name: Install dev requirements - name: Install dev requirements
......
...@@ -10,7 +10,7 @@ repos: ...@@ -10,7 +10,7 @@ repos:
- id: flake8 - id: flake8
additional_dependencies: [flake8-simplify, flake8-return] additional_dependencies: [flake8-simplify, flake8-return]
- repo: https://github.com/pre-commit/pre-commit-hooks - repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0 rev: v5.0.0
hooks: hooks:
- id: trailing-whitespace - id: trailing-whitespace
- id: check-symlinks - id: check-symlinks
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
# Isaac Lab # Isaac Lab
[![IsaacSim](https://img.shields.io/badge/IsaacSim-4.5.0-silver.svg)](https://docs.isaacsim.omniverse.nvidia.com/latest/index.html) [![IsaacSim](https://img.shields.io/badge/IsaacSim-5.0.0-silver.svg)](https://docs.isaacsim.omniverse.nvidia.com/latest/index.html)
[![Python](https://img.shields.io/badge/python-3.10-blue.svg)](https://docs.python.org/3/whatsnew/3.10.html) [![Python](https://img.shields.io/badge/python-3.11-blue.svg)](https://docs.python.org/3/whatsnew/3.11.html)
[![Linux platform](https://img.shields.io/badge/platform-linux--64-orange.svg)](https://releases.ubuntu.com/20.04/) [![Linux platform](https://img.shields.io/badge/platform-linux--64-orange.svg)](https://releases.ubuntu.com/20.04/)
[![Windows platform](https://img.shields.io/badge/platform-windows--64-orange.svg)](https://www.microsoft.com/en-us/) [![Windows platform](https://img.shields.io/badge/platform-windows--64-orange.svg)](https://www.microsoft.com/en-us/)
[![pre-commit](https://img.shields.io/github/actions/workflow/status/isaac-sim/IsaacLab/pre-commit.yaml?logo=pre-commit&logoColor=white&label=pre-commit&color=brightgreen)](https://github.com/isaac-sim/IsaacLab/actions/workflows/pre-commit.yaml) [![pre-commit](https://img.shields.io/github/actions/workflow/status/isaac-sim/IsaacLab/pre-commit.yaml?logo=pre-commit&logoColor=white&label=pre-commit&color=brightgreen)](https://github.com/isaac-sim/IsaacLab/actions/workflows/pre-commit.yaml)
......
...@@ -15,7 +15,7 @@ keywords = ["experience", "app", "isaaclab", "python", "headless"] ...@@ -15,7 +15,7 @@ keywords = ["experience", "app", "isaaclab", "python", "headless"]
app.versionFile = "${exe-path}/VERSION" app.versionFile = "${exe-path}/VERSION"
app.folder = "${exe-path}/" app.folder = "${exe-path}/"
app.name = "Isaac-Sim" app.name = "Isaac-Sim"
app.version = "4.5.0" app.version = "5.0.0"
################################## ##################################
# Omniverse related dependencies # # Omniverse related dependencies #
...@@ -28,6 +28,8 @@ app.version = "4.5.0" ...@@ -28,6 +28,8 @@ app.version = "4.5.0"
"usdrt.scenegraph" = {} "usdrt.scenegraph" = {}
"omni.kit.telemetry" = {} "omni.kit.telemetry" = {}
"omni.kit.loop" = {} "omni.kit.loop" = {}
# this is needed to create physics material through CreatePreviewSurfaceMaterialPrim
"omni.kit.usd.mdl" = {}
[settings] [settings]
app.content.emptyStageOnStart = false app.content.emptyStageOnStart = false
......
...@@ -32,7 +32,7 @@ cameras_enabled = true ...@@ -32,7 +32,7 @@ cameras_enabled = true
app.versionFile = "${exe-path}/VERSION" app.versionFile = "${exe-path}/VERSION"
app.folder = "${exe-path}/" app.folder = "${exe-path}/"
app.name = "Isaac-Sim" app.name = "Isaac-Sim"
app.version = "4.5.0" app.version = "5.0.0"
# Disable print outs on extension startup information # Disable print outs on extension startup information
# this only disables the app print_and_log function # this only disables the app print_and_log function
......
...@@ -57,7 +57,6 @@ keywords = ["experience", "app", "usd"] ...@@ -57,7 +57,6 @@ keywords = ["experience", "app", "usd"]
"omni.graph.ui_nodes" = {} "omni.graph.ui_nodes" = {}
"omni.hydra.engine.stats" = {} "omni.hydra.engine.stats" = {}
"omni.hydra.rtx" = {} "omni.hydra.rtx" = {}
"omni.kit.loop" = {}
"omni.kit.mainwindow" = {} "omni.kit.mainwindow" = {}
"omni.kit.manipulator.camera" = {} "omni.kit.manipulator.camera" = {}
"omni.kit.manipulator.prim" = {} "omni.kit.manipulator.prim" = {}
...@@ -65,15 +64,12 @@ keywords = ["experience", "app", "usd"] ...@@ -65,15 +64,12 @@ keywords = ["experience", "app", "usd"]
"omni.kit.material.library" = {} "omni.kit.material.library" = {}
"omni.kit.menu.common" = { order = 1000 } "omni.kit.menu.common" = { order = 1000 }
"omni.kit.menu.create" = {} "omni.kit.menu.create" = {}
"omni.kit.menu.edit" = {}
"omni.kit.menu.file" = {}
"omni.kit.menu.stage" = {} "omni.kit.menu.stage" = {}
"omni.kit.menu.utils" = {} "omni.kit.menu.utils" = {}
"omni.kit.primitive.mesh" = {} "omni.kit.primitive.mesh" = {}
"omni.kit.property.bundle" = {} "omni.kit.property.bundle" = {}
"omni.kit.raycast.query" = {} "omni.kit.raycast.query" = {}
"omni.kit.stage_template.core" = {} "omni.kit.stage_template.core" = {}
"omni.kit.stagerecorder.bundle" = {}
"omni.kit.telemetry" = {} "omni.kit.telemetry" = {}
"omni.kit.tool.asset_importer" = {} "omni.kit.tool.asset_importer" = {}
"omni.kit.tool.collect" = {} "omni.kit.tool.collect" = {}
...@@ -161,7 +157,7 @@ show_menu_titles = true ...@@ -161,7 +157,7 @@ show_menu_titles = true
[settings.app] [settings.app]
name = "Isaac-Sim" name = "Isaac-Sim"
version = "4.5.0" version = "5.0.0"
versionFile = "${exe-path}/VERSION" versionFile = "${exe-path}/VERSION"
content.emptyStageOnStart = true content.emptyStageOnStart = true
fastShutdown = true fastShutdown = true
......
...@@ -33,7 +33,7 @@ cameras_enabled = true ...@@ -33,7 +33,7 @@ cameras_enabled = true
app.versionFile = "${exe-path}/VERSION" app.versionFile = "${exe-path}/VERSION"
app.folder = "${exe-path}/" app.folder = "${exe-path}/"
app.name = "Isaac-Sim" app.name = "Isaac-Sim"
app.version = "4.5.0" app.version = "5.0.0"
# Disable print outs on extension startup information # Disable print outs on extension startup information
# this only disables the app print_and_log function # this only disables the app print_and_log function
......
...@@ -15,7 +15,7 @@ keywords = ["experience", "app", "usd", "headless"] ...@@ -15,7 +15,7 @@ keywords = ["experience", "app", "usd", "headless"]
app.versionFile = "${exe-path}/VERSION" app.versionFile = "${exe-path}/VERSION"
app.folder = "${exe-path}/" app.folder = "${exe-path}/"
app.name = "Isaac-Sim" app.name = "Isaac-Sim"
app.version = "4.5.0" app.version = "5.0.0"
[dependencies] [dependencies]
"isaaclab.python.xr.openxr" = {} "isaaclab.python.xr.openxr" = {}
......
...@@ -15,7 +15,7 @@ keywords = ["experience", "app", "usd"] ...@@ -15,7 +15,7 @@ keywords = ["experience", "app", "usd"]
app.versionFile = "${exe-path}/VERSION" app.versionFile = "${exe-path}/VERSION"
app.folder = "${exe-path}/" app.folder = "${exe-path}/"
app.name = "Isaac-Sim" app.name = "Isaac-Sim"
app.version = "4.5.0" app.version = "5.0.0"
### async rendering settings ### async rendering settings
omni.replicator.asyncRendering = true omni.replicator.asyncRendering = true
......
...@@ -7,7 +7,7 @@ ACCEPT_EULA=Y ...@@ -7,7 +7,7 @@ ACCEPT_EULA=Y
# NVIDIA Isaac Sim base image # NVIDIA Isaac Sim base image
ISAACSIM_BASE_IMAGE=nvcr.io/nvidia/isaac-sim ISAACSIM_BASE_IMAGE=nvcr.io/nvidia/isaac-sim
# NVIDIA Isaac Sim version to use (e.g. 4.5.0) # NVIDIA Isaac Sim version to use (e.g. 4.5.0)
ISAACSIM_VERSION=4.5.0 ISAACSIM_VERSION=5.0.0
# Derived from the default path in the NVIDIA provided Isaac Sim container # Derived from the default path in the NVIDIA provided Isaac Sim container
DOCKER_ISAACSIM_ROOT_PATH=/isaac-sim DOCKER_ISAACSIM_ROOT_PATH=/isaac-sim
# The Isaac Lab path in the container # The Isaac Lab path in the container
......
...@@ -252,7 +252,7 @@ html_theme_options = { ...@@ -252,7 +252,7 @@ html_theme_options = {
{ {
"name": "Isaac Sim", "name": "Isaac Sim",
"url": "https://developer.nvidia.com/isaac-sim", "url": "https://developer.nvidia.com/isaac-sim",
"icon": "https://img.shields.io/badge/IsaacSim-4.5.0-silver.svg", "icon": "https://img.shields.io/badge/IsaacSim-5.0.0-silver.svg",
"type": "url", "type": "url",
}, },
{ {
......
...@@ -5,7 +5,7 @@ Isaac Lab comes pre-integrated with a number of libraries (such as RSL-RL, RL-Ga ...@@ -5,7 +5,7 @@ Isaac Lab comes pre-integrated with a number of libraries (such as RSL-RL, RL-Ga
However, you may want to integrate your own library with Isaac Lab or use a different version of the libraries than However, you may want to integrate your own library with Isaac Lab or use a different version of the libraries than
the one installed by Isaac Lab. This is possible as long as the library is available as Python package that supports the one installed by Isaac Lab. This is possible as long as the library is available as Python package that supports
the Python version used by the underlying simulator. For instance, if you are using Isaac Sim 4.0.0 onwards, you need the Python version used by the underlying simulator. For instance, if you are using Isaac Sim 4.0.0 onwards, you need
to ensure that the library is available for Python 3.10. to ensure that the library is available for Python 3.11.
Using a different version of a library Using a different version of a library
-------------------------------------- --------------------------------------
......
...@@ -4,6 +4,14 @@ Release Notes ...@@ -4,6 +4,14 @@ Release Notes
The release notes are now available in the `Isaac Lab GitHub repository <https://github.com/isaac-sim/IsaacLab/releases>`_. The release notes are now available in the `Isaac Lab GitHub repository <https://github.com/isaac-sim/IsaacLab/releases>`_.
We summarize the release notes here for convenience. We summarize the release notes here for convenience.
v2.2.0
======
Breaking Changes
----------------
* :attr:`~isaaclab.sim.spawners.PhysicsMaterialCfg.improve_patch_friction` is now removed. The simulation will always behave as if this attribute is set to true.
v2.1.0 v2.1.0
====== ======
......
...@@ -383,26 +383,6 @@ Installation ...@@ -383,26 +383,6 @@ Installation
The valid options are ``rl_games``, ``rsl_rl``, ``sb3``, ``skrl``, ``robomimic``, ``none``. The valid options are ``rl_games``, ``rsl_rl``, ``sb3``, ``skrl``, ``robomimic``, ``none``.
.. attention::
For 50 series GPUs, please use the latest PyTorch nightly build instead of PyTorch 2.5.1, which comes with Isaac Sim:
.. tab-set::
:sync-group: os
.. tab-item:: :icon:`fa-brands fa-linux` Linux
:sync: linux
.. code:: bash
./isaaclab.sh -p -m pip install --upgrade --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cu128
.. tab-item:: :icon:`fa-brands fa-windows` Windows
:sync: windows
.. code:: batch
isaaclab.bat -p -m pip install --upgrade --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cu128
Verifying the Isaac Lab installation Verifying the Isaac Lab installation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
...@@ -3,17 +3,17 @@ ...@@ -3,17 +3,17 @@
Local Installation Local Installation
================== ==================
.. image:: https://img.shields.io/badge/IsaacSim-4.5.0-silver.svg .. image:: https://img.shields.io/badge/IsaacSim-5.0.0-silver.svg
:target: https://developer.nvidia.com/isaac-sim :target: https://developer.nvidia.com/isaac-sim
:alt: IsaacSim 4.5.0 :alt: IsaacSim 5.0.0
.. image:: https://img.shields.io/badge/python-3.10-blue.svg .. image:: https://img.shields.io/badge/python-3.11-blue.svg
:target: https://www.python.org/downloads/release/python-31013/ :target: https://www.python.org/downloads/release/python-31013/
:alt: Python 3.10 :alt: Python 3.11
.. image:: https://img.shields.io/badge/platform-linux--64-orange.svg .. image:: https://img.shields.io/badge/platform-linux--64-orange.svg
:target: https://releases.ubuntu.com/20.04/ :target: https://releases.ubuntu.com/22.04/
:alt: Ubuntu 20.04 :alt: Ubuntu 22.04
.. image:: https://img.shields.io/badge/platform-windows--64-orange.svg .. image:: https://img.shields.io/badge/platform-windows--64-orange.svg
:target: https://www.microsoft.com/en-ca/windows/windows-11 :target: https://www.microsoft.com/en-ca/windows/windows-11
...@@ -22,7 +22,7 @@ Local Installation ...@@ -22,7 +22,7 @@ Local Installation
.. 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
Isaac Sim 4.5.0 release to benefit from the latest features and improvements. Isaac Sim 5.0.0 release to benefit from the latest features and improvements.
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#>`__.
......
...@@ -14,7 +14,7 @@ To learn about how to set up your own project on top of Isaac Lab, see :ref:`tem ...@@ -14,7 +14,7 @@ To learn about how to set up your own project on top of Isaac Lab, see :ref:`tem
If you use Conda, we recommend using `Miniconda <https://docs.anaconda.com/miniconda/miniconda-other-installer-links/>`_. If you use Conda, we recommend using `Miniconda <https://docs.anaconda.com/miniconda/miniconda-other-installer-links/>`_.
- To use the pip installation approach for Isaac Lab, we recommend first creating a virtual environment. - To use the pip installation approach for Isaac Lab, we recommend first creating a virtual environment.
Ensure that the python version of the virtual environment is **Python 3.10**. Ensure that the python version of the virtual environment is **Python 3.11**.
.. tab-set:: .. tab-set::
...@@ -22,7 +22,7 @@ To learn about how to set up your own project on top of Isaac Lab, see :ref:`tem ...@@ -22,7 +22,7 @@ To learn about how to set up your own project on top of Isaac Lab, see :ref:`tem
.. code-block:: bash .. code-block:: bash
conda create -n env_isaaclab python=3.10 conda create -n env_isaaclab python=3.11
conda activate env_isaaclab conda activate env_isaaclab
.. tab-item:: venv environment .. tab-item:: venv environment
...@@ -35,8 +35,8 @@ To learn about how to set up your own project on top of Isaac Lab, see :ref:`tem ...@@ -35,8 +35,8 @@ To learn about how to set up your own project on top of Isaac Lab, see :ref:`tem
.. code-block:: bash .. code-block:: bash
# create a virtual environment named env_isaaclab with python3.10 # create a virtual environment named env_isaaclab with python3.11
python3.10 -m venv env_isaaclab python3.11 -m venv env_isaaclab
# activate the virtual environment # activate the virtual environment
source env_isaaclab/bin/activate source env_isaaclab/bin/activate
...@@ -45,29 +45,11 @@ To learn about how to set up your own project on top of Isaac Lab, see :ref:`tem ...@@ -45,29 +45,11 @@ To learn about how to set up your own project on top of Isaac Lab, see :ref:`tem
.. code-block:: batch .. code-block:: batch
# create a virtual environment named env_isaaclab with python3.10 # create a virtual environment named env_isaaclab with python3.11
python3.10 -m venv env_isaaclab python3.11 -m venv env_isaaclab
# activate the virtual environment # activate the virtual environment
env_isaaclab\Scripts\activate env_isaaclab\Scripts\activate
- Next, install a CUDA-enabled PyTorch 2.5.1 build based on the CUDA version available on your system. This step is optional for Linux, but required for Windows to ensure a CUDA-compatible version of PyTorch is installed.
.. tab-set::
.. tab-item:: CUDA 11
.. code-block:: bash
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu118
.. tab-item:: CUDA 12
.. code-block:: bash
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu121
- Before installing Isaac Lab, ensure the latest pip version is installed. To update pip, run - Before installing Isaac Lab, ensure the latest pip version is installed. To update pip, run
.. tab-set:: .. tab-set::
...@@ -94,15 +76,6 @@ To learn about how to set up your own project on top of Isaac Lab, see :ref:`tem ...@@ -94,15 +76,6 @@ To learn about how to set up your own project on top of Isaac Lab, see :ref:`tem
pip install isaaclab[isaacsim,all]==2.1.0 --extra-index-url https://pypi.nvidia.com pip install isaaclab[isaacsim,all]==2.1.0 --extra-index-url https://pypi.nvidia.com
.. attention::
For 50 series GPUs, please use the latest PyTorch nightly build instead of PyTorch 2.5.1, which comes with Isaac Sim:
.. code:: bash
pip install --upgrade --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cu128
Verifying the Isaac Sim installation Verifying the Isaac Sim installation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
...@@ -39,7 +39,7 @@ If you encounter any issues, please report them to the ...@@ -39,7 +39,7 @@ If you encounter any issues, please report them to the
If you use Conda, we recommend using `Miniconda <https://docs.anaconda.com/miniconda/miniconda-other-installer-links/>`_. If you use Conda, we recommend using `Miniconda <https://docs.anaconda.com/miniconda/miniconda-other-installer-links/>`_.
- To use the pip installation approach for Isaac Sim, we recommend first creating a virtual environment. - To use the pip installation approach for Isaac Sim, we recommend first creating a virtual environment.
Ensure that the python version of the virtual environment is **Python 3.10**. Ensure that the python version of the virtual environment is **Python 3.11**.
.. tab-set:: .. tab-set::
...@@ -47,7 +47,7 @@ If you encounter any issues, please report them to the ...@@ -47,7 +47,7 @@ If you encounter any issues, please report them to the
.. code-block:: bash .. code-block:: bash
conda create -n env_isaaclab python=3.10 conda create -n env_isaaclab python=3.11
conda activate env_isaaclab conda activate env_isaaclab
.. tab-item:: venv environment .. tab-item:: venv environment
...@@ -60,8 +60,8 @@ If you encounter any issues, please report them to the ...@@ -60,8 +60,8 @@ If you encounter any issues, please report them to the
.. code-block:: bash .. code-block:: bash
# create a virtual environment named env_isaaclab with python3.10 # create a virtual environment named env_isaaclab with python3.11
python3.10 -m venv env_isaaclab python3.11 -m venv env_isaaclab
# activate the virtual environment # activate the virtual environment
source env_isaaclab/bin/activate source env_isaaclab/bin/activate
...@@ -70,28 +70,11 @@ If you encounter any issues, please report them to the ...@@ -70,28 +70,11 @@ If you encounter any issues, please report them to the
.. code-block:: batch .. code-block:: batch
# create a virtual environment named env_isaaclab with python3.10 # create a virtual environment named env_isaaclab with python3.11
python3.10 -m venv env_isaaclab python3.11 -m venv env_isaaclab
# activate the virtual environment # activate the virtual environment
env_isaaclab\Scripts\activate env_isaaclab\Scripts\activate
- Next, install a CUDA-enabled PyTorch 2.5.1 build based on the CUDA version available on your system. This step is optional for Linux, but required for Windows to ensure a CUDA-compatible version of PyTorch is installed.
.. tab-set::
.. tab-item:: CUDA 11
.. code-block:: bash
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu118
.. tab-item:: CUDA 12
.. code-block:: bash
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu121
- Before installing Isaac Sim, ensure the latest pip version is installed. To update pip, run - Before installing Isaac Sim, ensure the latest pip version is installed. To update pip, run
.. tab-set:: .. tab-set::
...@@ -300,13 +283,6 @@ Installation ...@@ -300,13 +283,6 @@ Installation
The valid options are ``rl_games``, ``rsl_rl``, ``sb3``, ``skrl``, ``robomimic``, ``none``. The valid options are ``rl_games``, ``rsl_rl``, ``sb3``, ``skrl``, ``robomimic``, ``none``.
.. attention::
For 50 series GPUs, please use the latest PyTorch nightly build instead of PyTorch 2.5.1, which comes with Isaac Sim:
.. code:: bash
pip install --upgrade --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cu128
Verifying the Isaac Lab installation Verifying the Isaac Lab installation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
...@@ -43,23 +43,6 @@ To begin, we first define our virtual environment. We recommend using `miniconda ...@@ -43,23 +43,6 @@ To begin, we first define our virtual environment. We recommend using `miniconda
# activate the virtual environment # activate the virtual environment
conda activate env_isaaclab conda activate env_isaaclab
Next, we need to install the CUDA-enabled version of PyTorch 2.5.1. This step is optional for Linux, but required for Windows to ensure a CUDA-compatible version of PyTorch is installed. If in doubt on which
version to use, use 11.8.
.. tab-set::
.. tab-item:: CUDA 11
.. code-block:: bash
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu118
.. tab-item:: CUDA 12
.. code-block:: bash
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu121
Before we can install Isaac Sim, we need to make sure pip is updated. To update pip, run Before we can install Isaac Sim, we need to make sure pip is updated. To update pip, run
.. tab-set:: .. tab-set::
......
...@@ -2,5 +2,5 @@ channels: ...@@ -2,5 +2,5 @@ channels:
- conda-forge - conda-forge
- defaults - defaults
dependencies: dependencies:
- python=3.10 - python=3.11
- importlib_metadata - importlib_metadata
...@@ -270,6 +270,9 @@ if "%arg%"=="-i" ( ...@@ -270,6 +270,9 @@ if "%arg%"=="-i" (
rem install the python packages in isaaclab/source directory rem install the python packages in isaaclab/source directory
echo [INFO] Installing extensions inside the Isaac Lab repository... echo [INFO] Installing extensions inside the Isaac Lab repository...
call :extract_python_exe call :extract_python_exe
rem first install pytorch with cuda 12.8 for blackwell support
call !python_exe! -m pip uninstall -y torch torchvision torchaudio
call !python_exe! -m pip install torch==2.7.0 torchvision==0.22.0 --index-url https://download.pytorch.org/whl/cu128
for /d %%d in ("%ISAACLAB_PATH%\source\*") do ( for /d %%d in ("%ISAACLAB_PATH%\source\*") do (
set ext_folder="%%d" set ext_folder="%%d"
call :install_isaaclab_extension call :install_isaaclab_extension
...@@ -295,6 +298,9 @@ if "%arg%"=="-i" ( ...@@ -295,6 +298,9 @@ if "%arg%"=="-i" (
rem install the python packages in source directory rem install the python packages in source directory
echo [INFO] Installing extensions inside the Isaac Lab repository... echo [INFO] Installing extensions inside the Isaac Lab repository...
call :extract_python_exe call :extract_python_exe
rem first install pytorch with cuda 12.8 for blackwell support
call !python_exe! -m pip uninstall -y torch torchvision torchaudio
call !python_exe! -m pip install torch==2.7.0 torchvision==0.22.0 --index-url https://download.pytorch.org/whl/cu128
for /d %%d in ("%ISAACLAB_PATH%\source\*") do ( for /d %%d in ("%ISAACLAB_PATH%\source\*") do (
set ext_folder="%%d" set ext_folder="%%d"
call :install_isaaclab_extension call :install_isaaclab_extension
......
...@@ -276,6 +276,9 @@ while [[ $# -gt 0 ]]; do ...@@ -276,6 +276,9 @@ while [[ $# -gt 0 ]]; do
# install the python packages in IsaacLab/source directory # install the python packages in IsaacLab/source directory
echo "[INFO] Installing extensions inside the Isaac Lab repository..." echo "[INFO] Installing extensions inside the Isaac Lab repository..."
python_exe=$(extract_python_exe) python_exe=$(extract_python_exe)
# first install pytorch with cuda 12.8 for blackwell support
${python_exe} -m pip uninstall -y torch torchvision torchaudio
${python_exe} -m pip install torch==2.7.0 torchvision==0.22.0 --index-url https://download.pytorch.org/whl/cu128
# recursively look into directories and install them # recursively look into directories and install them
# this does not check dependencies between extensions # this does not check dependencies between extensions
export -f extract_python_exe export -f extract_python_exe
......
...@@ -76,7 +76,7 @@ exclude = [ ...@@ -76,7 +76,7 @@ exclude = [
] ]
typeCheckingMode = "basic" typeCheckingMode = "basic"
pythonVersion = "3.10" pythonVersion = "3.11"
pythonPlatform = "Linux" pythonPlatform = "Linux"
enableTypeIgnoreComments = true enableTypeIgnoreComments = true
......
[package] [package]
# Note: Semantic Versioning is used: https://semver.org/ # Note: Semantic Versioning is used: https://semver.org/
version = "0.40.21" version = "0.41.21"
# Description # Description
title = "Isaac Lab framework for Robot Learning" title = "Isaac Lab framework for Robot Learning"
......
Changelog Changelog
--------- ---------
0.40.21 (2025-06-25) 0.41.21 (2025-06-25)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -12,7 +12,7 @@ Added ...@@ -12,7 +12,7 @@ Added
env instance env instance
0.40.20 (2025-07-11) 0.41.20 (2025-07-11)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Fixed Fixed
...@@ -22,7 +22,7 @@ Fixed ...@@ -22,7 +22,7 @@ Fixed
restricting the resetting joint indices be that user defined joint indices. restricting the resetting joint indices be that user defined joint indices.
0.40.19 (2025-07-11) 0.41.19 (2025-07-11)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Fixed Fixed
...@@ -32,7 +32,7 @@ Fixed ...@@ -32,7 +32,7 @@ Fixed
env_ids are passed. env_ids are passed.
0.40.18 (2025-07-09) 0.41.18 (2025-07-09)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -49,7 +49,7 @@ Fixed ...@@ -49,7 +49,7 @@ Fixed
buffer on recording. buffer on recording.
0.40.17 (2025-07-10) 0.41.17 (2025-07-10)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -80,7 +80,7 @@ Changed ...@@ -80,7 +80,7 @@ Changed
* Changed the implementation of :func:`~isaaclab.utils.math.copysign` to better reflect the documented functionality. * Changed the implementation of :func:`~isaaclab.utils.math.copysign` to better reflect the documented functionality.
0.40.16 (2025-07-08) 0.41.16 (2025-07-08)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Fixed Fixed
...@@ -90,7 +90,7 @@ Fixed ...@@ -90,7 +90,7 @@ Fixed
:class:`~isaaclab.assets.articulation.RigidObjectCollectionData` :class:`~isaaclab.assets.articulation.RigidObjectCollectionData`
0.40.15 (2025-07-08) 0.41.15 (2025-07-08)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -99,7 +99,7 @@ Added ...@@ -99,7 +99,7 @@ Added
* Added ability to set platform height independent of object height for trimesh terrains. * Added ability to set platform height independent of object height for trimesh terrains.
0.40.14 (2025-07-01) 0.41.14 (2025-07-01)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -110,7 +110,7 @@ Added ...@@ -110,7 +110,7 @@ Added
* Added deprecation warnings to the existing :attr:`max_height_noise` but still functions. * Added deprecation warnings to the existing :attr:`max_height_noise` but still functions.
0.40.13 (2025-07-03) 0.41.13 (2025-07-03)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Fixed Fixed
...@@ -119,7 +119,7 @@ Fixed ...@@ -119,7 +119,7 @@ Fixed
* Fixed unittest tests that are floating inside pytests for articulation and rendering * Fixed unittest tests that are floating inside pytests for articulation and rendering
0.40.12 (2025-07-03) 0.41.12 (2025-07-03)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Changed Changed
...@@ -129,7 +129,7 @@ Changed ...@@ -129,7 +129,7 @@ Changed
videos with the ``--video`` flag. videos with the ``--video`` flag.
0.40.11 (2025-06-27) 0.41.11 (2025-06-27)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -144,7 +144,7 @@ Fixed ...@@ -144,7 +144,7 @@ Fixed
* Fixed the implementation mistake in :func:`~isaaclab.utils.math.quat_inv`. * Fixed the implementation mistake in :func:`~isaaclab.utils.math.quat_inv`.
0.40.10 (2025-06-25) 0.41.10 (2025-06-25)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Fixed Fixed
...@@ -153,7 +153,7 @@ Fixed ...@@ -153,7 +153,7 @@ Fixed
* Fixed :func:`~isaaclab.utils.dict.update_class_from_dict` preventing setting flat Iterables with different lengths. * Fixed :func:`~isaaclab.utils.dict.update_class_from_dict` preventing setting flat Iterables with different lengths.
0.40.9 (2025-06-25) 0.41.9 (2025-06-25)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -163,7 +163,7 @@ Added ...@@ -163,7 +163,7 @@ Added
sampling, which is now the default behavior. If set to False, the previous behavior of sharing the same bias value across all components is retained. sampling, which is now the default behavior. If set to False, the previous behavior of sharing the same bias value across all components is retained.
0.40.8 (2025-06-18) 0.41.8 (2025-06-18)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Fixed Fixed
...@@ -175,7 +175,7 @@ Fixed ...@@ -175,7 +175,7 @@ Fixed
* added pytest that check against these data consistencies * added pytest that check against these data consistencies
0.40.7 (2025-06-24) 0.41.7 (2025-06-24)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -189,8 +189,12 @@ Changed ...@@ -189,8 +189,12 @@ Changed
* Renamed :func:`~isaaclab.utils.noise.NoiseModel.apply` method to :func:`~isaaclab.utils.noise.NoiseModel.__call__`. * Renamed :func:`~isaaclab.utils.noise.NoiseModel.apply` method to :func:`~isaaclab.utils.noise.NoiseModel.__call__`.
<<<<<<< HEAD
0.40.6 (2025-06-12) 0.40.6 (2025-06-12)
=======
0.41.6 (2025-06-12)
>>>>>>> cf094c211f (Updates to Isaac Sim 5.0 (#379))
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Fixed Fixed
...@@ -199,7 +203,7 @@ Fixed ...@@ -199,7 +203,7 @@ Fixed
* Fixed potential issues in :func:`~isaaclab.envs.mdp.events.randomize_visual_texture_material` related to handling visual prims during texture randomization. * Fixed potential issues in :func:`~isaaclab.envs.mdp.events.randomize_visual_texture_material` related to handling visual prims during texture randomization.
0.40.5 (2025-05-22) 0.41.5 (2025-05-22)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Fixed Fixed
...@@ -209,7 +213,7 @@ Fixed ...@@ -209,7 +213,7 @@ Fixed
currently has limitations for CPU simulation. Collision filtering needs to be manually enabled when using CPU simulation. currently has limitations for CPU simulation. Collision filtering needs to be manually enabled when using CPU simulation.
0.40.4 (2025-06-03) 0.41.4 (2025-06-03)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Changed Changed
...@@ -220,7 +224,7 @@ Changed ...@@ -220,7 +224,7 @@ Changed
passed in the ``TerrainGeneratorCfg``. passed in the ``TerrainGeneratorCfg``.
0.40.3 (2025-03-20) 0.41.3 (2025-03-20)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Changed Changed
...@@ -235,7 +239,7 @@ Changed ...@@ -235,7 +239,7 @@ Changed
more readable. more readable.
0.40.2 (2025-05-10) 0.41.2 (2025-05-10)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -245,7 +249,7 @@ Added ...@@ -245,7 +249,7 @@ Added
* Added support for specifying module:task_name as task name to avoid module import for ``gym.make`` * Added support for specifying module:task_name as task name to avoid module import for ``gym.make``
0.40.1 (2025-06-02) 0.41.1 (2025-06-02)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -261,7 +265,7 @@ Changed ...@@ -261,7 +265,7 @@ Changed
to make it available for mdp functions. to make it available for mdp functions.
0.40.0 (2025-05-16) 0.41.0 (2025-05-16)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -277,7 +281,7 @@ Changed ...@@ -277,7 +281,7 @@ Changed
:meth:`~isaaclab.utils.math.quat_apply` and :meth:`~isaaclab.utils.math.quat_apply_inverse` for speed. :meth:`~isaaclab.utils.math.quat_apply` and :meth:`~isaaclab.utils.math.quat_apply_inverse` for speed.
0.39.7 (2025-05-19) 0.40.7 (2025-05-19)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Fixed Fixed
...@@ -287,7 +291,7 @@ Fixed ...@@ -287,7 +291,7 @@ Fixed
of assets and sensors.used from the experience files and the double definition is removed. of assets and sensors.used from the experience files and the double definition is removed.
0.39.6 (2025-01-30) 0.40.6 (2025-01-30)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -297,7 +301,7 @@ Added ...@@ -297,7 +301,7 @@ Added
in the simulation. in the simulation.
0.39.5 (2025-05-16) 0.40.5 (2025-05-16)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -312,7 +316,7 @@ Changed ...@@ -312,7 +316,7 @@ Changed
resampling call. resampling call.
0.39.4 (2025-05-16) 0.40.4 (2025-05-16)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Fixed Fixed
...@@ -321,7 +325,7 @@ Fixed ...@@ -321,7 +325,7 @@ Fixed
* Fixed penetration issue for negative border height in :class:`~isaaclab.terrains.terrain_generator.TerrainGeneratorCfg`. * Fixed penetration issue for negative border height in :class:`~isaaclab.terrains.terrain_generator.TerrainGeneratorCfg`.
0.39.3 (2025-05-16) 0.40.3 (2025-05-16)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Changed Changed
...@@ -336,7 +340,7 @@ Added ...@@ -336,7 +340,7 @@ Added
* Added :meth:`~isaaclab.utils.math.rigid_body_twist_transform` * Added :meth:`~isaaclab.utils.math.rigid_body_twist_transform`
0.39.2 (2025-05-15) 0.40.2 (2025-05-15)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Fixed Fixed
...@@ -350,14 +354,14 @@ Fixed ...@@ -350,14 +354,14 @@ Fixed
unused USD camera parameters. unused USD camera parameters.
0.39.1 (2025-05-14) 0.40.1 (2025-05-14)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
* Added a new attribute :attr:`articulation_root_prim_path` to the :class:`~isaaclab.assets.ArticulationCfg` class * Added a new attribute :attr:`articulation_root_prim_path` to the :class:`~isaaclab.assets.ArticulationCfg` class
to allow explicitly specifying the prim path of the articulation root. to allow explicitly specifying the prim path of the articulation root.
0.39.0 (2025-05-03) 0.40.0 (2025-05-03)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -368,8 +372,8 @@ Added ...@@ -368,8 +372,8 @@ Added
This allows for :attr:`semantic_segmentation_mapping` to be used when using the ground plane spawner. This allows for :attr:`semantic_segmentation_mapping` to be used when using the ground plane spawner.
0.38.0 (2025-04-01) 0.39.0 (2025-04-01)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
Added Added
~~~~~ ~~~~~
...@@ -377,7 +381,7 @@ Added ...@@ -377,7 +381,7 @@ Added
* Added the :meth:`~isaaclab.env.mdp.observations.joint_effort` * Added the :meth:`~isaaclab.env.mdp.observations.joint_effort`
0.37.0 (2025-04-01) 0.38.0 (2025-04-01)
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Added Added
...@@ -387,6 +391,18 @@ Added ...@@ -387,6 +391,18 @@ Added
* Added :meth:`~isaaclab.envs.mdp.observations.body_projected_gravity_b` * Added :meth:`~isaaclab.envs.mdp.observations.body_projected_gravity_b`
0.37.0 (2025-04-24)
~~~~~~~~~~~~~~~~~~~~
Changed
^^^^^^^
* Updated pytorch to latest 2.7.0 with cuda 12.8 for Blackwell support.
Torch is now installed as part of the isaaclab.sh/bat scripts to ensure the correct version is installed.
* Removed :attr:`~isaaclab.sim.spawners.PhysicsMaterialCfg.improve_patch_friction` as it has been deprecated and removed from the simulation.
The simulation will always behave as if this attribute is set to true.
0.36.23 (2025-04-24) 0.36.23 (2025-04-24)
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
......
...@@ -804,7 +804,6 @@ class AppLauncher: ...@@ -804,7 +804,6 @@ class AppLauncher:
"""Load correct extensions based on AppLauncher's resolved config member variables.""" """Load correct extensions based on AppLauncher's resolved config member variables."""
# These have to be loaded after SimulationApp is initialized # These have to be loaded after SimulationApp is initialized
import carb import carb
import omni.physx.bindings._physx as physx_impl
# Retrieve carb settings for modification # Retrieve carb settings for modification
carb_settings_iface = carb.settings.get_settings() carb_settings_iface = carb.settings.get_settings()
...@@ -827,9 +826,6 @@ class AppLauncher: ...@@ -827,9 +826,6 @@ class AppLauncher:
# set fabric update flag to disable updating transforms when rendering is disabled # set fabric update flag to disable updating transforms when rendering is disabled
carb_settings_iface.set_bool("/physics/fabricUpdateTransformations", self._rendering_enabled()) carb_settings_iface.set_bool("/physics/fabricUpdateTransformations", self._rendering_enabled())
# disable physics backwards compatibility check
carb_settings_iface.set_int(physx_impl.SETTING_BACKWARD_COMPATIBILITY, 0)
def _hide_stop_button(self): def _hide_stop_button(self):
"""Hide the stop button in the toolbar. """Hide the stop button in the toolbar.
......
...@@ -48,9 +48,6 @@ class RigidBodyMaterialCfg(PhysicsMaterialCfg): ...@@ -48,9 +48,6 @@ class RigidBodyMaterialCfg(PhysicsMaterialCfg):
restitution: float = 0.0 restitution: float = 0.0
"""The restitution coefficient. Defaults to 0.0.""" """The restitution coefficient. Defaults to 0.0."""
improve_patch_friction: bool = True
"""Whether to enable patch friction. Defaults to True."""
friction_combine_mode: Literal["average", "min", "multiply", "max"] = "average" friction_combine_mode: Literal["average", "min", "multiply", "max"] = "average"
"""Determines the way friction will be combined during collisions. Defaults to `"average"`. """Determines the way friction will be combined during collisions. Defaults to `"average"`.
......
...@@ -20,7 +20,7 @@ EXTENSION_TOML_DATA = toml.load(os.path.join(EXTENSION_PATH, "config", "extensio ...@@ -20,7 +20,7 @@ EXTENSION_TOML_DATA = toml.load(os.path.join(EXTENSION_PATH, "config", "extensio
INSTALL_REQUIRES = [ INSTALL_REQUIRES = [
# generic # generic
"numpy<2", "numpy<2",
"torch==2.5.1", "torch>=2.7",
"onnx==1.16.1", # 1.16.2 throws access violation on Windows "onnx==1.16.1", # 1.16.2 throws access violation on Windows
"prettytable==3.3.0", "prettytable==3.3.0",
"toml", "toml",
...@@ -66,14 +66,14 @@ setup( ...@@ -66,14 +66,14 @@ setup(
keywords=EXTENSION_TOML_DATA["package"]["keywords"], keywords=EXTENSION_TOML_DATA["package"]["keywords"],
license="BSD-3-Clause", license="BSD-3-Clause",
include_package_data=True, include_package_data=True,
python_requires=">=3.10", python_requires=">=3.11",
install_requires=INSTALL_REQUIRES, install_requires=INSTALL_REQUIRES,
dependency_links=PYTORCH_INDEX_URL, dependency_links=PYTORCH_INDEX_URL,
packages=["isaaclab"], packages=["isaaclab"],
classifiers=[ classifiers=[
"Natural Language :: English", "Natural Language :: English",
"Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11",
"Isaac Sim :: 4.5.0", "Isaac Sim :: 5.0.0",
], ],
zip_safe=False, zip_safe=False,
) )
...@@ -1414,7 +1414,7 @@ def test_all_annotators_instanceable(setup_camera): ...@@ -1414,7 +1414,7 @@ def test_all_annotators_instanceable(setup_camera):
# instance_segmentation_fast has mean 0.42 # instance_segmentation_fast has mean 0.42
# instance_id_segmentation_fast has mean 0.55-0.62 # instance_id_segmentation_fast has mean 0.55-0.62
for i in range(num_cameras): for i in range(num_cameras):
assert (im_data[i] / 255.0).mean() > 0.3 assert (im_data[i] / 255.0).mean() > 0.2
elif data_type in ["motion_vectors"]: elif data_type in ["motion_vectors"]:
# motion vectors have mean 0.2 # motion vectors have mean 0.2
assert im_data.shape == (num_cameras, camera_cfg.height, camera_cfg.width, 2) assert im_data.shape == (num_cameras, camera_cfg.height, camera_cfg.width, 2)
...@@ -1620,7 +1620,7 @@ def test_frame_offset_small_resolution(setup_camera): ...@@ -1620,7 +1620,7 @@ def test_frame_offset_small_resolution(setup_camera):
image_after = tiled_camera.data.output["rgb"].clone() / 255.0 image_after = tiled_camera.data.output["rgb"].clone() / 255.0
# check difference is above threshold # check difference is above threshold
assert torch.abs(image_after - image_before).mean() > 0.04 # images of same color should be below 0.001 assert torch.abs(image_after - image_before).mean() > 0.01 # images of same color should be below 0.001
def test_frame_offset_large_resolution(setup_camera): def test_frame_offset_large_resolution(setup_camera):
...@@ -1665,7 +1665,7 @@ def test_frame_offset_large_resolution(setup_camera): ...@@ -1665,7 +1665,7 @@ def test_frame_offset_large_resolution(setup_camera):
image_after = tiled_camera.data.output["rgb"].clone() / 255.0 image_after = tiled_camera.data.output["rgb"].clone() / 255.0
# check difference is above threshold # check difference is above threshold
assert torch.abs(image_after - image_before).mean() > 0.05 # images of same color should be below 0.001 assert torch.abs(image_after - image_before).mean() > 0.01 # images of same color should be below 0.001
""" """
......
...@@ -87,7 +87,6 @@ def test_spawn_rigid_body_material(sim): ...@@ -87,7 +87,6 @@ def test_spawn_rigid_body_material(sim):
static_friction=0.5, static_friction=0.5,
restitution_combine_mode="max", restitution_combine_mode="max",
friction_combine_mode="max", friction_combine_mode="max",
improve_patch_friction=True,
) )
prim = cfg.func("/Looks/RigidBodyMaterial", cfg) prim = cfg.func("/Looks/RigidBodyMaterial", cfg)
# Check validity # Check validity
...@@ -97,7 +96,6 @@ def test_spawn_rigid_body_material(sim): ...@@ -97,7 +96,6 @@ def test_spawn_rigid_body_material(sim):
assert prim.GetAttribute("physics:staticFriction").Get() == cfg.static_friction assert prim.GetAttribute("physics:staticFriction").Get() == cfg.static_friction
assert prim.GetAttribute("physics:dynamicFriction").Get() == cfg.dynamic_friction assert prim.GetAttribute("physics:dynamicFriction").Get() == cfg.dynamic_friction
assert prim.GetAttribute("physics:restitution").Get() == cfg.restitution assert prim.GetAttribute("physics:restitution").Get() == cfg.restitution
assert prim.GetAttribute("physxMaterial:improvePatchFriction").Get() == cfg.improve_patch_friction
assert prim.GetAttribute("physxMaterial:restitutionCombineMode").Get() == cfg.restitution_combine_mode assert prim.GetAttribute("physxMaterial:restitutionCombineMode").Get() == cfg.restitution_combine_mode
assert prim.GetAttribute("physxMaterial:frictionCombineMode").Get() == cfg.friction_combine_mode assert prim.GetAttribute("physxMaterial:frictionCombineMode").Get() == cfg.friction_combine_mode
...@@ -137,7 +135,6 @@ def test_apply_rigid_body_material_on_visual_material(sim): ...@@ -137,7 +135,6 @@ def test_apply_rigid_body_material_on_visual_material(sim):
static_friction=0.5, static_friction=0.5,
restitution_combine_mode="max", restitution_combine_mode="max",
friction_combine_mode="max", friction_combine_mode="max",
improve_patch_friction=True,
) )
prim = cfg.func("/Looks/Material", cfg) prim = cfg.func("/Looks/Material", cfg)
# Check validity # Check validity
...@@ -147,7 +144,6 @@ def test_apply_rigid_body_material_on_visual_material(sim): ...@@ -147,7 +144,6 @@ def test_apply_rigid_body_material_on_visual_material(sim):
assert prim.GetAttribute("physics:staticFriction").Get() == cfg.static_friction assert prim.GetAttribute("physics:staticFriction").Get() == cfg.static_friction
assert prim.GetAttribute("physics:dynamicFriction").Get() == cfg.dynamic_friction assert prim.GetAttribute("physics:dynamicFriction").Get() == cfg.dynamic_friction
assert prim.GetAttribute("physics:restitution").Get() == cfg.restitution assert prim.GetAttribute("physics:restitution").Get() == cfg.restitution
assert prim.GetAttribute("physxMaterial:improvePatchFriction").Get() == cfg.improve_patch_friction
assert prim.GetAttribute("physxMaterial:restitutionCombineMode").Get() == cfg.restitution_combine_mode assert prim.GetAttribute("physxMaterial:restitutionCombineMode").Get() == cfg.restitution_combine_mode
assert prim.GetAttribute("physxMaterial:frictionCombineMode").Get() == cfg.friction_combine_mode assert prim.GetAttribute("physxMaterial:frictionCombineMode").Get() == cfg.friction_combine_mode
......
...@@ -25,12 +25,12 @@ setup( ...@@ -25,12 +25,12 @@ setup(
description=EXTENSION_TOML_DATA["package"]["description"], description=EXTENSION_TOML_DATA["package"]["description"],
keywords=EXTENSION_TOML_DATA["package"]["keywords"], keywords=EXTENSION_TOML_DATA["package"]["keywords"],
include_package_data=True, include_package_data=True,
python_requires=">=3.10", python_requires=">=3.11",
packages=["isaaclab_assets"], packages=["isaaclab_assets"],
classifiers=[ classifiers=[
"Natural Language :: English", "Natural Language :: English",
"Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11",
"Isaac Sim :: 4.5.0", "Isaac Sim :: 5.0.0",
], ],
zip_safe=False, zip_safe=False,
) )
...@@ -50,11 +50,11 @@ setup( ...@@ -50,11 +50,11 @@ setup(
extras_require=EXTRAS_REQUIRE, extras_require=EXTRAS_REQUIRE,
license="Apache-2.0", license="Apache-2.0",
include_package_data=True, include_package_data=True,
python_requires=">=3.10", python_requires=">=3.11",
classifiers=[ classifiers=[
"Natural Language :: English", "Natural Language :: English",
"Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11",
"Isaac Sim :: 4.5.0", "Isaac Sim :: 5.0.0",
], ],
zip_safe=False, zip_safe=False,
) )
[package] [package]
# Note: Semantic Versioning is used: https://semver.org/ # Note: Semantic Versioning is used: https://semver.org/
version = "0.1.8" version = "0.2.3"
# Description # Description
title = "Isaac Lab RL" title = "Isaac Lab RL"
......
Changelog Changelog
--------- ---------
0.1.8 (2025-06-29) 0.2.3 (2025-06-29)
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
Added Added
...@@ -11,7 +11,7 @@ Added ...@@ -11,7 +11,7 @@ Added
natively supported by sb3 can be automatically triggered natively supported by sb3 can be automatically triggered
0.1.7 (2025-06-30) 0.2.2 (2025-06-30)
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
Fixed Fixed
...@@ -20,7 +20,7 @@ Fixed ...@@ -20,7 +20,7 @@ Fixed
* Call :meth:`eval` during :meth:`forward`` RSL-RL OnnxPolicyExporter * Call :meth:`eval` during :meth:`forward`` RSL-RL OnnxPolicyExporter
0.1.6 (2025-06-26) 0.2.1 (2025-06-26)
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
Fixed Fixed
...@@ -29,14 +29,25 @@ Fixed ...@@ -29,14 +29,25 @@ Fixed
* Relaxed upper range pin for protobuf python dependency for more permissive installation. * Relaxed upper range pin for protobuf python dependency for more permissive installation.
0.2.0 (2025-04-24)
~~~~~~~~~~~~~~~~~~
Changed
^^^^^^^
* Switched to a 3.11 compatible branch for rl-games as Isaac Sim 5.0 is now using Python 3.11.
0.1.5 (2025-04-11) 0.1.5 (2025-04-11)
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
Changed Changed
^^^^^^^ ^^^^^^^
* Optimized Stable-Baselines3 wrapper ``Sb3VecEnvWrapper`` (now 4x faster) by using Numpy buffers and only logging episode and truncation information by default. * Optimized Stable-Baselines3 wrapper ``Sb3VecEnvWrapper`` (now 4x faster) by using Numpy buffers and only logging episode and truncation information by default.
* Upgraded minimum SB3 version to 2.6.0 and added optional dependencies for progress bar * Upgraded minimum SB3 version to 2.6.0 and added optional dependencies for progress bar
0.1.4 (2025-04-10) 0.1.4 (2025-04-10)
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
......
...@@ -20,7 +20,7 @@ EXTENSION_TOML_DATA = toml.load(os.path.join(EXTENSION_PATH, "config", "extensio ...@@ -20,7 +20,7 @@ EXTENSION_TOML_DATA = toml.load(os.path.join(EXTENSION_PATH, "config", "extensio
INSTALL_REQUIRES = [ INSTALL_REQUIRES = [
# generic # generic
"numpy<2", "numpy<2",
"torch==2.5.1", "torch>=2.7",
"torchvision>=0.14.1", # ensure compatibility with torch 1.13.1 "torchvision>=0.14.1", # ensure compatibility with torch 1.13.1
"protobuf>=3.20.2,!=5.26.0", "protobuf>=3.20.2,!=5.26.0",
# configuration management # configuration management
...@@ -41,7 +41,10 @@ PYTORCH_INDEX_URL = ["https://download.pytorch.org/whl/cu118"] ...@@ -41,7 +41,10 @@ PYTORCH_INDEX_URL = ["https://download.pytorch.org/whl/cu118"]
EXTRAS_REQUIRE = { EXTRAS_REQUIRE = {
"sb3": ["stable-baselines3>=2.6", "tqdm", "rich"], # tqdm/rich for progress bar "sb3": ["stable-baselines3>=2.6", "tqdm", "rich"], # tqdm/rich for progress bar
"skrl": ["skrl>=1.4.2"], "skrl": ["skrl>=1.4.2"],
"rl-games": ["rl-games==1.6.1", "gym"], # rl-games still needs gym :( "rl-games": [
"rl-games @ git+https://github.com/kellyguo11/rl_games.git@python3.11",
"gym",
], # rl-games still needs gym :(
"rsl-rl": ["rsl-rl-lib==2.3.3"], "rsl-rl": ["rsl-rl-lib==2.3.3"],
} }
# Add the names with hyphens as aliases for convenience # Add the names with hyphens as aliases for convenience
...@@ -63,15 +66,15 @@ setup( ...@@ -63,15 +66,15 @@ setup(
description=EXTENSION_TOML_DATA["package"]["description"], description=EXTENSION_TOML_DATA["package"]["description"],
keywords=EXTENSION_TOML_DATA["package"]["keywords"], keywords=EXTENSION_TOML_DATA["package"]["keywords"],
include_package_data=True, include_package_data=True,
python_requires=">=3.10", python_requires=">=3.11",
install_requires=INSTALL_REQUIRES, install_requires=INSTALL_REQUIRES,
dependency_links=PYTORCH_INDEX_URL, dependency_links=PYTORCH_INDEX_URL,
extras_require=EXTRAS_REQUIRE, extras_require=EXTRAS_REQUIRE,
packages=["isaaclab_rl"], packages=["isaaclab_rl"],
classifiers=[ classifiers=[
"Natural Language :: English", "Natural Language :: English",
"Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11",
"Isaac Sim :: 4.5.0", "Isaac Sim :: 5.0.0",
], ],
zip_safe=False, zip_safe=False,
) )
...@@ -19,7 +19,7 @@ EXTENSION_TOML_DATA = toml.load(os.path.join(EXTENSION_PATH, "config", "extensio ...@@ -19,7 +19,7 @@ EXTENSION_TOML_DATA = toml.load(os.path.join(EXTENSION_PATH, "config", "extensio
INSTALL_REQUIRES = [ INSTALL_REQUIRES = [
# generic # generic
"numpy<2", "numpy<2",
"torch==2.5.1", "torch>=2.7",
"torchvision>=0.14.1", # ensure compatibility with torch 1.13.1 "torchvision>=0.14.1", # ensure compatibility with torch 1.13.1
"protobuf>=3.20.2,!=5.26.0", "protobuf>=3.20.2,!=5.26.0",
# basic logger # basic logger
...@@ -41,14 +41,14 @@ setup( ...@@ -41,14 +41,14 @@ setup(
description=EXTENSION_TOML_DATA["package"]["description"], description=EXTENSION_TOML_DATA["package"]["description"],
keywords=EXTENSION_TOML_DATA["package"]["keywords"], keywords=EXTENSION_TOML_DATA["package"]["keywords"],
include_package_data=True, include_package_data=True,
python_requires=">=3.10", python_requires=">=3.11",
install_requires=INSTALL_REQUIRES, install_requires=INSTALL_REQUIRES,
dependency_links=PYTORCH_INDEX_URL, dependency_links=PYTORCH_INDEX_URL,
packages=["isaaclab_tasks"], packages=["isaaclab_tasks"],
classifiers=[ classifiers=[
"Natural Language :: English", "Natural Language :: English",
"Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11",
"Isaac Sim :: 4.5.0", "Isaac Sim :: 5.0.0",
], ],
zip_safe=False, zip_safe=False,
) )
...@@ -343,7 +343,7 @@ def warm_start_app(): ...@@ -343,7 +343,7 @@ def warm_start_app():
capture_output=True, capture_output=True,
) )
if len(warm_start_output.stderr) > 0: if len(warm_start_output.stderr) > 0:
if "DeprecationWarning" not in str(warm_start_output.stderr): if "omni::fabric::IStageReaderWriter" not in str(warm_start_output.stderr):
logging.error(f"Error warm starting the app: {str(warm_start_output.stderr)}") logging.error(f"Error warm starting the app: {str(warm_start_output.stderr)}")
exit(1) exit(1)
...@@ -360,7 +360,7 @@ def warm_start_app(): ...@@ -360,7 +360,7 @@ def warm_start_app():
capture_output=True, capture_output=True,
) )
if len(warm_start_rendering_output.stderr) > 0: if len(warm_start_rendering_output.stderr) > 0:
if "DeprecationWarning" not in str(warm_start_rendering_output.stderr): if "omni::fabric::IStageReaderWriter" not in str(warm_start_rendering_output.stderr):
logging.error(f"Error warm starting the app with rendering: {str(warm_start_rendering_output.stderr)}") logging.error(f"Error warm starting the app with rendering: {str(warm_start_rendering_output.stderr)}")
exit(1) exit(1)
......
...@@ -34,11 +34,11 @@ setup( ...@@ -34,11 +34,11 @@ setup(
install_requires=INSTALL_REQUIRES, install_requires=INSTALL_REQUIRES,
license="MIT", license="MIT",
include_package_data=True, include_package_data=True,
python_requires=">=3.10", python_requires=">=3.11",
classifiers=[ classifiers=[
"Natural Language :: English", "Natural Language :: English",
"Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11",
"Isaac Sim :: 4.5.0", "Isaac Sim :: 5.0.0",
], ],
zip_safe=False, zip_safe=False,
) )
...@@ -17,6 +17,8 @@ DEFAULT_TIMEOUT = 120 ...@@ -17,6 +17,8 @@ DEFAULT_TIMEOUT = 120
PER_TEST_TIMEOUTS = { PER_TEST_TIMEOUTS = {
"test_articulation.py": 200, "test_articulation.py": 200,
"test_rigid_object.py": 200,
"test_rigid_object_collection.py": 200,
"test_deformable_object.py": 200, "test_deformable_object.py": 200,
"test_rigid_object_collection.py": 200, "test_rigid_object_collection.py": 200,
"test_environments.py": 1850, # This test runs through all the environments for 100 steps each "test_environments.py": 1850, # This test runs through all the environments for 100 steps each
...@@ -24,7 +26,8 @@ PER_TEST_TIMEOUTS = { ...@@ -24,7 +26,8 @@ PER_TEST_TIMEOUTS = {
"test_factory_environments.py": 300, # This test runs through Factory environments for 100 steps each "test_factory_environments.py": 300, # This test runs through Factory environments for 100 steps each
"test_env_rendering_logic.py": 300, "test_env_rendering_logic.py": 300,
"test_camera.py": 500, "test_camera.py": 500,
"test_tiled_camera.py": 300, "test_tiled_camera.py": 500,
"test_multi_tiled_camera.py": 500,
"test_generate_dataset.py": 300, # This test runs annotation for 10 demos and generation until one succeeds "test_generate_dataset.py": 300, # This test runs annotation for 10 demos and generation until one succeeds
"test_rsl_rl_wrapper.py": 200, "test_rsl_rl_wrapper.py": 200,
"test_sb3_wrapper.py": 200, "test_sb3_wrapper.py": 200,
......
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