Skip to content

Commit 0e4b38c

Browse files
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: Kelly Guo <kellyguo123@hotmail.com>
1 parent 868b4ff commit 0e4b38c

8 files changed

Lines changed: 159 additions & 6 deletions

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.0.1
1+
2.0.2

apps/isaaclab.python.headless.kit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[package]
66
title = "Isaac Lab Python Headless"
77
description = "An app for running Isaac Lab headlessly"
8-
version = "2.0.1"
8+
version = "2.0.2"
99

1010
# That makes it browsable in UI with "experience" filter
1111
keywords = ["experience", "app", "isaaclab", "python", "headless"]

apps/isaaclab.python.headless.rendering.kit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
[package]
1010
title = "Isaac Lab Python Headless Camera"
1111
description = "An app for running Isaac Lab headlessly with rendering enabled"
12-
version = "2.0.1"
12+
version = "2.0.2"
1313

1414
# That makes it browsable in UI with "experience" filter
1515
keywords = ["experience", "app", "isaaclab", "python", "camera", "minimal"]

apps/isaaclab.python.kit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[package]
66
title = "Isaac Lab Python"
77
description = "An app for running Isaac Lab"
8-
version = "2.0.1"
8+
version = "2.0.2"
99

1010
# That makes it browsable in UI with "experience" filter
1111
keywords = ["experience", "app", "usd"]

apps/isaaclab.python.rendering.kit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
[package]
1010
title = "Isaac Lab Python Camera"
1111
description = "An app for running Isaac Lab with rendering enabled"
12-
version = "2.0.1"
12+
version = "2.0.2"
1313

1414
# That makes it browsable in UI with "experience" filter
1515
keywords = ["experience", "app", "isaaclab", "python", "camera", "minimal"]

apps/isaaclab.python.xr.openxr.kit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[package]
66
title = "Isaac Lab Python OpenXR"
77
description = "An app for running Isaac Lab with OpenXR"
8-
version = "2.0.1"
8+
version = "2.0.2"
99

1010
# That makes it browsable in UI with "experience" filter
1111
keywords = ["experience", "app", "usd"]

docs/conf.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
sys.path.insert(0, os.path.abspath("../source/isaaclab_rl/isaaclab_rl"))
2727
sys.path.insert(0, os.path.abspath("../source/isaaclab_mimic"))
2828
sys.path.insert(0, os.path.abspath("../source/isaaclab_mimic/isaaclab_mimic"))
29+
sys.path.insert(0, os.path.abspath("../source/isaaclab_assets"))
30+
sys.path.insert(0, os.path.abspath("../source/isaaclab_assets/isaaclab_assets"))
2931

3032
# -- Project information -----------------------------------------------------
3133

docs/source/refs/release_notes.rst

Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,157 @@ Release Notes
44
The release notes are now available in the `Isaac Lab GitHub repository <https://github.com/isaac-sim/IsaacLab/releases>`_.
55
We summarize the release notes here for convenience.
66

7+
v2.0.2
8+
======
9+
10+
Overview
11+
--------
12+
13+
This patch release focuses on improving actuator configuration and fixing key bugs while reverting unintended
14+
behavioral changes from v2.0.1. **We strongly recommend switching** to this new version if you're migrating
15+
from a pre-2.0 release of Isaac Lab.
16+
17+
**Key Changes:**
18+
19+
* **Actuator Limit Handling**: Introduced :attr:`~isaaclab.actuators.ActuatorBaseCfg.velocity_limit_sim`
20+
and :attr:`~isaaclab.actuators.ActuatorBaseCfg.effort_limit_sim` to clearly distinguish
21+
simulation solver limits from actuator model constraints. Reverted implicit actuator velocity limits
22+
to pre-v2.0 behavior.
23+
* **Simulation configuration update**: Removed :attr:`~isaaclab.sim.SimulationCfg.disable_contact_processing`
24+
flag to simplify behavior.
25+
* **Rendering configuration update**: Reverted to pre-2.0 configuration to improve the quality of the
26+
render product.
27+
* **WebRTC Support**: Added IP specification for live-streaming.
28+
29+
**Full Changelog**: https://github.com/isaac-sim/IsaacLab/compare/v2.0.1...v2.0.2
30+
31+
New Features
32+
------------
33+
34+
* Adds :attr:`~isaaclab.actuators.ActuatorBaseCfg.velocity_limit_sim` and
35+
:attr:`~isaaclab.actuators.ActuatorBaseCfg.effort_limit_sim` to actuator.
36+
* Adds WebRTC livestreaming support with IP specification.
37+
38+
Improvements
39+
------------
40+
41+
* Adds guidelines and examples for code contribution.
42+
* Separates joint state setters inside Articulation class.
43+
* Implements deterministic evaluation for skrl's multi-agent algorithms.
44+
* Adds new extensions to ``pyproject.toml``.
45+
* Updates docs on Isaac Sim binary installation path and VSCode integration.
46+
* Removes remaining deprecation warning in RigidObject deprecation.
47+
* Adds security and show&tell notes to documentation.
48+
49+
Bug Fixes
50+
---------
51+
* Fixes offset from object obs for Franka stacking env when using parallel envs.
52+
* Adds scene update to ManagerBasedEnv, DirectRLEnv, and MARL envs initialization.
53+
* Loads actuator networks in eval() mode to prevent gradients.
54+
* Fixes instructions on importing ANYmal URDF in docs.
55+
* Fixes setting of root velocities in the event term :func:`~isaaclab.mdp.reset_root_state_from_terrain`.
56+
* Fixes ``activate_contact_sensors`` when using :class:`~isaaclab.sim.MultiUsdFileCfg`.
57+
* Fixes misalignment in motion vectors from :class:`~isaaclab.sim.TiledCamera`.
58+
* Sets default tensor device to CPU for Camera rot buffer.
59+
60+
Breaking Changes
61+
----------------
62+
63+
* Reverts the setting of joint velocity limits for implicit actuators.
64+
* Removes ``disable_contact_processing`` flag from SimulationContext.
65+
* Reverts to old render settings in kit experience files.
66+
67+
Migration Guide
68+
---------------
69+
70+
.. attention::
71+
72+
We strongly recommend reviewing the details to fully understand the change in behavior,
73+
as it may impact the deployment of learned policies. Please open an issue on GitHub if
74+
you face any problems.
75+
76+
77+
Introduction of simulation's effort and velocity limits parameters in ActuatorBaseCfg
78+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79+
80+
We have introduced the configuration variables :attr:`~isaaclab.actuators.ActuatorBaseCfg.velocity_limit_sim`
81+
and :attr:`~isaaclab.actuators.ActuatorBaseCfg.effort_limit_sim` to the
82+
:class:`isaaclab.actuators.ActuatorBaseCfg` to allow users to set the **simulation** joint velocity
83+
and effort limits through the actuator configuration class.
84+
85+
Previously, we were overusing the attributes :attr:`~isaaclab.actuators.ActuatorBaseCfg.velocity_limit`
86+
and :attr:`~isaaclab.actuators.ActuatorBaseCfg.effort_limit` inside the actuator configuration. A series
87+
of changes in-between led to a regression from v1.4.0 to v2.0.1 release of IsaacLab. To make this
88+
clearer to understand, we note the change in their behavior in a tabular form:
89+
90+
+---------------+-------------------------+--------------------------------------------------------------------+----------------------------------------------------------------+
91+
| Actuator Type | Attribute | v1.4.0 Behavior | v2.0.1 Behavior |
92+
+---------------+-------------------------+--------------------------------------------------------------------+----------------------------------------------------------------+
93+
| Implicit | :attr:`velocity_limit` | Ignored, not set into simulation | Set into simulation |
94+
| Implicit | :attr:`effort_limit` | Set into simulation | Set into simulation |
95+
| 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 |
96+
| Explicit | :attr:`effort_limit` | Used by actuator models, not set into simulation | Used by actuator models, set into simulation |
97+
+---------------+-------------------------+--------------------------------------------------------------------+----------------------------------------------------------------+
98+
99+
Setting the limits from the configuration into the simulation directly affects the behavior
100+
of the underlying physics engine solver. This impact is particularly noticeable when velocity
101+
limits are too restrictive, especially in joints with high stiffness, where it becomes easier
102+
to reach these limits. As a result, the change in behavior caused previously trained policies
103+
to not function correctly in IsaacLab v2.0.1.
104+
105+
Consequently, we have reverted back to the prior behavior and added :attr:`velocity_limit_sim` and
106+
:attr:`effort_limit_sim` attributes to make it clear that setting those parameters means
107+
changing solver's configuration. The new behavior is as follows:
108+
109+
+----------------------------+--------------------------------------------------------+-------------------------------------------------------------+
110+
| Attribute | Implicit Actuator | Explicit Actuator |
111+
+============================+========================================================+=============================================================+
112+
| :attr:`velocity_limit` | Ignored, not set into simulation | Used by the model (e.g., DC Motor), not set into simulation |
113+
| :attr:`effort_limit` | Set into simulation (same as :attr:`effort_limit_sim`) | Used by the models, not set into simulation |
114+
| :attr:`velocity_limit_sim` | Set into simulation | Set into simulation |
115+
| :attr:`effort_limit_sim` | Set into simulation (same as :attr:`effort_limit`) | Set into simulation |
116+
+----------------------------+--------------------------------------------------------+-------------------------------------------------------------+
117+
118+
Users are advised to use the ``xxx_sim`` flag if they want to directly modify the solver limits.
119+
120+
Removal of ``disable_contact_processing`` flag in ``SimulationCfg``
121+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
122+
123+
We have now removed the ``disable_contact_processing`` flag from the :class:`isaaclab.sim.SimulationCfg`
124+
to not have the user worry about these intricacies of the simulator. The flag is always True by
125+
default unless a contact sensor is created (which will internally set this flag to False).
126+
127+
Previously, the flag ``disable_contact_processing`` led to confusion about its
128+
behavior. As the name suggests, the flag controls the contact reporting from the
129+
underlying physics engine, PhysX. Disabling this flag (note the double negation)
130+
means that PhysX collects the contact information from its solver and allows
131+
reporting them to the user. Enabling this flag means this operation is not performed and
132+
the overhead of it is avoided.
133+
134+
Many of our examples (for instance, the locomotion environments) were setting this
135+
flag to True which meant the contacts should **not** get reported. However, this issue
136+
was not noticed earlier since GPU simulation bypasses this flag, and only CPU simulation
137+
gets affected. Running the same examples on CPU device led to different behaviors
138+
because of this reason.
139+
140+
Existing users, who currently set this flag themselves, should receive a deprecated
141+
warning mentioning the removal of this flag and the switch to the new default behavior.
142+
143+
Switch to older rendering settings to improve render quality
144+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
145+
146+
With the IsaacLab 2.0.0 release, we switched to new render settings aimed at improving
147+
tiled-rendering performance, but at the cost of reduced rendering quality. This change
148+
particularly affected dome lighting in the scene, which is the default in many of our examples.
149+
150+
As reported by several users, this change negatively impacted render quality, even in
151+
cases where it wasn’t necessary (such as when recording videos of the simulation). In
152+
response to this feedback, we have reverted to the previous render settings by default
153+
to restore the quality users expected.
154+
155+
For users looking to trade render quality for speed, we will provide guidelines in the future.
156+
157+
7158
v2.0.1
8159
======
9160

0 commit comments

Comments
 (0)