From 1357af949091823ed5cdfca4ec7842ee3397ffc1 Mon Sep 17 00:00:00 2001 From: AntoineRichard Date: Thu, 8 Oct 2026 16:12:45 +0200 Subject: [PATCH 1/3] Fix stale API claims in the 3.0 migration guide Correct statements in the Isaac Lab 3.0 migration guide that no longer match the source tree: - Actuator limit aliases are removed in 3.1, not kept through 3.x. - RayCasterCfg.attach_yaw_only was removed, not deprecated. - isaaclab.utils.math.convert_quat still exists; it is only unneeded for Isaac Lab data. - Legacy write_*_to_sim methods are deprecated forwarders, not removed. - MjcfConverterCfg.fix_base and link_density are supported again. - Isaac Capture ships with the teleop extra; drop the pip install with an outdated isaacteleop~=1.0 pin. --- .../migration/migrating_to_isaaclab_3-0.rst | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/source/migration/migrating_to_isaaclab_3-0.rst b/docs/source/migration/migrating_to_isaaclab_3-0.rst index a2faaaa962f6..23c8ad5587c9 100644 --- a/docs/source/migration/migrating_to_isaaclab_3-0.rst +++ b/docs/source/migration/migrating_to_isaaclab_3-0.rst @@ -1031,7 +1031,7 @@ removed in a future release. Actuator configurations now use joint-qualified names for solver limits. Update active configurations to the canonical fields below. The former names remain accepted with a -``DeprecationWarning`` through the 3.x release line and will be removed in 3.1. +``DeprecationWarning`` and will be removed in 3.1. .. list-table:: Actuator limit migration :header-rows: 1 @@ -1053,7 +1053,7 @@ configurations to the canonical fields below. The former names remain accepted w ``actuator_effort_limit`` clips explicit actuator-model output. ``joint_effort_limit`` and ``joint_velocity_limit`` are construction-time joint-property overrides selected by an actuator group's joint expression. The deprecated aliases ``effort_limit``, ``velocity_limit``, -``effort_limit_sim``, and ``velocity_limit_sim`` remain accepted through 3.x. ``effort_limit`` +``effort_limit_sim``, and ``velocity_limit_sim`` remain accepted until 3.1. ``effort_limit`` resolves to the rated ``actuator_effort_limit`` for every actuator type. For an implicit group without a separately configured solver clamp, the rated value also populates ``joint_effort_limit`` for backward compatibility; configure both fields to author distinct @@ -1678,7 +1678,7 @@ pattern as the general ProxyArray backend migration described above. **Ray Alignment Configuration** The ``attach_yaw_only`` boolean parameter on :class:`~isaaclab.sensors.RayCasterCfg` has been -deprecated in favor of the new ``ray_alignment`` parameter, which accepts one of three string +removed in favor of the new ``ray_alignment`` parameter, which accepts one of three string values: .. list-table:: @@ -2049,9 +2049,9 @@ by the convention change. .. rubric:: Quaternion Utility API Changes -**The ``convert_quat`` function has been removed** +**The ``convert_quat`` function is no longer needed** -Previously, IsaacLab had a utility function to convert between quaternion formats: +IsaacLab provides a utility function to convert between quaternion formats: .. code-block:: python @@ -2251,7 +2251,8 @@ All asset write methods have been split into two explicit variants: boolean mask selecting which environments to update. The ``data`` tensor has shape ``(num_envs, ...)``. -The previous ``write_*_to_sim(data, env_ids)`` methods have been removed. +The previous ``write_*_to_sim(data, env_ids)`` methods are deprecated and forward to the +``_index`` variants. .. code-block:: python @@ -2938,8 +2939,6 @@ and ``MJCFImporterConfig`` dataclass. The following :class:`~sim.converters.MjcfConverterCfg` settings have been **removed** because the new converter handles them automatically based on the MJCF file content: -- ``fix_base`` — base fixedness is now inferred from the MJCF ```` tag. -- ``link_density`` — density is now read directly from the MJCF model. - ``import_inertia_tensor`` — inertia tensors are always imported. - ``import_sites`` — sites are always imported. @@ -3225,11 +3224,12 @@ For full documentation on the new stack, see :ref:`isaac-teleop-feature`. **Installation Requirement** -Isaac Capture must now be installed in your Isaac Lab environment: +Isaac Capture must now be installed in your Isaac Lab environment. It ships with the ``teleop`` +extra: .. code-block:: bash - pip install isaacteleop~=1.0 --extra-index-url https://pypi.nvidia.com + uv sync --extra teleop --extra isaacsim See :ref:`install-isaac-teleop` for complete installation instructions. From 70a586c11b07db03fab59f87534d15b5a02f66b6 Mon Sep 17 00:00:00 2001 From: AntoineRichard Date: Thu, 8 Oct 2026 16:15:01 +0200 Subject: [PATCH 2/3] Fix MJCF collision_type example values in the 3.0 migration guide "default" is not an accepted MjcfConverterCfg.collision_type value; list values from the Literal type instead. --- docs/source/migration/migrating_to_isaaclab_3-0.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/migration/migrating_to_isaaclab_3-0.rst b/docs/source/migration/migrating_to_isaaclab_3-0.rst index 23c8ad5587c9..f4a91b4737aa 100644 --- a/docs/source/migration/migrating_to_isaaclab_3-0.rst +++ b/docs/source/migration/migrating_to_isaaclab_3-0.rst @@ -2957,8 +2957,8 @@ The following new settings were added to :class:`~sim.converters.MjcfConverterCf +-----------------------------------------------------------------+------------------------------------------------------+ | :attr:`~sim.converters.MjcfConverterCfg.collision_from_visuals` | Generate collision geometry from visuals. | +-----------------------------------------------------------------+------------------------------------------------------+ -| :attr:`~sim.converters.MjcfConverterCfg.collision_type` | Type of collision geometry (e.g. ``"default"``, | -| | ``"Convex Hull"``, ``"Convex Decomposition"``). | +| :attr:`~sim.converters.MjcfConverterCfg.collision_type` | Type of collision geometry (e.g. ``"Convex Hull"``, | +| | ``"Convex Decomposition"``, ``"Bounding Cube"``). | +-----------------------------------------------------------------+------------------------------------------------------+ From 3fa6f256f7a1bda35b800c6a95230f21d590fb2f Mon Sep 17 00:00:00 2001 From: AntoineRichard Date: Thu, 8 Oct 2026 16:52:45 +0200 Subject: [PATCH 3/3] Fix keyword-only write call and convert_quat note in the 3.0 migration guide - The Data Access and Math overview card called write_root_pose_to_sim_index positionally, but its arguments are keyword-only on every backend. - convert_quat is only unneeded for Isaac Lab data; keep it for external WXYZ data, as the HDF5 dataset handler still does. - Drop the nested literal inside the bold convert_quat heading, which rendered the backticks verbatim. --- docs/source/migration/migrating_to_isaaclab_3-0.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/source/migration/migrating_to_isaaclab_3-0.rst b/docs/source/migration/migrating_to_isaaclab_3-0.rst index f4a91b4737aa..4fe03f5fcf97 100644 --- a/docs/source/migration/migrating_to_isaaclab_3-0.rst +++ b/docs/source/migration/migrating_to_isaaclab_3-0.rst @@ -1786,7 +1786,7 @@ Migrate tensor access, indexed writes, buffers, and quaternion conventions befor identity = (0.0, 0.0, 0.0, 1.0) root_pos = robot.data.root_pos_w.torch - robot.write_root_pose_to_sim_index(pose, env_ids) + robot.write_root_pose_to_sim_index(root_pose=pose, env_ids=env_ids) .. rubric:: Quaternion Format @@ -2049,7 +2049,7 @@ by the convention change. .. rubric:: Quaternion Utility API Changes -**The ``convert_quat`` function is no longer needed** +**The convert_quat function is no longer needed** IsaacLab provides a utility function to convert between quaternion formats: @@ -2059,8 +2059,9 @@ IsaacLab provides a utility function to convert between quaternion formats: from isaaclab.utils.math import convert_quat quat_xyzw = convert_quat(quat_wxyz, "xyzw") -Since everything now uses XYZW natively, this function is no longer needed. -If you were using it, simply remove the conversion calls. +Since everything now uses XYZW natively, this function is no longer needed for Isaac Lab data. +If you were using it, simply remove the conversion calls. Keep it only to convert external +data that still uses WXYZ order. **Math utility functions now expect XYZW**