@@ -4,6 +4,157 @@ Release Notes
44The release notes are now available in the `Isaac Lab GitHub repository <https://github.com/isaac-sim/IsaacLab/releases >`_.
55We 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+
7158v2.0.1
8159======
9160
0 commit comments