Skip to content

v2.0.0

Latest
Compare
Choose a tag to compare
@kellyguo11 kellyguo11 released this 30 Jan 22:56
· 7 commits to main since this release

👀 Overview

Isaac Lab 2.0 brings some exciting new features, including a new addition to the Imitation Learning workflow with the Isaac Lab Mimic extension.

Isaac Lab Mimic provides the ability to automatically generate additional trajectories based on just a few human collected demonstrations, allowing for larger training datasets with less human effort. This work is based on the MimicGen work for Scalable Robot Learning using Human Demonstrations.

Additionally, we introduced a new set of AMP tasks based on Adversarial Motion Priors, training humanoid robots to walk, run, and dance 👯

Along with Isaac Lab 2.0, Isaac Sim 4.5 brings several new and breaking changes, including a full refactor of the Isaac Sim extensions, an improved URDF importer, an update to the PyTorch dependency to version 2.5.1, and many fixes for tiled rendering that now supports multiple tiled cameras at different resolutions.

To follow the refactoring in Isaac Sim, we made similar refactoring and restructuring changes to Isaac Lab. These breaking changes will no longer be compatible with previous Isaac Sim versions. Please make sure to update to Isaac Sim 4.5 when using the Isaac Lab 2.0 release.

Full Changelog: v1.4.1...v2.0.0

🌟 Highlights from the Isaac Sim 4.5 release:

  • Support for multiple TiledCamera instances and varying resolutions
  • Improved rendering performance by up to 1.2x
  • Faster startup time through optimizations in the Cloner class that improves startup time by 30%
  • Enhanced OmniPVD for debugging physics simulation, enabling capturing reinforcement learning simulation workloads of up to 2000 environments
  • Physics simulation performance optimizations improving throughput of up to 70%
  • Physics support for dedicated cylinder and cone geometry designed for robot wheels that is fully GPU accelerated
  • A new physics GPU filtering mechanism allowing co-location of reinforcement learning environments at the origin with minimal performance loss for scenes with limited collider counts
  • Improvements in simulation stability for mimic joints at high joint gains

🔆 Highlighted Features

stack-mimic-dataset.mp4
amp-humanoid-walk.mp4
amp-humanoid-dance.mp4
factory-gear-insert.mp4

✨ New Features

  • Adds humanoid AMP tasks for direct workflow by @Toni-SM
  • Adds Isaac Lab Mimic based on MimicGen data generation for Imitation Learning by @peterd-NV @nvcyc @ashwinvkNV @karsten-nvidia
  • Adds consolidated demo script for showcasing recording and mimic dataset generation in real-time in one simulation script by @nvcyc
  • Adds Franka stacking environment for GR00T mimic by @peterd-NV @nvcyc
  • Adds option to filter collisions and real-time playback by @kellyguo11

🔧 Improvements

  • Adds a tutorial for policy inference in a prebuilt USD scene by @oahmednv
  • Adds unit tests for multi-tiled cameras by @matthewtrepte
  • Updates render setting defaults for better quality by @kellyguo11
  • Adds a flag to wait for texture loading completion when reset by @oahmednv
  • Adds pre-trained checkpoints and tools for generating and uploading checkpoints by @nv-cupright
  • Adds new denoiser optimization flags for rendering by @kellyguo11
  • Updates torch to 2.5.1 by @kellyguo11

🐛 Bug Fixes

  • Fixes external force buffers to set to zero when no forces/torques are applied by @matthewtrepte

💔 Breaking Changes

  • Updates the URDF and MJCF importers for Isaac Sim 4.5 by @Dhoeller19
  • Renames Isaac Lab extensions and folders by @kellyguo11
  • Restructures extension folders and removes old imitation learning scripts by @kellyguo11

✈️ Migration Guide

Renaming of Isaac Sim Extensions

Details

Previously, Isaac Sim extensions have been following the convention of omni.isaac.*,
such as omni.isaac.core. In Isaac Sim 4.5, Isaac Sim extensions have been renamed
to use the prefix isaacsim, replacing omni.isaac. In addition, many extensions
have been renamed and split into multiple extensions to prepare for a more modular
framework that can be customized by users through the use of app templates.

Notably, the following commonly used Isaac Sim extensions in Isaac Lab are renamed as follow:

  • omni.isaac.cloner --> isaacsim.core.cloner
  • omni.isaac.core.prims --> isaacsim.core.prims
  • omni.isaac.core.simulation_context --> isaacsim.core.api.simulation_context
  • omni.isaac.core.utils --> isaacsim.core.utils
  • omni.isaac.core.world --> isaacsim.core.api.world
  • omni.isaac.kit.SimulationApp --> isaacsim.SimulationApp
  • omni.isaac.ui --> isaacsim.gui.components

Renaming of the URDF and MJCF Importers

Details

Starting from Isaac Sim 4.5, the URDF and MJCF importers have been renamed to be more consistent
with the other extensions in Isaac Sim. The importers are available on isaac-sim GitHub
as open source projects.

Due to the extension name change, the Python module names have also been changed:

  • URDF Importer: isaacsim.asset.importer.urdf (previously omni.importer.urdf)
  • MJCF Importer: isaacsim.asset.importer.mjcf (previously omni.importer.mjcf)

From the Isaac Sim UI, both URDF and MJCF importers can now be accessed directly from the File > Import
menu when selecting a corresponding .urdf or .xml file in the file browser.

Changes in URDF Importer

Details

Isaac Sim 4.5 brings some updates to the URDF Importer, with a fresh UI to allow for better configurations
when importing robots from URDF. As a result, the Isaac Lab URDF Converter has also been updated to
reflect these changes. The UrdfConverterCfg includes some new settings, such as PDGainsCfg
and NaturalFrequencyGainsCfg classes for configuring the gains of the drives.

One breaking change to note is that the UrdfConverterCfg.JointDriveCfg.gains attribute must
be of class type PDGainsCfg or NaturalFrequencyGainsCfg.

The stiffness of the PDGainsCfg must be specified, as such:

    joint_drive=sim_utils.UrdfConverterCfg.JointDriveCfg(
        gains=sim_utils.UrdfConverterCfg.JointDriveCfg.PDGainsCfg(stiffness=None, damping=None)
    )

The natural_frequency attribute must be specified for NaturalFrequencyGainsCfg.

Renaming of Isaac Lab Extensions and Folders

Details

Corresponding to Isaac Sim 4.5 changes, we have also made some updates to the Isaac Lab directories and extensions.
All extensions that were previously under source/extensions are now under the source/ directory directly.
The source/apps and source/standalone folders have been moved to the root directory and are now called
apps/ and scripts/.

Isaac Lab extensions have been renamed to:

  • omni.isaac.lab --> isaaclab
  • omni.isaac.lab_assets --> isaaclab_assets
  • omni.isaac.lab_tasks --> isaaclab_tasks

In addition, we have split up the previous source/standalone/workflows directory into scripts/imitation_learning
and scripts/reinforcement_learning directories. The RSL RL, Stable-Baselines, RL_Games, SKRL, and Ray directories
are under scripts/reinforcement_learning, while Robomimic and the new Isaac Lab Mimic directories are under
scripts/imitation_learning.

To assist with the renaming of Isaac Lab extensions in your project, we have provided a simple script that will traverse
through the source and docs directories in your local Isaac Lab project and replace any instance of the renamed
directories and imports. Please use the script at your own risk as it will overwrite source files directly.

Restructuring of Isaac Lab Extensions

Details

With the introduction of isaaclab_mimic, designed for supporting data generation workflows for imitation learning,
we have also split out the previous wrappers folder under isaaclab_tasks to its own module, named isaaclab_rl.
This new extension will contain reinforcement learning specific wrappers for the various RL libraries supported by Isaac Lab.

The new isaaclab_mimic extension will also replace the previous imitation learning scripts under the robomimic folder.
We have removed the old scripts for data collection and dataset preparation in favor of the new mimic workflow. For users
who prefer to use the previous scripts, they will be available in previous release branches.

Additionally, we have also restructured the isaaclab_assets extension to be split into robots and sensors
subdirectories. This allows for clearer separation between the pre-defined configurations provided in the extension.
For any existing imports such as from omni.isaac.lab_assets.anymal import ANYMAL_C_CFG, please replace it with
from isaaclab.robots.anymal import ANYMAL_C_CFG.

🤗 New Contributors

We have expanded our internal efforts towards Isaac Lab and Gr00t developments. We sincerely thank the different teams involved in adding these new features into the framework.