Unverified Commit 0e4b38cd authored by Mayank Mittal's avatar Mayank Mittal Committed by GitHub

Bumps IsaacLab version to 2.0.2 (#2016)

# Description

The last MR before we make 2.0.2 release.

## Type of change

- This change requires a documentation update

## Checklist

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

---------
Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
parent 868b4ffb
......@@ -5,7 +5,7 @@
[package]
title = "Isaac Lab Python Headless"
description = "An app for running Isaac Lab headlessly"
version = "2.0.1"
version = "2.0.2"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "isaaclab", "python", "headless"]
......
......@@ -9,7 +9,7 @@
[package]
title = "Isaac Lab Python Headless Camera"
description = "An app for running Isaac Lab headlessly with rendering enabled"
version = "2.0.1"
version = "2.0.2"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "isaaclab", "python", "camera", "minimal"]
......
......@@ -5,7 +5,7 @@
[package]
title = "Isaac Lab Python"
description = "An app for running Isaac Lab"
version = "2.0.1"
version = "2.0.2"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "usd"]
......
......@@ -9,7 +9,7 @@
[package]
title = "Isaac Lab Python Camera"
description = "An app for running Isaac Lab with rendering enabled"
version = "2.0.1"
version = "2.0.2"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "isaaclab", "python", "camera", "minimal"]
......
......@@ -5,7 +5,7 @@
[package]
title = "Isaac Lab Python OpenXR"
description = "An app for running Isaac Lab with OpenXR"
version = "2.0.1"
version = "2.0.2"
# That makes it browsable in UI with "experience" filter
keywords = ["experience", "app", "usd"]
......
......@@ -26,6 +26,8 @@ sys.path.insert(0, os.path.abspath("../source/isaaclab_rl"))
sys.path.insert(0, os.path.abspath("../source/isaaclab_rl/isaaclab_rl"))
sys.path.insert(0, os.path.abspath("../source/isaaclab_mimic"))
sys.path.insert(0, os.path.abspath("../source/isaaclab_mimic/isaaclab_mimic"))
sys.path.insert(0, os.path.abspath("../source/isaaclab_assets"))
sys.path.insert(0, os.path.abspath("../source/isaaclab_assets/isaaclab_assets"))
# -- Project information -----------------------------------------------------
......
......@@ -4,6 +4,157 @@ Release Notes
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.
v2.0.2
======
Overview
--------
This patch release focuses on improving actuator configuration and fixing key bugs while reverting unintended
behavioral changes from v2.0.1. **We strongly recommend switching** to this new version if you're migrating
from a pre-2.0 release of Isaac Lab.
**Key Changes:**
* **Actuator Limit Handling**: Introduced :attr:`~isaaclab.actuators.ActuatorBaseCfg.velocity_limit_sim`
and :attr:`~isaaclab.actuators.ActuatorBaseCfg.effort_limit_sim` to clearly distinguish
simulation solver limits from actuator model constraints. Reverted implicit actuator velocity limits
to pre-v2.0 behavior.
* **Simulation configuration update**: Removed :attr:`~isaaclab.sim.SimulationCfg.disable_contact_processing`
flag to simplify behavior.
* **Rendering configuration update**: Reverted to pre-2.0 configuration to improve the quality of the
render product.
* **WebRTC Support**: Added IP specification for live-streaming.
**Full Changelog**: https://github.com/isaac-sim/IsaacLab/compare/v2.0.1...v2.0.2
New Features
------------
* Adds :attr:`~isaaclab.actuators.ActuatorBaseCfg.velocity_limit_sim` and
:attr:`~isaaclab.actuators.ActuatorBaseCfg.effort_limit_sim` to actuator.
* Adds WebRTC livestreaming support with IP specification.
Improvements
------------
* Adds guidelines and examples for code contribution.
* Separates joint state setters inside Articulation class.
* Implements deterministic evaluation for skrl's multi-agent algorithms.
* Adds new extensions to ``pyproject.toml``.
* Updates docs on Isaac Sim binary installation path and VSCode integration.
* Removes remaining deprecation warning in RigidObject deprecation.
* Adds security and show&tell notes to documentation.
Bug Fixes
---------
* Fixes offset from object obs for Franka stacking env when using parallel envs.
* Adds scene update to ManagerBasedEnv, DirectRLEnv, and MARL envs initialization.
* Loads actuator networks in eval() mode to prevent gradients.
* Fixes instructions on importing ANYmal URDF in docs.
* Fixes setting of root velocities in the event term :func:`~isaaclab.mdp.reset_root_state_from_terrain`.
* Fixes ``activate_contact_sensors`` when using :class:`~isaaclab.sim.MultiUsdFileCfg`.
* Fixes misalignment in motion vectors from :class:`~isaaclab.sim.TiledCamera`.
* Sets default tensor device to CPU for Camera rot buffer.
Breaking Changes
----------------
* Reverts the setting of joint velocity limits for implicit actuators.
* Removes ``disable_contact_processing`` flag from SimulationContext.
* Reverts to old render settings in kit experience files.
Migration Guide
---------------
.. attention::
We strongly recommend reviewing the details to fully understand the change in behavior,
as it may impact the deployment of learned policies. Please open an issue on GitHub if
you face any problems.
Introduction of simulation's effort and velocity limits parameters in ActuatorBaseCfg
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We have introduced the configuration variables :attr:`~isaaclab.actuators.ActuatorBaseCfg.velocity_limit_sim`
and :attr:`~isaaclab.actuators.ActuatorBaseCfg.effort_limit_sim` to the
:class:`isaaclab.actuators.ActuatorBaseCfg` to allow users to set the **simulation** joint velocity
and effort limits through the actuator configuration class.
Previously, we were overusing the attributes :attr:`~isaaclab.actuators.ActuatorBaseCfg.velocity_limit`
and :attr:`~isaaclab.actuators.ActuatorBaseCfg.effort_limit` inside the actuator configuration. A series
of changes in-between led to a regression from v1.4.0 to v2.0.1 release of IsaacLab. To make this
clearer to understand, we note the change in their behavior in a tabular form:
+---------------+-------------------------+--------------------------------------------------------------------+----------------------------------------------------------------+
| Actuator Type | Attribute | v1.4.0 Behavior | v2.0.1 Behavior |
+---------------+-------------------------+--------------------------------------------------------------------+----------------------------------------------------------------+
| Implicit | :attr:`velocity_limit` | Ignored, not set into simulation | Set into simulation |
| Implicit | :attr:`effort_limit` | Set into simulation | Set into simulation |
| Explicit | :attr:`velocity_limit` | Used by actuator models (e.g., DC Motor), not set into simulation | Used by actuator models (e.g., DC Motor), set into simulation |
| Explicit | :attr:`effort_limit` | Used by actuator models, not set into simulation | Used by actuator models, set into simulation |
+---------------+-------------------------+--------------------------------------------------------------------+----------------------------------------------------------------+
Setting the limits from the configuration into the simulation directly affects the behavior
of the underlying physics engine solver. This impact is particularly noticeable when velocity
limits are too restrictive, especially in joints with high stiffness, where it becomes easier
to reach these limits. As a result, the change in behavior caused previously trained policies
to not function correctly in IsaacLab v2.0.1.
Consequently, we have reverted back to the prior behavior and added :attr:`velocity_limit_sim` and
:attr:`effort_limit_sim` attributes to make it clear that setting those parameters means
changing solver's configuration. The new behavior is as follows:
+----------------------------+--------------------------------------------------------+-------------------------------------------------------------+
| Attribute | Implicit Actuator | Explicit Actuator |
+============================+========================================================+=============================================================+
| :attr:`velocity_limit` | Ignored, not set into simulation | Used by the model (e.g., DC Motor), not set into simulation |
| :attr:`effort_limit` | Set into simulation (same as :attr:`effort_limit_sim`) | Used by the models, not set into simulation |
| :attr:`velocity_limit_sim` | Set into simulation | Set into simulation |
| :attr:`effort_limit_sim` | Set into simulation (same as :attr:`effort_limit`) | Set into simulation |
+----------------------------+--------------------------------------------------------+-------------------------------------------------------------+
Users are advised to use the ``xxx_sim`` flag if they want to directly modify the solver limits.
Removal of ``disable_contact_processing`` flag in ``SimulationCfg``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We have now removed the ``disable_contact_processing`` flag from the :class:`isaaclab.sim.SimulationCfg`
to not have the user worry about these intricacies of the simulator. The flag is always True by
default unless a contact sensor is created (which will internally set this flag to False).
Previously, the flag ``disable_contact_processing`` led to confusion about its
behavior. As the name suggests, the flag controls the contact reporting from the
underlying physics engine, PhysX. Disabling this flag (note the double negation)
means that PhysX collects the contact information from its solver and allows
reporting them to the user. Enabling this flag means this operation is not performed and
the overhead of it is avoided.
Many of our examples (for instance, the locomotion environments) were setting this
flag to True which meant the contacts should **not** get reported. However, this issue
was not noticed earlier since GPU simulation bypasses this flag, and only CPU simulation
gets affected. Running the same examples on CPU device led to different behaviors
because of this reason.
Existing users, who currently set this flag themselves, should receive a deprecated
warning mentioning the removal of this flag and the switch to the new default behavior.
Switch to older rendering settings to improve render quality
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
With the IsaacLab 2.0.0 release, we switched to new render settings aimed at improving
tiled-rendering performance, but at the cost of reduced rendering quality. This change
particularly affected dome lighting in the scene, which is the default in many of our examples.
As reported by several users, this change negatively impacted render quality, even in
cases where it wasn’t necessary (such as when recording videos of the simulation). In
response to this feedback, we have reverted to the previous render settings by default
to restore the quality users expected.
For users looking to trade render quality for speed, we will provide guidelines in the future.
v2.0.1
======
......
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