扩展更新日志#
本项目的所有重要变更都记录在此文件中。格式基于 Keep a Changelog ,且本项目遵循 语义化版本控制 。有关框架变更的更广泛信息,请参阅 发布说明 。
每个扩展都有自己的变更日志。每个扩展的变更日志位于该扩展的 docs 目录中。每个扩展的变更日志也包含在此变更日志中,以便更容易找到特定扩展的变更日志。
isaaclab#
Extension containing the core framework of Isaac Lab.
0.47.3 (2025-10-22)#
Changed#
Fixed the data type conversion in
TiledCamerato 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/upperLowerStrategySim 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_primstoget_all_matching_child_prims()andget_first_matching_child_prim()to control whether to traverse instance prims during the traversal. Earlier, instanced prims were skipped sinceUsd.Prim.GetChildren()did not return instanced prims, which is now fixed.
Changed#
Made parsing of instanced prims in
get_all_matching_child_prims()andget_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_lastto configure USD attributephysxscene: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
deviceto 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#
Fixed missing actuator indices in
randomize_actuator_gains()
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_primstoget_all_matching_child_prims()andget_first_matching_child_prim()to control whether to traverse instance prims during the traversal. Earlier, instanced prims were skipped sinceUsd.Prim.GetChildren()did not return instanced prims, which is now fixed.
Changed#
Made parsing of instanced prims in
get_all_matching_child_prims()andget_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
TeleopVisualizationManagerandXRVisualizationclasses to provide real-time visualization of teleoperation and inverse kinematics status in XR environments.
0.45.13 (2025-09-08)#
Added#
Added
ManusViveto support teleoperation with Manus gloves and Vive trackers.
0.45.12 (2025-09-05)#
Added#
Added
SurfaceGripperBinaryActionfor 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_termtoSe3GamepadCfgto control whether the gamepad device should return a gripper command.Added
gripper_termtoSe3SpaceMouseCfgto control whether the spacemouse device should return a gripper command.Added
gripper_termtoSe3KeyboardCfgto 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_namestoPinkIKControllerCfgto 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_errortoPinkIKControllerCfgto 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#
Fixed
randomize_rigid_body_com()to broadcasts the environment ids.
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.* Addedexport_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_pointsto toggle tracking of contact point locations between sensor bodies and filtered bodies.Added
max_contact_data_per_primto configure the maximum amount of contacts per sensor body.Added
contact_pos_wdata field for tracking contact point locations.
0.44.12 (2025-08-12)#
Fixed#
Fixed IndexError in
isaaclab.envs.mdp.events.reset_joints_by_scale(),isaaclab.envs.mdp.events.reset_joints_by_offsets()by adding dimension to env_ids when indexing.
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
TerminationManagerterm_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 annotationsto 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
EventManagerto properly handle their resets. Previously, only class-based events were properly handled.
0.44.7 (2025-07-30)#
Added#
Added a new argument
is_globaltoset_external_force_and_torque(),set_external_force_and_torque(), andset_external_force_and_torque()allowing to set external wrenches in the global frame directly from the method call rather than having to set the frame in the configuration.
Removed#
Removed
xxx_external_wrench_frameflag from asset configuration classes in favor of direct argument passed to theset_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
DCMotorfor torque-speed points in when in negative power regions.
Added#
Added unit tests for
ImplicitActuator,IdealPDActuator, andDCMotorindependent ofArticulation
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#
Added
force_matrix_w_historythat tracks the history of the filtered contact forces in the world frame.
0.42.24 (2025-06-25)#
Added#
Added new curriculum mdp
modify_env_param()andmodify_env_param()that enables flexible changes to any configurations in the env instance
0.42.23 (2025-07-11)#
Fixed#
Fixed
isaaclab.envs.mdp.events.reset_joints_by_scale(),isaaclab.envs.mdp.events.reset_joints_by_offsets()restricting the resetting joint indices be that user defined joint indices.
0.42.22 (2025-07-11)#
Fixed#
Fixed missing attribute in
RayCasterCameraclass and its reset method when no env_ids are passed.
0.42.21 (2025-07-09)#
Added#
Added input param
update_historytocompute()to control whether the history buffer should be updated.Added unit test for
ManagerBasedEnv.
Fixed#
Fixed
ManagerBasedEnvandManagerBasedRLEnvto not update the history buffer on recording.
0.42.20 (2025-07-10)#
Added#
Added unit tests for multiple math functions:
scale_transform().unscale_transform().saturate().normalize().copysign().convert_quat().quat_conjugate().quat_from_euler_xyz().quat_from_matrix().euler_xyz_from_quat().matrix_from_euler().quat_from_angle_axis().axis_angle_from_quat().skew_symmetric_matrix().combine_transform().subtract_transform().compute_pose_error().
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
InteractiveSceneCfgEnable 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
ArticulationDataandRigidObjectCollectionData
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_noiseandrel_height_noiseto give minimum and maximum absolute and relative noise toisaaclab.terrrains.trimesh.MeshRepeatedObjectsTerrainCfgAdded deprecation warnings to the existing
max_height_noisebut 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
--videoflag.
0.42.12 (2025-06-27)#
Added#
Added unit test for
quat_inv().
Fixed#
Fixed the implementation mistake in
quat_inv().
0.42.11 (2025-06-25)#
Fixed#
Fixed
update_class_from_dict()preventing setting flat Iterables with different lengths.
0.42.10 (2025-06-25)#
Added#
Added
sample_bias_per_componentflag toNoiseModelWithAdditiveBiasto 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, andRigidObjectCollectionadded pytest that check against these data consistencies
0.42.8 (2025-06-24)#
Added#
NoiseModelsupport for manager-based workflows.
Changed#
Renamed
apply()method to__call__().
0.42.7 (2025-06-12)#
Fixed#
Fixed potential issues in
randomize_visual_texture_material()related to handling visual prims during texture randomization.
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
TerrainGeneratorinTerrainImporterand instead theclass_typeis used which is passed in theTerrainGeneratorCfg.
0.42.3 (2025-03-20)#
Changed#
Made separate data buffers for poses and velocities for the
Articulation,RigidObject, andRigidObjectCollectionclasses. 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#
Added time observation functions to ~isaaclab.envs.mdp.observations module,
current_time_s()andremaining_time_s().
Changed#
Moved initialization of
episode_length_bufoutside ofload_managers()ofManagerBasedRLEnvto 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#
Added deprecation warning for
quat_rotate()andquat_rotate_inverse()
Changed#
Changed all calls to
quat_rotate()andquat_rotate_inverse()toquat_apply()andquat_apply_inverse()for speed.
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
CommandManagerto 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#
Changed the implementation of
quat_box_minus()
Added#
Added
quat_box_plus()
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 calculateomni.isaac.lab.sensors.camera.CameraData.intrinsic_matricesFixed
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_pathto theArticulationCfgclass 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=1for WebRTC over public networks andLIVESTREAM=2for 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 forsemantic_segmentation_mappingto 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#
Added
body_pose_w()
0.37.5 (2025-05-12)#
Added#
Added a new teleop configuration class
DevicesCfgto 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_frictionas 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#
Fixed
return_latest_camera_poseoption inTiledCameraCfgfrom not being used to the argumentupdate_latest_camera_poseinCameraCfgwith application in bothCameraandTiledCamera.
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 inSimulationContext. This is now required for multi-GPU workflows because some underlying logic inapp.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.Matrix4dto work with Pinocchio 2.7.0.
0.36.16 (2025-03-25)#
Changed#
Modified rendering mode default behavior when the launcher arg
enable_camerasis 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
SimulationCfgto 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
ImplicitActuatorif noeffort_limits_simoreffort_limitis 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_firstfrom scipy function usage to support older versions of scipy.
0.36.7 (2025-03-14)#
Fixed#
Changed the import structure to only import
pinocchiowhenpink-ikordex-retargetingis being used. This also solves for the problem thatpink-ikanddex-retargetingare not supported in windows.Removed
isaacsim.robot_motion.lulaandisaacsim.robot_motion.motion_generationfrom 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_modeor withRenderCfg.Preset rendering settings can be overwritten with
RenderCfg.RenderCfgsupports all native RTX carb settings.
Changed#
RenderCfgdefault settings are unset.
0.36.4 (2025-03-11)#
Changed#
Updated the OpenXR kit file
isaaclab.python.xr.openxr.kitto inherit fromisaaclab.python.kitinstead ofisaaclab.python.rendering.kitwhich 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()inSimulationContext.
0.36.1 (2025-03-10)#
Added#
Added
semantic_segmentation_mappingfor 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
TerrainImporterclass. 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_meshesandmeshesattributes from theTerrainImporterclass. These attributes now return an empty dictionary with a deprecation warning.
Changed#
Changed the prim path of the “plane” terrain inside the
TerrainImporterclass. Earlier, the terrain was imported directly as the importer’s prim path. Now, the terrain is imported as{importer_prim_path}/{name}, wherenameis the name of the terrain.
0.35.0 (2025-03-07)#
Improved documentation of various attributes in the
ArticulationDataclass to make it clearer which values represent the simulation and internal class values. In the new convention, thedefault_xxxattributes are whatever the user configured from their configuration of the articulation class, while thexxxattributes 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_armatureanddefault_joint_frictionattributes in theArticulationclass based on user configuration.
Changed#
Removed unnecessary buffer creation operations inside the
Articulationclass. 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_limits→joint_vel_limits(to match attributejoint_velandjoint_vel_limits)joint_limits→joint_pos_limits(to match attributejoint_posandsoft_joint_pos_limits)default_joint_limits→default_joint_pos_limitswrite_joint_limits_to_sim→write_joint_position_limit_to_simjoint_friction→joint_friction_coeffdefault_joint_friction→default_joint_friction_coeffwrite_joint_friction_to_sim→write_joint_friction_coefficient_to_simfixed_tendon_limit→fixed_tendon_pos_limitsdefault_fixed_tendon_limit→default_fixed_tendon_pos_limitsset_fixed_tendon_limit→set_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#
Updated the mimic API
target_eef_pose_to_action()inisaaclab.envs.ManagerBasedRLMimicEnvto take a dictionary of eef noise values instead of a single noise value.Added support for optional subtask constraints based on DexMimicGen to the mimic configuration class
isaaclab.envs.MimicEnvCfg.Enabled data compression in HDF5 dataset file handler
isaaclab.utils.datasets.hdf5_dataset_file_handler.HDF5DatasetFileHandler.
0.34.11 (2025-03-04)#
Fixed#
Fixed issue in
TiledCameraandCamerawhere 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
TiledCamerawith other modalities such as RGBA and depth.
0.34.9 (2025-03-04)#
Added#
Added methods inside the
omni.isaac.lab.assets.Articulationclass to set the joint position and velocity for the articulation. Previously, the joint position and velocity could only be set using theomni.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_sensorsattribute to theMultiAssetSpawnerCfgclass. 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
SimulationContactclass. 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
ContactSensorclass when the sensor is created to allow contact reporting for the sensor.
Removed#
Removed the attribute
disable_contact_processingfromSimulationContact.
0.34.6 (2025-03-01)#
Added#
Added a new attribute
is_implicit_modelto theisaaclab.actuators.ActuatorBaseclass 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
AssetBaseandSensorBaseto prevent modifications of the configurations from leaking outside of the classes.Fixed the case where setting velocity/effort limits for the simulation in the
ActuatorBaseCfgclass was not being used to update the actuator-specific velocity/effort limits.
Changed#
Moved warnings and checks for implicit actuator models to the
ImplicitActuatorclass.Reverted to IsaacLab v1.3 behavior where
isaaclab.actuators.ImplicitActuatorCfg.velocity_limitattribute was not used for setting the velocity limits in the simulation. This makes it possible to deploy policies from previous release without any changes. If users want to set the velocity limits for the simulation, they should use theisaaclab.actuators.ImplicitActuatorCfg.velocity_limit_simattribute instead.
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
XrCfgenvironment configuration withanchor_posandanchor_rotparameters.
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#
Added attributes
velocity_limits_simandeffort_limits_simto theisaaclab.actuators.ActuatorBaseCfgclass to separate solver limits from actuator limits.
0.33.17 (2025-02-13)#
Fixed#
Fixed Imu sensor based observations at first step by updating scene during initialization for
ManagerBasedEnv,DirectRLEnv, andDirectMARLEnv
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
driftwhen callingreset()
0.33.14 (2025-02-01)#
Fixed#
Fixed not updating the timestamp of
body_link_state_wandbody_com_state_wwhenwrite_root_pose_to_simandwrite_joint_state_to_simin theArticulationclass are called.
0.33.13 (2025-01-30)#
Fixed resampling of interval time left for the next event in the
EventManagerclass. 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#
Added
isaaclab.scene.InteractiveSceneCfg.filter_collisionsto allow specifying whether collision masking across environments is desired.
Changed#
Automatic collision filtering now happens as part of the replicate_physics call. When replicate_physics is not enabled, we call the previous
filter_collisionsAPI 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_wandisaaclab.assets.ArticulationData.body_state_wderived properties.Removed deprecation of
isaaclab.assets.Articulation.write_root_state_to_sim().Replaced calls to
isaaclab.assets.ArticulationData.root_com_state_wandisaaclab.assets.ArticulationData.root_link_state_wwith corresponding calls toisaaclab.assets.ArticulationData.root_state_w.Replaced calls to
isaaclab.assets.ArticulationData.body_com_state_wandisaaclab.assets.ArticulationData.body_link_state_wproperties with corresponding calls toisaaclab.assets.ArticulationData.body_state_wproperties.Removed deprecation of
isaaclab.assets.RigidObjectData.root_state_wderived properties.Removed deprecation of
isaaclab.assets.RigidObject.write_root_state_to_sim().Replaced calls to
isaaclab.assets.RigidObjectData.root_com_state_wandisaaclab.assets.RigidObjectData.root_link_state_wproperties with corresponding calls toisaaclab.assets.RigidObjectData.root_state_wproperties.Removed deprecation of
isaaclab.assets.RigidObjectCollectionData.root_state_wderived properties.Removed deprecation of
isaaclab.assets.RigidObjectCollection.write_root_state_to_sim().Replaced calls to
isaaclab.assets.RigidObjectCollectionData.root_com_state_wandisaaclab.assets.RigidObjectData.root_link_state_wproperties with corresponding calls toisaaclab.assets.RigidObjectData.root_state_wproperties.Fixed indexing issue in
write_root_link_velocity_to_siminisaaclab.assets.RigidObjectFixed index broadcasting in
write_object_link_velocity_to_simandwrite_object_com_pose_to_simin theisaaclab.assets.RigidObjectCollectionclass.
0.33.7 (2025-01-14)#
Fixed#
Fixed the respawn of only wrong object samples in
repeated_objects_terrain()ofisaaclab.terrains.trimeshmodule. 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 fromAppLauncherto the app files. This is needed to prevent errors whereisaaclab_assetswas 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 inRecorderManagerto 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#
Added body tracking as an origin type to
isaaclab.envs.ViewerCfgandisaaclab.envs.ui.ViewportCameraController.
0.33.1 (2024-12-26)#
Changed#
Added kinematics initialization call for populating kinematic prim transforms to fabric for rendering.
Added
enable_env_idsflag for cloning and replication to replace collision filtering.
0.33.0 (2024-12-22)#
Fixed#
Fixed populating default_joint_stiffness and default_joint_damping values for ImplicitActuator instances in
isaaclab.assets.Articulation
0.32.2 (2024-12-17)#
Added#
Added null-space (position) control option to
isaaclab.controllers.OperationalSpaceController.Added test cases that uses null-space control for
isaaclab.controllers.OperationalSpaceController.Added information regarding null-space control to the tutorial script and documentation of
isaaclab.controllers.OperationalSpaceController.Added arguments to set specific null-space joint position targets within
isaaclab.envs.mdp.actions.OperationalSpaceControllerActionclass.
0.32.1 (2024-12-17)#
Changed#
Added a default and generic implementation of the
get_object_poses()function in theManagerBasedRLMimicEnvclass.Added a
EXPORT_NONEmode in theDatasetExportModeclass and updatedRecorderManagerto 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_stateandbody_com_stateAPIs replacing the previousbody_stateAPI. 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 inisaaclab.assets.RigidBody,isaaclab.assets.RigidBodyCollection, andisaaclab.assets.Articulation.
0.31.0 (2024-12-16)#
Added#
Added
ManagerBasedRLMimicEnvand 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#
Fixed errors within the calculations of
isaaclab.controllers.OperationalSpaceController.
Added#
Added
isaaclab.controllers.OperationalSpaceControllerto API documentation.Added test cases for
isaaclab.controllers.OperationalSpaceController.Added a tutorial for
isaaclab.controllers.OperationalSpaceController.Added the implementation of
isaaclab.envs.mdp.actions.OperationalSpaceControllerActionclass.
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
LiveLinePlotandImagePlot.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_managersAdded
get_active_iterable_termsimplementation 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
BaseEnvWindowandRLEnvWindowto 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_lengthandflatten_history_dimconfiguration parameters toisaaclab.manager.manager_term_cfg.ObservationTermCfgAdded
history_lengthandflatten_history_dimconfiguration parameters toisaaclab.manager.manager_term_cfg.ObservationGroupCfgAdded full buffer property to
isaaclab.utils.buffers.circular_buffer.CircularBuffer
0.28.4 (2024-12-15)#
Added#
Added action clip to all
isaaclab.envs.mdp.actions.
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_win theapply_actionsmethod ofNonHolonomicAction(previously (N,B,4), now (N,4) since the number of root bodies B is required to be 1). Previouslyapply_actionserrored becauseeuler_xyz_from_quatrequires inputs of shape (N,4).
0.28.1 (2024-12-13)#
Fixed#
Fixed the internal buffers for
set_external_force_and_torquewhere the buffer values would be stale if zero values are sent to the APIs.
0.28.0 (2024-12-12)#
Changed#
Adapted the
UrdfConverterto 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_cfgparameter to thebase_height_l2()function, enabling the use ofRayCasterfor 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.DifferentialInverseKinematicsActionclass 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
Se3HandTrackingto: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
Se3HandTrackingto 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.InitialStateRecorderto return only the states of the specified environment IDs.
0.27.29 (2024-12-06)#
Fixed#
Fixed the enforcement of
velocity_limitsat theroot_physx_viewlevel.
0.27.28 (2024-12-06)#
Changed#
If a USD that contains an articulation root is loaded using a
isaaclab.assets.RigidBodywe 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#
Corrected the projection types of fisheye camera in
isaaclab.sim.spawners.sensors.sensors_cfg.FisheyeCameraCfg. Earlier, the projection names used snakecase instead of camelcase.
0.27.26 (2024-12-06)#
Added#
Added option to define the clipping behavior for depth images generated by
RayCasterCamera,Camera, andTiledCamera
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_planeanddistance_to_cameradepth images. Prev.RayCasterCameraclipped the values to the maximum value of the depth image,Cameradid not clip them and had a different behavior for both types.
0.27.25 (2024-12-05)#
Fixed#
Fixed the condition in
isaaclab.shthat checks whetherpre-commitis installed before attempting installation.
0.27.24 (2024-12-05)#
Fixed#
Removed workaround in
isaaclab.sensors.TiledCameraandisaaclab.sensors.Camerathat was previously required to prevent frame offsets in renders. The denoiser setting is no longer automatically modified based on the resolution of the cameras.
0.27.23 (2024-12-04)#
Fixed#
Added the attributes
wait_for_texturesandwait_for_texturesto enable assets loading check duringDirectRLEnvandManagerBasedEnvreset method when rtx sensors are added to the scene.
0.27.22 (2024-12-04)#
Fixed#
Fixed the order of the incoming parameters in
isaaclab.envs.DirectMARLEnvto correctly useNoiseModelin marl-envs.
0.27.21 (2024-12-04)#
Added#
Added
RecorderManagerand its utility classes to record data from the simulation.Added
EpisodeDatato store data for an episode.Added
DatasetFileHandlerBaseas a base class for handling dataset files.Added
HDF5DatasetFileHandleras a dataset file handler implementation to export and load episodes from HDF5 files.Added
record_demos.pyscript to record human-teleoperated demos for a specified task and export to an HDF5 file.Added
replay_demos.pyscript to replay demos loaded from an HDF5 file.
0.27.20 (2024-12-02)#
Changed#
Changed
isaaclab.envs.DirectMARLEnvto inherit fromGymnasium.Envdue to requirement from Gymnasium v1.0.0 requiring all environments to be a subclass ofGymnasium.Envwhen using themakeinterface.
0.27.19 (2024-12-02)#
Added#
Added
isaaclab.utils.pretrained_checkpointscontaining 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_stagesetting inAppLauncherto 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
Se3HandTrackingwhich enables XR teleop for manipulators.
0.27.15 (2024-11-09)#
Fixed#
Fixed indexing in
isaaclab.assets.Articulation.write_joint_limits_to_sim()to correctly process non-Noneenv_idsandjoint_ids.
0.27.14 (2024-10-23)#
Added#
Added the class
RigidObjectCollectionwhich 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#
Added the attributes
translation,rotation,scaleto translate, rotate, and scale meshes when importing them withMeshConverter.
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.scaleattribute.
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
Articulationclass. This helps improve the processing time for the tendons.
0.27.9 (2024-11-01)#
Added#
Added the
isaaclab.utils.types.ArticulationActionsclass 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_itemsinside 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#
Fixed usage of
meshesproperty inisaaclab.sensors.RayCasterCamerato useself.meshesinstead of the undefinedRayCaster.meshes.Fixed issue in
isaaclab.envs.ui.BaseEnvWindowwhere undefined configs were being accessed when creating debug visualization elements in UI.
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
configclasswithin aconfigclass. Earlier, the list of configclass objects were not converted to dictionary properly whento_dictfunction was called.
0.27.2 (2024-10-21)#
Added#
Added
--kit_argstoAppLauncherto allow passing command line arguments directly to Omniverse Kit SDK.
0.27.1 (2024-10-20)#
Added#
0.27.0 (2024-10-14)#
Added#
Added a method to
configclassto check for attributes with values of typeMISSING. 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.commandsas None. Before, this had to be done using the classisaaclab.command_generators.NullCommandGenerator.Moved the
meshesattribute in theisaaclab.sensors.RayCasterclass from class variable to instance variable. This prevents the meshes to overwrite each other.
0.26.0 (2024-10-16)#
Added#
Added Imu sensor implementation that directly accesses the physx view
isaaclab.sensors.Imu. The sensor comes with a configuration classisaaclab.sensors.ImuCfgand data classisaaclab.sensors.ImuData.Moved and renamed
isaaclab.sensors.camera.utils.convert_orientation_convention()toisaaclab.utils.math.convert_camera_frame_orientation_convention()Moved
isaaclab.sensors.camera.utils.create_rotation_matrix_from_view()toisaaclab.utils.math.create_rotation_matrix_from_view()
0.25.2 (2024-10-16)#
Added#
Added support for different Gymnasium spaces (
Box,Discrete,MultiDiscrete,TupleandDict) 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_actionsandnum_statesinDirectRLEnvCfgas deprecated in favor ofobservation_space,action_spaceandstate_spacerespectively.Mark the
num_observations,num_actionsandnum_statesinDirectMARLEnvCfgas deprecated in favor ofobservation_spaces,action_spacesandstate_spacerespectively.
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_simAPI.
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#
Fixed the
isaaclab.envs.mdp.events.randomize_rigid_body_material()function to correctly sample friction and restitution from the given ranges.
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
sizeparameter forGroundPlaneCfgto 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 useSemanticsmodule directly.
0.24.16 (2024-10-03)#
Changed#
Renamed the observation function
grab_images()toimage()to follow convention of noun-based naming.Renamed the function
convert_perspective_depth_to_orthogonal_depth()to a shorter nameisaaclab.utils.math.orthogonalize_perspective_depth().
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 theunproject_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_kinematicinisaaclab.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. Similarlyupdate_articulations_kinematicwas 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
AppLauncherto 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.ManagerBasedEnvCfgandisaaclab.envs.DirectRLEnvCfgclasses 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 usetorch.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.configclassmethod. 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
AandDbutton bindings insideisaaclab.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.TiledCameraclass to be consistent with all other cameras (equal to type “depth”).
0.24.4 (2024-09-02)#
Fixed#
Added missing SI units to the documentation of
isaaclab.sensors.Cameraandisaaclab.sensors.RayCasterCamera.Added test to check
isaaclab.sensors.RayCasterCamera.set_intrinsic_matrices
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.PinholeCameraCfgisaaclab.sensors.ray_caster.patterns_cfg.PinholeCameraPatternCfgclasses.
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.RayCasterCameraclass. 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.TiledCameraclass.
Changed#
Updated
isaaclab.sensors.TiledCamerato latest RTX tiled rendering API.Single channel outputs for
isaaclab.sensors.TiledCamera,isaaclab.sensors.Cameraandisaaclab.sensors.RayCasterCameranow has shape (H, W, 1).Data type for RGB output for
isaaclab.sensors.TiledCamerachanged fromtorch.floattotorch.uint8.Dimension of RGB output for
isaaclab.sensors.Camerachanged from (H, W, 4) to (H, W, 3). Use typergbato retrieve the previous dimension.
0.23.1 (2024-08-17)#
Changed#
Updated torch to version 2.4.0.
0.23.0 (2024-08-16)#
Added#
Added direct workflow base class
isaaclab.envs.DirectMARLEnvfor multi-agent environments.
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.DeformableObjectclass.
0.22.0 (2024-08-14)#
Added#
Added
modifiersmodule to provide framework for configurable and custom observation data modifiers.Adapted the
ObservationManagerclass 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.JointActionaction term.
0.21.0 (2024-08-05)#
Added#
Added the command line argument
--deviceinAppLauncher. Valid options are:cpu: Use CPU.cuda: Use GPU with device ID0.cuda:N: Use GPU, where N is the device ID. For example,cuda:0. The default value iscuda:0.
Changed#
Simplified setting the device throughout the code by relying on
isaaclab.sim.SimulationCfg.deviceto activate gpu/cpu pipelines.
Removed#
Removed the parameter
isaaclab.sim.SimulationCfg.use_gpu_pipeline. This is now directly inferred fromisaaclab.sim.SimulationCfg.device.Removed the command line input argument
--device_idinAppLauncher. The device id can now be set using the--deviceargument, for example with--device cuda:0.
0.20.8 (2024-08-02)#
Fixed#
Fixed the handling of observation terms with different shapes in the
ObservationManagerclass. 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
ObservationManagerclass 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
RigidObjectclass toArticulationclass. 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_heightto 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.TerrainGeneratorclass. 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#
The
mdp.add_body_massmethod in the events. Please use theisaaclab.envs.mdp.randomize_rigid_body_mass()method instead.The classes
managers.RandomizationManagerandmanagers.RandomizationTermCfgare replaced withisaaclab.managers.EventManagerandisaaclab.managers.EventTermCfgclasses.The following properties in
isaaclab.sensors.FrameTransformerData:target_rot_source–>target_quat_wtarget_rot_w–>target_quat_sourcesource_rot_w–>source_quat_w
The kit experience file
isaaclab.backwards.compatible.kit. This is followed by dropping the support for Isaac Sim 2023.1.1 completely.
0.19.4 (2024-07-13)#
Fixed#
Added the call to “startup” events when using the
ManagerBasedEnvclass. Earlier, the “startup” events were not being called when the environment was initialized. This issue did not occur when using theManagerBasedRLEnvclass 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.meshesmodule.
0.19.2 (2024-07-05)#
Changed#
Modified cloning scheme based on the attribute
replicate_physicsto determine whether environment is homogeneous or heterogeneous.
0.19.1 (2024-07-05)#
Added#
Added a lidar pattern function
lidar_pattern()with corresponding configLidarPatternCfg.
0.19.0 (2024-07-04)#
Fixed#
Fixed parsing of articulations with nested rigid links while using the
isaaclab.assets.Articulationclass. 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_viewfrom theisaaclab.assets.Articulationandisaaclab.assets.RigidObjectclasses. 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_intervaltimes. 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.RigidObjectDataclass. 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_initializedto 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.buffersmodule. 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.ArticulationDataclass. Earlier, this information was not exposed which was inconsistent with other name related information such as joint or body names.
Changed#
Renamed the fields
min_num_time_lagsandmax_num_time_lagstomin_delayandmax_delayin theisaaclab.actuators.DelayedPDActuatorCfgclass. This is to make the naming simpler to understand.
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.envsmodule. 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#
Renamed
isaaclab.sim.SimulationCfg.substepstoisaaclab.sim.SimulationCfg.render_interval. The render logic is now integrated in the decimation loop of the environment.
0.17.13 (2024-06-13)#
Fixed#
Fixed the orientation reset logic in
isaaclab.envs.mdp.events.reset_root_state_uniform()to make it relative to the default orientation. Earlier, the position was sampled relative to the default and the orientation not.
0.17.12 (2024-06-13)#
Added#
Added the class
isaaclab.utils.buffers.TimestampedBufferto store timestamped data.
Changed#
Added time-stamped buffers in the classes
isaaclab.assets.RigidObjectDataandisaaclab.assets.ArticulationDatato update some values lazily and avoid unnecessary computations between physics updates. Before, all the data was always updated at every step, even if it was not used by the task.
0.17.11 (2024-05-30)#
Fixed#
Fixed
isaaclab.sensor.ContactSensornot loading correctly in extension mode. Earlier, theisaaclab.sensor.ContactSensor.body_physx_viewwas not initialized whenisaaclab.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_factorygenerator methodisaaclab.utils.configclass._return_f(), which resulted in shared references such that modifications to compound objects were reflected across all instances generated from the samedefault_factorymethod.
0.17.9 (2024-05-30)#
Added#
Added
variantsattribute to theisaaclab.sim.from_files.UsdFileCfgclass 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#
Added debug visualization utilities in the
isaaclab.managers.ActionManagerclass.
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#
Modified the noise functions to also support add, scale, and abs operations on the data. Added aliases to ensure backward compatibility with the previous functions.
Added
isaaclab.utils.noise.NoiseCfg.operationfor the different operations.Renamed
constant_bias_noisetoisaaclab.utils.noise.constant_noise().Renamed
additive_uniform_noisetoisaaclab.utils.noise.uniform_noise().Renamed
additive_gaussian_noisetoisaaclab.utils.noise.gaussian_noise().
0.17.3 (2024-05-15)#
Fixed#
Set
hide_uiflag in the app launcher for livestream.Fix native client livestream extensions.
0.17.2 (2024-05-09)#
Changed#
Renamed
_rangetodistribution_paramsinevents.pyfor 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#
Added attribute
isaaclab.sim.converters.UrdfConverterCfg.override_joint_dynamicsto properly parse joint dynamics inisaaclab.sim.converters.UrdfConverter.
0.17.0 (2024-05-07)#
Changed#
Renamed
BaseEnvtoisaaclab.envs.ManagerBasedEnv.Renamed
base_env.pytomanager_based_env.py.Renamed
BaseEnvCfgtoisaaclab.envs.ManagerBasedEnvCfg.Renamed
RLTaskEnvtoisaaclab.envs.ManagerBasedRLEnv.Renamed
rl_task_env.pytomanager_based_rl_env.py.Renamed
RLTaskEnvCfgtoisaaclab.envs.ManagerBasedRLEnvCfg.Renamed
rl_task_env_cfg.pytorl_env_cfg.py.Renamed
OIGEEnvtoisaaclab.envs.DirectRLEnv.Renamed
oige_env.pytodirect_rl_env.py.Renamed
RLTaskEnvWindowtoisaaclab.envs.ui.ManagerBasedRLEnvWindow.Renamed
rl_task_env_window.pytomanager_based_rl_env_window.py.Renamed all references of
BaseEnv,BaseEnvCfg,RLTaskEnv,RLTaskEnvCfg,OIGEEnv, andRLTaskEnvWindow.
Added#
Added direct workflow base class
isaaclab.envs.DirectRLEnv.
0.16.4 (2024-05-06)#
Changed#
Added
isaaclab.sensors.TiledCamerato support tiled rendering with RGB and depth.
0.16.3 (2024-04-26)#
Fixed#
Fixed parsing of filter prim path expressions in the
isaaclab.sensors.ContactSensorclass. 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_linkto 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.EMAJointPositionToLimitsActionCfgto 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->EMAJointPositionToLimitsActionTermination:
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 ofisaaclab.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_RENDERor--offscreen_rendertoENABLE_CAMERASor--enable_camerasrespectively.
0.15.12 (2024-04-16)#
Changed#
Replaced calls to the
check_file_pathfunction in theisaaclab.sim.spawners.from_fileswith 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.RLTaskEnvclass. 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.ObservationManagerclass. 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.TerminationManagerclass. 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#
Adds option to return indices/data in the specified query keys order in
isaaclab.managers.SceneEntityCfgclass, and the respectiveisaaclab.utils.string.resolve_matching_names_values()andisaaclab.utils.string.resolve_matching_names()functions.
0.15.6 (2024-03-28)#
Added#
Extended the
isaaclab.app.AppLauncherclass 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.AppLauncherclass from the ones provided by Isaac Sim to the ones provided in Isaac Lab’sappsdirectory.
0.15.5 (2024-03-23)#
Fixed#
Fixed the env origins in
_compute_env_origins_grid()ofisaaclab.terrain.TerrainImporterto match that obtained from the Isaac Simisaacsim.core.cloner.GridClonerclass.
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.NonHolonomicActionCfgclass to use the correct variable when applying actions.
0.15.3 (2024-03-21)#
Added#
Added unit test to check that
isaaclab.scene.InteractiveSceneentity data is not shared between separate instances.
Fixed#
Moved class variables in
isaaclab.scene.InteractiveSceneto correctly be assigned as instance variables.Removed custom
__del__magic method fromisaaclab.scene.InteractiveScene.
0.15.2 (2024-03-21)#
Fixed#
Added resolving of relative paths for the main asset USD file when using the
isaaclab.sim.converters.UrdfConverterclass. 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_donesin theisaaclab.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.RandomizationManagertoisaaclab.managers.EventManagerclass for clarification as the manager takes care of events such as reset in addition to pure randomizations.Renamed
isaaclab.managers.RandomizationTermCfgtoisaaclab.managers.EventTermCfgfor 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.Articulationclass. 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#
Removed the attribute
body_physx_viewfrom theisaaclab.assets.RigidObjectandisaaclab.assets.Articulationclasses. These were causing confusions when used with articulation view since the body names were not following the same ordering.
0.13.1 (2024-03-14)#
Removed#
Removed the
isaaclab.compatmodule. 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.Cameraclass:instance_segmentation_fastandinstance_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.Cameraclass. Earlier, the annotator was givensemanticTypesas 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.Cameraclass. Earlier, the images were always returned asint32. Now, they are casted touint84-channel array before returning if colorization is enabled for the annotation type.
Removed#
Dropped support for
instance_segmentationandinstance_id_segmentationannotations in theisaaclab.sensors.Cameraclass. Their “fast” counterparts should be used instead.Renamed the argument
isaaclab.sensors.CameraCfg.semantic_typestoisaaclab.sensors.CameraCfg.semantic_filter. This is more aligned with Replicator’s terminology for semantic filter predicates.Replaced the argument
isaaclab.sensors.CameraCfg.colorizewith separate colorized arguments for each annotation type (colorize_instance_segmentation,colorize_instance_id_segmentation, andcolorize_semantic_segmentation).
0.12.4 (2024-03-11)#
Fixed#
Adapted randomization terms to deal with
slicefor the body indices. Earlier, the terms were not able to handle the slice object and were throwing an error.Added
slicetype-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.AppLauncherclass to catch theSIGINTsignal and close the application gracefully. This is to prevent the application from crashing when the user pressesCtrl+Cto 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_samplingattribute.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_stiffnessto 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#
Removed the function
sample_new_targets()in the terrain importer. Instead the attributeisaaclab.terrains.TerrainImporter.flat_patchesshould be used to sample new targets.
0.11.3 (2024-03-04)#
Fixed#
Corrects the functions
isaaclab.utils.math.axis_angle_from_quat()andisaaclab.utils.math.quat_error_magnitude()to accept tensors of the form (…, 4) instead of (N, 4). This brings us in line with our documentation and also upgrades one of our functions to handle higher dimensions.
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_idsandbody_idsfromNonetoslice(None)in theisaaclab.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.AppLauncherwhich 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_fabricto 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.utilsare cast tostr. Previously, we had handled path types as strings without casting.
0.10.24 (2024-02-26)#
Added#
Added tracking of contact time in the
isaaclab.sensors.ContactSensorclass. Previously, only the air time was being tracked.Added contact force threshold,
isaaclab.sensors.ContactSensorCfg.force_threshold, to detect when the contact sensor is in contact. Previously, this was set to hard-coded 1.0 in the sensor class.
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
SimulationContextwhen 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_determinismto 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#
0.10.17 (2024-02-02)#
Fixed#
Fixed carb setting
/app/livestream/enabledto be set as False unless live-streaming is specified byisaaclab.app.AppLaunchersettings. This fixes the logic ofSimulationContext.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#
Fixed the tensor shape of
isaaclab.sensors.ContactSensorData.force_matrix_w. Earlier, the reshaping led to a mismatch with the data obtained from PhysX.
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.FrameTransformerclass. 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.FrameTransformerDataclass to be more consistent with the terminology used in the asset classes. The following quantities are deprecated:target_rot_w->target_quat_wsource_rot_w->source_quat_wtarget_rot_source->target_quat_source
0.10.11 (2024-01-08)#
Fixed#
Fixed attribute error raised when calling the
isaaclab.envs.mdp.TerrainBasedPositionCommandcommand term.Added a dummy function in
isaaclab.terrain.TerrainImporterthat 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#
Fixed reliance on non-existent
Viewportinisaaclab.sim.SimulationContextwhen loading livestreaming by ensuring that the extensionomni.kit.viewport.windowis enabled inisaaclab.app.AppLauncherwhen livestreaming is enabled
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.DifferentialInverseKinematicsActionclass 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.VisualizationMarkersclass. Earlier, the properties were applied on the XForm prim instead of the Mesh prim.
0.10.5 (2023-12-18)#
Fixed#
Fixed test
check_base_env_anymal_locomotion.py, which previously calledtorch.jit.load()with the path to a policy (which would work for a local file), rather than callingisaaclab.utils.assets.read_file()on the path to get the file itself.
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.toolbarextension is loaded.
0.10.3 (2023-12-12)#
Added#
Added the attribute
isaaclab.actuators.ActuatorNetMLPCfg.input_orderto specify the order of the input tensors to the MLP network.
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.DCMotorclass. 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.SimulationContextclass 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.utilsmodule.Added properties
isaaclab.assets.AssetBase.num_instancesandisaaclab.sensor.SensorBase.num_instancesto 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_viewandbody_view. Instead useroot_physx_viewandbody_physx_viewto access the underlying PhysX views.
0.9.55 (2023-12-03)#
Fixed#
Fixed the Nucleus directory path in the
isaaclab.utils.assets.NVIDIA_NUCLEUS_DIR. Earlier, it was referring to theNVIDIA/Assetsdirectory instead ofNVIDIA.
0.9.54 (2023-11-29)#
Fixed#
Fixed pose computation in the
isaaclab.sensors.Cameraclass to obtain them from XFormPrimView instead of usingUsdGeomCamera.ComputeLocalToWorldTransformmethod. 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
uint32warp arrays inside theisaaclab.utils.array.convert_to_torch()method. PyTorch does not support this type, so it is converted toint32before 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
Noneto theisaaclab.actuators.ActuatorBaseCfgclass. 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#
Added the method
isaaclab.utils.assets.retrieve_file_path()to obtain the absolute path of a file on the Nucleus server or locally.
Fixed#
Fixed hiding of STOP button in the
AppLauncherclass 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
InteractiveSceneclass.Added a warning message when the user tries to reference an invalid prim in the
FrameTransformersensor.
0.9.50 (2023-11-28)#
Added#
Hid the
STOPbutton 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 pressCtrl+Cto 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#
Fixed initialization of drift in the
isaaclab.sensors.RayCasterCameraclass.
0.9.47 (2023-11-24)#
Fixed#
Automated identification of the root prim in the
isaaclab.assets.RigidObjectandisaaclab.assets.Articulationclasses. Earlier, the root prim was hard-coded to the spawn prim path. Now, the class searches for the root prim under the spawn prim path.
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.UniformPoseCommandGeneratorto 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()andstep()to theisaaclab.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.AssetBaseandisaaclab.sensors.SensorBaseclasses 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
ActuatorBaseclass. Earlier, the stiffness values were being set into damping when a dictionary configuration was passed to the actuator model.Added dealing with
intandfloatvalues in the configurations ofActuatorBase. 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
ArticulationViewclass. 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_wtodefault_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_viewvariable inside theRigidObjectclass to the publicbody_viewproperty. For a rigid object, the private variable is not defined.
0.9.38 (2023-11-07)#
Changed#
Upgraded the
isaaclab.envs.RLTaskEnvclass to support Gym 0.29.0 environment definition.
Added#
Added computation of
time_outsandterminatedsignals 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.RLTaskEnvclass. These now follow closely to how Gym VecEnv handles the spaces.
0.9.37 (2023-11-06)#
Fixed#
Fixed broken visualization in
isaaclab.sensors.FrameTramsformerclass by overwriting the correct_debug_vis_callbackfunction.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.BaseEnvandisaaclab.envs.RLTaskEnvclasses. 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 theisaaclab.utils.warp.kernelsmodule. Warp language does not support the__future__imports.
0.9.34 (2023-11-02)#
Fixed#
Added missing import of
from __future__ import annotationsin theisaaclab.utils.warpmodule. This is needed to have a consistent behavior across Python versions.
0.9.33 (2023-11-02)#
Fixed#
Fixed the
isaaclab.command_generators.NullCommandGeneratorclass. 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.RLEnvclass toisaaclab.envs.RLTaskEnvto avoid confusions in terminologies between environments and tasks.
0.9.31 (2023-11-02)#
Added#
Added the
isaaclab.sensors.RayCasterCameraclass, 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
InteractiveSceneclass 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
kwargsto theRLEnvclass 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.UrdfConverterclass. 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_casein setters of USD attributes. This is to avoid confusion with the naming of the attributes in the USD file.
Fixed#
Fixed the selection of material prim in the
isaaclab.sim.spawners.materials.spawn_preview_surfacemethod. Earlier, the created prim was being selected in the viewport which interfered with the selection of prims by the user.Updated
isaaclab.sim.converters.MeshConverterto use a different stage than the default stage for the conversion. This is to avoid the issue of the stage being closed when the conversion is done.
0.9.26 (2023-10-31)#
Added#
Added the sensor implementation for
isaaclab.sensors.FrameTransformerclass. Currently, it handles obtaining the transformation between two frames in the same articulation.
0.9.25 (2023-10-27)#
Added#
Added the
isaaclab.envs.uimodule to put all the UI-related classes in one place. This currently implements theisaaclab.envs.ui.BaseEnvWindowandisaaclab.envs.ui.RLEnvWindowclasses. Users can inherit from these classes to create their own UI windows.Added the attribute
isaaclab.envs.BaseEnvCfg.ui_window_class_typeto 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
AssetBaseandSensorBasethat 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.NullCommandGeneratorclass for no command environments. This is easier to work with than having checks forNonein the command generator.
Fixed#
Moved the randomization manager to the
isaaclab.envs.BaseEnvclass with the default settings to reset the scene to the defaults specified in the configurations of assets.Moved command generator to the
isaaclab.envs.RlEnvclass 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.RenderModeto useNO_GUI_OR_RENDERINGandNO_RENDERINGinstead ofHEADLESSfor clarity.Changed
isaaclab.sim.SimulationContextto be capable of handling livestreaming and offscreen rendering.Changed
isaaclab.app.AppLauncherenvvarVIEWPORT_RECORDto the more descriptiveOFFSCREEN_RENDER.
0.9.19 (2023-10-25)#
Added#
Added Gym observation and action spaces for the
isaaclab.envs.RLEnvclass.
0.9.18 (2023-10-23)#
Added#
Created
isaaclab.sim.converters.asset_converter.AssetConverterto serve as a base class for all asset converters.Added
isaaclab.sim.converters.mesh_converter.MeshConverterto handle loading and conversion of mesh files (OBJ, STL and FBX) into USD format.Added script
convert_mesh.pytosource/toolsto allow users to convert a mesh to USD via command line arguments.
Changed#
Renamed the submodule
isaaclab.sim.loaderstoisaaclab.sim.convertersto be more general with the functionality of the module.Updated
check_instanceable.pyscript to convert relative paths to absolute paths.
0.9.17 (2023-10-22)#
Added#
Added setters and getters for term configurations in the
RandomizationManager,RewardManagerandTerminationManagerclasses. This allows the user to modify the term configurations after the manager has been created.Added the method
compute_group()to theisaaclab.managers.ObservationManagerclass 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#
Added support for keyword arguments for terms in the
isaaclab.managers.ManagerBase.
Fixed#
Fixed resetting of buffers in the
TerminationManagerclass. Earlier, the values were being set to0.0instead ofFalse.
0.9.15 (2023-10-22)#
Added#
Added base yaw heading and body acceleration into
isaaclab.assets.RigidObjectDataclass. These quantities are computed inside theRigidObjectclass.
Fixed#
Fixed the
isaaclab.assets.RigidObject.set_external_force_and_torque()method to correctly deal with the body indices.Fixed a bug in the
isaaclab.utils.math.wrap_to_pi()method to prevent self-assignment of the input tensor.
0.9.14 (2023-10-21)#
Added#
Added 2-D drift (i.e. along x and y) to the
isaaclab.sensors.RayCasterclass.Added flags to the
isaaclab.sensors.ContactSensorCfgto optionally obtain the sensor origin and air time information. Since these are not required by default, they are disabled by default.
Fixed#
Fixed the handling of contact sensor history buffer in the
isaaclab.sensors.ContactSensorclass. Earlier, the buffer was not being updated correctly.
0.9.13 (2023-10-20)#
Fixed#
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.Articulationclass. The new implementation caches the outputs from explicit actuator model into thejoint_pos_*_simbuffer 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.SpawnerCfgclass. 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#
Added
--livestreamand--rosCLI args toisaaclab.app.AppLauncherclass.Added a static function
isaaclab.app.AppLauncher.add_app_launcher_args(), which appends the arguments needed forisaaclab.app.AppLauncherto the argument parser.
Changed#
Within
isaaclab.app.AppLauncher, removedREMOTE_DEPLOYMENTenv-var processing in the favor ofHEADLESSandLIVESTREAMenv-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_baseto 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.DifferentialIKControllerto 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,SensorBaseandCommandGenerator. The fix ensures that object gets deleted when the user deletes the object.
0.9.7 (2023-09-26)#
Fixed#
Modified the
isaaclab.markers.VisualizationMarkersto use theisaaclab.sim.spawner.SpawnerCfgclass 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_typeattribute instead ofclsorcls_name.
0.9.5 (2023-09-25)#
Changed#
Added future import of
annotationsto 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.envsmodule 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.SceneEntityCfgto 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.RenderModeto handle different rendering modes based on what the user wants to update (viewport, cameras, or UI elements).
Fixed#
Fixed the
isaaclab.command_generators.CommandGeneratorBaseto register a debug visualization callback similar to how sensors and robots handle visualization.
0.9.3 (2023-08-23)#
Added#
Enabled the faulthander to catch segfaults and print the stack trace. This is enabled by default in the
isaaclab.app.AppLauncherclass.
Fixed#
Re-added the
isaaclab.utils.kitto thecompatdirectory and fixed all the references to it.Fixed the deletion of Replicator nodes for the
isaaclab.sensors.Cameraclass. 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
testdirectory 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.TerrainGeneratorclass. Currently, it only supports coloring the mesh randomly ("random"), based on the terrain height ("height"), and no coloring ("none").
Fixed#
Modified the
isaaclab.terrain.TerrainImporterclass 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.Cameraclass. These conventions are:opengl: the camera is looking down the -Z axis with the +Y axis pointing upros: the camera is looking down the +Z axis with the +Y axis pointing downworld: 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.OffsetCfgclass and inisaaclab.sensors.Camera.set_world_pose()method. Additionally, all conventions are saved toisaaclab.sensors.CameraDataclass 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 theisaaclab.sensors.SensorBaseCfg.debug_visflag).
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()andinitialize()calls.Added utility methods to
isaaclab.utils.stringmodule 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
ArticulationandRigidObjectshould be used.
0.8.12 (2023-08-18)#
Added#
Added other properties provided by
PhysicsSceneto theisaaclab.sim.SimulationContextclass to allow setting CCD, solver iterations, etc.Added commonly used functions to the
SimulationContextclass 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.PhysxCfgfrom multiplication to scientific notation to avoid confusion with the values.
0.8.11 (2023-08-18)#
Added#
Adds utility functions and configuration objects in the
isaaclab.sim.spawnersto create the following prims in the scene:isaaclab.sim.spawners.from_file: Create a prim from a USD/URDF file.isaaclab.sim.spawners.shapes: Create USDGeom prims for shapes (box, sphere, cylinder, capsule, etc.).isaaclab.sim.spawners.materials: Create a visual or physics material prim.isaaclab.sim.spawners.lights: Create a USDLux prim for different types of lights.isaaclab.sim.spawners.sensors: Create a USD prim for supported sensors.
Changed#
Modified the
SimulationContextclass 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.schemasmodule. 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.UrdfLoaderclass to theisaaclab.sim.loadersmodule 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.schemasmodule. These allow modifying properties of the physics solver on the asset using configuration objects.
0.8.7 (2023-08-03)#
Fixed#
Added support for __post_init__ in the
isaaclab.utils.configclassdecorator.
0.8.6 (2023-08-03)#
Added#
Added support for callable classes in the
isaaclab.managers.ManagerBase.
0.8.5 (2023-08-03)#
Fixed#
Fixed the
isaaclab.markers.Visualizationmarkersclass so that the markers are not visible in camera rendering mode.
Changed#
Simplified the creation of the point instancer in the
isaaclab.markers.Visualizationmarkersclass. 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#
Added the
isaaclab.sim.SimulationContextclass to theisaaclab.simmodule. This class inherits from theisaacsim.core.api.simulation_context.SimulationContextclass and adds the ability to create a simulation context from a configuration object.
0.8.3 (2023-08-02)#
Changed#
Moved the
ActuatorBaseclass to theisaaclab.actuators.actuator_basemodule.Renamed the
isaaclab.actuators.actuatormodule toisaaclab.actuators.actuator_pdto make it more explicit that it contains the PD actuator models.
0.8.2 (2023-08-02)#
Changed#
Cleaned up the
isaaclab.terrain.TerrainImporterclass 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.AppLauncherclass to remove Isaac Lab packages from the path before launching the simulation application. This prevents the warning messages that appears when the user launches theSimulationApp.
Added#
Enabled necessary viewport extensions in the
isaaclab.app.AppLauncherclass itself ifVIEWPORT_ENABLEDflag is true.
0.8.0 (2023-07-26)#
Added#
Added the
ActionManagerclass to theisaaclab.managersmodule to handle actions in the environment through action terms.Added contact force history to the
isaaclab.sensors.ContactSensorclass. The history is stored in thenet_forces_w_historyattribute of the sensor data.
Changed#
Implemented lazy update of buffers in the
isaaclab.sensors.SensorBaseclass. 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.ActionManagerclass. 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.TerrainImporterclass. 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.Visualizationmarkersclass. Earlier, the orientation was being set into the point instancer in the wrong order (wxyzinstead ofxyzw).
0.7.3 (2023-07-25)#
Fixed#
Fixed the issue with multiple inheritance in the
isaaclab.utils.configclassdecorator. 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#
Added the method
replace()to theisaaclab.utils.configclassdecorator to allow creating a new configuration object with values replaced from keyword arguments. This function internally calls the dataclasses.replace.
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, andRandomizationManagerclasses to theisaaclab.managersmodule to handle termination, curriculum, and randomization respectively.
0.7.0 (2023-07-22)#
Added#
Created a new
isaaclab.managersmodule for all the managers related to the environment / scene. This includes theisaaclab.managers.ObservationManagerandisaaclab.managers.RewardManagerclasses that were previously in theisaaclab.utils.mdpmodule.Added the
isaaclab.managers.ManagerBaseclass to handle the creation of managers.Added configuration classes for
ObservationTermCfgandRewardTermCfgto allow easy creation of observation and reward terms.
Changed#
Changed the behavior of
ObservationManagerandRewardManagerclasses to accept the keyfuncin 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.mdpmodule.Modified the necessary scripts to use the
isaaclab.compat.utils.mdpmodule.
0.6.2 (2023-07-21)#
Added#
Added the
isaaclab.command_generatorsto 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#
Fixed the
isaaclab.utils.math.quat_apply_yaw()to compute the yaw quaternion correctly.
Added#
Added functions to convert string and callable objects in
isaaclab.utils.string.
0.6.0 (2023-07-16)#
Added#
Added the argument
sort_keysto theisaaclab.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.configclassto 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_keysin theisaaclab.utils.io.yaml.dump_yaml()method toFalse.Moved the old config classes in
isaaclab.utils.configclasstoisaaclab.compat.utils.configclassso that users can still run their old code where alphabetical ordering was used.
0.5.0 (2023-07-04)#
Added#
Added a generalized
isaaclab.sensors.SensorBaseclass that leverages the ideas of views to handle multiple sensors in a single class.Added the classes
isaaclab.sensors.RayCaster,isaaclab.sensors.ContactSensor, andisaaclab.sensors.Camerathat output a batched tensor of sensor data.
Changed#
Renamed the parameter
sensor_ticktoupdate_freqto make it more intuitive.Moved the old sensors in
isaaclab.sensorstoisaaclab.compat.sensors.Modified the standalone scripts to use the
isaaclab.compat.sensorsmodule.
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.seedto make generation of terrains reproducible. The default value isNonewhich means that the seed is not set.
Changed#
Changed the saving of
originsinisaaclab.terrains.TerrainGeneratorclass to be in CSV format instead of NPY format.
0.4.3 (2023-06-28)#
Added#
Added the
isaaclab.markers.PointInstancerMarkerclass that wraps around UsdGeom.PointInstancer to directly work with torch and numpy arrays.
Changed#
Moved the old markers in
isaaclab.markerstoisaaclab.compat.markers.Modified the standalone scripts to use the
isaaclab.compat.markersmodule.
0.4.2 (2023-06-28)#
Added#
Added the sub-module
isaaclab.terrainsto 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.AppLauncherclass to allow controlled instantiation of the SimulationApp and extension loading for remote deployment and ROS bridges.
Changed#
Modified all standalone scripts to use the
isaaclab.app.AppLauncherclass.
0.4.0 (2023-05-27)#
Added#
Added a helper class
isaaclab.asset_loader.UrdfLoaderthat converts a URDF file to instanceable USD file based on the input configuration object.
0.3.2 (2023-04-27)#
Fixed#
Added safe-printing of functions while using the
isaaclab.utils.dict.print_dict()function.
0.3.1 (2023-04-23)#
Added#
Added a modified version of
lula_franka_gen.urdfwhich includes an end-effector frame.Added a standalone script
play_rmpflow.pyto 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
Se2GamepadandSe3Gamepadfor gamepad teleoperation support.
0.2.8 (2023-04-10)#
Fixed#
Fixed bugs in
axis_angle_from_quat()in theisaaclab.utils.mathto handle quaternion with negative w component.Fixed bugs in
subtract_frame_transforms()in theisaaclab.utils.mathby adding the missing final rotation.
0.2.7 (2023-04-07)#
Fixed#
Fixed repetition in applying mimic multiplier for “p_abs” in the
GripperActuatorGroupclass.Fixed bugs in
reset_buffers()in theRobotBaseandLeggedRobotclasses.
0.2.6 (2023-03-16)#
Added#
Added the
CollisionPropertiesCfgto rigid/articulated object and robot base classes.Added the
PhysicsMaterialCfgto theSingleArmclass for tool sites.
Changed#
Changed the default control mode of the
PANDA_HAND_MIMIC_GROUP_CFGto 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
MobileManipulatorclass.
0.2.4 (2023-03-04)#
Added#
Added
apply_nested_physics_material()to theisaaclab.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_pathargument in theRigidObjectCfg.MetaInfoCfgclass.
0.2.3 (2023-02-24)#
Fixed#
Fixed the end-effector body index used for getting the Jacobian in the
SingleArmandMobileManipulatorclasses.
0.2.2 (2023-01-27)#
Fixed#
Fixed the
set_world_pose_ros()andset_world_pose_from_view()in theCameraclass.
Deprecated#
Removed the
set_world_pose_from_ypr()method from theCameraclass.
0.2.1 (2023-01-26)#
Fixed#
Fixed the
Cameraclass 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.pywith--gpuflag 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.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
robotsandsensorssubdirectories.
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
isaaclabtoisaaclab_assetsextension.
isaaclab_tasks#
Extension containing the environments built using Isaac Lab.
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 IDIsaac-Stack-Cube-Franka-IK-Rel-Skillgen-v0.Added bin cube stacking environment for SkillGen/Mimic: *
FrankaBinStackEnvCfg; Gym IDIsaac-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-v0environment.
0.10.47 (2025-07-25)#
Added#
New
Isaac-PickPlace-GR1T2-WaistEnabled-Abs-v0environment 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
--agentto RL workflow scripts to allow switching between different configurations.
0.10.45 (2025-07-16)#
Added#
Added
from __future__ import annotationsto 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, andIsaac-Forge-NutThread-Direct-v0environments as direct RL envs. These environments extendIsaac-Factory-*-v0with 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-v0environment.
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-v0environment 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-v0stacking environment with multi-modality camera inputs at higher resolution.
Changed#
Updated the
Isaac-Stack-Cube-Franka-IK-Rel-Visuomotor-v0stacking 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-v0object asset to a steering wheel.
0.10.33 (2025-05-12)#
Changed#
Increase
Isaac-PickPlace-GR1T2-Abs-v0sim dt to 120Hz for improved stability.Fix object initial state in
Isaac-PickPlace-GR1T2-Abs-v0to be above the table.
0.10.32 (2025-05-01)#
Added#
Added new GR1 tasks (
Isaac-NutPour-GR1T2-Pink-IK-Abs-v0, andIsaac-ExhaustPipe-GR1T2-Pink-IK-Abs-v0).
0.10.31 (2025-04-02)#
Changed#
Adds an idle action parameter to the
Isaac-PickPlace-GR1T2-Abs-v0environment 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, andIsaac-Cartpole-Camera-Showcase-*-Direct-v0).
0.10.28 (2025-03-19)#
Changed#
Updated the
Isaac-PickPlace-GR1T2-Abs-v0environment 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-v0environment 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-v0stacking environment with camera inputs.
0.10.24 (2025-02-13)#
Changed#
Set
Isaac-Stack-Cube-Franka-IK-Rel-v0to use sim parameters from baseStackEnvCfg, improving simulation stability.
0.10.23 (2025-02-11)#
Fixed#
Fixed the inconsistent object pos observations in the
Isaac-Stack-Cube-Frankaenvironment 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-v0andIsaac-Humanoid-AMP-Walk-Direct-v0environments 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.OperationalSpaceControllerActioninside theIsaac-Reach-Franka-OSC-v0environment to enable nullspace control.
0.10.19 (2024-12-17)#
Fixed#
Fixed
isaaclab_tasks.manager_based.manipulation.stack.mdp.ee_frame_pos()to outputee_frame_poswith respect to the environment’s origin.
0.10.18 (2024-12-16)#
Added#
Added
Factory-Direct-v0environment 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-v0andIsaac-Reach-Franka-OSC-Play-v0variations of the manager based reach environment that usesisaaclab.envs.mdp.actions.OperationalSpaceControllerAction.
0.10.16 (2024-12-03)#
Added#
Added
Isaac-Stack-Cube-Franka-IK-Rel-v0andIsaac-Stack-Cube-Instance-Randomize-Franka-IK-Rel-v0environments 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
mdpdirectories 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-v0to align with Robosuite stacking env.
0.10.8 (2024-09-25)#
Added#
Added
Isaac-Stack-Cube-Franka-IK-Rel-v0environment 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_actionsandnum_statesin single-agent direct tasks byobservation_space,action_spaceandstate_spacerespectively.Replace deprecated
num_observations,num_actionsandnum_statesin multi-agent direct tasks byobservation_spaces,action_spacesandstate_spacerespectively.
0.10.6 (2024-09-25)#
Added#
Added
Isaac-Cartpole-RGB-Camera-v0andIsaac-Cartpole-Depth-Camera-v0manager 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-v0environment with heterogeneous proprioception and vision observations.
0.10.3 (2024-09-05)#
Added#
Added environment config flag
rerender_on_resetto allow updating sensor data after a reset.
0.10.2 (2024-08-23)#
Added#
Added
Isaac-Shadow-Hand-Over-Direct-v0multi-agent environment
0.10.1 (2024-08-21)#
Added#
Added
Isaac-Cart-Double-Pendulum-Direct-v0multi-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
--cpuwith--devicein 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-v0environment
Changed#
Renamed
Isaac-Shadow-Hand-Direct-v0environments toIsaac-Repose-Cube-Shadow-Direct-v0.Renamed
Isaac-Shadow-Hand-OpenAI-FF-Direct-v0environments toIsaac-Repose-Cube-Shadow-OpenAI-FF-Direct-v0.Renamed
Isaac-Shadow-Hand-OpenAI-LSTM-Direct-v0environments toIsaac-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_posandgripper_joint_pos. Now, they are calledarm_actionandgripper_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#
Updated the tasks to use the renamed attribute
isaaclab.sim.SimulationCfg.render_interval.
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-v0to 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_iterationsargument 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, andIsaac-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#
Renamed all references of
BaseEnv,RLTaskEnv, andOIGEEnvtoisaaclab.envs.ManagerBasedEnv,isaaclab.envs.ManagerBasedRLEnv, andisaaclab.envs.DirectRLEnvrespectively.Split environments into
manager_basedanddirectfolders.
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-v0andIsaac-Repose-Allegro-Cube-NoVelObs-v0for 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-v0for 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#
0.5.4 (2024-02-06)#
Added#
Added a check for the flag
isaaclab.envs.ManagerBasedRLEnvCfg.is_finite_horizonin 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.ManagerBasedRLEnvclass. TheManagerBasedRLEnvclass inherits from thegymnasium.Envclass (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.Wrapperclass. 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_tasksmodule. Earlier it was not skipping the blacklisted packages properly.
0.4.3 (2023-09-25)#
Changed#
Added future import of
annotationsto 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.RLEnvclass. TheRLEnvcontains RL-specific managers such as the reward, termination, randomization and curriculum managers. These are all configured using theisaaclab.envs.RLEnvConfigclass. TheRLEnvclass inherits from theisaaclab.envs.ManagerBasedEnvandgym.Envclasses.
Fixed#
Adapted the wrappers to use the new
isaaclab.envs.RLEnvclass.
0.4.1 (2023-08-02)#
Changed#
Adapted the base
IsaacEnvclass to use theSimulationContextclass from theisaaclab.simmodule. 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
IsaacEnvclass. 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
IsaacEnvclass 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
headlessinIsaacEnvclass torender, 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
viewportto theIsaacEnvclass to enable/disable rendering of the viewport. If the flag is set toTrue, the viewport is enabled and the environment is rendered in the background.Updated the training scripts in the
scripts/reinforcement_learningdirectory to use the new flagviewport. If the CLI argument--videois passed, videos are recorded in thevideos/traindirectory using thegym.wrappers.RecordVideowrapper.
Changed#
The
IsaacEnvclass supports different rendering mode as referenced in OpenAI Gym’srendermethod. 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
IsaacEnvto pass all the keyword arguments to the constructor ofIsaacEnvclass.
Fixed#
Clarified the documentation of
headlessflag in theIsaacEnvclass. 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-v0environment.
0.2.2 (2023-03-04)#
Fixed#
Fixed the issue with rigid object not working in the
Isaac-Lift-Franka-v0environment.
0.2.1 (2023-03-01)#
Added#
Added a flag
disable_contact_processingto theSimCfgclass 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
SimCfgclass.Added enabling of
omni.kit.viewportandisaacsim.replicatorextensions 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_supportinSimCfgclass to False. The flag is overridden to True insideIsaacEnvclass 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_physicsto theSimCfgclass.Increased the default value of
gpu_found_lost_pairs_capacityinPhysxCfgclass
0.1.1 (2023-01-18)#
Fixed#
Fixed a bug in
Isaac-Velocity-Anymal-C-v0where the domain randomization is not applicable if cloning the environments withreplicate_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.