Extensions Changelog

Contents

Extensions Changelog#

All notable changes to this project are documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning. For a broader information about the changes in the framework, please refer to the release notes.

Each extension has its own changelog. The changelog for each extension is located in the docs directory of the extension. The changelog for each extension is also included in this changelog to make it easier to find the changelog for a specific extension.

isaaclab#

Extension containing the core framework of Isaac Lab.

4.5.22 (2026-03-16)#

Fixed#

  • Fixed multi-GPU distributed training segfault in spawn_from_usd() caused by concurrent USD asset downloads and Sdf_CrateFile::_MmapStream::Read mmap races. When LOCAL_WORLD_SIZE > 1, the download and stage composition are now serialized with an fcntl file lock.

4.5.21 (2026-03-13)#

Fixed#

  • Fixed initialize_visualizers() silently swallowing failures when visualizers were explicitly requested via the --visualizer CLI flag. Unknown visualizer types and missing packages were not caught because they failed during config resolution, before the create/initialize loop. A RuntimeError is now raised for any explicitly requested visualizer that cannot be configured or initialized.

4.5.20 (2026-03-13)#

Changed#

  • Removed verbose logger.info and logger.debug calls from ManagerBase term initialization and entity resolution, activate_contact_sensors() contact report setup, and XformPrimView Fabric detection. These messages added noise to logs without actionable information.

4.5.19 (2026-03-11)#

Fixed#

  • Fixed XFormPrimView crashing on multi-GPU setups (cuda:1 and higher) when Fabric mode is enabled. USDRT SelectPrims and Warp fabric arrays only support cuda:0 internally — SelectPrims raises a C++ error when the active CUDA context is not GPU 0, regardless of the device argument. The fix disables Fabric and falls back to USD operations when self._device is not cuda:0. Additionally fixed device mismatches in the Fabric methods where Warp arrays were allocated on self._device but kernel launches targeted _fabric_device (cuda:0).

4.5.18 (2026-03-11)#

Added#

  • Added reward convergence checking to benchmark scripts. New --check_convergence flag loads thresholds from configs.yaml automatically. Also accepts --reward_threshold for manual override and --convergence_config to select config section (default: full). Adds check_convergence() and log_convergence() to benchmark utils.

4.5.17 (2026-03-11)#

Fixed#

  • Fixed simulation hanging on exit by removing the prim-by-prim clear_stage() call from clear_instance(). The subsequent close_stage() and app shutdown already tear down the entire stage, making the per-prim deletion redundant and slow.

  • Fixed close_stage() ordering so that Kit’s USD context is closed before the stage cache is cleared, preventing the Removal of UsdStage from cache failed error.

4.5.16 (2026-03-10)#

Fixed#

  • Fixed “[Error] [omni.usd] Stage opening or closing already in progress” on shutdown when running with Kit: env.close() already closes the stage, so the redundant explicit close_stage() calls in the scripts were removed; clear_instance() (invoked by env.close()) already closes the stage, so the duplicate calls in the shutdown block triggered the error.

4.5.15 (2026-03-10)#

Fixed#

  • Fixed semantic label warnings (OgnSdSemanticLabelsMap: invalid input AOV) by restoring standard SemanticsLabelsAPI usage in clone().

4.5.14 (2026-03-10)#

Added#

  • Added validate_config hook to configclass(). Configclass subclasses can now override validate_config(self) to perform domain-specific validation that runs automatically as part of _validate().

Fixed#

  • Fixed SimulationContext singleton leak when environment __init__ fails after creating the context. DirectRLEnv, DirectMARLEnv, and ManagerBasedEnv now call clear_instance() on the context when initialization raises, preventing cascading “Simulation context already exists” errors in test suites and training loops.

4.5.13 (2026-03-10)#

Fixed#

  • Added recursive resolution of nested ManagerTermBaseCfg inside _resolve_param_value() so that params containing manager term configs in dicts or lists have their func references and class-based managers resolved automatically.

4.5.12 (2026-03-10)#

Changed#

  • Unified randomize_physics_scene_gravity into a single class-based term that auto-detects the active physics backend (PhysX or Newton).

Removed#

  • Removed randomize_newton_physics_scene_gravity. Use randomize_physics_scene_gravity instead, which handles both PhysX and Newton backends automatically.

4.5.11 (2026-02-28)#

Added#

  • Added visualizers parameter to build_simulation_context().

4.5.10 (2026-03-09)#

Changed#

  • Refactored lazy_export() to infer fallback packages and relative wildcard re-exports from the .pyi stub, making the stub the single source of truth. The packages argument is deprecated.

4.5.9 (2026-03-08)#

Changed#

  • isaaclab_ov is now always installed when using ./isaaclab.sh -i (or --install all), but with --no-deps so it is importable (e.g. by isaaclab_tasks presets) without pulling in the optional ovrtx dependency. To install the ovrtx dependency for OVRTX rendering, run ./isaaclab.sh -i ovrtx.

4.5.8 (2026-03-06)#

Added#

  • Added debugpy to isaaclab package dependencies to support debugging out of the box.

4.5.7 (2026-03-06)#

Changed#

  • Extended test_articulation_iface.py with Newton backend mock tests — added Newton-specific mock view setup, sim config, and test parametrization alongside existing PhysX tests.

  • Extended test_rigid_object_iface.py with Newton backend mock tests — added Newton-specific mock view setup and test parametrization.

  • Fixed mask type handling in test_rigid_object_collection_iface.py to use consistent mask types across backends.

4.5.6 (2026-03-06)#

Changed#

  • Reorganized Visualizers and SDP packages

  • Added Visualizer unit tests

  • Improved PhysX Scene Data Provider perf

  • Tweaked default Visualizer Configs

4.5.5 (2026-03-05)#

Added#

  • Added documentation for BaseRenderer and the renderer extension architecture in docs/source/overview/core-concepts/renderers.rst, including the factory pattern.

4.5.4 (2026-03-01)#

Changed#

  • Enhanced Timer with configurable time format (s/ms/us/ns), global enable/disable toggle, display output control, and wp.synchronize() before stopping to ensure accurate GPU timing.

4.5.3 (2026-03-05)#

Changed#

  • Passed default_env_origins to the Newton replication pipeline so environment offsets to adapt new newton cloning logic.

4.5.2 (2026-03-04)#

Added#

  • Added SummaryMetrics backend for benchmarks: prints a human-readable boxed summary to the console while still writing full JSON output. Use --benchmark_backend summary in benchmark scripts.

Fixed#

  • Fixed runtime stats in benchmark scripts so FPS metrics (e.g. Collection FPS, Total FPS) are labeled with unit “FPS” instead of “ms”. Unit is now inferred from the me name in log_min_max_mean_stats (benchmark utils).

  • Enabled frametime recorders for the omniperf backend in benchmark scripts to preserve Grafana metrics ingestion.

4.5.1 (2026-03-02)#

Added#

  • Added interface-conformance test suites that verify data property shapes/dtypes, writer methods, setters, and alias consistency across Mock and PhysX backends:

    • test/assets/test_articulation_iface.py for BaseArticulation.

    • test/assets/test_rigid_object_iface.py for BaseRigidObject.

    • test/assets/test_rigid_object_collection_iface.py for BaseRigidObjectCollection.

Fixed#

  • Fixed structured warp types in MockArticulationData, MockRigidObjectData, and MockRigidObjectCollectionData: velocity, acceleration, and limit properties now return the correct structured dtypes (wp.spatial_vectorf, wp.vec2f, etc.) and sliced velocity properties use zero-copy pointer arithmetic instead of torch-based slicing, matching the PhysX backend contract.

  • Added shape and dtype validation to all _index / _mask writer methods in MockArticulation, MockRigidObject, and MockRigidObjectCollection, replacing bare pass stubs.

  • Fixed set_coms_index / set_coms_mask docstrings in BaseArticulation to document the correct dtype (wp.transformf) and frame of reference (body link frame).

  • Fixed XR instruction widget for Fabric and switch to current scene view APIs.

  • Fixed session lifecycle pre-shutdown by removing invalid unsubscribe() call.

4.5.0 (2026-02-27)#

Changed#

  • Replaced omni.kit.commands and async Nucleus calls in asset utilities, prim helpers.

4.4.0 (2026-02-26)#

Changed#

  • Migrated lazy-loading to lazy_loader.attach_stub with .pyi stubs as the single source of truth for module exports. Removed the old attach_cascading helper, avoided eager callable resolution during deepcopy of ResolvableString, and updated MDP exports/import boundaries so test_env_cfg_no_forbidden_imports.py passes without importing runtime modules.

4.3.2 (2026-02-25)#

Fixed#

  • Fixed inconsistent body_mass shape in BaseRigidObjectData from (num_instances, 1, 1) to (num_instances, 1) to align with the articulation convention.

  • Unified inertia scaling in randomize_rigid_body_mass() to use a single code path for both articulations and rigid objects.

Changed#

  • Reworked mock interfaces for assets and sensors to align with updated data shapes and remove stale convenience aliases.

4.3.1 (2026-02-27)#

Added#

Changed#

  • Fixed tendon setter signatures in BaseArticulation (set_fixed_tendon_* and set_spatial_tendon_*) now accept float values in addition to tensors and warp arrays.

4.3.0 (2026-02-26)#

Changed#

  • Added lazy callable-string resolution for config fields through ResolvableString in isaaclab.utils.configclass. Config values such as class_type/func can now remain as strings until first use and then resolve/cached automatically.

  • Added {DIR} callable-string shorthand support in isaaclab.utils.configclass for config defaults. "{DIR}.module:Symbol" now expands to the declaring config module directory before resolution.

  • Updated update_class_from_dict() to stop eagerly resolving callable strings during updates. Callable-string inputs are now preserved as lazy ResolvableString values and resolve only on first use.

4.2.3 (2026-02-25)#

Fixed#

  • Fixed usd_replicate() and physx_replicate() skipping Sdf.CopySpec when the source and destination paths are identical (self-copy), avoiding a redundant and potentially destructive USD spec overwrite.

4.2.2 (2026-02-26)#

Added#

Changed#

  • Fixed tendon setter signatures in BaseArticulation (set_fixed_tendon_* and set_spatial_tendon_*) now accept float values in addition to tensors and warp arrays.

4.2.1 (2026-02-25)#

Changed#

  • Migrated all MDP action terms to use new _index write/set APIs with keyword-only arguments.

  • Migrated all MDP event terms to use new _index write/set APIs (mass, inertia, COM, joint properties, root state resets, fixed tendon parameters).

  • Updated InteractiveScene.set_state to use new _index APIs for root pose/velocity and joint state writes.

  • Updated SceneEntityCfg body resolution to use find_sensors/num_sensors for ContactSensor entities.

4.2.0 (2026-02-24)#

Changed#

  • Refined base asset class abstractions (BaseArticulation, BaseRigidObject) to better support multiple backends. Removed abstract method requirements that forced unnecessary boilerplate in backend implementations, making it easier to add new physics backends.

  • Unified docstrings across all base asset classes with precise shape and dtype annotations for warp array properties and write methods, ensuring consistent documentation between PhysX and Newton backend implementations.

4.1.0 (2026-02-18)#

Removed#

  • Removed hard dependency on the Isaac Sim Cloner for scene replication. Replication now uses internal utilities usd_replicate() and physx_replicate(), reducing coupling to Isaac Sim. Public APIs in InteractiveScene remain unchanged; code directly importing the external Cloner should migrate to these utilities.

Added#

  • Added optional random prototype selection during environment cloning in InteractiveScene via random_heterogeneous_cloning. Defaults to True; round-robin (modulo) mapping remains available by setting it to False.

  • Added flexible per-object cloning path in InteractiveScene: when environments are heterogeneous (different prototypes across envs), replication switches to per-object instead of whole-env cloning. This reduces PhysX cloning time in heterogeneous scenes.

4.0.0 (2026-02-22)#

Changed#

  • Updated MjcfConverter and MjcfConverterCfg for the rewritten MJCF importer in Isaac Sim 5.0. The converter now uses the MJCFImporter / MJCFImporterConfig API backed by the mujoco-usd-converter library. The old settings fix_base, link_density, import_inertia_tensor, import_sites, and make_instanceable have been removed (handled automatically by the new converter). New settings merge_mesh, collision_from_visuals, and collision_type have been added. The convert_mjcf.py CLI tool has been updated accordingly. Note that the new importer produces assets with nested rigid bodies (RigidBodyAPI applied per link) instead of a flat hierarchy.

3.5.3 (2026-02-22)#

Changed#

  • Refactored SimulationContext.clear_instance to delegate stage teardown to close_stage() instead of manually clearing the stage cache, thread-local context, and Kit USD context inline.

  • Updated close_stage() to also close the Kit USD context stage (omni.usd.get_context().close_stage()) when Kit is running, making it a complete stage teardown function.

3.5.2 (2026-02-23)#

Changed#

  • NUCLEUS_ASSET_ROOT_DIR and derived Nucleus path constants are now parsed from apps/isaaclab.python.kit

3.5.1 (2026-02-21)#

Changed#

  • Changed omni.usd calls with pure USD (pxr) equivalents in sim utils and sensors.

Deprecated#

  • create_new_stage_in_memory — use create_new_stage instead.

  • is_stage_loading — Kit-only, no production callers.

3.5.0 (2026-02-21)#

Changed#

  • The in-memory stage created with SimulationCfg(create_stage_in_memory=True) is now automatically attached to the USD context at SimulationContext creation. This ensures proper stage lifecycle events for viewport and physics systems, preventing test isolation issues.

3.4.3 (2026-02-22)#

Changed#

  • Migrated settings access from carb.settings to SettingsManager. Application code and tests now use get_settings_manager() or get_setting() / set_setting() instead of carb.settings.get_settings().

3.4.2 (2026-02-20)#

Changed#

  • Replaced PhysX schema interactions via pxr.PhysxSchema API helpers with direct prim schema apply/get calls.

  • Replaced omni.kit.commands.execute("ChangePropertyCommand") uses with direct CreateAttribute + Set calls.

Removed#

  • Removed attach_stage_to_usd_context(). This function is no longer needed since the in-memory stage is now automatically attached to the USD context at SimulationContext creation. Remove any calls to this function from your code.

Fixed#

  • Fixed add_labels() to use UsdSemantics.LabelsAPI directly instead of the Replicator API for Isaac Sim 5.0+. This resolves 'NoneType' object has no attribute 'GetEditTarget' errors when using stage-in-memory mode.

3.4.0 (2026-02-18)#

Added#

  • Integrated TeleopCore as the teleoperation backend via the new isaaclab_teleop extension. The IsaacTeleopDevice provides a unified teleoperation interface that replaces the previous XR-specific device and retargeter classes.

Deprecated#

  • Deprecated the existing XR teleoperation solution. OpenXRDevice, OpenXRDeviceCfg, ManusVive, RetargeterBase, RetargeterCfg, and all retargeters under isaaclab.devices.openxr.retargeters are deprecated in favor of IsaacTeleopDevice. Existing imports will continue to work but emit DeprecationWarning when isaaclab_teleop is installed.

3.3.0 (2026-02-13)#

Changed#

  • Migrated all asset and sensor data properties from torch.Tensor to wp.array (NVIDIA Warp). All .data.* properties on Articulation, RigidObject, RigidObjectCollection, and sensor data classes now return wp.array. Use wp.to_torch() to convert back to torch.Tensor when needed.

  • Split all asset write methods into _index and _mask variants. The old env_ids parameter has been replaced by explicit _index methods (sparse indexed data) and _mask methods (full data with boolean mask). For example, write_root_link_pose_to_sim(data, env_ids) is now write_root_link_pose_to_sim_index(data, env_ids) or write_root_link_pose_to_sim_mask(data, env_mask).

  • Refactored isaaclab.utils.wrench_composer to use warp kernels internally.

  • Updated all MDP action, observation, reward, termination, command, and event functions to wrap wp.array data accesses with wp.to_torch() for torch compatibility.

  • Updated mock interfaces for all assets and sensors to produce wp.array-backed data.

Added#

  • Added TimestampedBufferWarp for warp-native timestamped data buffers, replacing TimestampedBuffer in warp-backed asset and sensor classes.

  • Added shared warp math kernels in isaaclab.utils.warp.kernels for quaternion operations, coordinate transforms, and velocity computations.

3.2.0 (2026-02-06)#

Changed#

  • Refactored SimulationContext to use PhysicsManager abstraction layer for cleaner separation between simulation orchestration and physics backend.

3.1.0 (2026-02-05)#

Added#

  • Added BaseIsaacLabBenchmark class replacing dependency on isaacsim.benchmark.services for benchmarking workflows. This provides a standalone framework for measuring performance of Isaac Lab components.

  • Added measurement types in isaaclab.test.benchmark.measurements:

    • SingleMeasurement: Single floating-point measurement with unit.

    • StatisticalMeasurement: Mean, std, and sample count.

    • DictMeasurement: Dictionary-valued measurement.

    • ListMeasurement: List-valued measurement.

    • BooleanMeasurement: Boolean measurement.

  • Added metadata types in isaaclab.test.benchmark.measurements:

    • StringMetadata: String metadata.

    • IntMetadata: Integer metadata.

    • FloatMetadata: Float metadata.

    • DictMetadata: Dictionary metadata.

  • Added TestPhase for organizing measurements and metadata into logical phases within a benchmark.

  • Added BenchmarkMonitor context manager for async system resource monitoring during blocking operations like RL training loops.

  • Added pluggable backend architecture in isaaclab.test.benchmark.backends:

    • json: Full JSON output with all phases, measurements, and metadata.

    • osmo: Osmo KPI format for CI/CD integration.

    • omniperf: OmniPerf format for database upload.

    • summary: Human-readable console summary plus JSON output.

  • Added system recorders in isaaclab.test.benchmark.recorders:

    • CPUInfoRecorder: CPU information capture.

    • GPUInfoRecorder: GPU information capture.

    • MemoryInfoRecorder: Memory usage tracking.

    • VersionInfoRecorder: Software version capture.

  • Added CLI arguments for benchmark scripts: --benchmark_backend, --output_path.

  • Added shell scripts for running benchmark suites:

    • scripts/benchmarks/run_non_rl_benchmarks.sh: Non-RL environment stepping benchmarks.

    • scripts/benchmarks/run_physx_benchmarks.sh: PhysX micro-benchmarks.

    • scripts/benchmarks/run_training_benchmarks.sh: RL training benchmarks.

  • Added fallback in isaaclab.test.benchmark.benchmark_core for Isaac Sim packaging that bundles frametime recorders in a single module, so frametime collection works across variants.

Changed#

  • Refactored benchmark scripts to use new BaseIsaacLabBenchmark class instead of isaacsim.benchmark.services.

Fixed#

  • Fixed runtime stats in log_min_max_mean_stats (scripts/benchmarks/utils.py) so FPS metrics are labeled with unit FPS and time metrics with ms instead of all being ms.

Removed#

  • Removed hard dependency on isaacsim.benchmark.services extension for benchmarking. The extension is now optional and only used for frametime recorders when available.

3.0.3 (2026-02-05)#

Changed#

  • Modified all the base classes so that they implement the shorthands and the deprecation cycle to IsaacLab 4.0

3.0.2 (2026-02-04)#

Fixed#

  • Removed exact version pinning for URDF asset importer extension that is incompatible with Isaac Sim 6.0.

3.0.1 (2026-02-04)#

Fixed#

  • Fixed isaaclab.sh to use libstdc++ CXXABI_1.3.15 from conda for systems that lack that version (e.g., Ubuntu 22.04).

3.0.0 (2026-02-02)#

Added#

  • Added albedo annotator for faster diffuse albedo rendering. This path will be the most performant when GUI is not required and only albedo and/or depth annotations are requested.

Changed#

  • Updated Isaac Lab to be compatible with Isaac Sim 6.0.0.

  • Updated the required Python version to 3.12 for Isaac Lab installation.

  • Updated the required PyTorch version to 2.9.0+cu128 and torchvision to 0.24.0 for Isaac Lab installation.

  • Updated numpy to 2.3.1 following version in Kit 109.0.

  • Updated dex-retargeting to 0.5.0 with numpy 2.0+ dependency.

  • Removed explicit URDF importer extension version dependency in UrdfConverter and related code.

2.1.2 (2026-01-30)#

Added#

  • Added isaaclab.test.benchmark module providing a comprehensive benchmarking framework for measuring performance of Isaac Lab components. Includes:

    • BenchmarkConfig: Configuration dataclass for benchmark execution parameters (iterations, warmup steps, instances, device).

    • BenchmarkResult: Dataclass capturing timing statistics (mean, std in microseconds), skip status, and dependency information.

    • MethodBenchmark: Definition class for methods to benchmark with multi-mode input generators.

    • Input generator helpers for creating standardized tensors and Warp masks: make_tensor_env_ids, make_tensor_joint_ids, make_tensor_body_ids, make_warp_env_mask, make_warp_joint_mask, make_warp_body_mask.

    • benchmark_method(): Core function for benchmarking with warmup phases, GPU synchronization, and graceful error handling.

    • I/O utilities: get_hardware_info(), get_git_info(), print_hardware_info(), print_results(), export_results_json(), export_results_csv().

2.1.1 (2026-02-03)#

Added#

  • Added isaaclab.test.mock_interfaces module providing mock implementations for unit testing without requiring Isaac Sim. Includes:

    • Mock assets: MockArticulation, MockRigidObject, MockRigidObjectCollection with full state tracking and property management.

    • Mock sensors: MockContactSensor, MockImu, MockFrameTransformer with configurable data outputs.

    • Utility classes: MockArticulationBuilder, MockSensorBuilder, MockWrenchComposer for flexible mock construction.

    • Factory functions for common robot morphologies (quadruped, humanoid).

    • Patching utilities and decorators for easy test injection.

2.1.0 (2026-02-02)#

Added#

  • Added BaseContactSensor and BaseContactSensorData abstract base classes that define the interface for contact sensors. These classes provide a backend-agnostic API for contact sensing.

  • Added BaseImu and BaseImuData abstract base classes that define the interface for IMU sensors. These classes provide a backend-agnostic API for inertial measurement.

  • Added BaseFrameTransformer and BaseFrameTransformerData abstract base classes that define the interface for frame transformer sensors. These classes provide a backend-agnostic API for coordinate frame transformations.

Changed#

  • Refactored the sensor classes (ContactSensor, Imu, FrameTransformer) to follow the multi-backend architecture. The classes now act as factory wrappers that instantiate the appropriate backend-specific implementation (PhysX by default).

  • Refactored the sensor data classes (ContactSensorData, ImuData, FrameTransformerData) to use the factory pattern for backend-specific instantiation.

  • Moved PhysX-specific sensor tests to the isaaclab_physx package:

    • test_contact_sensor.pyisaaclab_physx/test/sensors/

    • test_imu.pyisaaclab_physx/test/sensors/

    • test_frame_transformer.pyisaaclab_physx/test/sensors/

2.0.0 (2026-01-30)#

Added#

  • Added BaseArticulation and BaseArticulationData abstract base classes that define the interface for articulation assets. These classes provide a backend-agnostic API for articulation operations.

  • Added BaseRigidObject and BaseRigidObjectData abstract base classes that define the interface for rigid object assets. These classes provide a backend-agnostic API for rigid object operations.

  • Added BaseRigidObjectCollection and BaseRigidObjectCollectionData abstract base classes that define the interface for rigid object collection assets. These classes provide a backend-agnostic API for managing collections of rigid objects.

  • Added backend_utils module with utilities for managing simulation backends.

Changed#

  • Refactored the asset classes to follow a multi-backend architecture. The core isaaclab.assets module now provides abstract base classes that define the interface, while backend-specific implementations are provided in separate packages (e.g., isaaclab_physx).

  • The concrete Articulation, RigidObject, and RigidObjectCollection classes in the isaaclab package now inherit from their respective base classes, and using the backend-specific implementations provided in the isaaclab_physx package, provide the default PhysX-based implementation.

  • Moved DeformableObject, DeformableObjectCfg, and DeformableObjectData to the isaaclab_physx package since deformable bodies are specific to PhysX simulation.

  • Moved SurfaceGripper and SurfaceGripperCfg to the isaaclab_physx package since surface grippers rely on PhysX-specific contact APIs.

Deprecated#

  • Deprecated the root_physx_view property on Articulation, RigidObject, and RigidObjectCollection in favor of the backend-agnostic root_view property.

  • Deprecated the object_* naming convention in RigidObjectCollection and RigidObjectCollectionData in favor of body_*:

    RigidObjectCollection methods:

    • write_object_state_to_sim() → use write_body_state_to_sim()

    • write_object_link_state_to_sim() → use write_body_link_state_to_sim()

    • write_object_pose_to_sim() → use write_body_pose_to_sim()

    • write_object_link_pose_to_sim() → use write_body_link_pose_to_sim()

    • write_object_com_pose_to_sim() → use write_body_com_pose_to_sim()

    • write_object_velocity_to_sim() → use write_body_com_velocity_to_sim()

    • write_object_com_velocity_to_sim() → use write_body_com_velocity_to_sim()

    • write_object_link_velocity_to_sim() → use write_body_link_velocity_to_sim()

    • find_objects() → use find_bodies()

    RigidObjectCollectionData properties:

    • default_object_state → use default_body_state

    • object_names → use body_names

    • object_pose_w, object_pos_w, object_quat_w → use body_pose_w, body_pos_w, body_quat_w

    • object_vel_w, object_lin_vel_w, object_ang_vel_w → use body_vel_w, body_lin_vel_w, body_ang_vel_w

    • object_acc_w, object_lin_acc_w, object_ang_acc_w → use body_acc_w, body_lin_acc_w, body_ang_acc_w

    • And all other object_* properties (see Migrating to Isaac Lab 3.0 for complete list).

Migration#

1.0.0 (2026-01-30)#

Added#

  • Added a tool to find hard-coded quaternions in the codebase and help user convert them to the new XYZW ordering.

Changed#

  • Changed the quaternion ordering to match warp, PhysX, and Newton native XYZW quaternion ordering.

0.54.5 (2026-01-30)#

Added#

Changed#

  • Changed Timer class to use the online Welford’s algorithm to compute the mean and standard deviation of the elapsed time.

0.54.4 (2026-02-04)#

Fixed#

  • Fixed JointPositionToLimitsAction and EMAJointPositionToLimitsAction ignoring preserve_order=True when the number of specified joints matches the total number of joints in the asset. The optimization that replaced joint indices with slice(None) now correctly checks for the preserve_order flag.

0.54.3 (2026-01-28)#

Changed#

  • Moved isaaclab.sensors.tacsl_sensor to isaaclab_contrib.sensors.tacsl_sensor module, since it is not completely ready for release yet.

0.54.2 (2026-01-25)#

Added#

  • Added test suite for ray caster patterns with comprehensive parameterized tests.

Fixed#

  • Fixed incorrect horizontal angle calculation in lidar_pattern() that caused the actual angular resolution to differ from the requested resolution.

0.54.1 (2026-01-28)#

Fixed#

  • Teleop: update carb settings to be compatible with Isaac Sim 6.0/Kit XR 110.0

0.54.0 (2026-01-13)#

Added#

  • Added Fabric backend support to XformPrimView for GPU-accelerated batch transform operations on all Boundable prims using Warp kernels.

  • Added fabric_utils module with Warp kernels for efficient Fabric matrix operations.

Changed#

  • Changed Camera to use Fabric backend for faster pose queries.

0.53.2 (2026-01-14)#

Added#

Changed#

0.53.1 (2026-01-08)#

Added#

  • Added function change_prim_property() to change attributes on a USD prim. This replaces the previously used USD command ChangeProperty that depends on Omniverse Kit API.

Changed#

0.53.0 (2026-01-07)#

Added#

  • Added XformPrimView class to provide a view of the USD Xform operations. Compared to Isaac Sim implementation, this class optimizes several operations using USD SDF API.

Changed#

  • Switched the sensor classes to use the XformPrimView class for the internal view wherever applicable.

Removed#

  • Removed the usage of isaacsim.core.utils.prims.XformPrim class from the sensor classes.

0.52.2 (2026-01-06)#

Fixed#

  • Improved logic for the URDF importer extension version pinning: the older extension version is now pinned only on Isaac Sim 5.1 and later, while older Isaac Sim versions no longer attempt to pin to a version that does not exist.

0.52.1 (2026-01-02)#

Fixed#

  • Fixed FrameTransformer body name collision when tracking bodies with the same name but different hierarchical paths (e.g., Robot/left_hand vs Robot_1/left_hand). The sensor now uses the full prim path (with env_* patterns normalized) as the unique body identifier instead of just the leaf body name. This ensures bodies at different hierarchy levels are tracked separately. The change is backwards compatible: user-facing frame names still default to leaf names when not explicitly provided, while internal body tracking uses full paths to avoid collisions. Works for both environment-scoped paths (e.g., /World/envs/env_0/Robot) and non-environment paths (e.g., /World/Robot).

0.52.0 (2026-01-02)#

Added#

  • Added transforms module to handle USD Xform operations.

  • Added passing of stage to the create_prim() function inside spawning functions to allow for the creation of prims in a specific stage.

Changed#

  • Changed create_prim() function to use the transforms module for USD Xform operations. It removes the usage of Isaac Sim’s XformPrim class.

0.51.2 (2025-12-30)#

Fixed#

0.51.1 (2025-12-29)#

Added#

  • Added get_isaac_sim_version() to get the version of Isaac Sim. This function caches the version of Isaac Sim and returns it immediately if it has already been computed. This helps avoid parsing the VERSION file from disk multiple times.

Changed#

Removed#

  • Removed storing of Isaac Sim version inside the environment base classes defined inside isaaclab.envs module.

0.51.0 (2025-12-29)#

Added#

Removed#

  • Removed many unused USD prim and stage related operations from the isaaclab.sim.utils module.

  • Moved isaaclab.sim.utils.nucleus sub-module to the tests/deps/isaacsim directory as it is only being used for Isaac Sim check scripts.

Changed#

0.50.7 (2025-12-29)#

Changed#

  • Moved pretrained_checkpoint.py to the isaaclab_rl.utils module.

0.50.6 (2025-12-18)#

Fixed#

  • Fixed issue where :meth:~isaaclab.envs.mdp.observations.body_pose_w` was modifying the original body pose data when using slice or int for body_ids in the observation config. A clone of the data is now created to avoid modifying the original data.

0.50.5 (2025-12-15)#

Added#

  • Added MultiMeshRayCaster sensor to support tracking of dynamic meshes for ray-casting. We keep the previous implementation of RayCaster for backwards compatibility.

  • Added isaaclab.utils.mesh sub-module to perform various Trimesh and USD Mesh related operations.

0.50.4 (2025-12-15)#

Added#

  • Added enable_external_forces_every_iteration to enable external forces every position iteration. This can help improve the accuracy of velocity updates. Consider enabling this flag if the velocities generated by the simulation are noisy.

  • Added warning when enable_external_forces_every_iteration is set to False and the solver type is TGS.

0.50.3 (2025-12-11)#

Fixed#

  • Fixed missing mesh collision approximation attribute when running MeshConverter. The collision approximation attribute is now properly set on the USD prim when converting meshes with mesh collision properties.

0.50.2 (2025-11-21)#

Fixed#

  • Prevent randomizing mass to zero in randomize_mass_by_scale() to avoid physics errors.

0.50.1 (2025-11-25)#

Fixed#

  • Fixed advanced indexing issue in resetting prev action in JointPositionToLimitsAction .

0.50.0 (2025-12-8)#

Added#

  • Implemented ability to attach an imu sensor to xform primitives in a usd file. This PR is based on work by @GiulioRomualdi’ here: #3094 Addressing issue #3088.

0.49.3 (2025-12-03)#

Added#

  • Added G1TriHandUpperBodyMotionControllerGripperRetargeter and G1TriHandUpperBodyMotionControllerGripperRetargeterCfg for retargeting the gripper state from motion controllers.

  • Added unit tests for the retargeters.

0.49.2 (2025-11-17)#

Added#

  • Added track_friction_forces to toggle tracking of friction forces between sensor bodies and filtered bodies.

  • Added friction_forces_w data field for tracking friction forces.

0.49.1 (2025-11-26)#

Changed#

  • Changed import from isaacsim.core.utils.prims to isaaclab.sim.utils.prims across repo to reduce IsaacLab dependencies.

0.49.0 (2025-11-10)#

Fixed#

  • Updated the URDF Importer version to 2.4.31 to avoid issues with merging joints on the latest URDF importer in Isaac Sim 5.1

0.48.9 (2025-11-21)#

Added#

  • Add navigation state API to IsaacLabManagerBasedRLMimicEnv

  • Add optional custom recorder config to MimicEnvCfg

0.48.8 (2025-10-15)#

Added#

0.48.7 (2025-11-25)#

Changed#

  • Changed import from isaaclab.sim.utils to isaaclab.sim.utils.stage in isaaclab.devices.openxr.xr_anchor_utils.py to properly propagate the Isaac Sim stage context.

0.48.6 (2025-11-18)#

Added#

  • Added OpenXR motion controller support for the G1 robot locomanipulation environment Isaac-PickPlace-Locomanipulation-G1-Abs-v0. This enables teleoperation using XR motion controllers in addition to hand tracking.

  • Added OpenXRDeviceMotionController for motion controller-based teleoperation with headset anchoring control.

  • Added motion controller-specific retargeters: * G1TriHandControllerUpperBodyRetargeterCfg for upper body and hand control using motion controllers. * G1LowerBodyStandingControllerRetargeterCfg for lower body control using motion controllers.

0.48.5 (2025-11-14)#

Changed#

  • Changed import from isaacsim.core.utils.stage to isaaclab.sim.utils.stage to reduce IsaacLab dependencies.

0.48.4 (2025-11-14)#

Changed#

  • Refactored modules related to the actuator configs in order to remediate a circular import necessary to support future actuator drive model improvements.

0.48.3 (2025-11-13)#

Changed#

  • Moved retargeter and device declaration out of factory and into the devices/retargeters themselves.

0.48.2 (2025-11-13)#

Changed#

0.48.1 (2025-11-10)#

Added#

  • Added HaplyDevice class for SE(3) teleoperation with dual Haply Inverse3 and Versegrip devices, supporting robot manipulation with haptic feedback.

  • Added demo script scripts/demos/haply_teleoperation.py and documentation guide in docs/source/how-to/haply_teleoperation.rst for Haply-based robot teleoperation.

0.48.0 (2025-11-03)#

Changed#

  • Detected contacts are reported with the threshold of 0.0 (instead of 1.0). This increases the sensitivity of contact detection.

Fixed#

0.47.11 (2025-11-03)#

Fixed#

  • Fixed the bug where effort limits were being overridden in ActuatorBase when the effort_limit parameter is set to None.

  • Corrected the unit tests for three effort limit scenarios with proper assertions

0.47.10 (2025-11-06)#

Added#

  • Added num_rerenders_on_reset parameter to ManagerBasedEnvCfg and DirectRLEnvCfg to configure the number of render steps to perform after reset. This enables more control over DLSS rendering behavior after reset.

Changed#

  • Added deprecation warning for rerender_on_reset parameter in ManagerBasedEnv and DirectRLEnv.

0.47.9 (2025-11-05)#

Changed#

  • Fixed termination term bookkeeping in TerminationManager: per-step termination and last-episode termination bookkeeping are now separated. last-episode dones are now updated once per step from all term outputs, avoiding per-term overwrites and ensuring Episode_Termination metrics reflect the actual triggering terms.

0.47.8 (2025-11-06)#

Added#

0.47.7 (2025-10-31)#

Changed#

  • Changed Pink IK controller qpsolver from osqp to daqp.

  • Changed Null Space matrix computation in Pink IK’s Null Space Posture Task to a faster matrix pseudo inverse computation.

0.47.6 (2025-11-01)#

Fixed#

  • Fixed an issue in recurrent policy evaluation in RSL-RL framework where the recurrent state was not reset after an episode termination.

0.47.5 (2025-10-30)#

Changed#

  • Added docstrings notes to clarify the friction coefficient modeling in Isaac Sim 4.5 and 5.0.

0.47.4 (2025-10-30)#

Changed#

  • Enhanced export_episodes() method to support customizable sequence of demo IDs:

    • Added argument demo_ids to export_episodes() to accept a sequence of integers for custom episode identifiers.

  • Enhanced write_episode() method to support customizable episode identifiers:

    • Added argument demo_id to write_episode() to accept a custom integer for episode identifier.

0.47.3 (2025-10-22)#

Fixed#

  • Fixed the data type conversion in TiledCamera to support the correct data type when converting from numpy arrays to warp arrays on the CPU.

0.47.2 (2025-10-17)#

Added#

  • Added resolve_prim_pose() to resolve the pose of a prim with respect to another prim.

  • Added resolve_prim_scale() to resolve the scale of a prim in the world frame.

0.47.1 (2025-10-17)#

Fixed#

  • Suppressed yourdfpy warnings when trying to load meshes from hand urdfs in dex_retargeting. These mesh files are not used by dex_retargeting, but the parser is incorrectly configured by dex_retargeting to load them anyway which results in warning spam.

0.47.0 (2025-10-14)#

Changed#

  • Removed pickle utilities for saving and loading configurations as pickle contains security vulnerabilities in its APIs. Configurations can continue to be saved and loaded through yaml.

0.46.11 (2025-10-15)#

Added#

  • Added support for modifying the /rtx/domeLight/upperLowerStrategy Sim rendering setting.

0.46.10 (2025-10-13)#

Added#

  • Added ARM64 architecture for pink ik and dex-retargetting setup installations.

0.46.9 (2025-10-09)#

Fixed#

  • Fixed __del__() to use the correct method name for unsubscribing from keyboard events “unsubscribe_to_keyboard_events” instead of “unsubscribe_from_keyboard_events”.

0.46.8 (2025-10-02)#

Fixed#

  • Fixed scaling factor for retargeting of GR1T2 hand.

0.46.7 (2025-09-30)#

Fixed#

  • Fixed finger joint indices with manus extension.

0.46.6 (2025-09-30)#

Added#

  • Added argument traverse_instance_prims to get_all_matching_child_prims() and get_first_matching_child_prim() to control whether to traverse instance prims during the traversal. Earlier, instanced prims were skipped since Usd.Prim.GetChildren() did not return instanced prims, which is now fixed.

Changed#

  • Made parsing of instanced prims in get_all_matching_child_prims() and get_first_matching_child_prim() as the default behavior.

  • Added parsing of instanced prims in make_uninstanceable() to make all prims uninstanceable.

0.46.5 (2025-10-14)#

Added#

  • Exposed parameter solve_articulation_contact_last to configure USD attribute physxscene:solveArticulationContactLast. This parameter may help improve solver stability with grippers, which previously required reducing simulation time-steps. PhysxCfg

0.46.4 (2025-10-06)#

Changed#

  • Fixed device to return the device from the configuration. Previously, it was returning the device from the simulation manager, which was causing a performance overhead.

0.46.3 (2025-09-17)#

Added#

  • Modified setter to support for viscous and dynamic joint friction coefficients in articulation based on IsaacSim 5.0.

  • Added randomization of viscous and dynamic joint friction coefficients in event term.

0.46.2 (2025-09-13)#

Changed#

0.46.1 (2025-09-10)#

Changed#

  • Moved IO descriptors output directory to a subfolder under the task log directory.

0.46.0 (2025-09-06)#

Added#

  • Added argument traverse_instance_prims to get_all_matching_child_prims() and get_first_matching_child_prim() to control whether to traverse instance prims during the traversal. Earlier, instanced prims were skipped since Usd.Prim.GetChildren() did not return instanced prims, which is now fixed.

Changed#

  • Made parsing of instanced prims in get_all_matching_child_prims() and get_first_matching_child_prim() as the default behavior.

  • Added parsing of instanced prims in make_uninstanceable() to make all prims uninstanceable.

0.45.16 (2025-09-06)#

Added#

  • Added teleoperation environments for Unitree G1. This includes an environment with lower body fixed and upper body controlled by IK, and an environment with the lower body controlled by a policy and the upper body controlled by IK.

0.45.15 (2025-09-05)#

Added#

  • Added action terms for using RMPFlow in Manager-Based environments.

0.45.14 (2025-09-08)#

Added#

  • Added TeleopVisualizationManager and XRVisualization classes to provide real-time visualization of teleoperation and inverse kinematics status in XR environments.

0.45.13 (2025-09-08)#

Added#

  • Added ManusVive to support teleoperation with Manus gloves and Vive trackers.

0.45.12 (2025-09-05)#

Added#

  • Added SurfaceGripperBinaryAction for supporting surface grippers in Manager-Based workflows.

Changed#

  • Added AssetBase inheritance for SurfaceGripper.

0.45.11 (2025-09-04)#

Fixed#

  • Fixes a high memory usage and perf slowdown issue in episode data by removing the use of torch.cat when appending to the episode data at each timestep. The use of torch.cat was causing the episode data to be copied at each timestep, which causes high memory usage and significant performance slowdown when recording longer episode data.

  • Patches the configclass to allow validate dict with key is not a string.

Added#

  • Added optional episode metadata (ep_meta) to be stored in the HDF5 data attributes.

  • Added option to record data pre-physics step.

  • Added joint_target data to episode data. Joint target data can be optionally recorded by the user and replayed to improve determinism of replay.

0.45.10 (2025-09-02)#

Fixed#

  • Fixed regression in reach task configuration where the gripper command was being returned.

  • Added gripper_term to Se3GamepadCfg to control whether the gamepad device should return a gripper command.

  • Added gripper_term to Se3SpaceMouseCfg to control whether the spacemouse device should return a gripper command.

  • Added gripper_term to Se3KeyboardCfg to control whether the keyboard device should return a gripper command.

0.45.9 (2025-08-27)#

Fixed#

  • Fixed removing import of pink_ik controller from isaaclab.controllers which is causing pinocchio import error.

0.45.8 (2025-07-25)#

Added#

  • Created target_eef_link_names to PinkIKControllerCfg to specify the target end-effector link names for the pink inverse kinematics controller.

Changed#

  • Updated pink inverse kinematics controller configuration for the following tasks (Isaac-PickPlace-GR1T2, Isaac-NutPour-GR1T2, Isaac-ExhaustPipe-GR1T2) to increase end-effector tracking accuracy and speed. Also added a null-space regularizer that enables turning on of waist degrees-of-freedom.

  • Improved the test_pink_ik script to more comprehensive test on controller accuracy. Also, migrated to use pytest. With the current IK controller improvements, our unit tests pass position and orientation accuracy test within (1 mm, 1 degree). Previously, the position accuracy tolerances were set to (30 mm, 10 degrees).

  • Included a new config parameter fail_on_ik_error to PinkIKControllerCfg to control whether the IK controller raise an exception if robot joint limits are exceeded. In the case of an exception, the controller will hold the last joint position. This adds to stability of the controller and avoids operator experiencing what is perceived as sudden large delays in robot control.

0.45.7 (2025-08-21)#

Added#

  • Added periodic logging when checking if a USD path exists on a Nucleus server to improve user experience when the checks takes a while.

0.45.6 (2025-08-22)#

Fixed#

0.45.5 (2025-08-21)#

Fixed#

  • Fixed write_joint_friction_coefficient_to_sim() to set the friction coefficients in the simulation.

  • Fixed write_joint_dynamic_friction_coefficient_to_sim() to set the friction coefficients in the simulation.* Added export_io_descriptors() to toggle the export of the IO descriptors.

  • Fixed write_joint_viscous_friction_coefficient_to_sim() to set the friction coefficients in the simulation.

0.45.4 (2025-08-21)#

Added#

  • Added unit tests for sensor_base

0.45.3 (2025-08-20)#

Fixed#

  • Fixed isaaclab.envs.mdp.terminations.joint_effort_out_of_limit() so that it correctly reports whether a joint effort limit has been violated. Previously, the implementation marked a violation when the applied and computed torques were equal; in fact, equality should indicate no violation, and vice versa.

0.45.2 (2025-08-18)#

Added#

  • Added get_IO_descriptors() to export the IO descriptors for the observation manager.

  • Added io_descriptors_output_dir() to configure the directory to export the IO descriptors to.

  • Added export_io_descriptors() to toggle the export of the IO descriptors.

  • Added the option to export the Observation and Action of the managed environments into a YAML file. This can be used to more easily deploy policies trained in Isaac Lab.

0.45.1 (2025-08-16)#

Added#

  • Added validations for scale-based randomization ranges across mass, actuator, joint, and tendon parameters.

Changed#

  • Refactored randomization functions into classes with initialization-time checks to avoid runtime overhead.

0.45.0 (2025-08-07)#

Added#

  • Added track_contact_points to toggle tracking of contact point locations between sensor bodies and filtered bodies.

  • Added max_contact_data_per_prim to configure the maximum amount of contacts per sensor body.

  • Added contact_pos_w data field for tracking contact point locations.

0.44.12 (2025-08-12)#

Fixed#

0.44.11 (2025-08-11)#

Fixed#

  • Fixed rendering preset mode when an experience CLI arg is provided.

0.44.10 (2025-08-06)#

Fixed#

  • Fixed the old termination manager in TerminationManager term_done logging that logs the instantaneous term done count at reset. This let to inaccurate aggregation of termination count, obscuring the what really happening during the training. Instead we log the episodic term done.

0.44.9 (2025-07-30)#

Added#

  • Added from __future__ import annotations to manager_based_rl_mimic_env.py to fix Sphinx doc warnings for IsaacLab Mimic docs.

0.44.8 (2025-07-30)#

Fixed#

  • Improved handling of deprecated flag attach_yaw_only. Previously, the flag was only handled if it was set to True. This led to a bug where the yaw was not accounted for when the flag was set to False.

  • Fixed the handling of interval-based events inside EventManager to properly handle their resets. Previously, only class-based events were properly handled.

0.44.7 (2025-07-30)#

Added#

Removed#

  • Removed xxx_external_wrench_frame flag from asset configuration classes in favor of direct argument passed to the set_external_force_and_torque() function.

0.44.6 (2025-07-28)#

Changed#

  • Tweak default behavior for rendering preset modes.

0.44.5 (2025-07-28)#

Fixed#

  • Fixed isaaclab.scene.reset_to() to properly accept None as valid argument.

  • Added tests to verify that argument types.

0.44.4 (2025-07-22)#

Added#

  • Added safe callbacks for stage in memory attaching.

  • Remove on prim deletion callback workaround

0.44.3 (2025-07-21)#

Fixed#

  • Fixed rendering preset mode regression.

0.44.2 (2025-07-22)#

Changed#

  • Updated teleop scripts to print to console vs omni log.

0.44.1 (2025-07-17)#

Changed#

  • Updated test_pink_ik.py test case to pytest format.

0.44.0 (2025-07-21)#

Changed#

  • Changed the way clipping is handled for DCMotor for torque-speed points in when in negative power regions.

Added#

  • Added unit tests for ImplicitActuator, IdealPDActuator, and DCMotor independent of Articulation

0.43.0 (2025-07-21)#

Changed#

  • Updates torch version to 2.7.0 and torchvision to 0.22.0. Some dependencies now require torch>=2.6, and given the vulnerabilities in Torch 2.5.1, we are updating the torch version to 2.7.0 to also include Blackwell support. Since Isaac Sim 4.5 has not updated the torch version, we are now overwriting the torch installation step in isaaclab.sh when running ./isaaclab.sh -i.

0.42.26 (2025-06-29)#

Added#

  • Added MangerBasedRLEnv support for composite gym observation spaces.

  • A test for the composite gym observation spaces in ManagerBasedRLEnv is added to ensure that the observation spaces are correctly configured base on the clip.

0.42.25 (2025-07-11)#

Added#

0.42.24 (2025-06-25)#

Added#

0.42.23 (2025-07-11)#

Fixed#

0.42.22 (2025-07-11)#

Fixed#

  • Fixed missing attribute in RayCasterCamera class and its reset method when no env_ids are passed.

0.42.21 (2025-07-09)#

Added#

  • Added input param update_history to compute() to control whether the history buffer should be updated.

  • Added unit test for ManagerBasedEnv.

Fixed#

0.42.20 (2025-07-10)#

Added#

Changed#

  • Changed the implementation of copysign() to better reflect the documented functionality.

0.42.19 (2025-07-09)#

Changed#

  • Added clone_in_fabric config flag to InteractiveSceneCfg

  • Enable clone_in_fabric for envs which work with limited benchmark_non_rl.py script

0.42.18 (2025-07-07)#

Changed#

  • Changed texture and color randomization to use new replicator functional APIs.

0.42.17 (2025-07-08)#

Fixed#

  • Fixed hanging quat_rotate calls to point to quat_apply in ArticulationData and RigidObjectCollectionData

0.42.16 (2025-07-08)#

Added#

  • Added ability to set platform height independent of object height for trimesh terrains.

0.42.15 (2025-07-01)#

Added#

  • Added abs_height_noise and rel_height_noise to give minimum and maximum absolute and relative noise to isaaclab.terrrains.trimesh.MeshRepeatedObjectsTerrainCfg

  • Added deprecation warnings to the existing max_height_noise but still functions.

0.42.14 (2025-07-03)#

Fixed#

  • Fixed unittest tests that are floating inside pytests for articulation and rendering

0.42.13 (2025-07-07)#

Changed#

  • Updated gymnasium to v1.2.0. This update includes fixes for a memory leak that appears when recording videos with the --video flag.

0.42.12 (2025-06-27)#

Added#

Fixed#

0.42.11 (2025-06-25)#

Fixed#

0.42.10 (2025-06-25)#

Added#

  • Added sample_bias_per_component flag to NoiseModelWithAdditiveBias to enable independent per-component bias sampling, which is now the default behavior. If set to False, the previous behavior of sharing the same bias value across all components is retained.

0.42.9 (2025-06-18)#

Fixed#

  • Fixed data inconsistency between read_body, read_link, read_com when write_body, write_com, write_joint performed, in Articulation, RigidObject, and RigidObjectCollection

  • added pytest that check against these data consistencies

0.42.8 (2025-06-24)#

Added#

Changed#

  • Renamed apply() method to __call__().

0.42.7 (2025-06-12)#

Fixed#

0.42.6 (2025-06-11)#

Changed#

  • Remove deprecated usage of quat_rotate from articulation data class and replace with quat_apply.

0.42.5 (2025-05-22)#

Fixed#

  • Fixed collision filtering logic for CPU simulation. The automatic collision filtering feature currently has limitations for CPU simulation. Collision filtering needs to be manually enabled when using CPU simulation.

0.42.4 (2025-06-03)#

Changed#

  • Removes the hardcoding to TerrainGenerator in TerrainImporter and instead the class_type is used which is passed in the TerrainGeneratorCfg.

0.42.3 (2025-03-20)#

Changed#

  • Made separate data buffers for poses and velocities for the Articulation, RigidObject, and RigidObjectCollection classes. Previously, the two data buffers were stored together in a single buffer requiring an additional concatenation operation when accessing the data.

  • Cleaned up ordering of members inside the data classes for the assets to make them easier to comprehend. This reduced the code duplication within the class and made the class more readable.

0.42.2 (2025-05-31)#

Added#

  • Updated gymnasium to >= 1.0

  • Added support for specifying module:task_name as task name to avoid module import for gym.make

0.42.1 (2025-06-02)#

Added#

Changed#

  • Moved initialization of episode_length_buf outside of load_managers() of ManagerBasedRLEnv to make it available for mdp functions.

0.42.0 (2025-06-02)#

Added#

  • Added support for stage in memory and cloning in fabric. This will help improve performance for scene setup and lower overall startup time.

0.41.0 (2025-05-19)#

Added#

  • Added simulation schemas for spatial tendons. These can be configured for assets imported from file formats.

  • Added support for spatial tendons.

0.40.14 (2025-05-29)#

Added#

Changed#

0.40.13 (2025-05-19)#

Fixed#

  • Raising exceptions in step, render and reset if they occurred inside the initialization callbacks of assets and sensors.used from the experience files and the double definition is removed.

0.40.12 (2025-01-30)#

Added#

  • Added method omni.isaac.lab.assets.AssetBase.set_visibility() to set the visibility of the asset in the simulation.

0.40.11 (2025-05-16)#

Added#

  • Added support for concatenation of observations along different dimensions in ObservationManager.

Changed#

  • Updated the CommandManager to update the command counter after the resampling call.

0.40.10 (2025-05-16)#

Fixed#

  • Fixed penetration issue for negative border height in TerrainGeneratorCfg.

0.40.9 (2025-05-20)#

Changed#

Added#

0.40.8 (2025-05-15)#

Fixed#

  • Fixed omni.isaac.lab.sensors.camera.camera.Camera.set_intrinsic_matrices() preventing setting of unused USD camera parameters.

  • Fixed omni.isaac.lab.sensors.camera.camera.Camera._update_intrinsic_matrices() preventing unused USD camera parameters from being used to calculate omni.isaac.lab.sensors.camera.CameraData.intrinsic_matrices

  • Fixed omni.isaac.lab.spawners.sensors.sensors_cfg.PinholeCameraCfg.from_intrinsic_matrix() preventing setting of unused USD camera parameters.

0.40.7 (2025-05-14)#

  • Added a new attribute articulation_root_prim_path to the ArticulationCfg class to allow explicitly specifying the prim path of the articulation root.

0.40.6 (2025-05-14)#

Changed#

  • Enabled external cameras in XR.

0.40.5 (2025-05-23)#

Added#

  • Added feature for animation recording through baking physics operations into OVD files.

0.40.4 (2025-05-17)#

Changed#

  • Changed livestreaming options to use LIVESTREAM=1 for WebRTC over public networks and LIVESTREAM=2 for WebRTC over private networks.

0.40.3 (2025-05-20)#

Changed#

  • Made modifications to isaaclab.envs.mdp.image() to handle image normalization for normal maps.

0.40.2 (2025-05-14)#

Changed#

  • Refactored remove_camera_configs to be a function that can be used in the record_demos and teleop scripts.

0.40.1 (2025-05-14)#

Fixed#

  • Fixed spacemouse device add callback function to work with record_demos/teleop_se3_agent scripts.

0.40.0 (2025-05-03)#

Added#

  • Added check in RecorderManager to ensure that the success indicator is only set if the termination manager is present.

  • Added semantic tags in isaaclab.sim.spawners.from_files.spawn_ground_plane(). This allows for semantic_segmentation_mapping to be used when using the ground plane spawner.

0.39.0 (2025-04-01)#

Added#

  • Added the joint_effort()

0.38.0 (2025-04-01)#

Added#

0.37.5 (2025-05-12)#

Added#

  • Added a new teleop configuration class DevicesCfg to support multiple teleoperation devices declared in the environment configuration file.

  • Implemented a factory function to create teleoperation devices based on the device configuration.

0.37.4 (2025-05-12)#

Changed#

  • Remove isaacsim.xr.openxr from openxr experience file.

  • Use Performance AR profile for XR rendering.

0.37.3 (2025-05-08)#

Added#

  • Updated PINK task space action to record processed actions.

  • Added new recorder term for recording post step processed actions.

0.37.2 (2025-05-06)#

Changed#

  • Migrated OpenXR device to use the new OpenXR handtracking API from omni.kit.xr.core.

0.37.1 (2025-05-05)#

Changed#

  • Removed xr rendering mode.

0.37.0 (2025-04-24)#

Changed#

  • Updated pytorch to latest 2.7.0 with cuda 12.8 for Blackwell support. Torch is now installed as part of the isaaclab.sh/bat scripts to ensure the correct version is installed.

  • Removed improve_patch_friction as it has been deprecated and removed from the simulation. The simulation will always behave as if this attribute is set to true.

0.36.23 (2025-04-24)#

Fixed#

0.36.22 (2025-04-23)#

Fixed#

  • Adds correct type check for ManagerTermBase class in event_manager.py.

0.36.21 (2025-04-15)#

Changed#

  • Removed direct call of qpsovlers library from pink_ik controller and changed solver from quadprog to osqp.

0.36.20 (2025-04-09)#

Changed#

  • Added call to set cuda device after each app.update() call in SimulationContext. This is now required for multi-GPU workflows because some underlying logic in app.update() is modifying the cuda device, which results in NCCL errors on distributed setups.

0.36.19 (2025-04-01)#

Fixed#

  • Added check in RecorderManager to ensure that the success indicator is only set if the termination manager is present.

0.36.18 (2025-03-26)#

Added#

  • Added a dynamic text instruction widget that provides real-time feedback on the number of successful recordings during demonstration sessions.

0.36.17 (2025-03-26)#

Changed#

  • Added override in AppLauncher to apply patch for pxr.Gf.Matrix4d to work with Pinocchio 2.7.0.

0.36.16 (2025-03-25)#

Changed#

  • Modified rendering mode default behavior when the launcher arg enable_cameras is not set.

0.36.15 (2025-03-25)#

Added#

  • Added near plane distance configuration for XR device.

0.36.14 (2025-03-24)#

Changed#

  • Changed default render settings in SimulationCfg to None, which means that the default settings will be used from the experience files and the double definition is removed.

0.36.13 (2025-03-24)#

Added#

  • Added headpose support to OpenXRDevice.

0.36.12 (2025-03-19)#

Added#

  • Added parameter to show warning if Pink IK solver fails to find a solution.

0.36.11 (2025-03-19)#

Fixed#

  • Fixed default behavior of ImplicitActuator if no effort_limits_sim or effort_limit is set.

0.36.10 (2025-03-17)#

Fixed#

  • App launcher to update the cli arguments if conditional defaults are used.

0.36.9 (2025-03-18)#

Added#

  • Xr rendering mode, which is default when xr is used.

0.36.8 (2025-03-17)#

Fixed#

  • Removed scalar_first from scipy function usage to support older versions of scipy.

0.36.7 (2025-03-14)#

Fixed#

  • Changed the import structure to only import pinocchio when pink-ik or dex-retargeting is being used. This also solves for the problem that pink-ik and dex-retargeting are not supported in windows.

  • Removed isaacsim.robot_motion.lula and isaacsim.robot_motion.motion_generation from the default loaded Isaac Sim extensions.

  • Moved pink ik action config to a separate file.

0.36.6 (2025-03-13)#

Fixed#

  • Worked around an issue where the render mode is set to "RayTracedLighting" instead of "RaytracedLighting" by some dependencies.

0.36.5 (2025-03-11)#

Added#

  • Added 3 rendering mode presets: performance, balanced, and quality.

  • Preset settings are stored in apps/rendering_modes.

  • Presets can be set with cli arg --rendering_mode or with RenderCfg.

  • Preset rendering settings can be overwritten with RenderCfg.

  • RenderCfg supports all native RTX carb settings.

Changed#

  • RenderCfg default settings are unset.

0.36.4 (2025-03-11)#

Changed#

  • Updated the OpenXR kit file isaaclab.python.xr.openxr.kit to inherit from isaaclab.python.kit instead of isaaclab.python.rendering.kit which is not appropriate.

0.36.3 (2025-03-10)#

Changed#

  • Added the PinkIKController controller class that interfaces Isaac Lab with the Pink differential inverse kinematics solver to allow control of multiple links in a robot using a single solver.

0.36.2 (2025-03-07)#

Changed#

  • Allowed users to exit on 1 Ctrl+C instead of consecutive 2 key strokes.

  • Allowed physics reset during simulation through reset() in SimulationContext.

0.36.1 (2025-03-10)#

Added#

  • Added semantic_segmentation_mapping for camera configs to allow specifying colors for semantics.

0.36.0 (2025-03-07)#

Removed#

  • Removed the storage of tri-meshes and warp meshes inside the TerrainImporter class. Initially these meshes were added for ray-casting purposes. However, since the ray-caster reads the terrains directly from the USD files, these meshes are no longer needed.

  • Deprecated the warp_meshes and meshes attributes from the TerrainImporter class. These attributes now return an empty dictionary with a deprecation warning.

Changed#

  • Changed the prim path of the “plane” terrain inside the TerrainImporter class. Earlier, the terrain was imported directly as the importer’s prim path. Now, the terrain is imported as {importer_prim_path}/{name}, where name is the name of the terrain.

0.35.0 (2025-03-07)#

  • Improved documentation of various attributes in the ArticulationData class to make it clearer which values represent the simulation and internal class values. In the new convention, the default_xxx attributes are whatever the user configured from their configuration of the articulation class, while the xxx attributes are the values from the simulation.

  • Updated the soft joint position limits inside the write_joint_pos_limits_to_sim() method to use the new limits passed to the function.

  • Added setting of default_joint_armature and default_joint_friction attributes in the Articulation class based on user configuration.

Changed#

  • Removed unnecessary buffer creation operations inside the Articulation class. Earlier, the class initialized a variety of buffer data with zeros and in the next function assigned them the value from PhysX. This made the code bulkier and more complex for no reason.

  • Renamed parameters for a consistent nomenclature. These changes are backwards compatible with previous releases with a deprecation warning for the old names.

    • joint_velocity_limitsjoint_vel_limits (to match attribute joint_vel and joint_vel_limits)

    • joint_limitsjoint_pos_limits (to match attribute joint_pos and soft_joint_pos_limits)

    • default_joint_limitsdefault_joint_pos_limits

    • write_joint_limits_to_simwrite_joint_position_limit_to_sim

    • joint_frictionjoint_friction_coeff

    • default_joint_frictiondefault_joint_friction_coeff

    • write_joint_friction_to_simwrite_joint_friction_coefficient_to_sim

    • fixed_tendon_limitfixed_tendon_pos_limits

    • default_fixed_tendon_limitdefault_fixed_tendon_pos_limits

    • set_fixed_tendon_limitset_fixed_tendon_position_limit

0.34.13 (2025-03-06)#

Added#

  • Added a new event mode called “prestartup”, which gets called right after the scene design is complete and before the simulation is played.

  • Added a callback to resolve the scene entity configurations separately once the simulation plays, since the scene entities cannot be resolved before the simulation starts playing (as we currently rely on PhysX to provide us with the joint/body ordering)

0.34.12 (2025-03-06)#

Added#

0.34.11 (2025-03-04)#

Fixed#

  • Fixed issue in TiledCamera and Camera where segmentation outputs only display the first tile when scene instancing is enabled. A workaround is added for now to disable instancing when segmentation outputs are requested.

0.34.10 (2025-03-04)#

Fixed#

  • Fixed the issue of misalignment in the motion vectors from the TiledCamera with other modalities such as RGBA and depth.

0.34.9 (2025-03-04)#

Added#

  • Added methods inside the omni.isaac.lab.assets.Articulation class to set the joint position and velocity for the articulation. Previously, the joint position and velocity could only be set using the omni.isaac.lab.assets.Articulation.write_joint_state_to_sim() method, which didn’t allow setting the joint position and velocity separately.

0.34.8 (2025-03-02)#

Fixed#

  • Fixed the propagation of the activate_contact_sensors attribute to the MultiAssetSpawnerCfg class. Previously, this value was always set to False, which led to incorrect contact sensor settings for the spawned assets.

0.34.7 (2025-03-02)#

Changed#

  • Enabled the physics flag for disabling contact processing in the SimulationContact class. This means that by default, no contact reporting is done by the physics engine, which should provide a performance boost in simulations with no contact processing requirements.

  • Disabled the physics flag for disabling contact processing in the ContactSensor class when the sensor is created to allow contact reporting for the sensor.

Removed#

  • Removed the attribute disable_contact_processing from SimulationContact.

0.34.6 (2025-03-01)#

Added#

  • Added a new attribute is_implicit_model to the isaaclab.actuators.ActuatorBase class to indicate if the actuator model is implicit or explicit. This helps checking that the correct model type is being used when initializing the actuator models.

Fixed#

  • Added copy of configurations to AssetBase and SensorBase to prevent modifications of the configurations from leaking outside of the classes.

  • Fixed the case where setting velocity/effort limits for the simulation in the ActuatorBaseCfg class was not being used to update the actuator-specific velocity/effort limits.

Changed#

0.34.5 (2025-02-28)#

Added#

  • Added IP address support for WebRTC livestream to allow specifying IP address to stream across networks. This feature requires an updated livestream extension, which is current only available in the pre-built Isaac Lab 2.0.1 docker image. Support for other Isaac Sim builds will become available in Isaac Sim 5.0.

0.34.4 (2025-02-27)#

Added#

  • Refactored retargeting code from Se3Handtracking class into separate modules for better modularity

  • Added scaffolding for developing additional retargeters (e.g. dex)

0.34.3 (2025-02-26)#

Added#

  • Enablec specifying the placement of the simulation when viewed in an XR device. This is achieved by adding an XrCfg environment configuration with anchor_pos and anchor_rot parameters.

0.34.2 (2025-02-21)#

Fixed#

  • Fixed setting of root velocities inside the event term reset_root_state_from_terrain(). Earlier, the indexing based on the environment IDs was missing.

0.34.1 (2025-02-17)#

Fixed#

  • Ensured that the loaded torch JIT models inside actuator networks are correctly set to eval mode to prevent any unexpected behavior during inference.

0.34.0 (2025-02-14)#

Fixed#

0.33.17 (2025-02-13)#

Fixed#

0.33.16 (2025-02-09)#

Fixed#

  • Removes old deprecation warning from isaaclab.assets.RigidObectData.body_state_w

0.33.15 (2025-02-09)#

Fixed#

  • Fixed not updating the drift when calling reset()

0.33.14 (2025-02-01)#

Fixed#

  • Fixed not updating the timestamp of body_link_state_w and body_com_state_w when write_root_pose_to_sim and write_joint_state_to_sim in the Articulation class are called.

0.33.13 (2025-01-30)#

  • Fixed resampling of interval time left for the next event in the EventManager class. Earlier, the time left for interval-based events was not being resampled on episodic resets. This led to the event being triggered at the wrong time after the reset.

0.33.12 (2025-01-28)#

Fixed#

  • Fixed missing import in line_plot.py

0.33.11 (2025-01-25)#

Added#

Changed#

  • Automatic collision filtering now happens as part of the replicate_physics call. When replicate_physics is not enabled, we call the previous filter_collisions API to mask collisions between environments.

0.33.10 (2025-01-22)#

Changed#

  • In isaaclab.assets.Articulation.write_joint_limits_to_sim(), we previously added a check for if default joint positions exceed the new limits being set. When this is True, we log a warning message to indicate that the default joint positions will be clipped to be within the range of the new limits. However, the warning message can become overly verbose in a randomization setting where this API is called on every environment reset. We now default to only writing the message to info level logging if called within randomization, and expose a parameter that can be used to choose the logging level desired.

0.33.9 (2025-01-22)#

Fixed#

  • Fixed typo in /physics/autoPopupSimulationOutputWindow setting in SimulationContext

0.33.8 (2025-01-17)#

Fixed#

  • Removed deprecation of isaaclab.assets.ArticulationData.root_state_w and isaaclab.assets.ArticulationData.body_state_w derived properties.

  • Removed deprecation of isaaclab.assets.Articulation.write_root_state_to_sim().

  • Replaced calls to isaaclab.assets.ArticulationData.root_com_state_w and isaaclab.assets.ArticulationData.root_link_state_w with corresponding calls to isaaclab.assets.ArticulationData.root_state_w.

  • Replaced calls to isaaclab.assets.ArticulationData.body_com_state_w and isaaclab.assets.ArticulationData.body_link_state_w properties with corresponding calls to isaaclab.assets.ArticulationData.body_state_w properties.

  • Removed deprecation of isaaclab.assets.RigidObjectData.root_state_w derived properties.

  • Removed deprecation of isaaclab.assets.RigidObject.write_root_state_to_sim().

  • Replaced calls to isaaclab.assets.RigidObjectData.root_com_state_w and isaaclab.assets.RigidObjectData.root_link_state_w properties with corresponding calls to isaaclab.assets.RigidObjectData.root_state_w properties.

  • Removed deprecation of isaaclab.assets.RigidObjectCollectionData.root_state_w derived properties.

  • Removed deprecation of isaaclab.assets.RigidObjectCollection.write_root_state_to_sim().

  • Replaced calls to isaaclab.assets.RigidObjectCollectionData.root_com_state_w and isaaclab.assets.RigidObjectData.root_link_state_w properties with corresponding calls to isaaclab.assets.RigidObjectData.root_state_w properties.

  • Fixed indexing issue in write_root_link_velocity_to_sim in isaaclab.assets.RigidObject

  • Fixed index broadcasting in write_object_link_velocity_to_sim and write_object_com_pose_to_sim in the isaaclab.assets.RigidObjectCollection class.

0.33.7 (2025-01-14)#

Fixed#

  • Fixed the respawn of only wrong object samples in repeated_objects_terrain() of isaaclab.terrains.trimesh module. Previously, the function was respawning all objects in the scene instead of only the wrong object samples, which in worst case could lead to infinite respawn loop.

0.33.6 (2025-01-16)#

Changed#

  • Added initial unit tests for multiple tiled cameras, including tests for initialization, groundtruth annotators, different poses, and different resolutions.

0.33.5 (2025-01-13)#

Changed#

  • Moved the definition of /persistent/isaac/asset_root/* settings from AppLauncher to the app files. This is needed to prevent errors where isaaclab_assets was loaded prior to the carbonite setting being set.

0.33.4 (2025-01-10)#

Changed#

  • Added an optional parameter in the record_pre_reset() method in RecorderManager to override the export config upon invoking.

0.33.3 (2025-01-08)#

Fixed#

  • Fixed docstring in articulation data isaaclab.assets.ArticulationData. In body properties sections, the second dimension should be num_bodies but was documented as 1.

0.33.2 (2025-01-02)#

Added#

0.33.1 (2024-12-26)#

Changed#

  • Added kinematics initialization call for populating kinematic prim transforms to fabric for rendering.

  • Added enable_env_ids flag for cloning and replication to replace collision filtering.

0.33.0 (2024-12-22)#

Fixed#

0.32.2 (2024-12-17)#

Added#

0.32.1 (2024-12-17)#

Changed#

  • Added a default and generic implementation of the get_object_poses() function in the ManagerBasedRLMimicEnv class.

  • Added a EXPORT_NONE mode in the DatasetExportMode class and updated RecorderManager to enable recording without exporting the data to a file.

0.32.0 (2024-12-16)#

Changed#

  • Previously, physx returns the rigid bodies and articulations velocities in the com of bodies rather than the link frame, while poses are in link frames. We now explicitly provide body_link_state and body_com_state APIs replacing the previous body_state API. Previous APIs are now marked as deprecated. Please update any code using the previous pose and velocity APIs to use the new *_link_* or *_com_* APIs in isaaclab.assets.RigidBody, isaaclab.assets.RigidBodyCollection, and isaaclab.assets.Articulation.

0.31.0 (2024-12-16)#

Added#

  • Added ManagerBasedRLMimicEnv and config classes for mimic data generation workflow for imitation learning.

0.30.3 (2024-12-16)#

Fixed#

  • Fixed ordering of logging and resamping in the command manager, where we were logging the metrics after resampling the commands. This leads to incorrect logging of metrics when inside the resample call, the metrics tensors get reset.

0.30.2 (2024-12-16)#

Fixed#

Added#

0.30.1 (2024-12-15)#

Changed#

  • Added call to update articulation kinematics after reset to ensure states are updated for non-rendering sensors. Previously, some changes in reset such as modifying joint states would not be reflected in the rigid body states immediately after reset.

0.30.0 (2024-12-15)#

Added#

  • Added UI interface to the Managers in the ManagerBasedEnv and MangerBasedRLEnv classes.

  • Added UI widgets for LiveLinePlot and ImagePlot.

  • Added ManagerLiveVisualizer/Cfg: Given a ManagerBase (i.e. action_manager, observation_manager, etc) and a config file this class creates the the interface between managers and the UI.

  • Added EnvLiveVisualizer: A ‘manager’ of ManagerLiveVisualizer. This is added to the ManagerBasedEnv but is only called during the initialization of the managers in load_managers

  • Added get_active_iterable_terms implementation methods to ActionManager, ObservationManager, CommandsManager, CurriculumManager, RewardManager, and TerminationManager. This method exports the active term data and labels for each manager and is called by ManagerLiveVisualizer.

  • Additions to BaseEnvWindow and RLEnvWindow to register ManagerLiveVisualizer UI interfaces for the chosen managers.

0.29.0 (2024-12-15)#

Added#

  • Added observation history computation to isaaclab.manager.observation_manager.ObservationManager.

  • Added history_length and flatten_history_dim configuration parameters to isaaclab.manager.manager_term_cfg.ObservationTermCfg

  • Added history_length and flatten_history_dim configuration parameters to isaaclab.manager.manager_term_cfg.ObservationGroupCfg

  • Added full buffer property to isaaclab.utils.buffers.circular_buffer.CircularBuffer

0.28.4 (2024-12-15)#

Added#

0.28.3 (2024-12-14)#

Changed#

  • Added check for error below threshold in state machines to ensure the state has been reached.

0.28.2 (2024-12-13)#

Fixed#

  • Fixed the shape of quat_w in the apply_actions method of NonHolonomicAction (previously (N,B,4), now (N,4) since the number of root bodies B is required to be 1). Previously apply_actions errored because euler_xyz_from_quat requires inputs of shape (N,4).

0.28.1 (2024-12-13)#

Fixed#

  • Fixed the internal buffers for set_external_force_and_torque where the buffer values would be stale if zero values are sent to the APIs.

0.28.0 (2024-12-12)#

Changed#

  • Adapted the UrdfConverter to use the latest URDF converter API from Isaac Sim 4.5. The physics articulation root can now be set separately, and the joint drive gains can be set on a per joint basis.

0.27.33 (2024-12-11)#

Added#

  • Introduced an optional sensor_cfg parameter to the base_height_l2() function, enabling the use of RayCaster for height adjustments. For flat terrains, the function retains its previous behavior.

  • Improved documentation to clarify the usage of the base_height_l2() function in both flat and rough terrain settings.

0.27.32 (2024-12-11)#

Fixed#

  • Modified isaaclab.envs.mdp.actions.DifferentialInverseKinematicsAction class to use the geometric Jacobian computed w.r.t. to the root frame of the robot. This helps ensure that root pose does not affect the tracking.

0.27.31 (2024-12-09)#

Changed#

  • Introduced configuration options in Se3HandTracking to:

    • Zero out rotation around the x/y axes

    • Apply smoothing and thresholding to position and rotation deltas for reduced jitter

    • Use wrist-based rotation reference as an alternative to fingertip-based rotation

  • Switched the default position reference in Se3HandTracking to the wrist joint pose, providing more stable relative-based positioning.

0.27.30 (2024-12-09)#

Fixed#

  • Fixed the initial state recorder term in isaaclab.envs.mdp.recorders.InitialStateRecorder to return only the states of the specified environment IDs.

0.27.29 (2024-12-06)#

Fixed#

  • Fixed the enforcement of velocity_limits at the root_physx_view level.

0.27.28 (2024-12-06)#

Changed#

  • If a USD that contains an articulation root is loaded using a isaaclab.assets.RigidBody we now fail unless the articulation root is explicitly disabled. Using an articulation root for rigid bodies is not needed and decreases overall performance.

0.27.27 (2024-12-06)#

Fixed#

0.27.26 (2024-12-06)#

Added#

Changed#

  • Unified the clipping behavior for the depth images of all camera implementations. Per default, all values exceeding the range are clipped to zero for both distance_to_image_plane and distance_to_camera depth images. Prev. RayCasterCamera clipped the values to the maximum value of the depth image, Camera did not clip them and had a different behavior for both types.

0.27.25 (2024-12-05)#

Fixed#

  • Fixed the condition in isaaclab.sh that checks whether pre-commit is installed before attempting installation.

0.27.24 (2024-12-05)#

Fixed#

0.27.23 (2024-12-04)#

Fixed#

  • Added the attributes wait_for_textures and wait_for_textures to enable assets loading check during DirectRLEnv and ManagerBasedEnv reset method when rtx sensors are added to the scene.

0.27.22 (2024-12-04)#

Fixed#

0.27.21 (2024-12-04)#

Added#

  • Added RecorderManager and its utility classes to record data from the simulation.

  • Added EpisodeData to store data for an episode.

  • Added DatasetFileHandlerBase as a base class for handling dataset files.

  • Added HDF5DatasetFileHandler as a dataset file handler implementation to export and load episodes from HDF5 files.

  • Added record_demos.py script to record human-teleoperated demos for a specified task and export to an HDF5 file.

  • Added replay_demos.py script to replay demos loaded from an HDF5 file.

0.27.20 (2024-12-02)#

Changed#

  • Changed isaaclab.envs.DirectMARLEnv to inherit from Gymnasium.Env due to requirement from Gymnasium v1.0.0 requiring all environments to be a subclass of Gymnasium.Env when using the make interface.

0.27.19 (2024-12-02)#

Added#

  • Added isaaclab.utils.pretrained_checkpoints containing constants and utility functions used to manipulate paths and load checkpoints from Nucleus.

0.27.18 (2024-11-28)#

Changed#

  • Renamed Isaac Sim imports to follow Isaac Sim 4.5 naming conventions.

0.27.17 (2024-11-20)#

Added#

  • Added create_new_stage setting in AppLauncher to avoid creating a default new stage on startup in Isaac Sim. This helps reduce the startup time when launching Isaac Lab.

0.27.16 (2024-11-15)#

Added#

  • Added the class Se3HandTracking which enables XR teleop for manipulators.

0.27.15 (2024-11-09)#

Fixed#

0.27.14 (2024-10-23)#

Added#

  • Added the class RigidObjectCollection which allows to spawn multiple objects in each environment and access/modify the quantities with a unified (env_ids, object_ids) API.

0.27.13 (2024-10-30)#

Added#

0.27.12 (2024-11-04)#

Removed#

  • Removed TensorDict usage in favor of Python dictionary in sensors

0.27.11 (2024-10-31)#

Added#

  • Added support to define tuple of floats to scale observation terms by expanding the isaaclab.managers.manager_term_cfg.ObservationManagerCfg.scale attribute.

0.27.10 (2024-11-01)#

Changed#

  • Cached the PhysX view’s joint paths before looping over them when processing fixed joint tendons inside the Articulation class. This helps improve the processing time for the tendons.

0.27.9 (2024-11-01)#

Added#

  • Added the isaaclab.utils.types.ArticulationActions class to store the joint actions for an articulation. Earlier, the class from Isaac Sim was being used. However, it used a different type for the joint actions which was not compatible with the Isaac Lab framework.

0.27.8 (2024-11-01)#

Fixed#

  • Added sanity check if the term is a valid type inside the command manager.

  • Corrected the iteration over group_cfg_items inside the observation manager.

0.27.7 (2024-10-28)#

Added#

  • Added frozen encoder feature extraction observation space with ResNet and Theia

0.27.6 (2024-10-25)#

Fixed#

0.27.5 (2024-10-25)#

Added#

  • Added utilities for serializing/deserializing Gymnasium spaces.

0.27.4 (2024-10-18)#

Fixed#

  • Updated installation path instructions for Windows in the Isaac Lab documentation to remove redundancy in the use of %USERPROFILE% for path definitions.

0.27.3 (2024-10-22)#

Fixed#

  • Fixed the issue with using list or tuples of configclass within a configclass. Earlier, the list of configclass objects were not converted to dictionary properly when to_dict function was called.

0.27.2 (2024-10-21)#

Added#

  • Added --kit_args to AppLauncher to allow passing command line arguments directly to Omniverse Kit SDK.

0.27.1 (2024-10-20)#

Added#

  • Added RenderCfg and the attribute render for specifying render related settings.

0.27.0 (2024-10-14)#

Added#

  • Added a method to configclass to check for attributes with values of type MISSING. This is useful when the user wants to check if a certain attribute has been set or not.

  • Added the configuration validation check inside the constructor of all the core classes (such as sensor base, asset base, scene and environment base classes).

  • Added support for environments without commands by leaving the attribute isaaclab.envs.ManagerBasedRLEnvCfg.commands as None. Before, this had to be done using the class isaaclab.command_generators.NullCommandGenerator.

  • Moved the meshes attribute in the isaaclab.sensors.RayCaster class from class variable to instance variable. This prevents the meshes to overwrite each other.

0.26.0 (2024-10-16)#

Added#

0.25.2 (2024-10-16)#

Added#

  • Added support for different Gymnasium spaces (Box, Discrete, MultiDiscrete, Tuple and Dict) to define observation, action and state spaces in the direct workflow.

  • Added sample_space() to environment utils to sample supported spaces where data containers are torch tensors.

Changed#

  • Mark the num_observations, num_actions and num_states in DirectRLEnvCfg as deprecated in favor of observation_space, action_space and state_space respectively.

  • Mark the num_observations, num_actions and num_states in DirectMARLEnvCfg as deprecated in favor of observation_spaces, action_spaces and state_space respectively.

0.25.1 (2024-10-10)#

Fixed#

  • Fixed potential issue where default joint positions can fall outside of the limits being set with Articulation’s write_joint_limits_to_sim API.

0.25.0 (2024-10-06)#

Added#

  • Added configuration classes for spawning assets from a list of individual asset configurations randomly at the specified prim paths.

0.24.20 (2024-10-07)#

Fixed#

0.24.19 (2024-10-05)#

Added#

  • Added new functionalities to the FrameTransformer to make it more general. It is now possible to track:

    • Target frames that aren’t children of the source frame prim_path

    • Target frames that are based upon the source frame prim_path

0.24.18 (2024-10-04)#

Fixed#

  • Fixes parsing and application of size parameter for GroundPlaneCfg to correctly scale the grid-based ground plane.

0.24.17 (2024-10-04)#

Fixed#

  • Fixed the deprecation notice for using pxr.Semantics. The corresponding modules use Semantics module directly.

0.24.16 (2024-10-03)#

Changed#

0.24.15 (2024-09-20)#

Added#

  • Added grab_images() to be able to use images for an observation term in manager-based environments.

0.24.14 (2024-09-20)#

Added#

  • Added the method convert_perspective_depth_to_orthogonal_depth() to convert perspective depth images to orthogonal depth images. This is useful for the unproject_depth(), since it expects orthogonal depth images as inputs.

0.24.13 (2024-09-08)#

Changed#

  • Moved the configuration of visualization markers for the command terms to their respective configuration classes. This allows users to modify the markers for the command terms without having to modify the command term classes.

0.24.12 (2024-09-18)#

Fixed#

  • Fixed outdated fetching of articulation data by using the method update_articulations_kinematic in isaaclab.assets.ArticulationData. Before if an articulation was moved during a reset, the pose of the links were outdated if fetched before the next physics step. Adding this method ensures that the pose of the links is always up-to-date. Similarly update_articulations_kinematic was added before any render step to ensure that the articulation displays correctly after a reset.

0.24.11 (2024-09-11)#

Added#

  • Added skrl’s JAX environment variables to AppLauncher to support distributed multi-GPU and multi-node training using JAX

0.24.10 (2024-09-10)#

Added#

  • Added config class, support, and tests for MJCF conversion via standalone python scripts.

0.24.9 (2024-09-09)#

Added#

  • Added a seed parameter to the isaaclab.envs.ManagerBasedEnvCfg and isaaclab.envs.DirectRLEnvCfg classes to set the seed for the environment. This seed is used to initialize the random number generator for the environment.

  • Adapted the workflow scripts to set the seed for the environment using the seed specified in the learning agent’s configuration file or the command line argument. This ensures that the simulation results are reproducible across different runs.

0.24.8 (2024-09-08)#

Changed#

  • Modified:meth:quat_rotate and quat_rotate_inverse() operations to use torch.einsum() for faster processing of high dimensional input tensors.

0.24.7 (2024-09-06)#

Added#

  • Added support for property attributes in the :meth:isaaclab.utils.configclass method. Earlier, the configclass decorator failed to parse the property attributes correctly and made them instance variables instead.

0.24.6 (2024-09-05)#

Fixed#

  • Adapted the A and D button bindings inside isaaclab.device.Se3Keyboard() to make them now more-intuitive to control the y-axis motion based on the right-hand rule.

0.24.5 (2024-08-29)#

Added#

  • Added alternative data type “distance_to_camera” in isaaclab.sensors.TiledCamera class to be consistent with all other cameras (equal to type “depth”).

0.24.4 (2024-09-02)#

Fixed#

0.24.3 (2024-08-29)#

Fixed#

  • Fixed the support for class-bounded methods when creating a configclass out of them. Earlier, these methods were being made as instance methods which required initialization of the class to call the class-methods.

0.24.2 (2024-08-28)#

Added#

  • Added a class method to initialize camera configurations with an intrinsic matrix in the isaaclab.sim.spawner.sensors.PinholeCameraCfg isaaclab.sensors.ray_caster.patterns_cfg.PinholeCameraPatternCfg classes.

Fixed#

  • Fixed the ray direction in isaaclab.sensors.ray_caster.patterns.patterns.pinhole_camera_pattern() to point to the center of the pixel instead of the top-left corner.

  • Fixed the clipping of the “distance_to_image_plane” depth image obtained using the isaaclab.sensors.ray_caster.RayCasterCamera class. Earlier, the depth image was being clipped before the depth image was generated. Now, the clipping is applied after the depth image is generated. This makes the behavior equal to the USD Camera.

0.24.1 (2024-08-21)#

Changed#

  • Disabled default viewport in certain headless scenarios for better performance.

0.24.0 (2024-08-17)#

Added#

  • Added additional annotators for isaaclab.sensors.camera.TiledCamera class.

Changed#

0.23.1 (2024-08-17)#

Changed#

  • Updated torch to version 2.4.0.

0.23.0 (2024-08-16)#

Added#

0.22.1 (2024-08-17)#

Added#

  • Added APIs to interact with the physics simulation of deformable objects. This includes setting the material properties, setting kinematic targets, and getting the state of the deformable object. For more information, please refer to the isaaclab.assets.DeformableObject class.

0.22.0 (2024-08-14)#

Added#

  • Added modifiers module to provide framework for configurable and custom observation data modifiers.

  • Adapted the ObservationManager class to support custom modifiers. These are applied to the observation data before applying any noise or scaling operations.

0.21.2 (2024-08-13)#

Fixed#

  • Moved event mode-based checks in the isaaclab.managers.EventManager.apply() method outside the loop that iterates over the event terms. This prevents unnecessary checks and improves readability.

  • Fixed the logic for global and per environment interval times when using the “interval” mode inside the event manager. Earlier, the internal lists for these times were of unequal lengths which led to wrong indexing inside the loop that iterates over the event terms.

0.21.1 (2024-08-06)#

  • Added a flag to preserve joint ordering inside the isaaclab.envs.mdp.JointAction action term.

0.21.0 (2024-08-05)#

Added#

  • Added the command line argument --device in AppLauncher. Valid options are:

    • cpu: Use CPU.

    • cuda: Use GPU with device ID 0.

    • cuda:N: Use GPU, where N is the device ID. For example, cuda:0. The default value is cuda:0.

Changed#

Removed#

  • Removed the parameter isaaclab.sim.SimulationCfg.use_gpu_pipeline. This is now directly inferred from isaaclab.sim.SimulationCfg.device.

  • Removed the command line input argument --device_id in AppLauncher. The device id can now be set using the --device argument, for example with --device cuda:0.

0.20.8 (2024-08-02)#

Fixed#

  • Fixed the handling of observation terms with different shapes in the ObservationManager class. Earlier, the constructor would throw an error if the shapes of the observation terms were different. Now, this operation only happens when the terms in an observation group are being concatenated. Otherwise, the terms are stored as a dictionary of tensors.

  • Improved the error message when the observation terms are not of the same shape in the ObservationManager class and the terms are being concatenated.

0.20.7 (2024-08-02)#

Changed#

  • Performance improvements for material randomization in events.

Added#

  • Added minimum randomization frequency for reset mode randomizations.

0.20.6 (2024-08-02)#

Changed#

  • Removed the hierarchy from RigidObject class to Articulation class. Previously, the articulation class overrode almost all the functions of the rigid object class making the hierarchy redundant. Now, the articulation class is a standalone class that does not inherit from the rigid object class. This does add some code duplication but the simplicity and clarity of the code is improved.

0.20.5 (2024-08-02)#

Added#

  • Added isaaclab.terrain.TerrainGeneratorCfg.border_height to set the height of the border around the terrain.

0.20.4 (2024-08-02)#

Fixed#

  • Fixed the caching of terrains when using the isaaclab.terrains.TerrainGenerator class. Earlier, the random sampling of the difficulty levels led to different hash values for the same terrain configuration. This caused the terrains to be re-generated even when the same configuration was used. Now, the numpy random generator is seeded with the same seed to ensure that the difficulty levels are sampled in the same order between different runs.

0.20.3 (2024-08-02)#

Fixed#

  • Fixed the setting of translation and orientation when spawning a mesh prim. Earlier, the translation and orientation was being applied both on the parent Xform and the mesh prim. This was causing the mesh prim to be offset by the translation and orientation of the parent Xform, which is not the intended behavior.

0.20.2 (2024-08-02)#

Changed#

  • Modified the computation of body acceleration for rigid body data to use PhysX APIs instead of numerical finite-differencing. This removes the need for computation of body acceleration at every update call of the data buffer.

0.20.1 (2024-07-30)#

Fixed#

  • Fixed the isaaclab.utils.math.wrap_to_pi() method to handle the wrapping of angles correctly. Earlier, the method was not wrapping the angles to the range [-pi, pi] correctly when the angles were outside the range [-2*pi, 2*pi].

0.20.0 (2024-07-26)#

Added#

  • Support for the Isaac Sim 4.1.0 release.

Removed#

0.19.4 (2024-07-13)#

Fixed#

  • Added the call to “startup” events when using the ManagerBasedEnv class. Earlier, the “startup” events were not being called when the environment was initialized. This issue did not occur when using the ManagerBasedRLEnv class since the “startup” events were called in the constructor.

0.19.3 (2024-07-13)#

Added#

  • Added schemas for setting and modifying deformable body properties on a USD prim.

  • Added API to spawn a deformable body material in the simulation.

  • Added APIs to spawn rigid and deformable meshes of primitive shapes (cone, cylinder, sphere, box, capsule) in the simulation. This is possible through the isaaclab.sim.spawners.meshes module.

0.19.2 (2024-07-05)#

Changed#

  • Modified cloning scheme based on the attribute replicate_physics to determine whether environment is homogeneous or heterogeneous.

0.19.1 (2024-07-05)#

Added#

  • Added a lidar pattern function lidar_pattern() with corresponding config LidarPatternCfg.

0.19.0 (2024-07-04)#

Fixed#

  • Fixed parsing of articulations with nested rigid links while using the isaaclab.assets.Articulation class. Earlier, the class initialization failed when the articulation had nested rigid links since the rigid links were not being parsed correctly by the PhysX view.

Removed#

  • Removed the attribute body_physx_view from the isaaclab.assets.Articulation and isaaclab.assets.RigidObject classes. These were causing confusions when used with articulation view since the body names were not following the same ordering.

  • Dropped support for Isaac Sim 2023.1.1. The minimum supported version is now Isaac Sim 4.0.0.

0.18.6 (2024-07-01)#

Fixed#

  • Fixed the environment stepping logic. Earlier, the environments’ rendering logic was updating the kit app which would in turn step the physics isaaclab.sim.SimulationCfg.render_interval times. Now, a render call only does rendering and does not step the physics.

0.18.5 (2024-06-26)#

Fixed#

  • Fixed the gravity vector direction used inside the isaaclab.assets.RigidObjectData class. Earlier, the gravity direction was hard-coded as (0, 0, -1) which may be different from the actual gravity direction in the simulation. Now, the gravity direction is obtained from the simulation context and used to compute the projection of the gravity vector on the object.

0.18.4 (2024-06-26)#

Fixed#

  • Fixed double reference count of the physics sim view inside the asset classes. This was causing issues when destroying the asset class instance since the physics sim view was not being properly released.

Added#

  • Added the attribute is_initialized to check if the asset and sensor has been initialized properly. This can be used to ensure that the asset or sensor is ready to use in the simulation.

0.18.3 (2024-06-25)#

Fixed#

  • Fixed the docstrings at multiple places related to the different buffer implementations inside the isaaclab.utils.buffers module. The docstrings were not clear and did not provide enough information about the classes and their methods.

Added#

  • Added the field for fixed tendom names in the isaaclab.assets.ArticulationData class. Earlier, this information was not exposed which was inconsistent with other name related information such as joint or body names.

Changed#

0.18.2 (2024-06-25)#

Changed#

  • Moved the configuration for tile-rendered camera into its own file named tiled_camera_cfg.py. This makes it easier to follow where the configuration is located and how it is related to the class.

0.18.1 (2024-06-25)#

Changed#

  • Ensured that a parity between class and its configuration class is explicitly visible in the isaaclab.envs module. This makes it easier to follow where definitions are located and how they are related. This should not be a breaking change as the classes are still accessible through the same module.

0.18.0 (2024-06-13)#

Fixed#

  • Fixed the rendering logic to render at the specified interval. Earlier, the substep parameter had no effect and rendering would happen once every env.step() when active.

Changed#

0.17.13 (2024-06-13)#

Fixed#

0.17.12 (2024-06-13)#

Added#

Changed#

0.17.11 (2024-05-30)#

Fixed#

  • Fixed isaaclab.sensor.ContactSensor not loading correctly in extension mode. Earlier, the isaaclab.sensor.ContactSensor.body_physx_view was not initialized when isaaclab.sensor.ContactSensor._debug_vis_callback() is called which references it.

0.17.10 (2024-05-30)#

Fixed#

  • Fixed compound classes being directly assigned in default_factory generator method isaaclab.utils.configclass._return_f(), which resulted in shared references such that modifications to compound objects were reflected across all instances generated from the same default_factory method.

0.17.9 (2024-05-30)#

Added#

  • Added variants attribute to the isaaclab.sim.from_files.UsdFileCfg class to select USD variants when loading assets from USD files.

0.17.8 (2024-05-28)#

Fixed#

  • Implemented the reset methods in the action terms to avoid returning outdated data.

0.17.7 (2024-05-28)#

Added#

0.17.6 (2024-05-27)#

Added#

  • Added wp.init() call in Warp utils.

0.17.5 (2024-05-22)#

Changed#

  • Websocket livestreaming is no longer supported. Valid livestream options are {0, 1, 2}.

  • WebRTC livestream is now set with livestream=2.

0.17.4 (2024-05-17)#

Changed#

0.17.3 (2024-05-15)#

Fixed#

  • Set hide_ui flag in the app launcher for livestream.

  • Fix native client livestream extensions.

0.17.2 (2024-05-09)#

Changed#

  • Renamed _range to distribution_params in events.py for methods that defined a distribution.

  • Apply additive/scaling randomization noise on default data instead of current data.

  • Changed material bucketing logic to prevent exceeding 64k materials.

Fixed#

  • Fixed broadcasting issues with indexing when environment and joint IDs are provided.

  • Fixed incorrect tensor dimensions when setting a subset of environments.

Added#

  • Added support for randomization of fixed tendon parameters.

  • Added support for randomization of dof limits.

  • Added support for randomization of gravity.

  • Added support for Gaussian sampling.

  • Added default buffers to Articulation/Rigid object data classes for randomization.

0.17.1 (2024-05-10)#

Fixed#

0.17.0 (2024-05-07)#

Changed#

Added#

0.16.4 (2024-05-06)#

Changed#

0.16.3 (2024-04-26)#

Fixed#

  • Fixed parsing of filter prim path expressions in the isaaclab.sensors.ContactSensor class. Earlier, the filter prim paths given to the physics view was not being parsed since they were specified as regex expressions instead of glob expressions.

0.16.2 (2024-04-25)#

Changed#

  • Simplified the installation procedure, isaaclab -e is no longer needed

  • Updated torch dependency to 2.2.2

0.16.1 (2024-04-20)#

Added#

  • Added attribute isaaclab.sim.ArticulationRootPropertiesCfg.fix_root_link to fix the root link of an articulation to the world frame.

0.16.0 (2024-04-16)#

Added#

  • Added the function isaaclab.utils.math.quat_unique() to standardize quaternion representations, i.e. always have a non-negative real part.

  • Added events terms for randomizing mass by scale, simulation joint properties (stiffness, damping, armature, and friction)

Fixed#

  • Added clamping of joint positions and velocities in event terms for resetting joints. The simulation does not throw an error if the set values are out of their range. Hence, users are expected to clamp them before setting.

  • Fixed isaaclab.envs.mdp.EMAJointPositionToLimitsActionCfg to smoothen the actions at environment frequency instead of simulation frequency.

  • Renamed the following functions in isaaclab.envs.mdp() to avoid confusions:

    • Observation: joint_pos_norm() -> joint_pos_limit_normalized()

    • Action: ExponentialMovingAverageJointPositionAction -> EMAJointPositionToLimitsAction

    • Termination: base_height() -> root_height_below_minimum()

    • Termination: joint_pos_limit() -> joint_pos_out_of_limit()

    • Termination: joint_pos_manual_limit() -> joint_pos_out_of_manual_limit()

    • Termination: joint_vel_limit() -> joint_vel_out_of_limit()

    • Termination: joint_vel_manual_limit() -> joint_vel_out_of_manual_limit()

    • Termination: joint_torque_limit() -> joint_effort_out_of_limit()

Deprecated#

  • Deprecated the function isaaclab.envs.mdp.add_body_mass() in favor of isaaclab.envs.mdp.randomize_rigid_body_mass(). This supports randomizing the mass based on different operations (add, scale, or set) and sampling distributions.

0.15.13 (2024-04-16)#

Changed#

  • Improved startup performance by enabling rendering-based extensions only when necessary and caching of nucleus directory.

  • Renamed the flag OFFSCREEN_RENDER or --offscreen_render to ENABLE_CAMERAS or --enable_cameras respectively.

0.15.12 (2024-04-16)#

Changed#

  • Replaced calls to the check_file_path function in the isaaclab.sim.spawners.from_files with the USD stage resolve identifier function. This helps speed up the loading of assets from file paths by avoiding Nucleus server calls.

0.15.11 (2024-04-15)#

Added#

  • Added the isaaclab.sim.SimulationContext.has_rtx_sensors() method to check if any RTX-related sensors such as cameras have been created in the simulation. This is useful to determine if simulation requires RTX rendering during step or not.

Fixed#

  • Fixed the rendering of RTX-related sensors such as cameras inside the isaaclab.envs.RLTaskEnv class. Earlier the rendering did not happen inside the step function, which caused the sensor data to be empty.

0.15.10 (2024-04-11)#

Fixed#

  • Fixed sharing of the same memory address between returned tensors from observation terms in the isaaclab.managers.ObservationManager class. Earlier, the returned tensors could map to the same memory address, causing issues when the tensors were modified during scaling, clipping or other operations.

0.15.9 (2024-04-04)#

Fixed#

  • Fixed assignment of individual termination terms inside the isaaclab.managers.TerminationManager class. Earlier, the terms were being assigned their values through an OR operation which resulted in incorrect values. This regression was introduced in version 0.15.1.

0.15.8 (2024-04-02)#

Added#

  • Added option to define ordering of points for the mesh-grid generation in the isaaclab.sensors.ray_caster.patterns.grid_pattern(). This parameter defaults to ‘xy’ for backward compatibility.

0.15.7 (2024-03-28)#

Added#

0.15.6 (2024-03-28)#

Added#

  • Extended the isaaclab.app.AppLauncher class to support the loading of experience files from the command line. This allows users to load a specific experience file when running the application (such as for multi-camera rendering or headless mode).

Changed#

  • Changed default loading of experience files in the isaaclab.app.AppLauncher class from the ones provided by Isaac Sim to the ones provided in Isaac Lab’s apps directory.

0.15.5 (2024-03-23)#

Fixed#

  • Fixed the env origins in _compute_env_origins_grid() of isaaclab.terrain.TerrainImporter to match that obtained from the Isaac Sim isaacsim.core.cloner.GridCloner class.

Added#

  • Added unit test to ensure consistency between environment origins generated by IsaacSim’s Grid Cloner and those produced by the TerrainImporter.

0.15.4 (2024-03-22)#

Fixed#

  • Fixed the isaaclab.envs.mdp.actions.NonHolonomicActionCfg class to use the correct variable when applying actions.

0.15.3 (2024-03-21)#

Added#

Fixed#

0.15.2 (2024-03-21)#

Fixed#

  • Added resolving of relative paths for the main asset USD file when using the isaaclab.sim.converters.UrdfConverter class. This is to ensure that the material paths are resolved correctly when the main asset file is moved to a different location.

0.15.1 (2024-03-19)#

Fixed#

  • Fixed the imitation learning workflow example script, updating Isaac Lab and Robomimic API calls.

  • Removed the resetting of _term_dones in the isaaclab.managers.TerminationManager.reset(). Previously, the environment cleared out all the terms. However, it impaired reading the specific term’s values externally.

0.15.0 (2024-03-17)#

Deprecated#

  • Renamed isaaclab.managers.RandomizationManager to isaaclab.managers.EventManager class for clarification as the manager takes care of events such as reset in addition to pure randomizations.

  • Renamed isaaclab.managers.RandomizationTermCfg to isaaclab.managers.EventTermCfg for consistency with the class name change.

0.14.1 (2024-03-16)#

Added#

  • Added simulation schemas for joint drive and fixed tendons. These can be configured for assets imported from file formats.

  • Added logging of tendon properties to the articulation class (if they are present in the USD prim).

0.14.0 (2024-03-15)#

Fixed#

  • Fixed the ordering of body names used in the isaaclab.assets.Articulation class. Earlier, the body names were not following the same ordering as the bodies in the articulation. This led to issues when using the body names to access data related to the links from the articulation view (such as Jacobians, mass matrices, etc.).

Removed#

0.13.1 (2024-03-14)#

Removed#

  • Removed the isaaclab.compat module. This module was used to provide compatibility with older versions of Isaac Sim. It is no longer needed since we have most of the functionality absorbed into the main classes.

0.13.0 (2024-03-12)#

Added#

  • Added support for the following data types inside the isaaclab.sensors.Camera class: instance_segmentation_fast and instance_id_segmentation_fast. These are GPU-supported annotations and are faster than the regular annotations.

Fixed#

  • Fixed handling of semantic filtering inside the isaaclab.sensors.Camera class. Earlier, the annotator was given semanticTypes as an argument. However, with Isaac Sim 2023.1, the annotator does not accept this argument. Instead the mapping needs to be set to the synthetic data interface directly.

  • Fixed the return shape of colored images for segmentation data types inside the isaaclab.sensors.Camera class. Earlier, the images were always returned as int32. Now, they are casted to uint8 4-channel array before returning if colorization is enabled for the annotation type.

Removed#

0.12.4 (2024-03-11)#

Fixed#

  • Adapted randomization terms to deal with slice for the body indices. Earlier, the terms were not able to handle the slice object and were throwing an error.

  • Added slice type-hinting to all body and joint related methods in the rigid body and articulation classes. This is to make it clear that the methods can handle both list of indices and slices.

0.12.3 (2024-03-11)#

Fixed#

  • Added signal handler to the isaaclab.app.AppLauncher class to catch the SIGINT signal and close the application gracefully. This is to prevent the application from crashing when the user presses Ctrl+C to close the application.

0.12.2 (2024-03-10)#

Added#

  • Added observation terms for states of a rigid object in world frame.

  • Added randomization terms to set root state with randomized orientation and joint state within user-specified limits.

  • Added reward term for penalizing specific termination terms.

Fixed#

  • Improved sampling of states inside randomization terms. Earlier, the code did multiple torch calls for sampling different components of the vector. Now, it uses a single call to sample the entire vector.

0.12.1 (2024-03-09)#

Added#

  • Added an option to the last actions observation term to get a specific term by name from the action manager. If None, the behavior remains the same as before (the entire action is returned).

0.12.0 (2024-03-08)#

Added#

  • Added functionality to sample flat patches on a generated terrain. This can be configured using isaaclab.terrains.SubTerrainBaseCfg.flat_patch_sampling attribute.

  • Added a randomization function for setting terrain-aware root state. Through this, an asset can be reset to a randomly sampled flat patches.

Fixed#

  • Separated normal and terrain-base position commands. The terrain based commands rely on the terrain to sample flat patches for setting the target position.

  • Fixed command resample termination function.

Changed#

  • Added the attribute isaaclab.envs.mdp.commands.UniformVelocityCommandCfg.heading_control_stiffness to control the stiffness of the heading control term in the velocity command term. Earlier, this was hard-coded to 0.5 inside the term.

Removed#

0.11.3 (2024-03-04)#

Fixed#

0.11.2 (2024-03-04)#

Added#

  • Added checks for default joint position and joint velocity in the articulation class. This is to prevent users from configuring values for these quantities that might be outside the valid range from the simulation.

0.11.1 (2024-02-29)#

Added#

  • Replaced the default values for joint_ids and body_ids from None to slice(None) in the isaaclab.managers.SceneEntityCfg.

  • Adapted rewards and observations terms so that the users can query a subset of joints and bodies.

0.11.0 (2024-02-27)#

Removed#

  • Dropped support for Isaac Sim<=2022.2. As part of this, removed the components of isaaclab.app.AppLauncher which handled ROS extension loading. We no longer need them in Isaac Sim>=2023.1 to control the load order to avoid crashes.

  • Upgraded Dockerfile to use ISAACSIM_VERSION=2023.1.1 by default.

0.10.28 (2024-02-29)#

Added#

  • Implemented relative and moving average joint position action terms. These allow the user to specify the target joint positions as relative to the current joint positions or as a moving average of the joint positions over a window of time.

0.10.27 (2024-02-28)#

Added#

  • Added UI feature to start and stop animation recording in the stage when running an environment. To enable this feature, please pass the argument --disable_fabric to the environment script to allow USD read/write operations. Be aware that this will slow down the simulation.

0.10.26 (2024-02-26)#

Added#

  • Added a viewport camera controller class to the isaaclab.envs.BaseEnv. This is useful for applications where the user wants to render the viewport from different perspectives even when the simulation is running in headless mode.

0.10.25 (2024-02-26)#

Fixed#

  • Ensures that all path arguments in isaaclab.sim.utils are cast to str. Previously, we had handled path types as strings without casting.

0.10.24 (2024-02-26)#

Added#

0.10.23 (2024-02-21)#

Fixed#

  • Fixes the order of size arguments in isaaclab.terrains.height_field.random_uniform_terrain(). Previously, the function would crash if the size along x and y were not the same.

0.10.22 (2024-02-14)#

Fixed#

  • Fixed “divide by zero” bug in SimulationContext when setting gravity vector. Now, it is correctly disabled when the gravity vector is set to zero.

0.10.21 (2024-02-12)#

Fixed#

  • Fixed the printing of articulation joint information when the articulation has only one joint. Earlier, the function was performing a squeeze operation on the tensor, which caused an error when trying to index the tensor of shape (1,).

0.10.20 (2024-02-12)#

Added#

  • Adds isaaclab.sim.PhysxCfg.enable_enhanced_determinism to enable improved determinism from PhysX. Please note this comes at the expense of performance.

0.10.19 (2024-02-08)#

Fixed#

  • Fixed environment closing so that articulations, objects, and sensors are cleared properly.

0.10.18 (2024-02-05)#

Fixed#

  • Pinned torch version to 2.0.1 in the setup.py to keep parity version of torch supplied by Isaac 2023.1.1, and prevent version incompatibility between torch ==2.2 and typing-extensions ==3.7.4.3

0.10.17 (2024-02-02)#

Fixed#

  • Fixed carb setting /app/livestream/enabled to be set as False unless live-streaming is specified by isaaclab.app.AppLauncher settings. This fixes the logic of SimulationContext.render(), which depended on the config in previous versions of Isaac defaulting to false for this setting.

0.10.16 (2024-01-29)#

Added#

  • Added an offset parameter to the height scan observation term. This allows the user to specify the height offset of the scan from the tracked body. Previously it was hard-coded to be 0.5.

0.10.15 (2024-01-29)#

Fixed#

  • Fixed joint torque computation for implicit actuators. Earlier, the torque was always zero for implicit actuators. Now, it is computed approximately by applying the PD law.

0.10.14 (2024-01-22)#

Fixed#

0.10.13 (2024-01-15)#

Fixed#

  • Fixed running of environments with a single instance even if the replicate_physics` flag is set to True.

0.10.12 (2024-01-10)#

Fixed#

  • Fixed indexing of source and target frames in the isaaclab.sensors.FrameTransformer class. Earlier, it always assumed that the source frame body is at index 0. Now, it uses the body index of the source frame to compute the transformation.

Deprecated#

  • Renamed quantities in the isaaclab.sensors.FrameTransformerData class to be more consistent with the terminology used in the asset classes. The following quantities are deprecated:

    • target_rot_w -> target_quat_w

    • source_rot_w -> source_quat_w

    • target_rot_source -> target_quat_source

0.10.11 (2024-01-08)#

Fixed#

  • Fixed attribute error raised when calling the isaaclab.envs.mdp.TerrainBasedPositionCommand command term.

  • Added a dummy function in isaaclab.terrain.TerrainImporter that returns environment origins as terrain-aware sampled targets. This function should be implemented by child classes based on the terrain type.

0.10.10 (2023-12-21)#

Fixed#

0.10.9 (2023-12-21)#

Fixed#

  • Fixed invalidation of physics views inside the asset and sensor classes. Earlier, they were left initialized even when the simulation was stopped. This caused issues when closing the application.

0.10.8 (2023-12-20)#

Fixed#

  • Fixed the isaaclab.envs.mdp.actions.DifferentialInverseKinematicsAction class to account for the offset pose of the end-effector.

0.10.7 (2023-12-19)#

Fixed#

  • Added a check to ray-cast and camera sensor classes to ensure that the sensor prim path does not have a regex expression at its leaf. For instance, /World/Robot/camera_.* is not supported for these sensor types. This behavior needs to be fixed in the future.

0.10.6 (2023-12-19)#

Added#

  • Added support for using articulations as visualization markers. This disables all physics APIs from the articulation and allows the user to use it as a visualization marker. It is useful for creating visualization markers for the end-effectors or base of the robot.

Fixed#

  • Fixed hiding of debug markers from secondary images when using the isaaclab.markers.VisualizationMarkers class. Earlier, the properties were applied on the XForm prim instead of the Mesh prim.

0.10.5 (2023-12-18)#

Fixed#

0.10.4 (2023-12-14)#

Fixed#

  • Fixed potentially breaking import of omni.kit.widget.toolbar by ensuring that if live-stream is enabled, then the omni.kit.widget.toolbar extension is loaded.

0.10.3 (2023-12-12)#

Added#

Fixed#

  • Fixed computation of metrics for the velocity command term. Earlier, the norm was being computed over the entire batch instead of the last dimension.

  • Fixed the clipping inside the isaaclab.actuators.DCMotor class. Earlier, it was not able to handle the case when configured saturation limit was set to None.

0.10.2 (2023-12-12)#

Fixed#

  • Added a check in the simulation stop callback in the isaaclab.sim.SimulationContext class to not render when an exception is raised. The while loop in the callback was preventing the application from closing when an exception was raised.

0.10.1 (2023-12-06)#

Added#

  • Added command manager class with terms defined by isaaclab.managers.CommandTerm. This allow for multiple types of command generators to be used in the same environment.

0.10.0 (2023-12-04)#

Changed#

  • Modified the sensor and asset base classes to use the underlying PhysX views instead of Isaac Sim views. Using Isaac Sim classes led to a very high load time (of the order of minutes) when using a scene with many assets. This is because Isaac Sim supports USD paths which are slow and not required.

Added#

  • Added faster implementation of USD stage traversal methods inside the isaaclab.sim.utils module.

  • Added properties isaaclab.assets.AssetBase.num_instances and isaaclab.sensor.SensorBase.num_instances to obtain the number of instances of the asset or sensor in the simulation respectively.

Removed#

  • Removed dependencies on Isaac Sim view classes. It is no longer possible to use root_view and body_view. Instead use root_physx_view and body_physx_view to access the underlying PhysX views.

0.9.55 (2023-12-03)#

Fixed#

0.9.54 (2023-11-29)#

Fixed#

  • Fixed pose computation in the isaaclab.sensors.Camera class to obtain them from XFormPrimView instead of using UsdGeomCamera.ComputeLocalToWorldTransform method. The latter is not updated correctly during GPU simulation.

  • Fixed initialization of the annotator info in the class isaaclab.sensors.Camera. Previously all dicts had the same memory address which caused all annotators to have the same info.

  • Fixed the conversion of uint32 warp arrays inside the isaaclab.utils.array.convert_to_torch() method. PyTorch does not support this type, so it is converted to int32 before converting to PyTorch tensor.

  • Added render call inside isaaclab.sim.SimulationContext.reset() to initialize Replicator buffers when the simulation is reset.

0.9.53 (2023-11-29)#

Changed#

  • Changed the behavior of passing None to the isaaclab.actuators.ActuatorBaseCfg class. Earlier, they were resolved to fixed default values. Now, they imply that the values are loaded from the USD joint drive configuration.

Added#

  • Added setting of joint armature and friction quantities to the articulation class.

0.9.52 (2023-11-29)#

Changed#

  • Changed the warning print in isaaclab.sim.utils.apply_nested() method to be more descriptive. Earlier, it was printing a warning for every instanced prim. Now, it only prints a warning if it could not apply the attribute to any of the prims.

Added#

Fixed#

  • Fixed hiding of STOP button in the AppLauncher class when running the simulation in headless mode.

  • Fixed a bug with isaaclab.sim.utils.clone() failing when the input prim path had no parent (example: “/Table”).

0.9.51 (2023-11-29)#

Changed#

  • Changed the isaaclab.sensor.SensorBase.update() method to always recompute the buffers if the sensor is in visualization mode.

Added#

  • Added available entities to the error message when accessing a non-existent entity in the InteractiveScene class.

  • Added a warning message when the user tries to reference an invalid prim in the FrameTransformer sensor.

0.9.50 (2023-11-28)#

Added#

  • Hid the STOP button in the UI when running standalone Python scripts. This is to prevent users from accidentally clicking the button and stopping the simulation. They should only be able to play and pause the simulation from the UI.

Removed#

  • Removed isaaclab.sim.SimulationCfg.shutdown_app_on_stop. The simulation is always rendering if it is stopped from the UI. The user needs to close the window or press Ctrl+C to close the simulation.

0.9.49 (2023-11-27)#

Added#

  • Added an interface class, isaaclab.managers.ManagerTermBase, to serve as the parent class for term implementations that are functional classes.

  • Adapted all managers to support terms that are classes and not just functions clearer. This allows the user to create more complex terms that require additional state information.

0.9.48 (2023-11-24)#

Fixed#

0.9.47 (2023-11-24)#

Fixed#

0.9.46 (2023-11-24)#

Fixed#

  • Fixed a critical issue in the asset classes with writing states into physics handles. Earlier, the states were written over all the indices instead of the indices of the asset that were being updated. This caused the physics handles to refresh the states of all the assets in the scene, which is not desirable.

0.9.45 (2023-11-24)#

Added#

  • Added isaaclab.command_generators.UniformPoseCommandGenerator to generate poses in the asset’s root frame by uniformly sampling from a given range.

0.9.44 (2023-11-16)#

Added#

  • Added methods reset() and step() to the isaaclab.envs.BaseEnv. This unifies the environment interface for simple standalone applications with the class.

0.9.43 (2023-11-16)#

Fixed#

  • Replaced subscription of physics play and stop events in the isaaclab.assets.AssetBase and isaaclab.sensors.SensorBase classes with subscription to time-line play and stop events. This is to prevent issues in cases where physics first needs to perform mesh cooking and handles are not available immediately. For instance, with deformable meshes.

0.9.42 (2023-11-16)#

Fixed#

  • Fixed setting of damping values from the configuration for ActuatorBase class. Earlier, the stiffness values were being set into damping when a dictionary configuration was passed to the actuator model.

  • Added dealing with int and float values in the configurations of ActuatorBase. Earlier, a type-error was thrown when integer values were passed to the actuator model.

0.9.41 (2023-11-16)#

Fixed#

  • Fixed the naming and shaping issues in the binary joint action term.

0.9.40 (2023-11-09)#

Fixed#

  • Simplified the manual initialization of Isaac Sim ArticulationView class. Earlier, we basically copied the code from the Isaac Sim source code. Now, we just call their initialize method.

Changed#

  • Changed the name of attribute default_root_state_w to default_root_state. The latter is more correct since the data is actually in the local environment frame and not the simulation world frame.

0.9.39 (2023-11-08)#

Fixed#

  • Changed the reference of private _body_view variable inside the RigidObject class to the public body_view property. For a rigid object, the private variable is not defined.

0.9.38 (2023-11-07)#

Changed#

  • Upgraded the isaaclab.envs.RLTaskEnv class to support Gym 0.29.0 environment definition.

Added#

  • Added computation of time_outs and terminated signals inside the termination manager. These follow the definition mentioned in Gym 0.29.0.

  • Added proper handling of observation and action spaces in the isaaclab.envs.RLTaskEnv class. These now follow closely to how Gym VecEnv handles the spaces.

0.9.37 (2023-11-06)#

Fixed#

  • Fixed broken visualization in isaaclab.sensors.FrameTramsformer class by overwriting the correct _debug_vis_callback function.

  • Moved the visualization marker configurations of sensors to their respective sensor configuration classes. This allows users to set these configurations from the configuration object itself.

0.9.36 (2023-11-03)#

Fixed#

  • Added explicit deleting of different managers in the isaaclab.envs.BaseEnv and isaaclab.envs.RLTaskEnv classes. This is required since deleting the managers is order-sensitive (many managers need to be deleted before the scene is deleted).

0.9.35 (2023-11-02)#

Fixed#

  • Fixed the error: 'str' object has no attribute '__module__' introduced by adding the future import inside the isaaclab.utils.warp.kernels module. Warp language does not support the __future__ imports.

0.9.34 (2023-11-02)#

Fixed#

  • Added missing import of from __future__ import annotations in the isaaclab.utils.warp module. This is needed to have a consistent behavior across Python versions.

0.9.33 (2023-11-02)#

Fixed#

  • Fixed the isaaclab.command_generators.NullCommandGenerator class. Earlier, it was having a runtime error due to infinity in the resampling time range. Now, the class just overrides the parent methods to perform no operations.

0.9.32 (2023-11-02)#

Changed#

  • Renamed the isaaclab.envs.RLEnv class to isaaclab.envs.RLTaskEnv to avoid confusions in terminologies between environments and tasks.

0.9.31 (2023-11-02)#

Added#

  • Added the isaaclab.sensors.RayCasterCamera class, as a ray-casting based camera for “distance_to_camera”, “distance_to_image_plane” and “normals” annotations. It has the same interface and functionalities as the USD Camera while it is on average 30% faster.

0.9.30 (2023-11-01)#

Fixed#

  • Added skipping of None values in the InteractiveScene class when creating the scene from configuration objects. Earlier, it was throwing an error when the user passed a None value for a scene element.

  • Added kwargs to the RLEnv class to allow passing additional arguments from gym registry function. This is now needed since the registry function passes args beyond the ones specified in the constructor.

0.9.29 (2023-11-01)#

Fixed#

  • Fixed the material path resolution inside the isaaclab.sim.converters.UrdfConverter class. With Isaac Sim 2023.1, the material paths from the importer are always saved as absolute paths. This caused issues when the generated USD file was moved to a different location. The fix now resolves the material paths relative to the USD file location.

0.9.28 (2023-11-01)#

Changed#

  • Changed the way the isaaclab.sim.spawners.from_files.spawn_ground_plane() function sets the height of the ground. Earlier, it was reading the height from the configuration object. Now, it expects the desired transformation as inputs to the function. This makes it consistent with the other spawner functions.

0.9.27 (2023-10-31)#

Changed#

  • Removed the default value of the argument camel_case in setters of USD attributes. This is to avoid confusion with the naming of the attributes in the USD file.

Fixed#

0.9.26 (2023-10-31)#

Added#

  • Added the sensor implementation for isaaclab.sensors.FrameTransformer class. Currently, it handles obtaining the transformation between two frames in the same articulation.

0.9.25 (2023-10-27)#

Added#

  • Added the isaaclab.envs.ui module to put all the UI-related classes in one place. This currently implements the isaaclab.envs.ui.BaseEnvWindow and isaaclab.envs.ui.RLEnvWindow classes. Users can inherit from these classes to create their own UI windows.

  • Added the attribute isaaclab.envs.BaseEnvCfg.ui_window_class_type to specify the UI window class to be used for the environment. This allows the user to specify their own UI window class to be used for the environment.

0.9.24 (2023-10-27)#

Changed#

  • Changed the behavior of setting up debug visualization for assets, sensors and command generators. Earlier it was raising an error if debug visualization was not enabled in the configuration object. Now it checks whether debug visualization is implemented and only sets up the callback if it is implemented.

0.9.23 (2023-10-27)#

Fixed#

  • Fixed a typo in the AssetBase and SensorBase that effected the class destructor. Earlier, a tuple was being created in the constructor instead of the actual object.

0.9.22 (2023-10-26)#

Added#

  • Added a isaaclab.command_generators.NullCommandGenerator class for no command environments. This is easier to work with than having checks for None in the command generator.

Fixed#

  • Moved the randomization manager to the isaaclab.envs.BaseEnv class with the default settings to reset the scene to the defaults specified in the configurations of assets.

  • Moved command generator to the isaaclab.envs.RlEnv class to have all task-specification related classes in the same place.

0.9.21 (2023-10-26)#

Fixed#

  • Decreased the priority of callbacks in asset and sensor base classes. This may help in preventing crashes when warm starting the simulation.

  • Fixed no rendering mode when running the environment from the GUI. Earlier the function SimulationContext.set_render_mode() was erroring out.

0.9.20 (2023-10-25)#

Fixed#

  • Changed naming in isaaclab.sim.SimulationContext.RenderMode to use NO_GUI_OR_RENDERING and NO_RENDERING instead of HEADLESS for clarity.

  • Changed isaaclab.sim.SimulationContext to be capable of handling livestreaming and offscreen rendering.

  • Changed isaaclab.app.AppLauncher envvar VIEWPORT_RECORD to the more descriptive OFFSCREEN_RENDER.

0.9.19 (2023-10-25)#

Added#

  • Added Gym observation and action spaces for the isaaclab.envs.RLEnv class.

0.9.18 (2023-10-23)#

Added#

  • Created isaaclab.sim.converters.asset_converter.AssetConverter to serve as a base class for all asset converters.

  • Added isaaclab.sim.converters.mesh_converter.MeshConverter to handle loading and conversion of mesh files (OBJ, STL and FBX) into USD format.

  • Added script convert_mesh.py to source/tools to allow users to convert a mesh to USD via command line arguments.

Changed#

  • Renamed the submodule isaaclab.sim.loaders to isaaclab.sim.converters to be more general with the functionality of the module.

  • Updated check_instanceable.py script to convert relative paths to absolute paths.

0.9.17 (2023-10-22)#

Added#

  • Added setters and getters for term configurations in the RandomizationManager, RewardManager and TerminationManager classes. This allows the user to modify the term configurations after the manager has been created.

  • Added the method compute_group() to the isaaclab.managers.ObservationManager class to compute the observations for only a given group.

  • Added the curriculum term for modifying reward weights after certain environment steps.

0.9.16 (2023-10-22)#

Added#

Fixed#

  • Fixed resetting of buffers in the TerminationManager class. Earlier, the values were being set to 0.0 instead of False.

0.9.15 (2023-10-22)#

Added#

Fixed#

0.9.14 (2023-10-21)#

Added#

Fixed#

  • Fixed the handling of contact sensor history buffer in the isaaclab.sensors.ContactSensor class. Earlier, the buffer was not being updated correctly.

0.9.13 (2023-10-20)#

Fixed#

  • Fixed the issue with double Ellipsis when indexing tensors with multiple dimensions. The fix now uses slice(None) instead of Ellipsis to index the tensors.

0.9.12 (2023-10-18)#

Fixed#

  • Fixed bugs in actuator model implementation for actuator nets. Earlier the DC motor clipping was not working.

  • Fixed bug in applying actuator model in the isaaclab.asset.Articulation class. The new implementation caches the outputs from explicit actuator model into the joint_pos_*_sim buffer to avoid feedback loops in the tensor operation.

0.9.11 (2023-10-17)#

Added#

  • Added the support for semantic tags into the isaaclab.sim.spawner.SpawnerCfg class. This allows the user to specify the semantic tags for a prim when spawning it into the scene. It follows the same format as Omniverse Replicator.

0.9.10 (2023-10-16)#

Added#

Changed#

  • Within isaaclab.app.AppLauncher, removed REMOTE_DEPLOYMENT env-var processing in the favor of HEADLESS and LIVESTREAM env-vars. These have clearer uses and better parity with the CLI args.

0.9.9 (2023-10-12)#

Added#

  • Added the property isaaclab.assets.Articulation.is_fixed_base to the articulation class to check if the base of the articulation is fixed or floating.

  • Added the task-space action term corresponding to the differential inverse-kinematics controller.

Fixed#

  • Simplified the isaaclab.controllers.DifferentialIKController to assume that user provides the correct end-effector poses and Jacobians. Earlier it was doing internal frame transformations which made the code more complicated and error-prone.

0.9.8 (2023-09-30)#

Fixed#

  • Fixed the boundedness of class objects that register callbacks into the simulator. These include devices, AssetBase, SensorBase and CommandGenerator. The fix ensures that object gets deleted when the user deletes the object.

0.9.7 (2023-09-26)#

Fixed#

  • Modified the isaaclab.markers.VisualizationMarkers to use the isaaclab.sim.spawner.SpawnerCfg class instead of their own configuration objects. This makes it consistent with the other ways to spawn assets in the scene.

Added#

  • Added the method copy() to configclass to allow copying of configuration objects.

0.9.6 (2023-09-26)#

Fixed#

  • Changed class-level configuration classes to refer to class types using class_type attribute instead of cls or cls_name.

0.9.5 (2023-09-25)#

Changed#

  • Added future import of annotations to have a consistent behavior across Python versions.

  • Removed the type-hinting from docstrings to simplify maintenance of the documentation. All type-hints are now in the code itself.

0.9.4 (2023-08-29)#

Added#

  • Added isaaclab.scene.InteractiveScene, as the central scene unit that contains all entities that are part of the simulation. These include the terrain, sensors, articulations, rigid objects etc. The scene groups the common operations of these entities and allows to access them via their unique names.

  • Added isaaclab.envs module that contains environment definitions that encapsulate the different general (scene, action manager, observation manager) and RL-specific (reward and termination manager) managers.

  • Added isaaclab.managers.SceneEntityCfg to handle which scene elements are required by the manager’s terms. This allows the manager to parse useful information from the scene elements, such as the joint and body indices, and pass them to the term.

  • Added isaaclab.sim.SimulationContext.RenderMode to handle different rendering modes based on what the user wants to update (viewport, cameras, or UI elements).

Fixed#

  • Fixed the isaaclab.command_generators.CommandGeneratorBase to register a debug visualization callback similar to how sensors and robots handle visualization.

0.9.3 (2023-08-23)#

Added#

Fixed#

  • Re-added the isaaclab.utils.kit to the compat directory and fixed all the references to it.

  • Fixed the deletion of Replicator nodes for the isaaclab.sensors.Camera class. Earlier, the Replicator nodes were not being deleted when the camera was deleted. However, this does not prevent the random crashes that happen when the camera is deleted.

  • Fixed the isaaclab.utils.math.convert_quat() to support both numpy and torch tensors.

Changed#

  • Renamed all the scripts inside the test directory to follow the convention:

    • test_<module_name>.py: Tests for the module <module_name> using unittest.

    • check_<module_name>: Check for the module <module_name> using python main function.

0.9.2 (2023-08-22)#

Added#

  • Added the ability to color meshes in the isaaclab.terrain.TerrainGenerator class. Currently, it only supports coloring the mesh randomly ("random"), based on the terrain height ("height"), and no coloring ("none").

Fixed#

  • Modified the isaaclab.terrain.TerrainImporter class to configure visual and physics materials based on the configuration object.

0.9.1 (2023-08-18)#

Added#

  • Introduced three different rotation conventions in the isaaclab.sensors.Camera class. These conventions are:

    • opengl: the camera is looking down the -Z axis with the +Y axis pointing up

    • ros: the camera is looking down the +Z axis with the +Y axis pointing down

    • world: the camera is looking along the +X axis with the -Z axis pointing down

    These can be used to declare the camera offset in isaaclab.sensors.CameraCfg.OffsetCfg class and in isaaclab.sensors.Camera.set_world_pose() method. Additionally, all conventions are saved to isaaclab.sensors.CameraData class for easy access.

Changed#

  • Adapted all the sensor classes to follow a structure similar to the isaaclab.assets.AssetBase. Hence, the spawning and initialization of sensors manually by the users is avoided.

  • Removed the debug_vis() function since that this functionality is handled by a render callback automatically (based on the passed configuration for the isaaclab.sensors.SensorBaseCfg.debug_vis flag).

0.9.0 (2023-08-18)#

Added#

  • Introduces a new set of asset interfaces. These interfaces simplify the spawning of assets into the scene and initializing the physics handle by putting that inside post-startup physics callbacks. With this, users no longer need to worry about the spawn() and initialize() calls.

  • Added utility methods to isaaclab.utils.string module that resolve regex expressions based on passed list of target keys.

Changed#

  • Renamed all references of joints in an articulation from “dof” to “joint”. This makes it consistent with the terminology used in robotics.

Deprecated#

  • Removed the previous modules for objects and robots. Instead the Articulation and RigidObject should be used.

0.8.12 (2023-08-18)#

Added#

  • Added other properties provided by PhysicsScene to the isaaclab.sim.SimulationContext class to allow setting CCD, solver iterations, etc.

  • Added commonly used functions to the SimulationContext class itself to avoid having additional imports from Isaac Sim when doing simple tasks such as setting camera view or retrieving the simulation settings.

Fixed#

  • Switched the notations of default buffer values in isaaclab.sim.PhysxCfg from multiplication to scientific notation to avoid confusion with the values.

0.8.11 (2023-08-18)#

Added#

Changed#

  • Modified the SimulationContext class to take the default physics material using the material spawn configuration object.

0.8.10 (2023-08-17)#

Added#

  • Added methods for defining different physics-based schemas in the isaaclab.sim.schemas module. These methods allow creating the schema if it doesn’t exist at the specified prim path and modify its properties based on the configuration object.

0.8.9 (2023-08-09)#

Changed#

  • Moved the isaaclab.asset_loader.UrdfLoader class to the isaaclab.sim.loaders module to make it more accessible to the user.

0.8.8 (2023-08-09)#

Added#

  • Added configuration classes and functions for setting different physics-based schemas in the isaaclab.sim.schemas module. These allow modifying properties of the physics solver on the asset using configuration objects.

0.8.7 (2023-08-03)#

Fixed#

0.8.6 (2023-08-03)#

Added#

0.8.5 (2023-08-03)#

Fixed#

  • Fixed the isaaclab.markers.Visualizationmarkers class so that the markers are not visible in camera rendering mode.

Changed#

  • Simplified the creation of the point instancer in the isaaclab.markers.Visualizationmarkers class. It now creates a new prim at the next available prim path if a prim already exists at the given path.

0.8.4 (2023-08-02)#

Added#

0.8.3 (2023-08-02)#

Changed#

  • Moved the ActuatorBase class to the isaaclab.actuators.actuator_base module.

  • Renamed the isaaclab.actuators.actuator module to isaaclab.actuators.actuator_pd to make it more explicit that it contains the PD actuator models.

0.8.2 (2023-08-02)#

Changed#

  • Cleaned up the isaaclab.terrain.TerrainImporter class to take all the parameters from the configuration object. This makes it consistent with the other classes in the package.

  • Moved the configuration classes for terrain generator and terrain importer into separate files to resolve circular dependency issues.

0.8.1 (2023-08-02)#

Fixed#

  • Added a hack into isaaclab.app.AppLauncher class to remove Isaac Lab packages from the path before launching the simulation application. This prevents the warning messages that appears when the user launches the SimulationApp.

Added#

0.8.0 (2023-07-26)#

Added#

  • Added the ActionManager class to the isaaclab.managers module to handle actions in the environment through action terms.

  • Added contact force history to the isaaclab.sensors.ContactSensor class. The history is stored in the net_forces_w_history attribute of the sensor data.

Changed#

  • Implemented lazy update of buffers in the isaaclab.sensors.SensorBase class. This allows the user to update the sensor data only when required, i.e. when the data is requested by the user. This helps avoid double computation of sensor data when a reset is called in the environment.

Deprecated#

  • Removed the support for different backends in the sensor class. We only use Pytorch as the backend now.

  • Removed the concept of actuator groups. They are now handled by the isaaclab.managers.ActionManager class. The actuator models are now directly handled by the robot class itself.

0.7.4 (2023-07-26)#

Changed#

  • Changed the behavior of the isaaclab.terrains.TerrainImporter class. It now expects the terrain type to be specified in the configuration object. This allows the user to specify everything in the configuration object and not have to do an explicit call to import a terrain.

Fixed#

  • Fixed setting of quaternion orientations inside the isaaclab.markers.Visualizationmarkers class. Earlier, the orientation was being set into the point instancer in the wrong order (wxyz instead of xyzw).

0.7.3 (2023-07-25)#

Fixed#

  • Fixed the issue with multiple inheritance in the isaaclab.utils.configclass decorator. Earlier, if the inheritance tree was more than one level deep and the lowest level configuration class was not updating its values from the middle level classes.

0.7.2 (2023-07-24)#

Added#

Fixed#

  • Fixed the handling of class types as member values in the isaaclab.utils.configclass(). Earlier it was throwing an error since class types were skipped in the if-else block.

0.7.1 (2023-07-22)#

Added#

  • Added the TerminationManager, CurriculumManager, and RandomizationManager classes to the isaaclab.managers module to handle termination, curriculum, and randomization respectively.

0.7.0 (2023-07-22)#

Added#

Changed#

  • Changed the behavior of ObservationManager and RewardManager classes to accept the key func in each configuration term to be a callable. This removes the need to inherit from the base class and allows more reusability of the functions across different environments.

  • Moved the old managers to the isaaclab.compat.utils.mdp module.

  • Modified the necessary scripts to use the isaaclab.compat.utils.mdp module.

0.6.2 (2023-07-21)#

Added#

  • Added the isaaclab.command_generators to generate different commands based on the desired task. It allows the user to generate commands for different tasks in the same environment without having to write custom code for each task.

0.6.1 (2023-07-16)#

Fixed#

Added#

0.6.0 (2023-07-16)#

Added#

  • Added the argument sort_keys to the isaaclab.utils.io.yaml.dump_yaml() method to allow enabling/disabling of sorting of keys in the output yaml file.

Fixed#

  • Fixed the ordering of terms in isaaclab.utils.configclass to be consistent in the order in which they are defined. Previously, the ordering was done alphabetically which made it inconsistent with the order in which the parameters were defined.

Changed#

  • Changed the default value of the argument sort_keys in the isaaclab.utils.io.yaml.dump_yaml() method to False.

  • Moved the old config classes in isaaclab.utils.configclass to isaaclab.compat.utils.configclass so that users can still run their old code where alphabetical ordering was used.

0.5.0 (2023-07-04)#

Added#

Changed#

  • Renamed the parameter sensor_tick to update_freq to make it more intuitive.

  • Moved the old sensors in isaaclab.sensors to isaaclab.compat.sensors.

  • Modified the standalone scripts to use the isaaclab.compat.sensors module.

0.4.4 (2023-07-05)#

Fixed#

  • Fixed the isaaclab.terrains.trimesh.utils.make_plane() method to handle the case when the plane origin does not need to be centered.

  • Added the isaaclab.terrains.TerrainGeneratorCfg.seed to make generation of terrains reproducible. The default value is None which means that the seed is not set.

Changed#

0.4.3 (2023-06-28)#

Added#

  • Added the isaaclab.markers.PointInstancerMarker class that wraps around UsdGeom.PointInstancer to directly work with torch and numpy arrays.

Changed#

  • Moved the old markers in isaaclab.markers to isaaclab.compat.markers.

  • Modified the standalone scripts to use the isaaclab.compat.markers module.

0.4.2 (2023-06-28)#

Added#

  • Added the sub-module isaaclab.terrains to allow procedural generation of terrains and supporting importing of terrains from different sources (meshes, usd files or default ground plane).

0.4.1 (2023-06-27)#

  • Added the isaaclab.app.AppLauncher class to allow controlled instantiation of the SimulationApp and extension loading for remote deployment and ROS bridges.

Changed#

0.4.0 (2023-05-27)#

Added#

  • Added a helper class isaaclab.asset_loader.UrdfLoader that converts a URDF file to instanceable USD file based on the input configuration object.

0.3.2 (2023-04-27)#

Fixed#

0.3.1 (2023-04-23)#

Added#

  • Added a modified version of lula_franka_gen.urdf which includes an end-effector frame.

  • Added a standalone script play_rmpflow.py to show RMPFlow controller.

Fixed#

  • Fixed the splitting of commands in the ActuatorGroup.compute() method. Earlier it was reshaping the commands to the shape (num_actuators, num_commands) which was causing the commands to be split incorrectly.

  • Fixed the processing of actuator command in the RobotBase._process_actuators_cfg() to deal with multiple command types when using “implicit” actuator group.

0.3.0 (2023-04-20)#

Fixed#

  • Added the destructor to the keyboard devices to unsubscribe from carb.

Added#

  • Added the Se2Gamepad and Se3Gamepad for gamepad teleoperation support.

0.2.8 (2023-04-10)#

Fixed#

  • Fixed bugs in axis_angle_from_quat() in the isaaclab.utils.math to handle quaternion with negative w component.

  • Fixed bugs in subtract_frame_transforms() in the isaaclab.utils.math by adding the missing final rotation.

0.2.7 (2023-04-07)#

Fixed#

  • Fixed repetition in applying mimic multiplier for “p_abs” in the GripperActuatorGroup class.

  • Fixed bugs in reset_buffers() in the RobotBase and LeggedRobot classes.

0.2.6 (2023-03-16)#

Added#

  • Added the CollisionPropertiesCfg to rigid/articulated object and robot base classes.

  • Added the PhysicsMaterialCfg to the SingleArm class for tool sites.

Changed#

  • Changed the default control mode of the PANDA_HAND_MIMIC_GROUP_CFG to be from "v_abs" to "p_abs". Using velocity control for the mimic group can cause the hand to move in a jerky manner.

0.2.5 (2023-03-08)#

Fixed#

  • Fixed the indices used for the Jacobian and dynamics quantities in the MobileManipulator class.

0.2.4 (2023-03-04)#

Added#

  • Added apply_nested_physics_material() to the isaaclab.utils.kit.

  • Added the sample_cylinder() to sample points from a cylinder’s surface.

  • Added documentation about the issue in using instanceable asset as markers.

Fixed#

  • Simplified the physics material application in the rigid object and legged robot classes.

Removed#

  • Removed the geom_prim_rel_path argument in the RigidObjectCfg.MetaInfoCfg class.

0.2.3 (2023-02-24)#

Fixed#

  • Fixed the end-effector body index used for getting the Jacobian in the SingleArm and MobileManipulator classes.

0.2.2 (2023-01-27)#

Fixed#

  • Fixed the set_world_pose_ros() and set_world_pose_from_view() in the Camera class.

Deprecated#

  • Removed the set_world_pose_from_ypr() method from the Camera class.

0.2.1 (2023-01-26)#

Fixed#

  • Fixed the Camera class to support different fisheye projection types.

0.2.0 (2023-01-25)#

Added#

  • Added support for warp backend in camera utilities.

  • Extended the play_camera.py with --gpu flag to use GPU replicator backend.

0.1.1 (2023-01-24)#

Fixed#

  • Fixed setting of physics material on the ground plane when using isaaclab.utils.kit.create_ground_plane() function.

0.1.0 (2023-01-17)#

Added#

  • Initial release of the extension with experimental API.

  • Available robot configurations:

    • Quadrupeds: Unitree A1, ANYmal B, ANYmal C

    • Single-arm manipulators: Franka Emika arm, UR5

    • Mobile manipulators: Clearpath Ridgeback with Franka Emika arm or UR5

isaaclab_assets#

Extension for configurations of various assets and sensors for Isaac Lab.

0.3.0 (2026-01-30)#

Changed#

  • Changed the quaternion ordering to match warp, PhysX, and Newton native XYZW quaternion ordering.

0.2.4 (2025-11-26)#

Added#

  • Configuration for OpenArm robots used for manipulation tasks.

0.2.3 (2025-08-11)#

Added#

  • Configuration for G1 robot used for locomanipulation tasks.

0.2.2 (2025-03-10)#

Added#

  • Added configuration for the Fourier GR1T2 robot.

0.2.1 (2025-01-14)#

Added#

  • Added configuration for the Humanoid-28 robot.

0.2.0 (2024-12-27)#

Changed#

  • Restructured the assets directory into robots and sensors subdirectories.

0.1.4 (2024-08-21)#

Added#

  • Added configuration for the Inverted Double Pendulum on a Cart robot.

0.1.2 (2024-04-03)#

Added#

  • Added configurations for different arms from Kinova Robotics and Rethink Robotics.

0.1.1 (2024-03-11)#

Added#

  • Added configurations for allegro and shadow hand assets.

0.1.0 (2023-12-20)#

Added#

  • Moved all assets’ configuration from isaaclab to isaaclab_assets extension.

isaaclab_tasks#

Extension containing the environments built using Isaac Lab.

1.5.11 (2026-03-13)#

Changed#

  • Simplified the Hydra preset system by removing the dict-style presets = {...} attribute in favor of PresetCfg subclasses and the new preset() factory for inline scalar overrides.

1.5.10 (2026-03-12)#

Added#

  • Added test_rendering_correctness.py to validate rendering correctness of the environments.

1.5.9 (2026-03-10)#

Fixed#

  • Fixed FileNotFoundError for Dexsuite environments by removing stale rl_games_cfg_entry_point from gym registrations. Benchmark config updated to use RSL-RL.

1.5.8 (2026-03-10)#

Added#

  • Added validate_config overrides to ShadowHandVisionEnvCfg and DexsuiteReorientEnvCfg to catch invalid preset combinations early (e.g. Warp renderer with unsupported data types, Newton physics with multi-asset spawning).

Changed#

  • Moved ShadowHandVisionEnvCfg validation logic from the env constructor into validate_config(), leveraging the new configclass validation hook.

1.5.7 (2026-03-10)#

Fixed#

  • Marked physx-warp-rgb and physx-warp-depth Shadow Hand vision preset render tests as expected failures. The standard Shadow Hand USD contains PhysX tendon schemas that Newton’s ModelBuilder cannot parse.

1.5.6 (2026-03-10)#

Changed#

  • Simplified Dexsuite gravity randomization to use the unified randomize_physics_scene_gravity term, removing the backend-specific GravityRandomizationCfg preset.

Added#

  • Added Dexsuite multi-hand dexterous manipulation environments with Kuka Allegro configurations for lift and reorientation tasks.

1.5.5 (2026-03-07)#

Changed#

  • Simplified all task MDP __init__.py files to call lazy_export() without arguments. Fallback packages are now inferred from __init__.pyi stubs.

Added#

  • Added from isaaclab.envs.mdp import * wildcard re-exports to all task MDP __init__.pyi stubs, fixing broken type hints for base MDP symbols.

  • Added test_lazy_export_stubs.py to enforce that lazy_export() is called without arguments across the codebase.

1.5.4 (2026-03-08)#

Added#

  • Added test/test_environments_newton.py — an end-to-end CI test that auto-discovers all environments with a newton physics preset and runs 100 random-action steps against each.

  • Added apply_named_preset() helper that walks the full configuration tree and applies a named preset (e.g. 'newton') to every preset-wrapper field, replacing the default-resolved value. This enables Newton preset overrides for all scene fields (e.g. scene.contact_forces) when running tests outside the Hydra pipeline.

  • Added Newton physics presets and compatibility fixes to locomotion, reach, Franka cabinet, allegro-hand, and shadow-hand environments: replaced unsupported ls_iterations / ls_parallel solver fields with Newton-compatible settings, and added a per-preset TableCfg using box geometry instead of a USD asset for Newton compatibility.

  • Added CabinetSimCfg preset to the cabinet environment, replacing the physics-only preset with a full simulation config preset so the Newton backend can run at a finer timestep (dt=1/600) while PhysX keeps its default (dt=1/60).

  • Added backend-specific joint_gears to ant and humanoid direct environments. Newton and PhysX joint orderings differ, so each backend now has its own gear ratio list resolved at env init.

1.5.3 (2026-03-06)#

Fixed#

  • Fixed NoiseModelWithAdditiveBias shape mismatch in Newton environment tests. apply_named_preset() previously replaced scene with the preset’s default num_envs (e.g. 8192), overwriting the test-requested value (e.g. 2). The _bias tensor was then allocated with 8192 rows while action data only had 2, causing a RuntimeError on addition. The fix re-applies the caller’s num_envs after preset application.

  • Fixed in-hand manipulation goal orientation: the quaternion imaginary-component clamping used the wrong slice ([1:4] instead of [0:3]), causing incorrect goal distance computation in the Newton preset.

  • Fixed Franka cabinet direct-env initialization orientation.

Changed#

  • Renamed EventCfg to NewtonEventCfg in the Shadow Hand env config. The new name makes explicit that this preset covers only Newton-compatible randomizations (joint gains, joint position limits, object mass, gravity). Material and fixed-tendon randomization remain exclusively in PhysxEventCfg.

1.5.2 (2026-03-05)#

Added#

  • Added compute_kit_requirements() to expose the Kit decision logic for testing (e.g. preset resolution: presets=newton,ovrtx_rendererneeds_kit=False).

  • Added test_preset_kit_decision.py — beginner-friendly unit tests that verify preset resolution and Kit decision.

1.5.1 (2026-03-03)#

Fixed#

  • Resolved PresetCfg fields (e.g. physics) to their default values in parse_env_cfg() so environments created via gym.make() outside the Hydra pipeline no longer fail with AttributeError: 'XxxPhysicsCfg' object has no attribute 'class_type'.

1.5.0 (2026-03-02)#

Added#

  • Added PresetCfg base class — a @configclass whose typed fields represent named configuration variants (e.g. default, physx, newton). The active variant is selected at launch with presets=<name> via the Hydra CLI, enabling a single environment config to support multiple physics backends.

  • Added Newton backend support (via PresetCfg) to the following environments:

    • Direct RL: Cartpole (camera), Ant, Humanoid

    • Manager-based classic: Ant, Humanoid

    • Manager-based locomotion velocity: A1, AnymalB, AnymalC, AnymalD, Cassie, G1, Go1, Go2, H1, Spot (flat and rough configs)

    • Manager-based manipulation reach: Franka and UR10 reach

    • Dexsuite: Kuka Allegro Lift

1.4.0 (2026-03-02)#

Added#

  • Added sim_launcher module with add_launcher_args and launch_simulation utilities that auto-detect the physics backend (Newton vs Kit/PhysX) from the env config and launch the appropriate simulation runtime. Training and play scripts no longer need to import AppLauncher directly.

1.3.0 (2026-02-26)#

Changed#

  • Migrated all direct and manager-based task environments to use new _index write/set APIs with keyword-only arguments.

1.2.0 (2026-02-25)#

Changed#

  • Split environment configuration from implementation for the following direct RL task environments. Each environment now has a dedicated *_env_cfg.py file containing only the configuration dataclass, keeping __init__.py imports cfg-only and leaving the implementation file free of cfg dependencies:

  • Added strict TYPE_CHECKING guards across MDP modules (observations, rewards, terminations, curriculums, events) so that heavy simulation-backend imports (pxr, omni, carb, scipy) are not triggered when task configs are loaded without a running simulator.

1.1.2 (2026-02-25)#

Changed#

  • Set replicate physics to False for GR1T2 and G1 environments.

1.1.1 (2026-02-23)#

Changed#

  • Update stack and pick place environments to use warp data and fix quaternion ordering.

1.1.0 (2026-02-13)#

Changed#

  • Updated all task environments to wrap warp data property accesses with wp.to_torch() for compatibility with the new warp backend. This includes direct RL environments and all manager-based MDP functions (actions, observations, rewards, terminations, commands, events, and curriculums).

1.0.0 (2026-01-30)#

Changed#

  • Updated all task environments to use the new root_view property instead of the deprecated root_physx_view property. This includes the following environments:

    • AutoMate Assembly and Disassembly environments

    • Factory environments

    • FORGE environments

    • Inhand manipulation environments

    • Quadcopter environments

    • Shadow Hand environments

0.12.0 (2026-01-30)#

Changed#

  • Changed the quaternion ordering to match warp, PhysX, and Newton native XYZW quaternion ordering.

0.11.15 (2026-03-07)#

Added#

  • Added Isaac-Stack-Cube-RedGreen-Franka-IK-Rel-v0, Isaac-Stack-Cube-RedGreenBlue-Franka-IK-Rel-v0, Isaac-Stack-Cube-BlueGreen-Franka-IK-Rel-v0, and Isaac-Stack-Cube-BlueGreenRed-Franka-IK-Rel-v0 environments.

0.11.14 (2026-02-27)#

Fixed#

  • Refactored automation scripts (run_w_id.py and run_disassembly_w_id.py) to use list-based command execution via subprocess.run. This avoids potential command injection risks by disabling shell execution and properly handling environment variables.

0.11.13 (2026-02-04)#

Fixed#

  • Fixed incorrect hardcoded joint index for drawer_top_joint in FrankaCabinetEnv. The drawer joint index is now dynamically resolved using find_joints() at start, instead of assuming index 3, which caused incorrect rewards and termination conditions.

0.11.12 (2025-12-16)#

Added#

  • Added Isaac-Deploy-GearAssembly environments.

0.11.11 (2025-12-16)#

Added#

  • Added reaching task environments for OpenArm unimanual robot: * OpenArmReachEnvCfg; Gym ID Isaac-Reach-OpenArm-v0. * OpenArmReachEnvCfg_PLAY; Gym ID Isaac-Reach-OpenArm-Play-v0.

  • Added lifting a cube task environments for OpenArm unimanual robot: * OpenArmCubeLiftEnvCfg; Gym ID Isaac-Lift-Cube-OpenArm-v0. * OpenArmCubeLiftEnvCfg_PLAY; Gym ID Isaac-Lift-Cube-OpenArm-Play-v0.

  • Added opening a drawer task environments for OpenArm unimanual robot: * OpenArmCabinetEnvCfg; Gym ID Isaac-Open-Drawer-OpenArm-v0. * OpenArmCabinetEnvCfg_PLAY; Gym ID Isaac-Open-Drawer-OpenArm-Play-v0.

  • Added reaching task environments for OpenArm bimanual robot: * OpenArmReachEnvCfg; Gym ID Isaac-Reach-OpenArm-Bi-v0. * OpenArmReachEnvCfg_PLAY; Gym ID Isaac-Reach-OpenArm-Bi-Play-v0.

0.11.10 (2025-12-13)#

Added#

  • Added obs_groups to the RSL-RL PPO agent configuration for the Isaac-Reach-UR10e-v0 environment.

  • Changed self.state_space to 19 in the Isaac-Reach-UR10e-ROS-Inference-v0 environment.

0.11.9 (2025-11-10)#

Added#

  • Added OpenXR motion controller support for the G1 robot locomanipulation environment Isaac-PickPlace-Locomanipulation-G1-Abs-v0. This enables teleoperation using XR motion controllers in addition to hand tracking.

  • Added OpenXRDeviceMotionController for motion controller-based teleoperation with headset anchoring control.

  • Added motion controller-specific retargeters: * G1TriHandControllerUpperBodyRetargeterCfg for upper body and hand control using motion controllers. * G1LowerBodyStandingControllerRetargeterCfg for lower body control using motion controllers.

0.11.8 (2025-11-06)#

Changed#

  • Changed to use of num_rerenders_on_reset and DLAA in visuomotor imitation learning environments.

0.11.7 (2025-10-22)#

Fixed#

  • Ensured all imports follows the string import style instead of direct import of environment.

0.11.6 (2025-10-23)#

Changed#

  • Refined further the anchor position for the XR anchor in the world frame for the G1 robot tasks.

0.11.5 (2025-10-22)#

Removed#

  • Removed scikit-learn dependency because we are no longer using this package.

0.11.4 (2025-10-20)#

Changed#

  • Fixed the anchor position for the XR anchor in the world frame for the G1 robot tasks.

0.11.3 (2025-10-15)#

Changed#

  • Changed how the Sim rendering settings are modified by the Cosmos-Mimic env cfg.

0.11.2 (2025-10-10)#

Added#

  • Added OpenXRteleoperation devices to the Galbot stack environments.

0.11.1 (2025-09-24)#

Added#

  • Added dextrous lifting pbt configuration example cfg for rl_games.

0.11.0 (2025-09-07)#

Added#

  • Added dextrous lifting and dextrous reorientation manipulation rl environments.

0.10.51 (2025-09-08)#

Added#

  • Added SkillGen-specific cube stacking environments: * FrankaCubeStackSkillgenEnvCfg; Gym ID Isaac-Stack-Cube-Franka-IK-Rel-Skillgen-v0.

  • Added bin cube stacking environment for SkillGen/Mimic: * FrankaBinStackEnvCfg; Gym ID Isaac-Stack-Cube-Bin-Franka-IK-Rel-Mimic-v0.

0.10.50 (2025-09-05)#

Added#

  • Added stacking environments for Galbot with suction grippers.

0.10.49 (2025-09-05)#

Added#

  • Added suction gripper stacking environments with UR10 that can be used with teleoperation.

0.10.48 (2025-09-03)#

Added#

  • Added Isaac-Deploy-Reach-UR10e-v0 environment.

0.10.47 (2025-07-25)#

Added#

  • New Isaac-PickPlace-GR1T2-WaistEnabled-Abs-v0 environment that enables the waist degrees-of-freedom for the GR1T2 robot.

Changed#

  • Updated pink inverse kinematics controller configuration for the following tasks (Isaac-PickPlace-GR1T2, Isaac-NutPour-GR1T2, Isaac-ExhaustPipe-GR1T2) to increase end-effector tracking accuracy and speed. Also added a null-space regularizer that enables turning on of waist degrees-of-freedom without the robot control drifting to a bending posture.

  • Tuned the pink inverse kinematics controller and joint PD controllers for the following tasks (Isaac-PickPlace-GR1T2, Isaac-NutPour-GR1T2, Isaac-ExhaustPipe-GR1T2) to improve the end-effector tracking accuracy and speed. Achieving position and orientation accuracy test within (2 mm, 1 degree).

0.10.46 (2025-08-16)#

Added#

  • Added symmetry data augmentation example with RSL-RL for cartpole and anymal locomotion environments.

  • Added --agent to RL workflow scripts to allow switching between different configurations.

0.10.45 (2025-07-16)#

Added#

  • Added from __future__ import annotations to isaaclab_tasks files to fix Sphinx doc warnings for IsaacLab Mimic docs.

0.10.44 (2025-07-16)#

Added#

  • Added Isaac-Forge-PegInsert-Direct-v0, Isaac-Forge-GearMesh-Direct-v0, and Isaac-Forge-NutThread-Direct-v0 environments as direct RL envs. These environments extend Isaac-Factory-*-v0 with force sensing, an excessive force penalty, dynamics randomization, and success prediction.

0.10.43 (2025-07-24)#

Fixed#

  • Fixed un-set camera observations in the Isaac-Stack-Cube-Instance-Randomize-Franka-v0 environment.

0.10.42 (2025-07-11)#

Changed#

  • Organized environment unit tests

0.10.41 (2025-07-01)#

Fixed#

  • Fixed the rendering settings used for the Mimic-Cosmos pipeline.

0.10.40 (2025-06-26)#

Fixed#

  • Relaxed upper range pin for protobuf python dependency for more permissive installation.

0.10.39 (2025-05-22)#

Fixed#

  • Fixed redundant body_names assignment in rough_env_cfg.py for H1 robot.

0.10.38 (2025-06-16)#

Changed#

  • Show available RL library configs on error message when an entry point key is not available for a given task.

0.10.37 (2025-05-15)#

Added#

  • Added Isaac-Assembly-Direct-v0 environment as a direct RL env that implements assembly tasks to insert pegs into their corresponding sockets.

0.10.36 (2025-05-21)#

Added#

  • Added unit tests for benchmarking environments with configurable settings. Output KPI payloads can be pushed to a visualization dashboard to track improvements or regressions.

0.10.35 (2025-05-21)#

Added#

  • Added Isaac-Stack-Cube-Franka-IK-Rel-Visuomotor-Cosmos-v0 stacking environment with multi-modality camera inputs at higher resolution.

Changed#

  • Updated the Isaac-Stack-Cube-Franka-IK-Rel-Visuomotor-v0 stacking environment to support visual domain randomization events during model evaluation.

  • Made the task termination condition for the stacking task more strict.

0.10.34 (2025-05-22)#

Changed#

  • Changed Isaac-PickPlace-GR1T2-Abs-v0 object asset to a steering wheel.

0.10.33 (2025-05-12)#

Changed#

  • Increase Isaac-PickPlace-GR1T2-Abs-v0 sim dt to 120Hz for improved stability.

  • Fix object initial state in Isaac-PickPlace-GR1T2-Abs-v0 to be above the table.

0.10.32 (2025-05-01)#

Added#

  • Added new GR1 tasks (Isaac-NutPour-GR1T2-Pink-IK-Abs-v0, and Isaac-ExhaustPipe-GR1T2-Pink-IK-Abs-v0).

0.10.31 (2025-04-02)#

Changed#

  • Adds an idle action parameter to the Isaac-PickPlace-GR1T2-Abs-v0 environment configuration.

0.10.30 (2025-03-25)#

Fixed#

  • Fixed environment test failure for Isaac-Stack-Cube-Franka-IK-Rel-Blueprint-v0.

0.10.29 (2025-03-18)#

Added#

  • Added Gymnasium spaces showcase tasks (Isaac-Cartpole-Showcase-*-Direct-v0, and Isaac-Cartpole-Camera-Showcase-*-Direct-v0).

0.10.28 (2025-03-19)#

Changed#

  • Updated the Isaac-PickPlace-GR1T2-Abs-v0 environment with auto termination when the object falls off the table and refined the success criteria to be more accurate.

0.10.27 (2025-03-13)#

Fixed#

  • Blacklisted pick_place task from being imported automatically by isaaclab_tasks. It now has to be imported manually by the script due to dependencies on the pinocchio import.

0.10.26 (2025-03-10)#

Added#

  • Added the Isaac-PickPlace-GR1T2-Abs-v0 environment that implements a humanoid arm picking and placing a steering wheel task using the PinkIKController.

0.10.25 (2025-03-06)#

Added#

  • Added Isaac-Stack-Cube-Franka-IK-Rel-Blueprint-v0 stacking environment with camera inputs.

0.10.24 (2025-02-13)#

Changed#

  • Set Isaac-Stack-Cube-Franka-IK-Rel-v0 to use sim parameters from base StackEnvCfg, improving simulation stability.

0.10.23 (2025-02-11)#

Fixed#

  • Fixed the inconsistent object pos observations in the Isaac-Stack-Cube-Franka environment when using parallel envs by subtracting out the env origin from each object pos observation.

0.10.22 (2025-01-14)#

Added#

  • Added Isaac-Humanoid-AMP-Dance-Direct-v0, Isaac-Humanoid-AMP-Run-Direct-v0 and Isaac-Humanoid-AMP-Walk-Direct-v0 environments as a direct RL env that implements the Humanoid AMP task.

0.10.21 (2025-01-03)#

Fixed#

  • Fixed the reset of the actions in the function overriding of the low level observations of isaaclab_tasks.manager_based.navigation.mdp.PreTrainedPolicyAction.

0.10.20 (2024-12-17)#

Changed#

  • Changed the configuration of isaaclab.envs.mdp.actions.OperationalSpaceControllerAction inside the Isaac-Reach-Franka-OSC-v0 environment to enable nullspace control.

0.10.19 (2024-12-17)#

Fixed#

  • Fixed isaaclab_tasks.manager_based.manipulation.stack.mdp.ee_frame_pos() to output ee_frame_pos with respect to the environment’s origin.

0.10.18 (2024-12-16)#

Added#

  • Added Factory-Direct-v0 environment as a direct RL env that implements contact-rich manipulation tasks including peg insertion, gear meshing, and nut threading.

0.10.17 (2024-12-16)#

Added#

  • Added Isaac-Reach-Franka-OSC-v0 and Isaac-Reach-Franka-OSC-Play-v0 variations of the manager based reach environment that uses isaaclab.envs.mdp.actions.OperationalSpaceControllerAction.

0.10.16 (2024-12-03)#

Added#

  • Added Isaac-Stack-Cube-Franka-IK-Rel-v0 and Isaac-Stack-Cube-Instance-Randomize-Franka-IK-Rel-v0 environments as manager-based RL envs that implement a three cube stacking task.

0.10.15 (2024-10-30)#

Changed#

  • Defined the Gymnasium task entry points with configuration strings instead of class types. This avoids unnecessary imports and improves the load types.

  • Blacklisted mdp directories during the recursive module search.

0.10.14 (2024-10-28)#

Changed#

  • Changed manager-based vision cartpole environment names from Isaac-Cartpole-RGB-Camera-v0 and Isaac-Cartpole-Depth-Camera-v0 to Isaac-Cartpole-RGB-v0 and Isaac-Cartpole-Depth-v0

0.10.13 (2024-10-28)#

Added#

  • Added feature extracted observation cartpole examples.

0.10.12 (2024-10-25)#

Fixed#

  • Fixed issues with defining Gymnasium spaces in Direct workflows due to Hydra/OmegaConf limitations with non-primitive types.

0.10.11 (2024-10-22)#

Changed#

  • Sets curriculum and commands to None in manager-based environment configurations when not needed. Earlier, this was done by making an empty configuration object, which is now unnecessary.

0.10.10 (2024-10-22)#

Fixed#

  • Fixed the wrong selection of body id’s in the isaaclab_tasks.manager_based.locomotion.velocity.mdp.rewards.feet_slide() reward function. This makes sure the right IDs are selected for the bodies.

0.10.9 (2024-10-01)#

Changed#

  • Changed Isaac-Stack-Cube-Franka-IK-Rel-v0 to align with Robosuite stacking env.

0.10.8 (2024-09-25)#

Added#

  • Added Isaac-Stack-Cube-Franka-IK-Rel-v0 environment as a manager-based RL env that implements a three cube stacking task.

0.10.7 (2024-10-02)#

Changed#

  • Replace deprecated num_observations, num_actions and num_states in single-agent direct tasks by observation_space, action_space and state_space respectively.

  • Replace deprecated num_observations, num_actions and num_states in multi-agent direct tasks by observation_spaces, action_spaces and state_space respectively.

0.10.6 (2024-09-25)#

Added#

  • Added Isaac-Cartpole-RGB-Camera-v0 and Isaac-Cartpole-Depth-Camera-v0 manager based camera cartpole environments.

0.10.5 (2024-09-11)#

Changed#

  • Updated the skrl RL library integration to the latest release (skrl-v1.3.0)

0.10.4 (2024-09-10)#

Added#

  • Added Isaac-Repose-Cube-Shadow-Vision-Direct-v0 environment with heterogeneous proprioception and vision observations.

0.10.3 (2024-09-05)#

Added#

  • Added environment config flag rerender_on_reset to allow updating sensor data after a reset.

0.10.2 (2024-08-23)#

Added#

  • Added Isaac-Shadow-Hand-Over-Direct-v0 multi-agent environment

0.10.1 (2024-08-21)#

Added#

  • Added Isaac-Cart-Double-Pendulum-Direct-v0 multi-agent environment

Changed#

  • Update skrl wrapper to support multi-agent environments.

0.10.0 (2024-08-14)#

Added#

  • Added support for the Hydra configuration system to all the train scripts. As a result, parameters of the environment and the agent can be modified using command line arguments, for example env.actions.joint_effort.scale=10.

0.9.0 (2024-08-05)#

Changed#

  • Replaced the command line input --cpu with --device in the train and play scripts. Running on cpu is supported by passing --device cpu. Running on a specific gpu is now supported by passing --device cuda:<device_id>, where <device_id> is the id of the GPU to use, for example --device cuda:0.

0.8.2 (2024-08-02)#

Added#

  • Added Isaac-Repose-Cube-Allegro-Direct-v0 environment

Changed#

  • Renamed Isaac-Shadow-Hand-Direct-v0 environments to Isaac-Repose-Cube-Shadow-Direct-v0.

  • Renamed Isaac-Shadow-Hand-OpenAI-FF-Direct-v0 environments to Isaac-Repose-Cube-Shadow-OpenAI-FF-Direct-v0.

  • Renamed Isaac-Shadow-Hand-OpenAI-LSTM-Direct-v0 environments to Isaac-Repose-Cube-Shadow-OpenAI-LSTM-Direct-v0.

0.8.1 (2024-08-02)#

Changed#

  • Renamed the folder names for Unitree robots in the manager-based locomotion tasks. Earlier, there was an inconsistency in the folder names as some had unitree_ prefix and some didn’t. Now, none of the folders have the prefix.

0.8.0 (2024-07-26)#

Removed#

  • Renamed the action term names inside the manager-based lift-manipulation task. Earlier, they were called body_joint_pos and gripper_joint_pos. Now, they are called arm_action and gripper_action.

0.7.10 (2024-07-02)#

Added#

  • Extended skrl wrapper to support training/evaluation using JAX.

0.7.9 (2024-07-01)#

Fixed#

  • Fixed the action space check in the Stable-Baselines3 wrapper. Earlier, the wrapper checked the action space via gymnasium.spaces.Box.is_bounded() method, which returned a bool value instead of a string.

0.7.8 (2024-06-26)#

Changed#

  • Updated the skrl RL library integration to the latest release (>= 1.2.0)

0.7.7 (2024-06-14)#

Changed#

0.7.6 (2024-06-13)#

Added#

  • Added option to save images for Cartpole Camera environment.

0.7.5 (2024-05-31)#

Added#

  • Added exporting of empirical normalization layer to ONNX and JIT when exporting the model using isaaclab.actuators.ActuatorNetMLP.export() method. Previously, the normalization layer was not exported to the ONNX and JIT models. This caused the exported model to not work properly when used for inference.

0.7.5 (2024-05-28)#

Added#

  • Added a new environment Isaac-Navigation-Flat-Anymal-C-v0 to navigate towards a target position on flat terrain.

0.7.4 (2024-05-21)#

Changed#

  • Made default device for RSL RL and SB3 configs to “cuda:0”.

0.7.3 (2024-05-21)#

Added#

  • Introduced --max_iterations argument to training scripts for specifying number of training iterations.

0.7.2 (2024-05-13)#

Added#

  • Added Shadow Hand environments: Isaac-Shadow-Hand-Direct-v0, Isaac-Shadow-Hand-OpenAI-FF-Direct-v0, and Isaac-Shadow-Hand-OpenAI-LSTM-Direct-v0.

0.7.1 (2024-05-09)#

Added#

  • Added the skrl agent configurations for the config and direct workflow tasks

0.7.0 (2024-05-07)#

Changed#

Added#

  • Added direct workflow environments: * Isaac-Cartpole-Direct-v0, Isaac-Cartpole-Camera-Direct-v0, Isaac-Ant-Direct-v0, Isaac-Humanoid-Direct-v0. * Isaac-Velocity-Flat-Anymal-C-Direct-v0, Isaac-Velocity-Rough-Anymal-C-Direct-v0, Isaac-Quadcopter-Direct-v0.

0.6.1 (2024-04-16)#

Added#

  • Added a new environment Isaac-Repose-Cube-Allegro-v0 and Isaac-Repose-Allegro-Cube-NoVelObs-v0 for the Allegro hand to reorient a cube. It is based on the IsaacGymEnvs Allegro hand environment.

0.6.0 (2024-03-10)#

Added#

  • Added a new environment Isaac-Open-Drawer-Franka-v0 for the Franka arm to open a drawer. It is based on the IsaacGymEnvs cabinet environment.

Fixed#

  • Fixed logging of extra information for RL-Games wrapper. It expected the extra information to be under the key "episode", but Isaac Lab used the key "log". The wrapper now remaps the key to "episode".

0.5.7 (2024-02-28)#

Fixed#

  • Updated the RL wrapper for the skrl library to the latest release (>= 1.1.0)

0.5.6 (2024-02-21)#

Fixed#

  • Fixed the configuration parsing to support a pre-initialized configuration object.

0.5.5 (2024-02-05)#

Fixed#

  • Pinned torch version to 2.0.1 in the setup.py to keep parity version of torch supplied by Isaac 2023.1.1, and prevent version incompatibility between torch ==2.2 and typing-extensions ==3.7.4.3

0.5.4 (2024-02-06)#

Added#

  • Added a check for the flag isaaclab.envs.ManagerBasedRLEnvCfg.is_finite_horizon in the RSL-RL and RL-Games wrappers to handle the finite horizon tasks properly. Earlier, the wrappers were always assuming the tasks to be infinite horizon tasks and returning a time-out signals when the episode length was reached.

0.5.3 (2023-11-16)#

Fixed#

  • Added raising of error in the isaaclab_tasks.utils.importer.import_all() method to make sure all the packages are imported properly. Previously, error was being caught and ignored.

0.5.2 (2023-11-08)#

Fixed#

  • Fixed the RL wrappers for Stable-Baselines3 and RL-Games. It now works with their most recent versions.

  • Fixed the get_checkpoint_path() to allow any in-between sub-folders between the run directory and the checkpoint directory.

0.5.1 (2023-11-04)#

Fixed#

  • Fixed the wrappers to different learning frameworks to use the new isaaclab_tasks.ManagerBasedRLEnv class. The ManagerBasedRLEnv class inherits from the gymnasium.Env class (Gym 0.29.0).

  • Fixed the registration of tasks in the Gym registry based on Gym 0.29.0 API.

Changed#

  • Removed the inheritance of all the RL-framework specific wrappers from the gymnasium.Wrapper class. This is because the wrappers don’t comply with the new Gym 0.29.0 API. The wrappers are now only inherit from their respective RL-framework specific base classes.

0.5.0 (2023-10-30)#

Changed#

  • Changed the way agent configs are handled for environments and learning agents. Switched from yaml to configclasses.

Fixed#

  • Fixed the way package import automation is handled in the isaaclab_tasks module. Earlier it was not skipping the blacklisted packages properly.

0.4.3 (2023-09-25)#

Changed#

  • Added future import of annotations to have a consistent behavior across Python versions.

  • Removed the type-hinting from docstrings to simplify maintenance of the documentation. All type-hints are now in the code itself.

0.4.2 (2023-08-29)#

Changed#

  • Moved the base environment definition to the isaaclab.envs.RLEnv class. The RLEnv contains RL-specific managers such as the reward, termination, randomization and curriculum managers. These are all configured using the isaaclab.envs.RLEnvConfig class. The RLEnv class inherits from the isaaclab.envs.ManagerBasedEnv and gym.Env classes.

Fixed#

  • Adapted the wrappers to use the new isaaclab.envs.RLEnv class.

0.4.1 (2023-08-02)#

Changed#

  • Adapted the base IsaacEnv class to use the SimulationContext class from the isaaclab.sim module. This simplifies setting of simulation parameters.

0.4.0 (2023-07-26)#

Changed#

  • Removed the resetting of environment indices in the step call of the IsaacEnv class. This must be handled in the \(_step_impl`\) function by the inherited classes.

  • Adapted the wrapper for RSL-RL library its new API.

Fixed#

  • Added handling of no checkpoint available error in the get_checkpoint_path().

  • Fixed the locomotion environment for rough terrain locomotion training.

0.3.2 (2023-07-22)#

Added#

  • Added a UI to the IsaacEnv class to enable/disable rendering of the viewport when not running in headless mode.

Fixed#

  • Fixed the the issue with environment returning transition tuples even when the simulation is paused.

  • Fixed the shutdown of the simulation when the environment is closed.

0.3.1 (2023-06-23)#

Changed#

  • Changed the argument headless in IsaacEnv class to render, in order to cause less confusion about rendering and headless-ness, i.e. that you can render while headless.

0.3.0 (2023-04-14)#

Added#

  • Added a new flag viewport to the IsaacEnv class to enable/disable rendering of the viewport. If the flag is set to True, the viewport is enabled and the environment is rendered in the background.

  • Updated the training scripts in the scripts/reinforcement_learning directory to use the new flag viewport. If the CLI argument --video is passed, videos are recorded in the videos/train directory using the gym.wrappers.RecordVideo wrapper.

Changed#

  • The IsaacEnv class supports different rendering mode as referenced in OpenAI Gym’s render method. These modes are:

    • rgb_array: Renders the environment in the background and returns the rendered image as a numpy array.

    • human: Renders the environment in the background and displays the rendered image in a window.

  • Changed the constructor in the classes inheriting from IsaacEnv to pass all the keyword arguments to the constructor of IsaacEnv class.

Fixed#

  • Clarified the documentation of headless flag in the IsaacEnv class. It refers to whether or not to render at every sim step, not whether to render the viewport or not.

  • Fixed the unit tests for running random agent on included environments.

0.2.3 (2023-03-06)#

Fixed#

  • Tuned the observations and rewards for Isaac-Lift-Franka-v0 environment.

0.2.2 (2023-03-04)#

Fixed#

  • Fixed the issue with rigid object not working in the Isaac-Lift-Franka-v0 environment.

0.2.1 (2023-03-01)#

Added#

  • Added a flag disable_contact_processing to the SimCfg class to handle contact processing effectively when using TensorAPIs for contact reporting.

  • Added verbosity flag to export_policy_as_onnx() to print model summary.

Fixed#

  • Clarified the documentation of flags in the SimCfg class.

  • Added enabling of omni.kit.viewport and isaacsim.replicator extensions dynamically to maintain order in the startup of extensions.

  • Corrected the experiment names in the configuration files for training environments with rsl_rl.

Changed#

  • Changed the default value of enable_scene_query_support in SimCfg class to False. The flag is overridden to True inside IsaacEnv class when running the simulation in non-headless mode.

0.2.0 (2023-01-25)#

Added#

  • Added environment wrapper and sequential trainer for the skrl RL library

  • Added training/evaluation configuration files for the skrl RL library

0.1.2 (2023-01-19)#

Fixed#

  • Added the flag replicate_physics to the SimCfg class.

  • Increased the default value of gpu_found_lost_pairs_capacity in PhysxCfg class

0.1.1 (2023-01-18)#

Fixed#

  • Fixed a bug in Isaac-Velocity-Anymal-C-v0 where the domain randomization is not applicable if cloning the environments with replicate_physics=True.

0.1.0 (2023-01-17)#

Added#

  • Initial release of the extension.

  • Includes the following environments:

    • Isaac-Cartpole-v0: A cartpole environment with a continuous action space.

    • Isaac-Ant-v0: A 3D ant environment with a continuous action space.

    • Isaac-Humanoid-v0: A 3D humanoid environment with a continuous action space.

    • Isaac-Reach-Franka-v0: A end-effector pose tracking task for the Franka arm.

    • Isaac-Lift-Franka-v0: A 3D object lift and reposing task for the Franka arm.

    • Isaac-Velocity-Anymal-C-v0: An SE(2) velocity tracking task for legged robot on flat terrain.