diff --git a/CITATION.cff b/CITATION.cff index 81a4caa3607c..ce2eaabc5054 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,7 +1,7 @@ cff-version: 1.2.0 message: "If you use this software, please cite both the Isaac Lab repository and the Orbit paper." title: Isaac Lab -version: 2.2.0 +version: 2.2.1 repository-code: https://github.com/NVIDIA-Omniverse/IsaacLab type: software authors: diff --git a/README.md b/README.md index 1a430cae71e5..d031c7bfe2fe 100644 --- a/README.md +++ b/README.md @@ -14,14 +14,21 @@ [![License](https://img.shields.io/badge/license-Apache--2.0-yellow.svg)](https://opensource.org/license/apache-2-0) -**Isaac Lab** is a GPU-accelerated, open-source framework designed to unify and simplify robotics research workflows, such as reinforcement learning, imitation learning, and motion planning. Built on [NVIDIA Isaac Sim](https://docs.isaacsim.omniverse.nvidia.com/latest/index.html), it combines fast and accurate physics and sensor simulation, making it an ideal choice for sim-to-real transfer in robotics. +**Isaac Lab** is a GPU-accelerated, open-source framework designed to unify and simplify robotics research workflows, +such as reinforcement learning, imitation learning, and motion planning. Built on [NVIDIA Isaac Sim](https://docs.isaacsim.omniverse.nvidia.com/latest/index.html), +it combines fast and accurate physics and sensor simulation, making it an ideal choice for sim-to-real +transfer in robotics. -Isaac Lab provides developers with a range of essential features for accurate sensor simulation, such as RTX-based cameras, LIDAR, or contact sensors. The framework's GPU acceleration enables users to run complex simulations and computations faster, which is key for iterative processes like reinforcement learning and data-intensive tasks. Moreover, Isaac Lab can run locally or be distributed across the cloud, offering flexibility for large-scale deployments. +Isaac Lab provides developers with a range of essential features for accurate sensor simulation, such as RTX-based +cameras, LIDAR, or contact sensors. The framework's GPU acceleration enables users to run complex simulations and +computations faster, which is key for iterative processes like reinforcement learning and data-intensive tasks. +Moreover, Isaac Lab can run locally or be distributed across the cloud, offering flexibility for large-scale deployments. ## Key Features Isaac Lab offers a comprehensive set of tools and environments designed to facilitate robot learning: + - **Robots**: A diverse collection of robots, from manipulators, quadrupeds, to humanoids, with 16 commonly available models. - **Environments**: Ready-to-train implementations of more than 30 environments, which can be trained with popular reinforcement learning frameworks such as RSL RL, SKRL, RL Games, or Stable Baselines. We also support multi-agent reinforcement learning. - **Physics**: Rigid bodies, articulated systems, deformable objects @@ -118,7 +125,8 @@ For detailed Isaac Sim installation instructions, please refer to ### Documentation -Our [documentation page](https://isaac-sim.github.io/IsaacLab) provides everything you need to get started, including detailed tutorials and step-by-step guides. Follow these links to learn more about: +Our [documentation page](https://isaac-sim.github.io/IsaacLab) provides everything you need to get started, including +detailed tutorials and step-by-step guides. Follow these links to learn more about: - [Installation steps](https://isaac-sim.github.io/IsaacLab/main/source/setup/installation/index.html#local-installation) - [Reinforcement learning](https://isaac-sim.github.io/IsaacLab/main/source/overview/reinforcement-learning/rl_existing_scripts.html) @@ -128,18 +136,16 @@ Our [documentation page](https://isaac-sim.github.io/IsaacLab) provides everythi ## Isaac Sim Version Dependency -Isaac Lab is built on top of Isaac Sim and requires specific versions of Isaac Sim that are compatible with each release of Isaac Lab. -Below, we outline the recent Isaac Lab releases and GitHub branches and their corresponding dependency versions for Isaac Sim. +Isaac Lab is built on top of Isaac Sim and requires specific versions of Isaac Sim that are compatible with each +release of Isaac Lab. Below, we outline the recent Isaac Lab releases and GitHub branches and their corresponding +dependency versions for Isaac Sim. | Isaac Lab Version | Isaac Sim Version | | ----------------------------- | ------------------- | | `main` branch | Isaac Sim 4.5 / 5.0 | -| `v2.2.0` | Isaac Sim 4.5 / 5.0 | -| `v2.1.1` | Isaac Sim 4.5 | -| `v2.1.0` | Isaac Sim 4.5 | -| `v2.0.2` | Isaac Sim 4.5 | -| `v2.0.1` | Isaac Sim 4.5 | -| `v2.0.0` | Isaac Sim 4.5 | +| `v2.2.X` | Isaac Sim 4.5 / 5.0 | +| `v2.1.X` | Isaac Sim 4.5 | +| `v2.0.X` | Isaac Sim 4.5 | ## Contributing to Isaac Lab @@ -150,8 +156,8 @@ These may happen as bug reports, feature requests, or code contributions. For de ## Show & Tell: Share Your Inspiration -We encourage you to utilize our [Show & Tell](https://github.com/isaac-sim/IsaacLab/discussions/categories/show-and-tell) area in the -`Discussions` section of this repository. This space is designed for you to: +We encourage you to utilize our [Show & Tell](https://github.com/isaac-sim/IsaacLab/discussions/categories/show-and-tell) +area in the `Discussions` section of this repository. This space is designed for you to: * Share the tutorials you've created * Showcase your learning content @@ -171,8 +177,11 @@ or opening a question on its [forums](https://forums.developer.nvidia.com/c/agx- ## Support -* Please use GitHub [Discussions](https://github.com/isaac-sim/IsaacLab/discussions) for discussing ideas, asking questions, and requests for new features. -* Github [Issues](https://github.com/isaac-sim/IsaacLab/issues) should only be used to track executable pieces of work with a definite scope and a clear deliverable. These can be fixing bugs, documentation issues, new features, or general updates. +* Please use GitHub [Discussions](https://github.com/isaac-sim/IsaacLab/discussions) for discussing ideas, + asking questions, and requests for new features. +* Github [Issues](https://github.com/isaac-sim/IsaacLab/issues) should only be used to track executable pieces of + work with a definite scope and a clear deliverable. These can be fixing bugs, documentation issues, new features, + or general updates. ## Connect with the NVIDIA Omniverse Community @@ -182,15 +191,19 @@ to spotlight your work. You can also join the conversation on the [Omniverse Discord](https://discord.com/invite/nvidiaomniverse) to connect with other developers, share your projects, and help grow a vibrant, collaborative ecosystem -where creativity and technology intersect. Your contributions can make a meaningful impact on the Isaac Lab community and beyond! +where creativity and technology intersect. Your contributions can make a meaningful impact on the Isaac Lab +community and beyond! ## License -The Isaac Lab framework is released under [BSD-3 License](LICENSE). The `isaaclab_mimic` extension and its corresponding standalone scripts are released under [Apache 2.0](LICENSE-mimic). The license files of its dependencies and assets are present in the [`docs/licenses`](docs/licenses) directory. +The Isaac Lab framework is released under [BSD-3 License](LICENSE). The `isaaclab_mimic` extension and its +corresponding standalone scripts are released under [Apache 2.0](LICENSE-mimic). The license files of its +dependencies and assets are present in the [`docs/licenses`](docs/licenses) directory. ## Acknowledgement -Isaac Lab development initiated from the [Orbit](https://isaac-orbit.github.io/) framework. We would appreciate if you would cite it in academic publications as well: +Isaac Lab development initiated from the [Orbit](https://isaac-orbit.github.io/) framework. We would appreciate if +you would cite it in academic publications as well: ``` @article{mittal2023orbit, diff --git a/VERSION b/VERSION index ccbccc3dc626..c043eea7767e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.2.0 +2.2.1 diff --git a/apps/isaaclab.python.headless.kit b/apps/isaaclab.python.headless.kit index 55b345d3f264..9d3bd66f722c 100644 --- a/apps/isaaclab.python.headless.kit +++ b/apps/isaaclab.python.headless.kit @@ -5,7 +5,7 @@ [package] title = "Isaac Lab Python Headless" description = "An app for running Isaac Lab headlessly" -version = "2.2.0" +version = "2.2.1" # That makes it browsable in UI with "experience" filter keywords = ["experience", "app", "isaaclab", "python", "headless"] diff --git a/apps/isaaclab.python.headless.rendering.kit b/apps/isaaclab.python.headless.rendering.kit index ed20ad42c321..dad5e35b40ee 100644 --- a/apps/isaaclab.python.headless.rendering.kit +++ b/apps/isaaclab.python.headless.rendering.kit @@ -9,7 +9,7 @@ [package] title = "Isaac Lab Python Headless Camera" description = "An app for running Isaac Lab headlessly with rendering enabled" -version = "2.2.0" +version = "2.2.1" # That makes it browsable in UI with "experience" filter keywords = ["experience", "app", "isaaclab", "python", "camera", "minimal"] diff --git a/apps/isaaclab.python.kit b/apps/isaaclab.python.kit index 004d3ffd1ac4..9d1687204a34 100644 --- a/apps/isaaclab.python.kit +++ b/apps/isaaclab.python.kit @@ -5,7 +5,7 @@ [package] title = "Isaac Lab Python" description = "An app for running Isaac Lab" -version = "2.2.0" +version = "2.2.1" # That makes it browsable in UI with "experience" filter keywords = ["experience", "app", "usd"] diff --git a/apps/isaaclab.python.rendering.kit b/apps/isaaclab.python.rendering.kit index 087887c454ed..ab88e1cf9059 100644 --- a/apps/isaaclab.python.rendering.kit +++ b/apps/isaaclab.python.rendering.kit @@ -9,7 +9,7 @@ [package] title = "Isaac Lab Python Camera" description = "An app for running Isaac Lab with rendering enabled" -version = "2.2.0" +version = "2.2.1" # That makes it browsable in UI with "experience" filter keywords = ["experience", "app", "isaaclab", "python", "camera", "minimal"] diff --git a/apps/isaaclab.python.xr.openxr.headless.kit b/apps/isaaclab.python.xr.openxr.headless.kit index 7322f9e48d98..f9b89dc1b299 100644 --- a/apps/isaaclab.python.xr.openxr.headless.kit +++ b/apps/isaaclab.python.xr.openxr.headless.kit @@ -5,7 +5,7 @@ [package] title = "Isaac Lab Python OpenXR Headless" description = "An app for running Isaac Lab with OpenXR in headless mode" -version = "2.2.0" +version = "2.2.1" # That makes it browsable in UI with "experience" filter keywords = ["experience", "app", "usd", "headless"] diff --git a/apps/isaaclab.python.xr.openxr.kit b/apps/isaaclab.python.xr.openxr.kit index cb62421ad7c3..c88fbe8ddc82 100644 --- a/apps/isaaclab.python.xr.openxr.kit +++ b/apps/isaaclab.python.xr.openxr.kit @@ -5,7 +5,7 @@ [package] title = "Isaac Lab Python OpenXR" description = "An app for running Isaac Lab with OpenXR" -version = "2.2.0" +version = "2.2.1" # That makes it browsable in UI with "experience" filter keywords = ["experience", "app", "usd"] diff --git a/apps/isaacsim_4_5/isaaclab.python.headless.kit b/apps/isaacsim_4_5/isaaclab.python.headless.kit index c8e2bca05de4..13327588e0da 100644 --- a/apps/isaacsim_4_5/isaaclab.python.headless.kit +++ b/apps/isaacsim_4_5/isaaclab.python.headless.kit @@ -5,7 +5,7 @@ [package] title = "Isaac Lab Python Headless" description = "An app for running Isaac Lab headlessly" -version = "2.2.0" +version = "2.2.1" # That makes it browsable in UI with "experience" filter keywords = ["experience", "app", "isaaclab", "python", "headless"] diff --git a/apps/isaacsim_4_5/isaaclab.python.headless.rendering.kit b/apps/isaacsim_4_5/isaaclab.python.headless.rendering.kit index 7bcc3d03f117..df06ee11a0b6 100644 --- a/apps/isaacsim_4_5/isaaclab.python.headless.rendering.kit +++ b/apps/isaacsim_4_5/isaaclab.python.headless.rendering.kit @@ -9,7 +9,7 @@ [package] title = "Isaac Lab Python Headless Camera" description = "An app for running Isaac Lab headlessly with rendering enabled" -version = "2.2.0" +version = "2.2.1" # That makes it browsable in UI with "experience" filter keywords = ["experience", "app", "isaaclab", "python", "camera", "minimal"] diff --git a/apps/isaacsim_4_5/isaaclab.python.kit b/apps/isaacsim_4_5/isaaclab.python.kit index 7c87df7c2f9f..4b7f4086b660 100644 --- a/apps/isaacsim_4_5/isaaclab.python.kit +++ b/apps/isaacsim_4_5/isaaclab.python.kit @@ -5,7 +5,7 @@ [package] title = "Isaac Lab Python" description = "An app for running Isaac Lab" -version = "2.2.0" +version = "2.2.1" # That makes it browsable in UI with "experience" filter keywords = ["experience", "app", "usd"] diff --git a/apps/isaacsim_4_5/isaaclab.python.rendering.kit b/apps/isaacsim_4_5/isaaclab.python.rendering.kit index c8ab4dd09902..8c319a040cd9 100644 --- a/apps/isaacsim_4_5/isaaclab.python.rendering.kit +++ b/apps/isaacsim_4_5/isaaclab.python.rendering.kit @@ -9,7 +9,7 @@ [package] title = "Isaac Lab Python Camera" description = "An app for running Isaac Lab with rendering enabled" -version = "2.2.0" +version = "2.2.1" # That makes it browsable in UI with "experience" filter keywords = ["experience", "app", "isaaclab", "python", "camera", "minimal"] diff --git a/apps/isaacsim_4_5/isaaclab.python.xr.openxr.headless.kit b/apps/isaacsim_4_5/isaaclab.python.xr.openxr.headless.kit index 7a6e92f7ea16..f8b07af33833 100644 --- a/apps/isaacsim_4_5/isaaclab.python.xr.openxr.headless.kit +++ b/apps/isaacsim_4_5/isaaclab.python.xr.openxr.headless.kit @@ -5,7 +5,7 @@ [package] title = "Isaac Lab Python OpenXR Headless" description = "An app for running Isaac Lab with OpenXR in headless mode" -version = "2.2.0" +version = "2.2.1" # That makes it browsable in UI with "experience" filter keywords = ["experience", "app", "usd", "headless"] diff --git a/apps/isaacsim_4_5/isaaclab.python.xr.openxr.kit b/apps/isaacsim_4_5/isaaclab.python.xr.openxr.kit index e852ae47430d..663b7dfb4f32 100644 --- a/apps/isaacsim_4_5/isaaclab.python.xr.openxr.kit +++ b/apps/isaacsim_4_5/isaaclab.python.xr.openxr.kit @@ -5,7 +5,7 @@ [package] title = "Isaac Lab Python OpenXR" description = "An app for running Isaac Lab with OpenXR" -version = "2.2.0" +version = "2.2.1" # That makes it browsable in UI with "experience" filter keywords = ["experience", "app", "usd"] diff --git a/docs/source/refs/release_notes.rst b/docs/source/refs/release_notes.rst index 59396ce33ef7..be9dc4d8ec18 100644 --- a/docs/source/refs/release_notes.rst +++ b/docs/source/refs/release_notes.rst @@ -4,6 +4,97 @@ Release Notes The release notes are now available in the `Isaac Lab GitHub repository `_. We summarize the release notes here for convenience. +v2.2.1 +====== + +Overview +-------- + +This is a minor patch release with some improvements and bug fixes. + +Full Changelog: https://github.com/isaac-sim/IsaacLab/compare/v2.2.0...v2.2.1 + +New Features +------------ + +- Adds contact point location reporting to ContactSensor by @jtigue-bdai +- Adds environments actions/observations descriptors for export by @AntoineRichard +- Adds RSL-RL symmetry example for cartpole and ANYmal locomotion by @Mayankm96 + +Improvements +------------ + +Core API +~~~~~~~~ + +- Enhances Pink IK controller with null-space posture control and improvements by @michaellin6 +- Adds periodic logging when checking USD path on Nucleus server by @matthewtrepte +- Disallows string value written in sb3_ppo_cfg.yaml from being evaluated in process_sb3_cfg by @ooctipus + +Infrastructure +~~~~~~~~~~~~~~ + +* **Application Settings** + - Disables rate limit for headless and headless rendering app by @matthewtrepte, @kellyguo11 + - Disables ``rtx.indirrectDiffuse.enabled`` in render preset balanced and performance modes by @matthewtrepte + - Sets profiler backend to NVTX by default by @soowanpNV, @rwiltz +* **Dependencies** + - Adds hf-xet license by @hhansen-bdai + - Fixes new typing-inspection dependency license by @kellyguo11 +* **Testing & Benchmarking** + - Adds basic validation tests for scale-based randomization ranges by @louislelay + - Adds ``SensorBase`` tests by @jtigue-bdai +* **Repository Utilities** + - Adds improved readout from install_deps.py by @hhansen-bdai + - Fixes isaaclab.sh to detect isaacsim_version accurately 4.5 or >= 5.0 by @ooctipus + - Disables verbose printing in conftest.py by @ooctipus + - Updates pytest flags for isaacsim integration testing by @ben-johnston-nv + - Updates CodeOwners to be more fine-grained by @pascal-roth + - Fixes minor issues in CI by @nv-apoddubny + +Bug Fixes +--------- + +Core API +~~~~~~~~ + +* **Asset Interfaces** + - Fixes setting friction coefficients into PhysX in the articulation classes by @ossamaAhmed + - Sets joint_friction_coeff only for selected physx_env_ids by @ashwinvkNV +* **Manager Interfaces** + - Fixes observation space Dict for non-concatenated groups only keeping the last term by @CSCSX +* **MDP Terms** + - Fixes termination term effort limit check logic by @moribots + - Broadcasts environment ids inside ``mdp.randomize_rigid_body_com`` by @Foruck + - Fixes IndexError in reset_joints_by_scale and reset_joints_by_offset by @Creampelt + - Fixes ``terrain_out_of_bounds`` to return tensor instead of bool by @fan-ziqi + +Infrastructure +~~~~~~~~~~~~~~ + +- Fixes distributed training hanging issue by @kellyguo11 +- Disables generation of internal template when detecting isaaclab install via pip by @ooctipus +- Fixes typo in isaaclab.bat by @ooctipus +- Updates app pathing for user-provided rendering preset mode by @matthewtrepte + +Documentation +------------- + +- Adds documentation for Newton integration by @mpgussert +- Adapts FAQ section in docs with Isaac Sim open-sourcing by @Mayankm96 +- Changes checkpoint path in rsl-rl to an absolute path in documentation by @fan-ziqi +- Fixes MuJoCo link in docs by @fan-ziqi +- Adds client version direction to XR document by @lotusl-code +- Fixes broken link in doc by @kellyguo11 +- Fixes typo in list_envs.py script path by @fbeltrao +- Fixes Franka blueprint env ID in docs by @louislelay + +Breaking Changes +---------------- + +- Improves termination manager logging to report aggregated percentage of environments done due to each term by @ooctipus + + v2.2.0 ====== @@ -54,10 +145,10 @@ New Features * Adds FORGE tasks for contact-rich manipulation with force sensing to IsaacLab by @noseworm in #2968 * Adds two new GR1 environments for IsaacLab Mimic by @peterd-NV * Adds stack environment, scripts for Cosmos, and visual robustness evaluation by @shauryadNv -* Updates Joint Friction Parameters to Isaac Sim 5.0 PhysX APIs by @ossamaAhmed in 87130f23a11b84851133685b234dfa4e0991cfcd -* Adds support for spatial tendons by @ossamaAhmed in 7a176fa984dfac022d7f99544037565e78354067 -* Adds support and example for SurfaceGrippers by @AntoineRichard in 14a3a7afc835754da7a275209a95ea21b40c0d7a -* Adds support for stage in memory by @matthewtrepte in 33bcf6605bcd908c10dfb485a4432fa1110d2e73 +* Updates Joint Friction Parameters to Isaac Sim 5.0 PhysX APIs by @ossamaAhmed +* Adds support for spatial tendons by @ossamaAhmed +* Adds support and example for SurfaceGrippers by @AntoineRichard +* Adds support for stage in memory by @matthewtrepte * Adds OVD animation recording feature by @matthewtrepte Improvements @@ -71,7 +162,7 @@ Improvements * Updates Mimic test cases to pytest format by @peterd-NV * Updates cosmos test files to use pytest by @shauryadNv * Updates onnx and protobuf version due to vulnerabilities by @kellyguo11 -* Updates minimum skrl version to 1.4.3 by @Toni-SM in https://github.com/isaac-sim/IsaacLab/pull/3053 +* Updates minimum skrl version to 1.4.3 by @Toni-SM * Updates to Isaac Sim 5.0 by @kellyguo11 * Updates docker CloudXR runtime version by @lotusl-code * Removes xr rendering mode by @rwiltz @@ -84,16 +175,16 @@ Bug Fixes --------- * Fixes operational space unit test to avoid pi rotation error by @ooctipus -* Fixes GLIBC errors with importing torch before AppLauncher by @kellyguo11 in c80e2afb596372923dbab1090d4d0707423882f0 +* Fixes GLIBC errors with importing torch before AppLauncher by @kellyguo11 * Fixes rendering preset by @matthewtrepte in cc0dab6cd50778507efc3c9c2d74a28919ab2092 -* Fixes callbacks with stage in memory and organize environment tests by @matthewtrepte in 4dd6a1e804395561965ed242b3d3d80b8a8f72b9 -* Fixes XR and external camera bug with async rendering by @rwiltz in c80e2afb596372923dbab1090d4d0707423882f0 +* Fixes callbacks with stage in memory and organize environment tests by @matthewtrepte +* Fixes XR and external camera bug with async rendering by @rwiltz * Disables selection for rl_games when marl is selected for template generator by @ooctipus * Adds check for .gitignore when generating template by @kellyguo11 * Fixes camera obs errors in stack instance randomize envs by @peterd-NV * Fixes parsing for play envs by @matthewtrepte * Fixes issues with consecutive python exe calls in isaaclab.bat by @kellyguo11 -* Fixes spacemouse add callback function by @peterd-NV in 72f05a29ad12d02ec9585dad0fbb2299d70a929c +* Fixes spacemouse add callback function by @peterd-NV * Fixes humanoid training with new velocity_limit_sim by @AntoineRichard Documentation