2022.1.1

  • Kit SDK 103.1

  • Replicator APIs used for Composer

  • RTX Lidar sample ROS/ROS2 PCL publishing

  • Isaac Gym Performance improvements

Tutorials

  • Added

    • Configuring RMPflow for a New Manipulator

    • Motion Generation: RRT

    • Rigging Robots

    • Domain Randomization for RL

    • Instanceable Assets

    • Adding a New Manipulator

    • ROS1: Publishing Custom Messages in Extension Scripting

    • ROS1/2: Joint Control: Extension Python Scripting

    • ROS1/2: Sending Goals Programmatically for Multiple Robots

    • ROS1/2: Camera tutorials

Assets

  • Added Robots

    • Balance Bot

    • Crazyflie CX2

    • Denso Cobotta Pro 900

    • Denso Cobotta Pro 1300

    • Ingenuity

    • Quadcopter

Extensions

  • omni.isaac.cloner

    • Changed

      • Added setting and deleting the different xform properties used by omni.isaac.core

      • Optimized cloning and collision filtering logic

      • Moved common utility functions to base Cloner class

    • Fixed

      • Preserve scale property from source prim

  • omni.isaac.ros2_bridge

    • Added

      • ROS2Context node has a useDomainIDEnvVar flag that can be set to true so that the ROS_DOMAIN_ID variable is used

      • omni.syntheticdata template to publish RTX Lidar point cloud

      • ROS2 IMU publisher node

    • Removed

      • Unused carb settings

    • Fixed

      • Activating image publishers should not cause a crash anymore

      • File watcher patterns for extension

      • Quaternion input descriptions

    • Changed

      • Removed articulation control from OgnROS2SubscribeJointState

      • Added JointState message outputs to OgnROS2SubscribeJointState allowing users to connect outputs to articulation controller core_node

      • OgnROS2PublishSemanticLabels to accept string data type

      • Timestamp data now appended to JSON msg output

      • Improved image publisher perf

  • omni.isaac.core

    • Fixed

      • fixes set_max_efforts function: device must be on cpu

      • Reshape jacobian shape to match with shape of jacobian tensor.

      • Articulation Controller bugfix: get_applied_action was indexing joint_positions even if simulation is not running.

      • Articulation bugfix: get_max_efforts was always returning the max_efforts from PhysX instead of the joint-indices result when clone=True.

      • Articulation bugfix: get_linear_velocity, get_angular_velocity and get_joint_velocities was calling view’s method twice once with indices then once without. The second time should be selecting the single element of the batch array from the result rather than calling the method again.

      • Articulation bugfix: get_joint_positions was calling view’s method twice once with indices then once without. The second time should be selecting the single element of the batch array from the result rather than calling the method again.

      • Fixed GPU buffer attribute mismatch in physics context config parsing.

    • Added

      • get_semantics to return all semantic APIs applied onto a prim

      • Added joint_indices to the different get_joint_* methods in the Articulation.

      • Increase hang detection timeout (OM-55578)

      • Added setting gravity from sim config in physics context.

      • Added reset_xform_properties parameter to view classes for efficiency when the objects already have the right set of xform properties.

      • Added new APIs for ArticulationView and RigidPrimView

      • added get_first_matching_parent_prim, is_prim_non_root_articulation_link to prim utils

      • Parse GPU device ID from carb settings /physics/cudaDevice.

    • Changed

      • single prim classes inheritance structure to avoid duplication of code

      • get_all_matching_child_prims to return a list of prims instead of a list of prim_paths

      • get_first_matching_child_prim returns a prim instead of a prim path

      • statistics.py moved to omni.isaac.statistics_logging extension

      • Size to be a float for Cuboid instead of 3 dimensional (scale to be used instead for consistency with USD)

      • save_stage allows in place saving without reloading stage.

  • omni.isaac.app.setup

    • Added

      • Force PhysX reset on stop to be true

      • Increase hang detection timeout (OM-55578)

  • omni.isaac.examples

    • Added

      • Path Planning Example with resiazable and movable walls

      • Added keep_window_open parameter to BaseSampleExtension to keep a sample’s window visible after hot-reloading.

  • omni.isaac.synthetic_utils

    • Removed

      • removed isaac replicator style DOPE Writer

      • removed isaac replicator style YCB Video writer

      • YCB Video writer using OV Replicator style added to omni.replicator.isaac

    • Changed

      • Raise exception in DOPE writer when s3 bucket name is invalid

    • Added

      • Change output folder structure for DOPE writer

      • Write to s3 bucket for DOPE Writer

      • DOPE Writer

      • Occlusion sensor in SyntheticDataHelper

      • initialize_async

    • Fixed

      • get_groundtruth works in an async function

  • omni.isaac.ml_archive

    • Changed

      • Use pip_torch extension instead of packaging torch directly.

      • make extension kit sdk version specific

      • Updating version for publishing

  • omni.isaac.partition

    • New Extension

  • omni.isaac.conveyor

    • Changed

      • Convert node to cpp backend

      • Conveyor node renamed to IsaacConveyor

    • Added

      • Simplified creating multiple conveyors, multiple prims can be selected on creation using menu

  • omni.isaac.tests

    • New Extension

  • omni.replicator.isaac

    • New Extension

  • omni.isaac.franka

    • Removed

      • Deleted GripperController class and used the new ParallelGripper class instead.

    • Changed

      • Changed gripper_dof_indices argument in PickPlaceController to gripper

      • Changed gripper_dof_indices argument in StackingController to gripper

    • Added

      • Added deltas argument in Franka class for the gripper action deltas when openning or closing.

    • Fixed

      • Bug with adding a custom usd for manipulator

  • omni.isaac.urdf

    • Added

      • Cobotta 900 urdf data files

      • Add instanceable option to importer

    • Fixed

      • Missing argument in example docstring

  • omni.isaac.gym

    • Fixed

      • Fix warnings generated on stage close

    • Added

      • Check for setting to disable viewport extension

      • Pass physics device ID to simulation app for GPU physics

      • Added support for headless gym app

  • omni.isaac.range_sensor

    • Fixed

      • Semantic APIs that ended with a random id are supported now, only the first semantic API applied is used.

      • Active semantic IDs only updated if Lidar was moved/changed, IDs are now cleared each frame to fix this

  • omni.isaac.benchmark_environments

    • Added

      • Added Cage environment

  • omni.isaac.physics_inspector

    • Fixed

      • Previously hardcoded unit strings

  • omni.isaac.robot_benchmark

    • Changed

      • Modified workflow for adding robots and controllers to robot_benchmark extension to be mostly code-based

      • Modified standalone script to run every permutation of (environment,robot,controller) that are passed in as arguments

      • Modigified robot_benchmark.py to teleport robots to a constant starting position that can be configuring in ./benchmark_config

    • Added

      • Added RRT planner

      • Added RRT+RMP hybrid planner

      • Added example for adding example robot and controller

  • omni.isaac.dofbot

    • Removed

      • Deleted GripperController class and used the new ParallelGripper class instead.

    • Changed

      • Changed gripper_dof_indices argument in PickPlaceController to gripper.

    • Added

      • Added deltas argument in Franka class for the gripper action deltas when openning or closing.

    • Fixed

      • Bug with adding a custom usd for manipulator

  • omni.isaac.manipulators

    • New Extension

  • omni.isaac.synthetic_recorder

    • Fixed

      • Error message when there was no instance data to write

  • omni.isaac.ros_bridge

    • Removed

      • Unused carb settings

    • Fixed

      • Activating image publishers should not cause a crash anymore

      • File watcher patterns for extension

      • Quaternion input descriptions

    • Added

      • omni.syntheticdata template to publish RTX Lidar point cloud

      • ROS IMU publisher node

    • Changed

      • Removed articulation control from OgnROS1SubscribeJointState

      • Added JointState message outputs to OgnROS1SubscribeJointState allowing users to connect outputs to articulation controller core_node

      • OgnROS1PublishSemanticLabels to accept string data type

      • Timestamp data now appended to JSON msg output

      • Improved image publisher perf

  • omni.isaac.onshape

    • Changed

      • Using Local onshape_client package

      • Improvements on import process.

    • Fixed

      • Increased concurrent pool size to avoid issues on large assemblies.

      • Fixed download tracker to only vanish once process is complete

      • Handling of errors so import can continue without failures.

  • omni.isaac.cortex

    • Fixed

      • Switch to new gripper API

      • Bugfix: behavior modules don’t load if the file doesn’t exist on startup.

  • omni.isaac.shapenet

    • Removed

      • web access to models

      • http server for receiving external commands

  • omni.isaac.motion_generation

    • Changed

      • Updated RMPflow parameters in config YAML files for Denso robots: Turned on velocity_cap_rmp

      • Changed gripper_controller argument to gripper in the PickPlaceController.

      • moved PickPlaceController and StackingController to omni.isaac.manipulators

      • Changed docstrings for PathPlannerVisualizer and Lula RRT implementation

      • Updated ArticulationSubset to wait until robot joint states are queried to access the Articulation object. This avoids annoying errors when attempting to initialize an ArticulationMotionPolicy before the “play” button has been pressed.

      • Updated MotionPolicy to not assume a default orientation. It now passes None to the MotionPolicy.

    • Added

      • Added Cobotta Pro 900 and Cobotta Pro 1300 as supported robots with provided RMPflow config files and test cases.

      • Added set_param() function to Lula RRT implementation.

      • Added PathPlanningInterface with Lula RRT implementation and simple class for aiding visualization

    • Fixed

      • ArticulationSubset.get_joint_subset_indices() fixed (was returning function rather than return value of function call.)

      • Fixed unreliable test case for lula RRT by reducing the RRT step size

      • Fixed bug in RmpFlow.set_cspace_target() which changed the end effector target when it shouldn’t have

      • Fixed bug in RmpFlow.get_internal_robot_joint_states() which resulted in a TypeError

  • omni.isaac.statistics_logging

    • Added

      • statistics.py from omni.isaac.core

      • read_log_file

      • summarize_statistics_log

    • Changed

      • Track and log memory usage and scene triangles, assets, & dimensions

  • omni.isaac.dynamic_control

    • Added

      • cMassLocalPose to DcRigidBodyProperties

    • Changed

      • Removed simple_articulation.usd, test_articulation_simple uses Nucleus asset

  • omni.isaac.isaac_sensor

    • Changed

      • Removed simple_articulation.usd, test_imu_sensor uses Nucleus asset

      • Added an exec out on the ReadContact and ReadIMU nodes

      • IsaacSensorCreateContactSensor, renamed offset to translation to be consistent with core

      • IsaacSensorCreateImuSensor, renamed offset to translation to be consistent with core

      • Use XformPrim to initialize sensors for consistency with core

      • Make return values for commands consistent, they now return: command_status, (success, prim)

      • Renamed BindingsContactSensorPython to BindingsIsaacSensorPython

      • Contact sensor resets on stop/start

    • Fixed

      • Removed extra print statement

      • Imu mRawBuffer resets upon stop/start

    • Added

      • ReadRTXLidarPointCloud Node

      • Read contact sensor omnigraph node and tests

      • Orientation reading to Imu sensor sample

      • Absolute orientation output to Imu sensor + tests

      • Read Imu node

  • omni.isaac.core_archive

    • Added

      • boto3, s3transfer

    • Changed

      • Make extension kit sdk version specific

      • Updating version for publishing

  • omni.isaac.mjcf

    • Added

      • Add armature to joints

      • Add instanceable option to importer

    • Fixed

      • Display Bookmarks when selecting files

  • omni.isaac.wheeled_robots

    • Fixed

      • Issue with holonomic controller returning an error on reset

    • Changed

      • pulled out the internal state classes for both holonomic and differential controller

    • Added

      • unit tests for nodes and controllers

      • doc strings for python files and comments for omnigraph nodes.

  • omni.isaac.proximity_sensor

    • New Extension

  • omni.isaac.universal_robots

    • Removed

      • Deleted GripperController class and used the new ParallelGripper class instead.

    • Changed

      • Changed gripper_dof_indices argument in PickPlaceController to gripper.

      • Changed gripper_dof_indices argument in StackingController to gripper.

    • Fixed

      • Bug with adding a custom usd for manipulator

  • omni.isaac.core_nodes

    • Added

      • utility function to cache node activations till the next frame. This solves an issue where activating node templates from other nodes would cause a race condition

      • Additional unit test for Articulation Controller node for cases where no joint names or indices were given

      • Unit test for Articulation Controller node

      • Added node to read file contents from path

      • Added node to read OS environment variables

    • Fixed

      • IsaacSetViewportResolution node forces window aperture to reset if the resolution is changed.

      • In OgnIsaacArticulationController, added validity check for joint_indicies list to prevent unnecessary warning message

      • In OgnIsaacArticulationController, added validity check for joint_indicies list to prevent unnecessary warning message

      • Quaternion input descriptions

      • Extension will still load if replicator templates fail to register. This prevents dependent extensions from also failing to load due to a replicator.core failure

    • Changed

      • IsaacComputeOdometry takes either an articulation root or a valid rigid body prim for the chassisPrim input

  • omni.isaac.kit

    • Added

      • Increase hang detection timeout (OM-55578)

      • added physics device parameter for setting CUDA device for GPU physics simulation

    • Deprecated

      • deprecated memory report in favor of using statistics logging utility

2022.1.0

  • Kit SDK 103.1

  • Windows Support

  • Omniverse Replicator

  • Omniverse Gym and Physics Tensor API

  • Isaac Cortex

  • Scene Blox Scene Generation Tool

  • omniverse xr/vr support on Windows

Documentation

  • Tutorials

    • Restructured Introductory tutorials

    • Added OmniGraph tutorials

    • Additional ROS & ROS2 tutorials

    • Motion Generation

    • Lula Kinematics

    • Isaac Cortex

    • Isaac Gym

    • Updated tutorials to use Omniverse Replicator

    • Scene Blox Scene Generation

Assets

  • All assets are now in meters

  • Added Robots

    • Allegro Handle

    • Ant

    • ANYbotics ANYmal

    • Cartpole

    • Humanoid

    • Fraunhofer O3dyn

    • Shadow Hand

    • Unitree A1

    • Unitree Go1

  • Added Environments

    • Modular Warehouse

Extensions

  • Removed

    • omni.isaac.robot_engine_bridge

    • omni.isaac.gamepad

  • omni.isaac.app.selector

    • Changed

      • Use omni.isaac.version.get_version()

      • Rename Headless Kit Remote app to Headless Native app

      • Rename App Launcher to App Selector

  • omni.isaac.app.setup

    • Changed

      • Use carb.tokens to get kit exe path (OM-48462)

    • Fixed

      • Fixed hot reloading

    • Added

      • Use omni.isaac.version.get_version()

      • Added Isaac Sim App Selector to the Help Menu.

      • Added Isaac Sim full version tag in log file.

    • Removed

      • Moved Nucleus Check to its own extension (OM-43459)

  • omni.isaac.articulation_inspector

    • Removed

      • Joint Animation UI

      • Moved Gain Tuning UI to separate extension

    • Added

      • New Selection UI and bug fixes

  • omni.isaac.assets_check

    • New Extension

  • omni.isaac.asset_browser

    • New Extension

  • omni.isaac.benchmark_environments

    • Changed

      • Updated all hard coded USD object values to meters

      • updated object instantiation to use Core API

  • omni.isaac.cloner

    • New Extension

  • omni.isaac.conveyor

    • New Extension

  • omni.isaac.core

    • Fixed

      • handles_initialized in Articulation class

      • Setting pd gains in the gpu pipeline.

      • Object classes to use RigidViews if initialized

      • Bug is set_local_poses in RigidPrimView and ArticulationView

      • Object classes to wrap existing prims without changing its properties

      • Setting gains to persist across resets

      • GPU warmup

      • Reset in World was always resetting the physics sim view

      • issue with getting next stage free path slash parsing

      • missing args for convert() method

      • Fixed create_prim method to support sequence data type

      • Fixed prim interfaces to use sequence data type for setters and getters for pose and velocities

      • Added method convert() to backend utils to convert into respective object container

      • Fixed issue with specifying a USD path for a view regex

      • Fixed assets version file check.

      • acceleration spelling mistake in articulation_controller

      • cleaned up imports and comments in the utils

      • fixing visibility on XFormPrimView

      • docstring issues

      • Deleting a reference always when trying to delete a prim under the ref

      • Physics start on construction of XFormPrim to be able to use dc interface to query if its under an articulation.

      • XFormPrimView: fixed setting translation on init

      • converting gains from dc to usd units when saving to usd

      • Fix setting of local pose in XFormPrim constructor

      • Use a SDF Change block when deleting prims

      • Do not delete /Render/Vars prim when clearing stage

      • GeometryPrim was not setting the collision approximation type correctly

      • disable_gravity() for Articulation was enabling gravity

    • Changed

      • move and rename persistent.isaac.asset_root.cloud from assets_check extension

      • Replaced .check on physics views with an event callback for efficiency.

      • Adds checking for prim/prms in remove-object

      • Renamed copyAssetsURL to cloudAssetsURL.

      • Passing physics materials instead of physics material path along with its properties.

      • Use omni.isaac.version.get_version()

      • Removing redundant api in ArticulationView and RigidPrimView

      • Raise Exceptions when using set_linear_velocities and set_angular_velocities with the gpu pipleine

      • RigidPrim class using RigidPrimView, GeometryPrim uses GeometryPrimView and Articulation uses ArticulationView class

      • Added the option to enable flatcache in physics_context

      • Disabled updateToUsd in physics_context when flatcache is enabled to allow faster load time

      • Reorganized the functions in World and SimulationContext to make them clearer to understand

      • Update DOF path parsing in ArticulationView to use tensor API directly

      • Use tensor APIs when available for DOF properties

      • replaced find_nucleus_server() with get_assets_root_path()

      • Adapts the hierarchy of classes in object prims: The inheritance is as follows:

      • Visual<Obj>(GeometryPrim): collision is disabled

      • Fixed<Obj>(Visual<Obj>): collision is enabled

      • Dynamic<Obj>(Fixed<Obj>, RigidPrim): collision is enabled and rigid body API applied (which enables the influence of external forces)

      • world.py: add step_sim param to step() paralleling the render flag

      • XFormPrim class to use XFormPrimView class internally

      • Changed default value of visibility in the XFormPrim class

      • replaced find_nucleus_server() with get_assets_root_path()

      • _list and _recursive_walk in omni.isaac.core.utils.nucleus to list_folder and recursive_list_folder

      • isaac.nucleus.default is now a persistent carb setting

      • get_intrinsics_matrix uses vertical_aperture set on camera prim

      • set_camera_view can take a user specified camera path

      • kinematics.py to omni.isaac.motion_generation extension

      • physx and usd tranformations update parameters are read from carb

      • Added feature to detect and update downloaded Isaac Sim assets on Nucleus (OM-41819)

    • Added

      • Added APIs to get/set Enable Scene Query Support attribute

      • Physics Handles check to avoid calling tensor api when the view is not valid.

      • Added persistent.isaac.asset_root.default

      • Added get_full_asset_path()

      • initialize_physics function in World and SimulationContext

      • Added persistent.isaac.asset_root.nvidia and persistent.isaac.asset_root.isaac setting

      • Added get_nvidia_asset_root_path() and get_isaac_asset_root_path()

      • Added get_url_root() and verify_asset_root_path()

      • Disable GPU usage warnings from tensor APIs in Core APIs

      • articulation: added an accessor for getting the default state. (previously you could only set it)

      • Added reset(), reset_async(), clear() methods to SimulationContext

      • API to enable/disable omni.physx.flatcache extension in PhysicsContext

      • API to track whether GPU pipeline is enabled

      • density in rigid prim view

      • Added checks for setters/getters of Geometry prim in the case collision is disabled

      • An argument to clear scene registery only

      • rotation and cross product util functions

      • added rotation conversion functions to and from quaternions

      • Added implementations of set_gains, set_max_efforts, set_effort_modes, switch_control_modes and the their getters in ArticulationView.

      • Forced physics to start on init of ArticulationView to initialize the num_dofs and other variables.

      • Added unit tests for ArticulationView.

      • Added initial docstrings for the added functions.

      • added pose_from_tf_matrix() to omni.isaac.core.utils.transformations

      • First version of Tensor API integration

      • added get_assets_server()

      • set gains in usd option is added to the articulation controller

      • get/set_rigid_body_enabled to omni.isaac.core.utils.physics

      • default predicate to omni.isaac.core.utils.prims.get_all_matching_child_prims

      • test_prims to omni.isaac.core.tests

      • is_prim_hidden_in_stage

      • dof_names property to Articulation

      • enable/disable rigid_body_physics for RigidPrims

      • enable_gravity() for Articulation

      • remove_all_semantics util function

      • add set_intrinsics_matrix function

      • Added set_defaults to SimulationContext, World and PhysicsContext

    • Removed

      • Removed persistent.isaac.nucleus.default setting

      • Removed find_nucleus_server() and find_nucleus_server_async()

      • Sim start in XFormPrim view and ArticulationView doesn’t create a dummy physics view anymore

  • omni.isaac.core_archive

    • Added

      • osqp, qdldl

      • Split Isaac Pip Archive into Core and ML archives

  • omni.isaac.core_nodes

    • New Extension

  • omni.isaac.cortex

    • New Extension

  • omni.isaac.debug_draw

    • Added

      • Added flag to disable depth check

  • omni.isaac.demos

    • Changed

      • Updated reference to RmpFlow config files:

      • omni.isaac.motion_generation/policy_configs -> omni.isaac.motion_generation/motion_policy_configs

      • Replaced find_nucleus_server() with get_assets_root_path()

  • omni.isaac.diff_usd

    • New Extension

  • omni.isaac.dofbot

    • Changed

      • Changed InverseKinematicsSolver class to KinematicsSolver class, using the new LulaKinematicsSolver class in motion_generation

      • Updated RmpFlowController class init alongside modifying motion_generation extension

      • Updated RmpFlowController class alongside changes to motion_generation extension

      • Replaced find_nucleus_server() with get_assets_root_path()

  • omni.isaac.dynamic_control

    • Changed

      • non-backwards compatible change: dof indexing matches physx tensor API

    • Fixed

      • Handle physx unwrapped revolute joints

      • Properly delete handles on prim deletion

      • Error message when waking up a kinematic rigid body

      • Error message when setting linear velocity on a body with simulation disabled

      • Error message when setting angular velocity on a body with simulation disabled

  • omni.isaac.examples

    • Removed

      • ROS examples

    • Changed

      • stage setting changed from cm to m.

      • robofactory and roboparty uses hard coded position in meters (instead of cm)

      • Jetbot keyboard example replaced by omnigraph_keyboard, using scripting omnigraph to resizing a cube instead of moving a robot

      • Changed init functions for Franka, UR10, and DofBot controller classes alongside changes to motion_generation

      • Replaced kaya holonomic controller with the generic controller

      • Replaced find_nucleus_server() with get_assets_root_path()

      • Jetbot Keyboard example and Kaya Gamepad example are now powered by Omnigraph

      • Updated references to MotionGeneration

    • Added

      • Cleaned up BaseSample UI

      • Added Toggle Buttons to FollowTarget Example

  • omni.isaac.franka

    • Changed

      • Changed InverseKinematicsSolver class to KinematicsSolver class, using the new LulaKinematicsSolver class in motion_generation

      • Updated RmpFlowController class init alongside modifying motion_generation extension

      • Fix Franka units in gripper open config.

      • Updated RmpFlowController class alongside changes to motion_generation extension

      • Replaced find_nucleus_server() with get_assets_root_path()

  • omni.isaac.gym

    • New Extension

  • omni.isaac.isaac_sensor

    • General

      • fix property orientation loading bug

      • Moved sensor data aquisition function from tick to onPhysicsStep

      • Fixed component visualization

      • Fixed visualization error of the isaac sensors

      • Changed draw function to run onUpdate instead of physics call back

      • Added Imu sensor to isaac sensor

      • Changed extension name to omni.isaac.isaac_sensor

      • Changed Imu sensor getSensorReadings to output the readings from the last frame

      • Updated index.rst documentation for contact sensor and imu sensors

      • Converted contact sensor namespaces to isaac sensor namespaces

      • Add UI element to create contact sensor

      • Modified draw function to use USD util’s global pose

      • Converted contact sensors into usdSchemas

      • Enable visualization of contact sensors in the stage

      • Bugfix for failing tests and missing updates

      • Compatibility for sdk 103

  • omni.isaac.kit

    • Changed

      • a .kit experience file can now reference other .kit files from the apps folder

      • Make startup/close logs timestamped

      • Simulation App starts in cm instead of m to be consistent with the rest of isaac sim.

    • Fixed

      • Comment in simulation_app.py

      • Dlss is now loaded properly on startup

    • Added

      • Multi gpu flag to config

      • Windows support

      • memory_report to launch config. The delta memory usage is printed when the app closes.

      • automatically add allow-root if running as root user

  • omni.isaac.lula

    • Changed

      • Removed wheel from extension, provide installed wheel as part of extension instead. This removes the need for runtime installation.

      • Updated Lula from release 0.7.0 to 0.7.1. This fixes a bug in Lula’s kinematics that had the potential to cause a segfault for certain robots.

  • omni.isaac.mjcf

    • New Extension

  • omni.isaac.ml_archive

    • New Extension

  • omni.isaac.motion_generation

    • Added

      • Added conversion to numpy if articulation backend is GPU/torch

      • Added getter to get the MotionPolicy from a MotionPolicyController.

      • Added some accessors to ArticulationMotionPolicy and ArticulationSubset.

      • Added Kinematics interface with a Lula implementation

      • Added ArticulationKinematicsSolver wrapper for interfacing kinematics with USD robot

      • Created ArticulationSubset class to handle index mapping between Articulation and MotionPolicy

      • Added RmpFlowSmoothed to lula/motion_policies.py to support cortex.

      • Separated RmpFlow visualization functions for end effector and collision spheres

      • Added test case for visualization

      • Added Sdf.ChangeBlock() to visualization functions for efficiency

      • test case for motion_generation extension: test for proper behavior when add/enable/disable/remove objects to RmpFlow

      • interface_config_loader: a set of helper functions for checking what config files exist directly in the motion_generation extension and loading the configs as keyword arguments to the appropriate class e.g. RmpFlow(loaded_config_dict)

      • Updated internal RMPflow implementation to allow for visualizing Lula collision spheres as prims on the stage

      • moved kinematics.py from omni.isaac.core.utils to this extension

    • Changed

      • Updated all hard coded USD object values to meters in motion_generation tests

      • Replaced InverseKinematicsSolver(BaseController) object with ArticulationKinematicsSolver

      • Renamed MotionGenerator to ArticulationMotionPolicy

      • Extracted methods from MotionPolicy to form a WorldInterface class. This has no functional effect on any code outside MotionGeneration

      • Obstacles are now marked as static explicitly when added to MotionPolicy

      • Fixed typo in interface_config_loader.py.

      • modified default RmpFlow configs have fewer updates per frame (10 was unnecessary) and to not ignore robot state updates by default

      • updated golden values in tests as a direct result of config change

      • Restructured MotionGeneration extension to place emphasis on MotionPolicy over MotionGeneration. The user is now expected to interact directly with a MotionPolicy for adding/editing obstacles, and setting targets. MotionGeneration is a light utility class for interfacing the simulated USD robot to the MotionPolicy (get USD robot state and appropriately map the joint indeces).

      • RmpFlowController -> MotionPolicyController:

      • The RmpFlowController wrapper that was used to interface Core examples with RmpFlow has been expanded to wrap any MotionPolicy

      • omni.isaac.motion_generation/policy_configs -> omni.isaac.motion_generation/motion_policy_configs: changed folder containing config files for MotionPolicies to be named “motion_policy_configs” to leave room for future interfaces to have config directories

      • Path to RmpFlow: omni.isaac.motion_generation.LulaMotionPolicies.RmpFlow -> omni.isaac.motion_generation.lula.motion_policies.RmpFlow

      • Updated MotionGeneration to use Core API to query prim position and control the robot

    • Fixed

      • Fixed bug in RmpFlow.create_ground_plane() related to unit conversion

      • ground plane handling: enable/disable/remove ground_plane didn’t work

      • static obstacle handling: dictionary key error when enable/disable/remove static obstacles

      • Undefined joint in dofbot USD referenced by RMPflow config

  • omni.isaac.motion_planning

    • Added

      • Added Windows support.

    • Fixed

      • Fix physx sequential write issue.

  • omni.isaac.occupancy_map

    • Fixed

      • block world default to meters

      • scale_to_meters parameter

      • Deadlock when generating data

    • Changed

      • Replaced find_nucleus_server() with get_assets_root_path()

      • Api’s always return 3d point data

    • Added

      • Add ability to generate 3d occupancy data

  • omni.isaac.onshape

    • General

      • Improvements on import process.

      • General improvements.

      • Add joint values API

      • Use current stage meters per unit scaling when importing stage.

      • Bugfix for cross-failure when omnigraph USD notice listener captured changes on the stage done within not the main thread.

      • stability improvements

      • Fix bug where cylindrical mates with same name get overriden.

      • Change naming convention for duplicate names

      • bugfix for non-ascii parts name that were failing to create usd due to empty filename.

      • Update dependencies list for standalone import.

  • omni.isaac.physics_inspector

    • Fixed

      • Switched to using USD RigidBodyAPI filter instead of dynamics control’s type filter, in case the body is both an articulation root/link as well as a rigid body.

  • omni.isaac.quadruped

    • New Extension

  • omni.isaac.range_sensor

    • Fixed

      • Lidar semantics not getting visualized properly

      • Lidar sensor to prevent first frame from being outputted

    • Changed

      • Output data type from float to pointf in Isaac Read Lidar Point Cloud OG Node

      • Improved perf for Isaac Read Lidar Beams OG Node

      • Use orient op for commands that create sensors

      • Lidar sensor is now fully multithreaded per sensor and per ray

      • Improved use of tasking framework and simplified scan logic

      • added fabric support to lidar

    • Added

      • Isaac Read Lidar Point Cloud OG Node

      • Isaac Read Lidar Beams OG Node

      • Sequence number to track frame count

      • AzimuthRange and ZenithRange in Lidar sensor to track beginning and end angles of a scan

  • omni.isaac.repl

    • New Extension

  • omni.isaac.robot_benchmark

    • Changed

      • Updated all hard coded USD object values to meters

      • Removed redundant robot initialization that caused warnings in test case

      • Updated test golden values with change to motion_generation extension

      • Added verbosity to test failures

      • Updated extension alongside motion_generation to use MotionPolicy directly

      • Replaced find_nucleus_server() with get_assets_root_path()

      • Updated extension alongside motion_generation to use Core API

  • omni.isaac.robot_engine_bridge

    • Changed

      • capnp is now provided as a module instead of a wheel

      • Replaced find_nucleus_server() with get_assets_root_path()

  • omni.isaac.robot_engine_bridge_gxf

    • Changed

      • Replaced find_nucleus_server() with get_assets_root_path()

  • omni.isaac.ros2_bridge

    • Fixed

      • Removed Teleport sample from “Isaac Examples” Menu

      • Crash when switching extension on/off and simulating

      • Corrected stereoOffset input in OgnROS2CameraHelper

      • OG ROS2 pub/sub clock nodes now able to namespace topic names

      • Issue with lidar init on first frame

      • Issue with camera init on first frame

      • Crash when changing a camera parameter when stopped

      • laserScan publisher in RosLidar to be able to synchronize with Lidar sensor after any live user changes to USD properties

      • pointCloud publisher using seperate caching variables from laserScan to prevent accidental overwriting

      • TF Tree publisher parent frame to include filter for articulation objects, separately from rigid body.

    • Added

      • ROS2 examples in “Isaac Examples” Menu

      • ROS2 Image publisher node

      • ROS2 Camera Info publisher node

      • OG ROS2 Odometry publisher node

      • OG ROS2 Twist subscriber node

      • OG ROS2 Transform Tree publisher node

      • OG ROS2 Raw Transform Tree publisher node

      • OG ROS2 Joint State Publisher node

      • OG ROS2 Joint State Subscriber node

      • OG ROS2 LaserScan publisher node

      • OG ROS2 PointCloud2 publisher node for lidar

      • Utility method, addTopicPrefix for namespacing ROS2 topics

      • ROS2 Context

      • ROS2 pub/sub clock

      • Added ROS2 topic name validation

      • odometryEnabled setting to toggle both Odometry and TF publishers in differential base components

    • Changed

      • Fully switched to OG ROS2 bridge nodes

      • Added 32SC1 image type option to OgnROS2PublishImage

      • Output data types to vectord and quatd in ROS2 Odometry, Raw TF publisher nodes and Twist subscriber node

      • Added dropdown menu and validation for encoding input in ROS2 image publisher node

      • Output data type from float to pointf in ROS2 point cloud publisher node

      • ROS2 point cloud publisher node to read generic point cloud buffer

      • ROS2 laser scan publisher node to read generic lidar data buffers

      • Replaced find_nucleus_server() with get_assets_root_path()

      • Removed Cyclone DDS to allow defualt FastRTPS DDS to run instead

      • ROS2 Bridge to initialize rclcpp in onResume and shutdown rclcpp in onStop

      • Switch depth to new eDistanceToPlane sensor

  • omni.isaac.ros_bridge

    • Fixed

      • Updated OgnROS1ServiceTeleport to check for invalid prim to avoid crash

      • Corrected stereoOffset input in OgnROS1CameraHelper

      • ROS image publisher node name

      • ROS Raw TF publisher node description and warning message

      • Normalized robotFront vector when calculating odometry

      • Cross-product used to find robot’s y-component of linear velocity in OG ROS Odometry publisher node

      • Issue with lidar init on first frame

      • Issue with camera init on first frame

      • Crash when changing a camera parameter when stopped

      • laserScan publisher to be able to synchronize with Lidar sensor after any live user changes to USD properties

      • pointCloud publisher using seperate caching variables from laserScan to prevent accidental overwriting

      • TF Tree publisher parent frame to include filter for articulation objects, separately from rigid body.

    • Added

      • ROS examples in “Isaac Examples” Menu

      • ROS Camera Info publisher node

      • ROS image publisher node

      • OG ROS teleport service

      • OG Isaac Read Odometry node

      • OG ROS Raw Transform Tree publisher node

      • OG ROS Odometry publisher with odom->chassis frame TF publish node

      • OG ROS Twist subscriber node

      • OG ROS Transform Tree publisher node

      • Utility method, addFramePrefix for namespacing frameIds

      • OG ROS Joint State Publisher node

      • OG ROS Joint State Subscriber node

      • OG ROS PointCloud2 publisher node for lidar

      • OG ROS laserscan publisher node

      • odometryEnabled setting to toggle both Odometry and TF publishers in differential base components

    • Changed

      • Fully switched to OG ROS bridge nodes

      • Add bbox2d,3d,instance, segmentation, camera_info to camera helper

      • renamed sensor to type for camera helper

      • added 32int output to image publisher

      • Added camera helper node

      • Added 2d bbox, 3d bbox, semantics nodes

      • Output data types to vectord and quatd in ROS Odometry, Raw TF publisher nodes and Twist subscriber node

      • Added dropdown menu and validation for encoding input in ROS image publisher node

      • Output data type from float to pointf in ROS point cloud publisher node

      • Added frameId input to ROS Image publisher node

      • Included row length calculation for image buffer in ROS Image publisher node

      • ROS point cloud publisher node to read generic point cloud buffer

      • ROS laserscan publisher node to accept data from Isaac Read Lidar Beams core node

      • Removed bundle input and added odometry related vector inputs to OG ROS Odometry publisher node

      • Updated UI Names for ROS OG nodes

      • Updated nodeNamespace descriptions for all ROS OG nodes

      • ROS OG nodes to use nodeNamespace as input

      • Default topic name for OG clock nodes

      • Add OG nodes for clock topic

      • Replaced find_nucleus_server() with get_assets_root_path()

      • Switch depth to new eDistanceToPlane sensor

      • Enable OmniGraph

  • omni.isaac.shapenet

    • Fixed

      • Make webserver thread a daemon so it does not block fast exit

      • jupyter_notebook.sh can now take file names with spaces in them

    • Changed

      • Add defaults to http commands

      • clearer message when shapenet.org login fails

      • allow random ids to work outside the ui

  • omni.isaac.statistics_logging

    • New Extension

  • omni.isaac.surface_gripper

    • Changed

      • Change Tests to use meters as distance unit

    • Added

      • Surface Gripper Omnigraph Node

  • omni.isaac.synthetic_utils

    • Changed

      • Modify the initialize() function to wait until sensor data is available

      • Replaced find_nucleus_server() with get_assets_root_path()

      • updated code to match API changes in omni.syntheticdata

    • Added

      • YCB Video writer

  • omni.isaac.ui

    • General

      • expose labels for file/folder picker

      • Windows support to open vscode and folders

  • omni.isaac.ui_template

    • Added

      • Fixes layout issues

  • omni.isaac.unit_converter

    • General

      • bugfix when Joints are nested in Meshes or Primitive shapes get double-scaled

      • bugfix when Update All referenced stages is uncheckeced - local delta to complete the conversion.

  • omni.isaac.universal_robots

    • Changed

      • backwards compatible change to UR10’s post_reset() implementation. Removed the hard coded override, and added the hard coded config as a default config in initialize(). Functionality equivalent but uses the underlying Articulation objects’s default config functionality.

      • Changed InverseKinematicsSolver class to KinematicsSolver class, using the new LulaKinematicsSolver class in motion_generation

      • Updated RmpFlowController class init alongside modifying motion_generation extension

      • Updated RmpFlowController class alongside changes to motion_generation extension

      • Replaced find_nucleus_server() with get_assets_root_path()

    • Fixed

      • Adding a gripper to UR10

  • omni.isaac.urdf

    • Changed

      • Fix title for file picker

      • Fix units for samples

      • Add joint values API

      • Add Texture import compatibility for Windows.

      • Revamped UI

      • Fixed bug where missing mesh on part with urdf material assigned would crash on material binding in a non-existing prim.

      • Fix bug where material was indexed by name and removing false duplicates.

      • Add Normal subdivision group import parameter.

  • omni.isaac.utils

    • Changed

      • Replaced find_nucleus_server() with get_assets_root_path()

  • omni.isaac.version

    • New Extension

  • omni.isaac.wheeled_robots

    • New Extension

  • omni.isaac.window.about

    • Changed

      • Use omni.isaac.version.get_version()

  • omni.usd.schema.isaac

    • Added

      • Add Isaac Sensor USD Schema

      • Add Contact Sensor USD Schema

      • Add IMU Sensor USD Schema