We have now released v0.2.0! Please use the latest version for the best experience.

Extensions Changelog

Contents

Extensions Changelog#

All notable changes to this project are documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

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

omni.isaac.orbit#

Extension containing the core framework of Orbit.

0.15.7 (2024-03-28)#

Added#

0.15.6 (2024-03-28)#

Added#

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

Changed#

  • Changed default loading of experience files in the omni.isaac.orbit.app.AppLauncher class from the ones provided by Isaac Sim to the ones provided in Orbit’s source/apps directory.

0.15.5 (2024-03-23)#

Fixed#

  • Fixed the env origins in _compute_env_origins_grid() of omni.isaac.orbit.terrain.TerrainImporter to match that obtained from the Isaac Sim omni.isaac.cloner.GridCloner class.

Added#

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

0.15.4 (2024-03-22)#

Fixed#

  • Fixed the NonHolonomicActionCfg variable naming from joint_vel to _joint_vel_command to match the initialized variable in the init() function.

0.15.3 (2024-03-21)#

Added#

Fixed#

0.15.2 (2024-03-21)#

Fixed#

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

0.15.1 (2024-03-19)#

Fixed#

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

  • Removed the resetting of _term_dones in the omni.isaac.orbit.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#

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 omni.isaac.orbit.assets.Articulation class. Earlier, the body names were not following the same ordering as the bodies in the articulation. This led to issues when using the body names to access data related to the links from the articulation view (such as Jacobians, mass matrices, etc.).

Removed#

0.13.1 (2024-03-14)#

Removed#

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

0.13.0 (2024-03-12)#

Added#

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

Fixed#

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

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

Removed#

0.12.4 (2024-03-11)#

Fixed#

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

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

0.12.3 (2024-03-11)#

Fixed#

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

0.12.2 (2024-03-10)#

Added#

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

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

  • Added reward term for penalizing specific termination terms.

Fixed#

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

0.12.1 (2024-03-09)#

Added#

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

0.12.0 (2024-03-08)#

Added#

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 omni.isaac.orbit.envs.mdp.commands.UniformVelocityCommandCfg.heading_control_stiffness to control the stiffness of the heading control term in the velocity command term. Earlier, this was hard-coded to 0.5 inside the term.

Removed#

0.11.3 (2024-03-04)#

Fixed#

0.11.2 (2024-03-04)#

Added#

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

0.11.1 (2024-02-29)#

Added#

  • Replaced the default values for joint_ids and body_ids from None to slice(None) in the omni.isaac.orbit.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 omni.isaac.orbit.app.AppLauncher which handled ROS extension loading. We no longer need them in Isaac Sim>=2023.1 to control the load order to avoid crashes.

  • Upgraded Dockerfile to use ISAACSIM_VERSION=2023.1.1 by default.

0.10.28 (2024-02-29)#

Added#

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

0.10.27 (2024-02-28)#

Added#

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

0.10.26 (2024-02-26)#

Added#

  • Added a viewport camera controller class to the omni.isaac.orbit.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 omni.isaac.orbit.sim.utils are cast to str. Previously, we had handled path types as strings without casting.

0.10.24 (2024-02-26)#

Added#

0.10.23 (2024-02-21)#

Fixed#

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

0.10.22 (2024-02-14)#

Fixed#

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

0.10.21 (2024-02-12)#

Fixed#

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

0.10.20 (2024-02-12)#

Added#

0.10.19 (2024-02-08)#

Fixed#

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

0.10.18 (2024-02-05)#

Fixed#

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

0.10.17 (2024-02-02)#

Fixed#

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

0.10.16 (2024-01-29)#

Added#

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

0.10.15 (2024-01-29)#

Fixed#

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

0.10.14 (2024-01-22)#

Fixed#

0.10.13 (2024-01-15)#

Fixed#

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

0.10.12 (2024-01-10)#

Fixed#

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

Deprecated#

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

    • target_rot_w -> target_quat_w

    • source_rot_w -> source_quat_w

    • target_rot_source -> target_quat_source

0.10.11 (2024-01-08)#

Fixed#

  • Fixed attribute error raised when calling the omni.isaac.orbit.envs.mdp.TerrainBasedPositionCommand command term.

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

0.10.10 (2023-12-21)#

Fixed#

0.10.9 (2023-12-21)#

Fixed#

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

0.10.8 (2023-12-20)#

Fixed#

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

0.10.7 (2023-12-19)#

Fixed#

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

0.10.6 (2023-12-19)#

Added#

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

Fixed#

0.10.5 (2023-12-18)#

Fixed#

0.10.4 (2023-12-14)#

Fixed#

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

0.10.3 (2023-12-12)#

Added#

Fixed#

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

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

0.10.2 (2023-12-12)#

Fixed#

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

0.10.1 (2023-12-06)#

Added#

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#

Removed#

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

0.9.55 (2023-12-03)#

Fixed#

0.9.54 (2023-11-29)#

Fixed#

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

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

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

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

0.9.53 (2023-11-29)#

Changed#

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

Added#

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

0.9.52 (2023-11-29)#

Changed#

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

Added#

Fixed#

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

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

0.9.51 (2023-11-29)#

Changed#

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

Added#

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

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

0.9.50 (2023-11-28)#

Added#

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

Removed#

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

0.9.49 (2023-11-27)#

Added#

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

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

0.9.48 (2023-11-24)#

Fixed#

0.9.47 (2023-11-24)#

Fixed#

0.9.46 (2023-11-24)#

Fixed#

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

0.9.45 (2023-11-24)#

Added#

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

0.9.44 (2023-11-16)#

Added#

  • Added methods reset() and step() to the omni.isaac.orbit.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 omni.isaac.orbit.assets.AssetBase and omni.isaac.orbit.sensors.SensorBase classes with subscription to time-line play and stop events. This is to prevent issues in cases where physics first needs to perform mesh cooking and handles are not available immediately. For instance, with deformable meshes.

0.9.42 (2023-11-16)#

Fixed#

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

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

0.9.41 (2023-11-16)#

Fixed#

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

0.9.40 (2023-11-09)#

Fixed#

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

Changed#

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

0.9.39 (2023-11-08)#

Fixed#

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

0.9.38 (2023-11-07)#

Changed#

Added#

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

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

0.9.37 (2023-11-06)#

Fixed#

  • Fixed broken visualization in omni.isaac.orbit.sensors.FrameTramsformer class by overwriting the correct _debug_vis_callback function.

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

0.9.36 (2023-11-03)#

Fixed#

0.9.35 (2023-11-02)#

Fixed#

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

0.9.34 (2023-11-02)#

Fixed#

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

0.9.33 (2023-11-02)#

Fixed#

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

0.9.32 (2023-11-02)#

Changed#

0.9.31 (2023-11-02)#

Added#

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

0.9.30 (2023-11-01)#

Fixed#

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

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

0.9.29 (2023-11-01)#

Fixed#

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

0.9.28 (2023-11-01)#

Changed#

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

0.9.27 (2023-10-31)#

Changed#

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

Fixed#

0.9.26 (2023-10-31)#

Added#

0.9.25 (2023-10-27)#

Added#

0.9.24 (2023-10-27)#

Changed#

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

0.9.23 (2023-10-27)#

Fixed#

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

0.9.22 (2023-10-26)#

Added#

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

Fixed#

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

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

0.9.21 (2023-10-26)#

Fixed#

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

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

0.9.20 (2023-10-25)#

Fixed#

0.9.19 (2023-10-25)#

Added#

  • Added Gym observation and action spaces for the omni.isaac.orbit.envs.RLEnv class.

0.9.18 (2023-10-23)#

Added#

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

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

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

Changed#

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

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

0.9.17 (2023-10-22)#

Added#

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

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

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

0.9.16 (2023-10-22)#

Added#

Fixed#

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

0.9.15 (2023-10-22)#

Added#

Fixed#

0.9.14 (2023-10-21)#

Added#

Fixed#

0.9.13 (2023-10-20)#

Fixed#

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

0.9.12 (2023-10-18)#

Fixed#

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

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

0.9.11 (2023-10-17)#

Added#

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

0.9.10 (2023-10-16)#

Added#

Changed#

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

0.9.9 (2023-10-12)#

Added#

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

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

Fixed#

0.9.8 (2023-09-30)#

Fixed#

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

0.9.7 (2023-09-26)#

Fixed#

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

Added#

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

0.9.6 (2023-09-26)#

Fixed#

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

0.9.5 (2023-09-25)#

Changed#

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

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

0.9.4 (2023-08-29)#

Added#

  • Added omni.isaac.orbit.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 omni.isaac.orbit.envs module that contains environment definitions that encapsulate the different general (scene, action manager, observation manager) and RL-specific (reward and termination manager) managers.

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

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

Fixed#

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

0.9.3 (2023-08-23)#

Added#

Fixed#

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

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

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

Changed#

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

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

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

0.9.2 (2023-08-22)#

Added#

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

Fixed#

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

0.9.1 (2023-08-18)#

Added#

  • Introduced three different rotation conventions in the omni.isaac.orbit.sensors.Camera class. These conventions are:

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

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

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

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

Changed#

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

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

0.9.0 (2023-08-18)#

Added#

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

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

Changed#

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

Deprecated#

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

0.8.12 (2023-08-18)#

Added#

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

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

Fixed#

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

0.8.11 (2023-08-18)#

Added#

Changed#

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

0.8.10 (2023-08-17)#

Added#

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

0.8.9 (2023-08-09)#

Changed#

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

0.8.8 (2023-08-09)#

Added#

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

0.8.7 (2023-08-03)#

Fixed#

0.8.6 (2023-08-03)#

Added#

0.8.5 (2023-08-03)#

Fixed#

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

Changed#

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

0.8.4 (2023-08-02)#

Added#

0.8.3 (2023-08-02)#

Changed#

  • Moved the ActuatorBase class to the omni.isaac.orbit.actuators.actuator_base module.

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

0.8.2 (2023-08-02)#

Changed#

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

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

0.8.1 (2023-08-02)#

Fixed#

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

Added#

0.8.0 (2023-07-26)#

Added#

Changed#

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

Deprecated#

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

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

0.7.4 (2023-07-26)#

Changed#

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

Fixed#

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

0.7.3 (2023-07-25)#

Fixed#

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

0.7.2 (2023-07-24)#

Added#

Fixed#

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

0.7.1 (2023-07-22)#

Added#

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

0.7.0 (2023-07-22)#

Added#

Changed#

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

  • Moved the old managers to the omni.isaac.orbit.compat.utils.mdp module.

  • Modified the necessary scripts to use the omni.isaac.orbit.compat.utils.mdp module.

0.6.2 (2023-07-21)#

Added#

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

0.6.1 (2023-07-16)#

Fixed#

Added#

0.6.0 (2023-07-16)#

Added#

  • Added the argument sort_keys to the omni.isaac.orbit.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 omni.isaac.orbit.utils.configclass to be consistent in the order in which they are defined. Previously, the ordering was done alphabetically which made it inconsistent with the order in which the parameters were defined.

Changed#

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

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

0.5.0 (2023-07-04)#

Added#

Changed#

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

  • Moved the old sensors in omni.isaac.orbit.sensors to omni.isaac.orbit.compat.sensors.

  • Modified the standalone scripts to use the omni.isaac.orbit.compat.sensors module.

0.4.4 (2023-07-05)#

Fixed#

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

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

Changed#

0.4.3 (2023-06-28)#

Added#

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

Changed#

  • Moved the old markers in omni.isaac.orbit.markers to omni.isaac.orbit.compat.markers.

  • Modified the standalone scripts to use the omni.isaac.orbit.compat.markers module.

0.4.2 (2023-06-28)#

Added#

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

0.4.1 (2023-06-27)#

Changed#

0.4.0 (2023-05-27)#

Added#

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

0.3.2 (2023-04-27)#

Fixed#

0.3.1 (2023-04-23)#

Added#

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

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

Fixed#

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

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

0.3.0 (2023-04-20)#

Fixed#

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

Added#

  • Added the Se2Gamepad and Se3Gamepad for gamepad teleoperation support.

0.2.8 (2023-04-10)#

Fixed#

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

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

0.2.7 (2023-04-07)#

Fixed#

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

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

0.2.6 (2023-03-16)#

Added#

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

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

Changed#

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

0.2.5 (2023-03-08)#

Fixed#

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

0.2.4 (2023-03-04)#

Added#

  • Added apply_nested_physics_material() to the omni.isaac.orbit.utils.kit.

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

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

Fixed#

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

Removed#

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

0.2.3 (2023-02-24)#

Fixed#

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

0.2.2 (2023-01-27)#

Fixed#

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

Deprecated#

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

0.2.1 (2023-01-26)#

Fixed#

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

0.2.0 (2023-01-25)#

Added#

  • Added support for warp backend in camera utilities.

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

0.1.1 (2023-01-24)#

Fixed#

  • Fixed setting of physics material on the ground plane when using omni.isaac.orbit.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

omni.isaac.orbit_assets#

Extension for configurations of various assets and sensors for Orbit.

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 omni.isaac.orbit to omni.isaac.orbit_assets extension.

omni.isaac.orbit_tasks#

Extension containing the environments built using Orbit.

0.6.0 (2024-03-10)#

Added#

  • Added a new environment Isaac-Open-Drawer-Franka-v0 for the Franka arm to open a drawer. It is based on the IsaacGymEnvs cabinet environment.

Fixed#

  • Fixed logging of extra information for RL-Games wrapper. It expected the extra information to be under the key "episode", but Orbit used the key "log". The wrapper now remaps the key to "episode".

0.5.7 (2024-02-28)#

Fixed#

  • Updated the RL wrapper for the skrl library to the latest release (>= 1.1.0)

0.5.6 (2024-02-21)#

Fixed#

  • Fixed the configuration parsing to support a pre-initialized configuration object.

0.5.5 (2024-02-05)#

Fixed#

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

0.5.4 (2024-02-06)#

Added#

  • Added a check for the flag omni.isaac.orbit.envs.RLTaskEnvCfg.is_finite_horizon in the RSL-RL and RL-Games wrappers to handle the finite horizon tasks properly. Earlier, the wrappers were always assuming the tasks to be infinite horizon tasks and returning a time-out signals when the episode length was reached.

0.5.3 (2023-11-16)#

Fixed#

  • Added raising of error in the omni.isaac.orbit_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 omni.isaac.orbit_tasks.RLTaskEnv class. The RLTaskEnv class inherits from the gymnasium.Env class (Gym 0.29.0).

  • Fixed the registration of tasks in the Gym registry based on Gym 0.29.0 API.

Changed#

  • Removed the inheritance of all the RL-framework specific wrappers from the gymnasium.Wrapper class. This is because the wrappers don’t comply with the new Gym 0.29.0 API. The wrappers are now only inherit from their respective RL-framework specific base classes.

0.5.0 (2023-10-30)#

Changed#

  • Changed the way agent configs are handled for environments and learning agents. Switched from yaml to configclasses.

Fixed#

  • Fixed the way package import automation is handled in the omni.isaac.orbit_tasks module. Earlier it was not skipping the blacklisted packages properly.

0.4.3 (2023-09-25)#

Changed#

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

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

0.4.2 (2023-08-29)#

Changed#

  • Moved the base environment definition to the omni.isaac.orbit.envs.RLEnv class. The RLEnv contains RL-specific managers such as the reward, termination, randomization and curriculum managers. These are all configured using the omni.isaac.orbit.envs.RLEnvConfig class. The RLEnv class inherits from the omni.isaac.orbit.envs.BaseEnv and gym.Env classes.

Fixed#

  • Adapted the wrappers to use the new omni.isaac.orbit.envs.RLEnv class.

0.4.1 (2023-08-02)#

Changed#

  • Adapted the base IsaacEnv class to use the SimulationContext class from the omni.isaac.orbit.sim module. This simplifies setting of simulation parameters.

0.4.0 (2023-07-26)#

Changed#

  • Removed the resetting of environment indices in the step call of the IsaacEnv class. This must be handled in the \(_step_impl`\) function by the inherited classes.

  • Adapted the wrapper for RSL-RL library its new API.

Fixed#

  • Added handling of no checkpoint available error in the get_checkpoint_path().

  • Fixed the locomotion environment for rough terrain locomotion training.

0.3.2 (2023-07-22)#

Added#

  • Added a UI to the IsaacEnv class to enable/disable rendering of the viewport when not running in headless mode.

Fixed#

  • Fixed the the issue with environment returning transition tuples even when the simulation is paused.

  • Fixed the shutdown of the simulation when the environment is closed.

0.3.1 (2023-06-23)#

Changed#

  • Changed the argument headless in IsaacEnv class to render, in order to cause less confusion about rendering and headless-ness, i.e. that you can render while headless.

0.3.0 (2023-04-14)#

Added#

  • Added a new flag viewport to the IsaacEnv class to enable/disable rendering of the viewport. If the flag is set to True, the viewport is enabled and the environment is rendered in the background.

  • Updated the training scripts in the source/standalone/workflows directory to use the new flag viewport. If the CLI argument --video is passed, videos are recorded in the videos directory using the gym.wrappers.RecordVideo wrapper.

Changed#

  • The IsaacEnv class supports different rendering mode as referenced in OpenAI Gym’s render method. These modes are:

    • rgb_array: Renders the environment in the background and returns the rendered image as a numpy array.

    • human: Renders the environment in the background and displays the rendered image in a window.

  • Changed the constructor in the classes inheriting from IsaacEnv to pass all the keyword arguments to the constructor of IsaacEnv class.

Fixed#

  • Clarified the documentation of headless flag in the IsaacEnv class. It refers to whether or not to render at every sim step, not whether to render the viewport or not.

  • Fixed the unit tests for running random agent on included environments.

0.2.3 (2023-03-06)#

Fixed#

  • Tuned the observations and rewards for Isaac-Lift-Franka-v0 environment.

0.2.2 (2023-03-04)#

Fixed#

  • Fixed the issue with rigid object not working in the Isaac-Lift-Franka-v0 environment.

0.2.1 (2023-03-01)#

Added#

  • Added a flag disable_contact_processing to the SimCfg class to handle contact processing effectively when using TensorAPIs for contact reporting.

  • Added verbosity flag to export_policy_as_onnx() to print model summary.

Fixed#

  • Clarified the documentation of flags in the SimCfg class.

  • Added enabling of omni.kit.viewport and omni.replicator.isaac extensions dynamically to maintain order in the startup of extensions.

  • Corrected the experiment names in the configuration files for training environments with rsl_rl.

Changed#

  • Changed the default value of enable_scene_query_support in SimCfg class to False. The flag is overridden to True inside IsaacEnv class when running the simulation in non-headless mode.

0.2.0 (2023-01-25)#

Added#

  • Added environment wrapper and sequential trainer for the skrl RL library

  • Added training/evaluation configuration files for the skrl RL library

0.1.2 (2023-01-19)#

Fixed#

  • Added the flag replicate_physics to the SimCfg class.

  • Increased the default value of gpu_found_lost_pairs_capacity in PhysxCfg class

0.1.1 (2023-01-18)#

Fixed#

  • Fixed a bug in Isaac-Velocity-Anymal-C-v0 where the domain randomization is not applicable if cloning the environments with replicate_physics=True.

0.1.0 (2023-01-17)#

Added#

  • Initial release of the extension.

  • Includes the following environments:

    • Isaac-Cartpole-v0: A cartpole environment with a continuous action space.

    • Isaac-Ant-v0: A 3D ant environment with a continuous action space.

    • Isaac-Humanoid-v0: A 3D humanoid environment with a continuous action space.

    • Isaac-Reach-Franka-v0: A end-effector pose tracking task for the Franka arm.

    • Isaac-Lift-Franka-v0: A 3D object lift and reposing task for the Franka arm.

    • Isaac-Velocity-Anymal-C-v0: An SE(2) velocity tracking task for legged robot on flat terrain.

omni.isaac.contrib_tasks#

Extension for environments contributed by the community.

0.0.1 (2023-01-17)#

Added#

  • Initial dummy extension for community to contribute environments.