Skip to content

Releases: isaac-sim/IsaacLab

v3.0.0-beta2.patch1

Choose a tag to compare

@kellyguo11 kellyguo11 released this 02 Jul 04:21
ffff603

Isaac Lab 3.0 Beta 2 - Patch 1

This is a small patch release on top of the previous Isaac Lab 3.0.0 Beta 2 release, including an update to support Isaac Sim 6.0.1, which includes fixes and improvements for NuRec workflows (https://docs.isaacsim.omniverse.nvidia.com/6.0.1/overview/release_notes.html). Additionally, some fixes were introduced for Isaac Lab dependencies and docker image to better support compatibility with Isaac Sim.

What's Changed

Full Changelog: v3.0.0-beta2...v3.0.0-beta2.patch1

v3.0.0-beta2

Choose a tag to compare

@kellyguo11 kellyguo11 released this 17 Jun 02:16

Isaac Lab 3.0 Beta 2 🚀

Isaac Lab 3.0 Beta 2 is a stabilization and enablement release for the Isaac Lab 3.0 beta development. It builds on v3.0.0-beta with additional features and improvements on Newton support (VBD, solver coupling, Kamino, rough terrain, sensors), multi-backend physics, simplified training and installation commands, kit-less workflows, visualizers, rendering, teleoperation, learning exports, installation, CI, and documentation.

This release is compatible with the latest release of Isaac Sim 6.0.

This is a beta release. The develop branch is still under active development and may continue to receive breaking changes, error-message changes, or performance tuning before the final 3.0 release. Please check out the develop branch for the latest development updates.


✨ Highlights

Multi-Backend Stabilization

The multi-backend architecture introduced in the first 3.0 beta has been hardened across PhysX, Newton, OVPhysX, Isaac RTX, OVRTX, and kit-less execution paths. This release improves backend selection, scene-data routing, clone-plan handling, sensor reset behavior, runtime compatibility checks, and error reporting when unsupported physics, renderer, or visualizer combinations are requested.

Newton Physics & Kit-Less Workflows

Newton and OVPhysX support have been expanded and stabilized for larger kit-less training and visualization workflows:

  • Adds Newton ray-caster, frame-transformer, IMU/PVA, contact, joint-wrench, deformable, and VBD-coupling support across the relevant packages.
  • Adds Newton rough-terrain locomotion presets for quadrupeds and bipeds, plus additional MJWarp presets for manipulation, navigation, and Spot environments.
  • Adds documentation for Newton installation, supported features, MJWarp, Kamino, VBD, solver comparison, Warp environment migration, and the Newton manager abstraction.
  • Fixes heterogeneous replication, clone-plan source resolution, stale sensor data after resets, Newton visualizer updates on PhysX simulations, and Newton camera/site frame poses.
  • Adds initial experimental support for OvPhysX (kit-less version of PhysX).

Rendering, Cameras & PPISP

Rendering received broad updates across Isaac RTX, OVRTX, and Newton Warp:

  • Adds isaaclab_ppisp, a renderer-backend-agnostic physically plausible image signal processing pipeline for converting HDR scene-linear output to LDR camera images.
  • Adds HDR render outputs and internal PPISP composition to Isaac RTX, OVRTX, and Newton Warp renderers when CameraCfg.isp_cfg is configured.
  • Moves the tiled-camera implementation into Camera and improves tiled-camera support in Kit and Newton visualizers.
  • Fixes OVRTX multi-GPU operation, cloned-environment camera output, temp-file handling, missing-runtime errors, and package resolution for optional PPISP installs.
  • Adds rendering correctness, image comparison, visualizer integration, and performance tests.

Visualizers & Scene Data

The visualizer system now has stronger backend-agnostic scene-data support:

  • Adds a scene-data backend hook for active InteractiveScene access.
  • Improves scene-data providers for PhysX, Newton, and OVPhysX so visualizers can discover transforms, contacts, and sensors consistently.
  • Adds tiled camera views to Kit and Newton visualizers.
  • Fixes visualizer startup ordering, Kit visualizer crashes, Newton visualizer updates on PhysX scenes, and camera/video recording behavior when multiple visualizers are active.

Teleoperation, Mimic & Policy Deployment

Teleoperation and imitation-learning workflows were updated for the 3.0 stack:

  • Adds Isaac Teleop MCAP record/replay support and a non-interactive teleop_replay_agent.py for CI replay.
  • Defers optional isaacteleop imports so task configs can be parsed without the Isaac Teleop runtime installed.
  • Improves CloudXR defaults, XR performance guidance, native keyboard/gamepad/SpaceMouse mappings, and RMPFlow teleoperation behavior.
  • Updates Mimic installation to include isaaclab_teleop and removes the obsolete nvidia-srl-usd-to-urdf dependency.
  • Adds LEAPP policy export documentation and fixes RSL-RL recurrent policy export, projected-gravity export, checkpoint selection, and policy-deployment guides.

Installation, Docker & CI

This release simplifies setup while adding significant infrastructure hardening:

  • Adds experimental root-level uv run train and uv run play workflows so training and playback can be launched from a fresh checkout without manually creating or activating an environment.
  • Simplifies install extras to isaacsim and all, replacing older per-submodule extras such as tasks, rl, and assets.
  • Pins the released Isaac Sim Docker image to 6.0.0 and keeps Python pinned to 3.12.
  • Updates PyTorch to 2.10.0 with CUDA 12.8 wheels on x86_64/Windows and CUDA 13.0 wheels for aarch64.
  • Adds install CI, wheel build automation, package-scoped test runners, Docker volume and non-root-user fixes, and published image tags.
  • Improves aarch64, DGX Spark, ARM Docker, Windows, uv, and pip installation documentation.
  • Pins third-party GitHub Actions to commit SHAs and improves CI cleanup, cancellation, sharding, diagnostics, and docs-only behavior.

🔆 New & Expanded Capabilities

Core

  • Adds ProxyArray and asset/sensor-level property caching for faster repeated data access.
  • Adds scene-data provider APIs and docs for backend-neutral transform access.
  • Adds schema-configuration documentation and backend-neutral deformable APIs.
  • Adds GPU transform reads, performance optimizations for asset writes, and startup-time profiling tools.

Physics & Rendering Backends

  • Adds OVPhysX articulation, rigid object collection, contact sensor, frame view, scene-data backend, and runtime install diagnostics.
  • Adds HDR camera output and PPISP integration, deformable API migration, ray-caster fixes, and multi-GPU Fabric frame-view support.
  • Adds Newton deformable support, rigid-deformable coupling, ray-caster support, solver configuration exports, contact accessors, and updated Newton package pins.

Learning & Environments

  • Adds unified train and play console entry points that dispatch by --rl_library across rsl_rl, rl_games, skrl, sb3, and rlinf.
  • Refactors per-library train/play scripts under scripts/reinforcement_learning/ around a shared dispatch helper, reducing duplicated launcher and parser logic.
  • Adds typed preset selectors such as physics=physx, physics=newton_mjwarp, and renderer=... to unified training and play scripts. For example: train --rl_library rl_games --task=Isaac-Cartpole-RGB-Camera-Direct-v0 physics=newton_mjwarp renderer=newton_renderer presets=rgb.
  • Adds validation for unsupported backend/renderer/visualizer combinations with clearer errors.
  • Adds public helpers for enumerating task presets.
  • Expands Newton presets for locomotion, manipulation, navigation, and Warp-first experimental environments.
  • Adds success-rate metric logging across RL tasks.

Documentation

  • Reworks installation, quickstart, ecosystem, Docker, CloudXR, Teleop, visualizer, renderer, physical-backend, migration, and environment documentation.
  • Adds policy-deployment guides for reach policies and LEAPP exports.
  • Adds profiling, proxy-array, camera-output, video-recording, tiled-camera, schema-cfg, and physical-backend documentation.
  • Removes remaining --headless references in favor of --viz / --visualizer.

💔 Breaking Changes

Preset CLI

isaaclab_tasks.utils.fold_preset_tokens has been removed. setup_preset_cli() now returns physics=, renderer=, and presets= tokens verbatim, and register_task() parses them directly. Scripts should assign the returned remainder to sys.argv unchanged.

Teleoperation Replay

The transitional isaaclab_teleop.automation package, including XcrReplayConfig and start_xcr_replay, has been removed. Replay workflows now use Isaac Teleop MCAP replay through scripts/environments/teleoperation/teleop_replay_agent.py.

The legacy lazy teleop_devices accessor on GR1T2 pick-place environment configs has also been removed. Use env_cfg.isaac_teleop or construct legacy OpenXR devices explicitly.

Deformable APIs

Generic deformable object and material APIs have moved from isaaclab_physx into backend-neutral isaaclab.assets and isaaclab.sim imports. The old generic PhysX deformable aliases are deprecated in favor of PhysX-specific names.

OVRTX Renderer Configuration

OVRTXRendererCfg.use_cloning has been renamed to use_ovrtx_cloning, and temp_usd_suffix has been removed. Temporary USD output now uses a fixed filename under temp_usd_dir when enabled.

Camera Aliases

TiledCamera has been folded into Camera. Existing tiled-camera aliases remain as compatibility surface where available, but new code should use Camera and CameraCfg.


🐛 Notable Fixes

Core Runtime

  • Fixes SimulationContext reset ordering so initial visualizers are created before timeline event pumping can invalidate new PhysX tensor views.
  • Guards environment, asset, sensor, and callback destructors during Python shutdown.
  • Fixes memory leaks when closing manager-based, direct RL, and direct MARL environments.
  • Fixes safe callable resolution for lambda strings by validating expressions and evaluating them without Python builtins.
  • Fixes local and remote asset dependency retrieval for MDL materials and textures.

Backends & Sensors

  • Fixes stale sensor data after environment resets for PhysX and Newton contact, IMU, PVA, and joint-wrench sensors.
  • Fixes PhysX scene-data rigid-body discovery when joint p...
Read more

v3.0.0-beta

Choose a tag to compare

@kellyguo11 kellyguo11 released this 17 Mar 06:38
a4a7602

Isaac Lab 3.0 Beta 🚀

Isaac Lab 3.0 Beta is the next major release of Isaac Lab, built on Isaac Sim 6.0 and introducing a ground-up architectural overhaul. This release brings multi-backend physics, a pluggable renderer system, Warp-native data pipelines, and a kit-less installation mode — enabling faster, more flexible robot learning research.

⚠️ This is a beta release. The develop branch is under active development and may experience breaking changes, error messages, or performance regressions in some use cases.


✨ Highlights

Multi-Backend Physics Architecture

Isaac Lab 3.0 introduces a factory-based multi-backend architecture that separates simulation backend–specific code from the core API. Asset and sensor classes (e.g., Articulation, RigidObject, ContactSensor) are now backed by abstract base classes, with backend-specific implementations in dedicated extension packages:

  • isaaclab_physx — Full PhysX backend (default), including deformable objects, surface grippers, contact sensors, IMU, and frame transformers.
  • isaaclab_newton — New Newton physics backend powered by MuJoCo-Warp, supporting MJWarp, XPBD, and Featherstone solvers with CUDA-graph acceleration.

Your existing imports from isaaclab.assets and isaaclab.sensors continue to work — the factory automatically dispatches to the active backend at runtime.

Newton Physics Backend

The new isaaclab_newton extension enables running Isaac Lab environments without Isaac Sim (kit-less mode). Newton support includes:

  • Articulations, rigid objects, and rigid object collections
  • Contact sensors
  • MuJoCo-Warp solver with configurable integrators (implicitfast, euler) and contact models (pyramidal, elliptic)
  • CUDA graph support for high-throughput stepping
  • Newton-compatible presets for 20+ environments (locomotion, manipulation, classic control)

Pluggable Renderer System

A new BaseRenderer abstraction supports multiple rendering backends via a factory pattern:

Backend Requires Isaac Sim? Best For
Isaac RTX Yes Full sensor fidelity, photorealistic rendering
OVRTX No (+ isaaclab_ov[ovrtx]) Kit-less RTX pipeline
Newton Warp No (kit-less) Fast training without RTX

Pluggable Visualizer System

Isaac Lab 3.0 introduces a new pluggable visualizer framework (isaaclab_visualizers) with four interchangeable backends, all decoupled from the physics engine and renderer:

Visualizer Best For Key Features
Omniverse (Kit) High-fidelity, Isaac Sim integration USD stage, visual markers, live training plots
Newton Fast iteration, low overhead OpenGL rendering, physics debug markers (joints, contacts, COM), interactive camera controls
Rerun Remote viewing & replay Web viewer, timeline scrubbing, .rrd recording/export
Viser Web-based sharing & recording Browser-based via Newton Warp renderer, public share URLs, .viser recording

Launch from the CLI with the new --viz flag (replaces the deprecated --headless flag):

Multiple visualizers at once:
python train.py --task Isaac-Cartpole-v0 --viz kit,newton,rerun

Single visualizer:
python train.py --task Isaac-Cartpole-v0 --viz newton

Web-based Viser visualizer:
python train.py --task Isaac-Cartpole-v0 --viz viser

Headless (no visualizers):
python train.py --task Isaac-Cartpole-v0

Warp-Native Data Pipeline

All .data.* properties on asset and sensor classes now return wp.array (NVIDIA Warp) instead of torch.Tensor. Internal state buffers use structured warp types (wp.vec3f, wp.quatf, wp.transformf, wp.spatial_vectorf), and fused GPU kernels replace Python-level loops for state extraction, velocity transforms, and data write-back. Convert back to torch with wp.to_torch() when needed.

Preset System for Multi-Backend Environments

A new PresetCfg pattern allows a single environment config to declare named variants for different backends. Select a preset at launch:

Run with Newton backend:
python train.py task=Isaac-Ant-v0 presets=newton

Run with default PhysX backend:
python train.py task=Isaac-Ant-v0

Lazy Exporting & Resolvable Strings

All packages now use lazy exporting with .pyi stubs, so importing a top-level module (e.g., import isaaclab.sensors) no longer eagerly pulls in heavyweight dependencies. Config fields like class_type store references as resolvable strings that are resolved only after SimulationApp is initialized, enabling automatic physics-backend selection.

Isaac Teleop Integration

XR teleoperation is now powered by Isaac Teleop via the new isaaclab_teleop extension, replacing the previous isaaclab.devices.openxr stack. The new system provides a unified teleoperation interface with pipeline-based retargeting configuration.

💥 Breaking Changes

Quaternion Format: WXYZ → XYZW

All quaternions throughout Isaac Lab now use XYZW ordering to align with Warp, PhysX, and Newton conventions. Hard-coded quaternion values must be updated. A quaternion finder tool is provided to help locate and fix quaternions.

Data Properties Return wp.array

All .data.* properties now return wp.array. Wrap with wp.to_torch() for PyTorch compatibility. An automated migration tool is available at scripts/tools/wrap_warp_to_torch.py.

Write Method Index/Mask Split

All asset write methods have been split into _index and _mask variants. The previous write_*_to_sim(data, env_ids) pattern is replaced by:

  • write_*_to_sim_index(data, env_ids) — sparse indexed data
  • write_*_to_sim_mask(data, env_mask) — full data with boolean mask

Deprecated APIs

  • root_physx_view → use root_view
  • object_* naming on RigidObjectCollection → use body_*
  • --headless CLI argument → use --visualizer / --viz
  • OpenXRDevice / OpenXRDeviceCfg → use IsaacTeleopDevice / IsaacTeleopCfg
  • Sensor pose_w, pos_w, quat_w properties → use FrameTransformer

URDF & MJCF Importers Updated

Both importers have been rewritten for Isaac Sim 6.0. Several configuration settings have been removed, renamed, or replaced. See the Migration Guide for details.

Updated Dependencies

  • Python 3.12
  • PyTorch 2.10.0+cu128
  • NumPy 2.3.1
  • Isaac Sim 6.0

⚠️ Known Limitations

  • Ubuntu only — The develop branch is currently available on Ubuntu. Windows support and Isaac Lab pip wheels will be available soon.
  • Newton backend is in active development — Not all environments have Newton presets yet. Some features (e.g., deformable objects, surface grippers, material randomization) are PhysX-only.
  • Performance regressions may be observed in some use cases as the multi-backend architecture stabilizes.
  • Breaking changes may still occur on the develop branch before the final 3.0 release.

📖 Migration Guide

For a comprehensive guide on migrating from Isaac Lab 2.x to 3.0, including code examples, API rename tables, and automated tooling, see the Migration Guide.

v2.3.2

Choose a tag to compare

@kellyguo11 kellyguo11 released this 02 Feb 18:54
37ddf62

What's Changed

This release focuses on stability, infrastructure improvements, workflow refinements, and incremental feature expansions, along with some significant new features, including Multirotor and thruster support for drones, Multi-mesh RayCaster, Visual-based tactile sensor, Haply device integration, and new OpenArm environments.

This release also includes improvements to training workflows, teleoperation and Mimic pipelines, Ray integration, simulation utilities, and developer tooling, along with a large number of robustness and quality-of-life fixes.

multi_mesh_ray_caster.mp4
multirotor_environment.mp4

Full Changelog: v2.3.1...v2.3.2

Note

This will be the final release from the current main branch as we shift our development focus to the develop branch.

Significant restructuring is planned on develop as we work toward Isaac Lab 3.0. We welcome continued community
contributions, but active development will primarily occur on develop going forward.

If you have an open PR, please retarget it to develop to ensure it remains aligned with the latest changes.

✨ New Features

Core & Simulation

Learning & Environments

Mimic & Teleoperation

  • Adds Haply device API with force feedback and teleoperation demo by @mingxueg-nv in #3873
  • Refactors retargeters and adds Quest retargeters for G1 tasks by @rwiltz in #3950
  • Adds Arena G1 locomanipulation retargeters by @rwiltz in #4140
  • Adds APIs to Isaac Lab Mimic for loco-manipulation data generation by @peterd-NV in #3992

🔧 Improvements

Core & Simulation

  • Adds preserve-order flag to JointPositionToLimitsAction by @renezurbruegg in #3716
  • Adds parsing of instanced meshes to prim fetching utilities by @Mayankm96 in #3367
  • Adds configurable logdir parameter to environments by @kellyguo11 in #3391
  • Exposes PhysX flag solveArticulationContactLast via PhysxCfg by @ooctipus in #3502
  • Removes pickle dependency for config load and dump by @kellyguo11 in #3709
  • Improves recorder manager to support custom demo indices by @rebeccazhang0707 in #3552
  • Normalizes Python logging by replacing remaining omni.log usage by @pascal-roth in #3912
  • Replaces Isaac Sim stage_utils, prim_utils, and nucleus_utils with Isaac Lab implementations by @pascal-roth in #3921, #3923, #3924
  • Breaks actuator configuration into multiple files to avoid circular imports by @bmccann-bdai in #3994
  • Moves logging configuration into shared utilities by @Mayankm96 in #4298
  • Caches Isaac Sim package version for faster lookup by @Mayankm96 in #4299
  • Simplifies imports of stage and prim utilities by @Mayankm96 in #4286
  • Randomizes viscous and dynamic joint friction consistent with Isaac Sim 5.0 by @GiulioRomualdi in #3318
  • Prevents randomization of rigid body mass to zero or negative values by @jtigue-bdai in #4060
  • Improves image plotting normalization and colorization by @Mayankm96 in #4302
  • Adds Fabric backend support to isaaclab.sim.views.XformPrimView by @ooctipus in #4374

Learning & Environments

  • Enhances PBT usability with small workflow improvements by @ooctipus in #3449
  • Supports vectorized environments for pick-and-place demo by @kellyguo11 in #3996
  • Registers direct environments to Gymnasium using string-style imports by @ooctipus in #3803
  • Updates Gymnasium dependency to version 1.2.1 by @Mayankm96 in #3696
  • Updates SB3 PPO configuration to reduce excessive training time by @ooctipus in #3726
  • Adds support for validating replay success using task termination conditions by @yami007007 in #4170
  • Adds early stopping support for Ray-based training by @ozhanozen in #3276
  • Adds support for custom ProgressReporter implementations in Ray integration by @ozhanozen in #3269
  • Updates rsl_rl to version 3.1.2 to support state-dependent standard deviation by @ashwinvkNV in #3867

Infrastructure

🐛 Bug Fixes

Core & Simulation

  • Fixes missing actuator indices variable in joint randomization by @ooctipus in #3447
  • Fixes ViewportCameraController numpy array missing datatype by @T-K-233 in #3375
  • Fixes PDActuator docstring mismatch with implementation by @lorenwel in #3493
  • Fixes rail difficulty-based height computation in mesh terrains by @KyleM73 in #3254
  • Fixes contact threshold handling when activating contact sensors by @kellyguo11 in #3498
  • Fixes indexing errors in joint parameter randomization by @GiulioRomualdi in #4051
  • Fixes noisy velocities near joint limits by @AntoineRichard in #3989
  • Fixes mesh converter not setting collision approximation attributes by @Soappyooo in #4082
  • Fixes returned normal tensor shape in TiledCamera by @Rabbit-Hu in #4241
  • Fixes advanced indexing shape mismatch in JointPositionToLimitsAction by @ooctipus in #3865
  • Fixes teleoperation crash when using DirectRL environments by @emmanuel-ferdman in #4364
  • Fixes lidar pattern horizontal resolution bug by @pascal-roth in #4452

Learning & Environments

  • Fixes CUDA version parsing for AutoMate environments by @yijieg in #3795

Infrastructure & Tooling

  • Fixes CI behavior to correctly fail fork PRs when general tests fail by @nv-apoddubny in #3412
  • Fixes docker availability check in isaaclab.sh on systems without Docker by @klakhi in #4180
  • Forces CRLF line endings for .bat files to avoid Windows execution errors by @jiang131072 in #3624
  • Fixes environment test failures and disables unstable tests by @kellyguo11 in #3413
  • Fixes vulnerability in eval usage for Ray resource parsing by @kellyguo11 in #4425
  • Fixes curobo dockerfile for CI runs by @kellyguo11 in #4462

📜 Documentation

✈️ Migration Guide

External Force and Torque Application - Wrench Composers

The set_external_force_and_torque() method on articulations, rigid bodies, and rigid body collections has been deprecated in favor of a new composable wrench system.

Related PR: #3287

New Features:

  • Permanent Wrench Composer: Applies forces/torques that persist across simulation steps until explicitly changed
  • Instantaneous Wrench Composer: Applies forces/torques for a single simulation step, then automatically resets
  • Composability: Multiple forces and torques can now be added together on the same body
  • Mixed Frame Support: Seamlessly compose local and global frame wrenches

Migration Guide:

Old API (Deprecated):

# Old method - overwrites previous forces
asset.set_external_force_and_torque(
    forces=torch.ones(1, 1, 3),
    torques=torch.ones(1, 1, 3),
    body_ids=[0],
    env_ids=[0],
    is_global=False,
)

New API:

# Set initial permanent forces (replaces previous)
asset.permanent_wrench_composer.set_forces_and_torques(
    forces=torch.ones(1, 1, 3),
    env_ids=[0],
    body_ids=[0],
)

# Compose additional forces on the same body
asset.permanent_wrench_composer.add_forces_and_torques(
    forces=torch.ones(1, 1, 3),
    env_ids=[0],
    body_ids=[0],
    is_global=True,  # Mix local and global frames
)

# Add torques independently
asset.permanent_wrench_composer.add_forces_and_torques(
    torques=torch.ones(1, 1, 3),
    env_ids=[0],
    body_ids=[0],
)

# Apply forces and torques together with cus...
Read more

v2.3.1

Choose a tag to compare

@kellyguo11 kellyguo11 released this 04 Dec 22:26

What's Changed

This is a small patch release with a few critical fixes that impacted user workflows.

Key fixes include:

  • The behavior of termination logging has changed in the manager-based workflow, where get_done_term now returns the current step value instead of the last episode value.
  • Additionally, a breaking change in the URDF importer was introduced in Isaac Sim 5.1, where the merge joints flag is no longer supported. We have now introduced a patch in the importer to return the behavior. Moving forward, we plan to deprecate this flag in favor of preserving asset definitions from URDFs directly without performing additional processing during the import process.

🐛 Bug Fixes

  • Updates URDF importer to 2.4.31 to continue support for merge-joints by @kellyguo11 in #4000
  • Separates per-step termination and last-episode termination bookkeeping by @ooctipus in #3745
  • Uses effort_limit from USD if not specified in actuator cfg by @JuanaDd in #3522
  • Fixes type name for tendon properties in from_files config by @KyleM73 in #3941
  • Fixes duplicated text in pip installation docs by @shryt in #3969
  • Pins python version of pre-commmit.yaml workflow by @hhansen-bdai in #3929

📜 Documentation

Full Changelog: v2.3.0...v2.3.1

v2.3.0

Choose a tag to compare

@kellyguo11 kellyguo11 released this 28 Oct 21:38

What's Changed

The Isaac Lab 2.3.0 release, built on Isaac Sim 5.1, delivers enhancements across dexterous manipulation, teleoperation, and learning workflows. It introduces new dexterous environments with advanced training capabilities, expands surface gripper and teleoperation support for a wider range of robots and devices, and integrates SkillGen with the Mimic imitation learning pipeline to enable GPU-accelerated motion planning and skill-based data generation with cuRobo integration.

Key highlights of this release include:

  • Dexterous RL (DexSuite): Introduction of two new dexterous manipulation environments using the Kuka arm and Allegro hand setup, with addition of support for Automatic Domain Randomization (ADR) and PBT (Population-Based Training).
  • Surface gripper updates: Surface gripper has been extended to support Manager-based workflows, including the addition of SurfaceGripperAction and SurfaceGripperActionCfg, along with several new environments demonstrating teleoperation examples with surface grippers and the RMPFlow controller. New robots and variations are introduced, including Franka and UR10 with robotiq grippers and suction cups, and Galbot and Agibot robots.
  • Mimic - SkillGen: SkillGen support has been added for the Mimic Imitation Learning pipeline, introducing cuRobo integration, integrating GPU motion planning with skill-segmented data generation. Note that cuRobo has proprietary licensing terms, please review the cuRobo license carefully before use.
  • Mimic - Locomanipulation: Added a new G1 humanoid environment combining RL-based locomotion with IK-based manipulation. A full robot navigation stack is integrated to augment demonstrations with randomization of tabletop pick/place locations, destination and ground obstacles. By segmenting tasks into pick-navigate-place phases, this method enables generation of large-scale loco-manipulation datasets from manipulation-only demonstrations.
  • Teleoperation: Upper body inverse kinematics controller is improved by adding a null space posture task that helps enable waist movement on humanoid tasks while regularizing redundant degrees-of-freedom to a preferred upright posture. Additionally, support for Vive and Manus Glove are introduced, providing more options for teleoperation devices.

Full Changelog: v2.2.1...v2.3.0

🔆 Highlighted Features

Dex environments

We have added a new DexSuite, including dexterous Lift and Reorient environments following DextrAH and DexPBT. These environments also demonstrate usage of Automatic Domain Randomization (ADR) and PBT (Population-Based Training)

cube.mp4
rod.mp4

Isaac Lab Mimic - Locomanipulation

We have added a new locomanipulation G1 environment with upper and lower body controllers that enables demonstrations by controlling the arms and fingers, and locomotion by controlling the pelvis instantaneous velocities and height (vx, vy, wz, h). Additionally, the pink-based inverse kinematics controller now supports null-space posture regularization to enable waist DOFs and extend the humanoid robots reach.

Release.Note.-.G1.Locomanipulation.Pick.Place.mp4

We have also extended these in-place locomanipulation tasks with integrated navigation and demonstration augmentation, enabling large-scale pick-navigate-place dataset generation from manipulation-only demonstrations.

locomanipulation-navigation.mp4

💡Isaac Sim 5.1 Updates

  • Introduced support for DGX Spark, including multi-architecture Docker images with support for ARM platforms.
  • PhysX now offers a new joint parameter tuning tutorial for robotic grippers, along with a new feature for solving articulation collision contacts last to improve on gripper penetration issues, especially for cases with sub-optimally tuned joints.
  • Surface grippers has been optimized for better performance. Although support continues to be CPU-only, performance has improved by several orders of magnitude compared to previous releases.
  • Windows 10 support ended on October 14, 2025. Microsoft will no longer provide free security, feature, or technical updates for Windows 10. As a result, we will be dropping support for Windows 10 in future releases of Isaac Sim and Lab to ensure the security and functionality of our software.

✨ New Features

Core

Mimic and Teleoperation

Environments

  • Adds dexterous lift and reorientation manipulation environments by @ooctipus in #3378
  • Adds task Reach-UR10e, an end-effector tracking environment by @ashwinvkNV in #3147
  • Adds a configuration example for Student-Teacher Distillation by @ClemensSchwarke in #3100
  • Adds Locomanipulation Environment with G1 for Mimic workflow by @michaellin6 in #3150
  • Adds teleop support for Unitree G1 with Inspire 5-finger hand, take PickPlace task as an example by @yami007007 in #3242
  • Adds galbot stack cube tasks, with left_arm_gripper and right_arm_suction, using RMPFlow controller by @rebeccazhang0707 in #3210
  • Adds AVP teleop support for Galbot stack tasks by @rwiltz in #3669
  • Adds camera to G1 Steering Wheel environment by @jaybdub in #3549

Infrastructure

  • Adds YAML Resource Specification To Ray Integration by @binw666 in #2847
  • Installs cuda13 on arm builds for Spark by @kellyguo11 in #3396
  • Adds arm64 platform for Pink IK setup by @michaellin6 in #3686
  • Updates torch installation version to 2.9 for Linux-aarch, and updates opset version from 11 to 18. by @ooctipus in #3706

🔧 Improvements

Core and Infrastructure

Mimic and Teleoperation

  • Improves recorder performance and add additional recording capability by @peterd-NV in #3302
  • Optimizes Kit XR Teleop CPU time by @hougantc-nvda in #3487
  • Improves dataset file names and low success rate for trained model on g1 locomanipulation dataset by @michaellin6 in #3503
  • Updates the teleop_se3 and record_demos scripts with more helpful description for teleop_device parameter by @rwiltz in #3642

🐛 Bug Fixes

Core

Read more

v2.2.1

Choose a tag to compare

@Mayankm96 Mayankm96 released this 29 Aug 17:58
0f00ca2

👀 Overview

This is a minor patch release with some improvements and bug fixes.

Full Changelog: v2.2.0...v2.2.1

✨ New Features

🔧 Improvements

Core API

  • Enhances Pink IK controller with null-space posture control and improv… by @michaellin6 in #3149
  • Adds periodic logging when checking USD path on Nucleus server by @matthewtrepte in #3221
  • Disallows string value written in sb3_ppo_cfg.yaml get evaluated in process_sb3_cfg by @ooctipus in #3110

Infrastructure

🐛 Bug Fixes

Core API

  • Asset Interfaces
    • Fixes setting friction coefficients into physx in the articulation classes by @ossamaAhmed in #3243
    • Sets joint_friction_coeff only for selected physx_env_ids by @ashwinvkNV in #3119
  • Manager Interfaces
    • Fixes observation space Dict for non-concatenated groups only keeps last term by @CSCSX in #3134
  • MDP Terms
    • Fixes termination term effort limit check logic by @moribots in #3163
    • Broadcasts environment ids inside mdp.randomize_rigid_body_com by @Foruck in #3164
    • Fixes IndexError in reset_joints_by_scale and reset_joints_by_offset by @Creampelt in #2949
    • Fixes terrain_out_of_bounds to return tensor instead of bool by @fan-ziqi in #3180

Infrastructure

📜 Documentation

💔 Breaking Changes

  • Improves termination manager logging to report aggregated percentage of environments done due to each term by @ooctipus in #3107

🤗 New Contributors

v2.2.0

Choose a tag to compare

@kellyguo11 kellyguo11 released this 07 Aug 19:42

👀 Overview

Isaac Lab 2.2 brings major upgrades across simulation capabilities, tooling, and developer experience. It expands support for advanced physics features, new environments, and improved testing and documentation workflows. This release includes full compatibility with Isaac Sim 5.0 as well as backwards compatibility with Isaac Sim 4.5.

Key highlights of this release include:

  • Enhanced Physics Support: Updated joint friction modeling using the latest PhysX APIs, added support for spatial tendons, and improved surface gripper interactions.
  • New Environments for Imitation Learning: Introduction of two new GR1 mimic environments, with domain randomization and visual robustness evaluation, and improved pick-and-place tasks.
  • New Contact-Rich Manipulation Tasks: Integration of FORGE and AutoMate tasks for learning fine-grained contact interactions in simulation.
  • Teleoperation Improvements: Teleoperation tools have been enhanced with configurable parameters and CloudXR runtime updates, including head tracking and hand tracking.
  • Performance & Usability Improvements: Includes support for Stage in Memory and Cloning in Fabric for faster scene creation, new OVD recorder for large-scene GPU-based animation recording, and FSD (Fabric Scene Delegate) for improved rendering speed.
  • Improved Documentation: The documentation has been extended and updated to cover new features, resolve common issues, and streamline setup, including updates to teleop system requirements, VS Code integration, and Python environment management.

Full Changelog: v2.1.1...v2.2.0

🔆 Highlighted Features

FORGE environments

As introduced in the FORGE paper, these environments focus on multi-stage assembly tasks that require force-aware manipulation. For more details, please check the PR #2968.

forge.mp4

AutoMate environments

The Automate effort creates a large assembly dataset for training policies over a wide range of assemblies. All 100 assembly parts and their respective environments are now a part of the environment suite. For more information, please check the PR #2507

automate.mp4

Isaac Lab Evaluation Tasks

To simulate and evaluate manipulation policies (such as the Isaac GR00T N1 model), new industrial manipulation tasks using a humanoid robot are now available as a part of the IsaacLabEvalTasks effort. For more information, please check the repository: https://github.com/isaac-sim/IsaacLabEvalTasks

isaaclabevaltasks.mp4

💡Isaac Sim 5.0 Updates

  • Fixes rendering issues on Blackwell GPUs that previously resulted in overly noisy renders
  • Updates Python version from 3.10 to 3.11
  • Updates PyTorch version to torch 2.7.0+cu128, which will include Blackwell support
  • Drops official support for Ubuntu 20.04, we now officially support Ubuntu 22.04 and 24.04 Linux platforms
  • Isaac Sim 5.0 no longer sets /app/player/useFixedTimeStepping=False by default. We now do this in Isaac Lab.
  • isaaclab.sim.spawners.PhysicsMaterialCfg.improve_patch_friction is now removed. The simulation will always behave as if this attribute is set to true.
  • Native Livestreaming support has been removed. LIVESTREAM=1 can now be used for WebRTC streaming over public networks and
    LIVESTREAM=2 for private and local networks with WebRTC streaming.
  • Some assets in Isaac Sim have been reworked and restructured. Notably, the following asset paths were updated:
    • Robots/Ant/ant_instanceable.usd --> Robots/IsaacSim/Ant/ant_instanceable.usd
    • Robots/Humanoid/humanoid_instanceable.usd --> Robots/IsaacSim/Humanoid/humanoid_instanceable.usd
    • Robots/ANYbotics/anymal_instanceable.usd --> Robots/ANYbotics/anymal_c/anymal_c.usd
    • Robots/ANYbotics/anymal_c.usd --> Robots/ANYbotics/anymal_c/anymal_c.usd
    • Robots/Franka/franka.usd --> Robots/FrankaRobotics/FrankaPanda/franka.usd
    • Robots/AllegroHand/allegro_hand_instanceable.usd --> Robots/WonikRobotics/AllegroHand/allegro_hand_instanceable.usd
    • Robots/Crazyflie/cf2x.usd --> Robots/Bitcraze/Crazyflie/cf2x.usd
    • Robots/RethinkRobotics/sawyer_instanceable.usd --> Robots/RethinkRobotics/Sawyer/sawyer_instanceable.usd
    • Robots/ShadowHand/shadow_hand_instanceable.usd --> Robots/ShadowRobot/ShadowHand/shadow_hand_instanceable.usd

✨ New Features

🔧 Improvements

  • Enables FSD for faster rendering by @nv-mm
  • Sets rtx.indirectDiffuse.enabled to True for performance & balanced rendering presets by @matthewtrepte
  • Changes runner for post-merge pipeline on self-hosted runners by @nv-apoddubny
  • Fixes and improvements for CI pipeline by @nv-apoddubny
  • Adds flaky annotation for tests by @kellyguo11
  • 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 #3053
  • Updates to Isaac Sim 5.0 by @kellyguo11
  • Updates docker CloudXR runtime version by @lotusl-code
  • Removes xr rendering mode by @rwiltz
  • Migrates OpenXRDevice from isaacsim.xr.openxr to omni.xr.kitxr by @rwiltz
  • Implements teleop config parameters and device factory by @rwiltz
  • Updates pick place env to use steering wheel asset by @peterd-NV
  • Adds a CLI argument to set epochs for Robomimic training script by @peterd-NV

🐛 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 c80e2af
  • Fixes rendering preset by @matthewtrepte in cc0dab6
  • Fixes callbacks with stage in memory and organize environment tests by @matthewtrepte in 4dd6a1e
  • Fixes XR and external camera bug with async rendering by @rwiltz in c80e2af
  • 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 72f05a2
  • Fixes humanoid training with new velocity_limit_sim by @AntoineRichard

📄 Documentation

  • Adds note to mimic cosmos pipeline doc for eval by @shauryadNv
  • Updates teleop docs for 2.2 release by @rwiltz
  • Fixes outdated dofbot path in tutorial scripts by @mpgussert
  • Updates docs for VS Code IntelliSense setup and JAX installation by @Toni-SM
  • Updates Jax doc to overwrite version < 0.6.0 for torch by @kellyguo11
  • Adds docs for fabric cloning & stage in memory by @matthewtrepte
  • Updates driver requirements to point to our official technical docs by @mpgussert
  • Adds warning for ovd recording warning logs spam by @matthewtrepte
  • Adds documentation to specify HOVER version and known GLIBCXX error by @kellyguo11
  • Updates teleop system requirements doc by @lotusl-code
  • Add network requirements to cloudxr teleop doc by @lotusl-code

v2.1.1

Choose a tag to compare

@Mayankm96 Mayankm96 released this 30 Jul 12:59
90b79bb

👀 Overview

This release has been in development over the past few months and includes a significant number of updates, enhancements, and new features across the entire codebase. Given the volume of changes, we've grouped them into relevant categories to improve readability. This version is compatible with NVIDIA Isaac Sim 4.5.

We appreciate the community’s patience and contributions in ensuring quality and stability throughout. We're aiming for more frequent patch releases moving forward to improve the developer experience.

Note: This minor release does not include a Docker image or pip package.

Full Changelog: v2.1.0...v2.1.1

✨ New Features

  • Asset Interfaces
    • Adds position argument to set external forces and torques at different locations on the rigid body by @AntoineRichard in #1680
    • Adds body_incoming_joint_wrench_b to ArticulationData field by @jtigue-bdai in #2128
    • Allows selecting articulation root prim explicitly by @lgulich in #2228
  • Sensor Interfaces
    • Draws connection lines for FrameTransformer visualization by @Mayankm96 in #1754
    • Uses visualization marker for connecting lines inside FrameTransformer by @bikcrum in #2526
  • MDP Terms
  • New Example Tasks

🔧 Improvements

Core API

  • Actuator Interfaces
  • Asset Interfaces
  • Sensor Interfaces
    • Updates to ray caster ray alignment and more customizable drift sampling by @jsmith-bdai in #2556
    • Extends ContactSensorData by force_matrix_w_history attribute by @bikcrum in #2916
    • Adds IMU projected_gravity_b and IMU computation speed optimizations by @jtigue-bdai in #2512
  • Manager Interfaces
    • Adds serialization to observation and action managers by @jsmith-bdai in #2234
    • Adds option to define the concatenation dimension in the ObservationManager by @pascal-roth in #2393
    • Supports composite observation space with proper min max in manager based env by @ooctipus in #2811
    • Changes counter update in CommandManager by @pascal-roth in #2393
    • Integrates NoiseModel to manager-based workflows by @ozhanozen in #2755
    • Updates NoiseModelWithAdditiveBias to apply per-feature bias sampling by @ozhanozen in #2760
    • Fixes isaaclab.scene.reset_to to properly accept None as valid argument by @ooctipus in #2970
    • Resets step reward buffer properly when weight is zero by @bikcrum in #2392
  • Terrain Generation
    • Allows for custom TerrainGenerator without modifications of the TerrainImporter by @pascal-roth in #2487
    • Adds option for terrain border to above or below the ground by @pascal-roth in #2394
    • Adds ability to set platform height independent of object height for terrain by @jtigue-bdai in #2695
    • Adds absolute and relative noise to MeshRepeatedObjectsTerrain by @jtigue-bdai in #2830
  • Simulation
    • Raises exceptions from initialization callbacks inside SimContext in #2166
    • Applies semantic_tags to ground by @KumoLiu in #2410
    • Sets enable_stabilization to false by default by @AntoineRichard in #2628
    • Fixes deprecation warning for pxr.Semantics by @kellyguo11 in #2721
  • Math Utilities
  • General Utilities

Tasks API

  • Adds support for module:task and updates gymnasium to >=1.0 by @kellyguo11 in #2467
  • Adds available RL library configs on error message if entry point is invalid by @Toni-SM in #2713
  • Enables hydra for all play.py scripts by @ooctipus in #2995
  • Fixes ray lazy metric reporting and hanging processes by @ozhanozen in #2346
  • Adds gradient clipping parameter for distillation using RSL-RL by @alessandroassirelli98 in #2454
  • Makes GRU-based RNNs exportable in RSL RL by @WT-MM in #3009
  • Adds wandb native support in rl_games by @ooctipus in #2650
  • Optimizes Stable-Baselines3 wrapper and additional training configs by @araffin in #2022
  • Enables sb3 to load checkpoint to continue training by @ooctipus in #2954
  • Supports sb3 wrapper to pre-process env's image obs-space to trigger sb3 natively supported cnn creation pipeline by @ooctipus in #2812

Infrastructure

Read more

v2.1.0

Choose a tag to compare

@kellyguo11 kellyguo11 released this 24 Apr 15:13
21f7136

👀 Overview

This release introduces the official support for teleoperation using the Apple Vision Pro for collecting high-quality and dexterous hand data, including the addition of bi-manual teleoperation and imitation learning workflows through Isaac Lab Mimic.

We have also introduced new randomization methods for USD attributes, including the randomization of scale, color, and textures. In this release, we updated RSL RL to v2.3.1, which introduces many additional features including distributed training, student-teacher distillation, and recurrent student-teacher distillation.

Additionally, we revamped the Extension Template to include an automatic template generator tool from within the Isaac Lab repo. The extension template is a powerful method for users to develop new projects in user-hosted repos, allowing for isolation from the core Isaac Lab repo and changes. The previous IsaacLabExtensionTemplate repo showed a limited example pertaining only to the Manager-based workflow and RSL RL. In the new template generator, users can choose from any supported workflow and RL library, along with the desired RL algorithm. We will be deprecating the standalone IsaacLabExtensionTemplate in the near future.

NVIDIA has also released HOVER as an independent repo, hosting a neural whole body controller for humanoids built on top of Isaac Lab. HOVER includes sim-to-real workflows for deployment on the Unitree H1 robot, which we have also added a tutorial guide for the deployment process in the Isaac Lab documentation.

Full Changelog: v2.0.2...v2.1.0

🔆 Highlighted Features

gr-1_pick_place

TextureRandomization.webm

✨ New Features

  • Adds new external project / internal task template generator by @Toni-SM in #2039
  • Adds dummy agents to the external task template generator by @louislelay in #2221
  • Adds USD-level randomization mode to event manager by @Mayankm96 in #2040
  • Adds texture and scale randomization event terms by @hapatel-bdai in #2121
  • Adds replicator event for randomizing colors by @Mayankm96 in #2153
  • Adds interactive demo script for H1 locomotion by @kellyguo11 in #2041
  • Adds blueprint environment for Franka stacking mimic by @chengronglai in #1944
  • Adds action clipping to rsl-rl wrapper by @Mayankm96 in #2019
  • Adds Gymnasium spaces showcase tasks by @Toni-SM in #2109
  • Add configs and adapt exporter for RSL-RL distillation by @ClemensSchwarke in #2182
  • Adds support for head pose for Open XR device by @rwiltz
  • Adds handtracking joints and retargetting pipeline by @rwiltz
  • Adds documentation for openxr device and retargeters by @rwiltz
  • Adds tutorial for training & validating HOVER policy using Isaac Lab by @pulkitg01
  • Adds rendering mode presets by @matthewtrepte
  • Adds GR1 scene with Pink IK + Groot Mimic data generation and training by @ashwinvkNV
  • Adds absolute pose franka cube stacking environment for mimic by @rwiltz
  • Enables CloudXR OpenXR runtime container by @jaczhangnv
  • Adds a quick start guide for quick installation and introduction by @mpgussert

🔧 Improvements

  • Clarifies the default parameters in ArticulationData by @Mayankm96 in #1875
  • Removes storage of meshes inside the TerrainImporter class by @Mayankm96 in #1987
  • Adds more details about state in InteractiveScene by @Mayankm96 in #2119
  • Mounts scripts to docker container by @Mayankm96 in #2152
  • Initializes manager term classes only when sim starts by @Mayankm96 in #2117
  • Updates to latest RSL-RL v2.3.0 release by @Mayankm96 in #2154
  • Skips dependency installation for directories with no extension.toml by @jsmith-bdai in #2216
  • Clarifies layer instructions in animation docs by @tylerlum in #2240
  • Lowers the default number of environments for camera envs by @kellyguo11 in #2287
  • Updates Rendering Mode guide in documentation by @matthewtrepte
  • Adds task instruction UI support for mimic by @chengronglai
  • Adds ExplicitAction class to track argument usage in AppLauncher by @nv-mhaselton
  • Allows physics reset during simulation by @oahmednv
  • Updates mimic to support multi-eef (DexMimicGen) data generation by @nvcyc

🐛 Bug Fixes

🤗 New Contributors