Release Notes

2022.1.1

  • Kit SDK 103.1

  • Replicator APIs used for Composer

  • RTX Lidar sample ROS/ROS2 PCL publishing

  • Isaac Gym Performance improvements

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

2021.2.1

Documentation

  • New Tutorials

    • Tutorial for Jetbot Stable Baselines RL

    • Record & Replay Data logging tutorial

    • Generic range sensor tutorial

    • Lidar range sensor tutorial

    • Docker + ROS tutorial

    • New GUI tutorial

    • Shapenet Importer Tutorial

  • Manuals

    • All manuals modified to have a more consistent structure

Extensions

  • omni.isaac.app.setup

    • Added: feature to detect and update downloaded Isaac Sim assets on Nucleus

    • Fixed: nucleusCheck running during post-install and warm-up

    • Changed: settings to use camel case

  • omni.isaac.core

    • Added

      • feature to detect and update downloaded Isaac Sim assets on Nucleus

      • isaac.nucleus.default setting moved from omni.isaac.utils

      • get_memory_stats to return a dictionary with memory usage statistics

    • Fixed

      • XformPrim now checks if orient is in single or double precision before setting

    • Changed

      • gf_quatf_to_np_array and gf_quatd_to_np_array to gf_quat_to_np_array

      • control_index to time_step_index in pre_step in BaseTask

      • recompute_extents now takes an argument to include children in recomputation

  • Extensions updated due to changes in omni.isaac.core

    • omni.isaac.dofbot

    • omni.isaac.universal_robots

  • omni.isaac.examples

    • Added

      • replay follow target example to showcase data logging and how to replay data in simulation.

      • Stop button greys out the buttons of the sample so the user presses reset for a proper reset.

      • pre_reset function in base sample

    • Fixed: Follow Target example when adding an obstacle and then resetting

    • Changed

      • post_reset is not called after load anymore

      • Propagation of core api changes

      • Rename kaya joystick to kaya gamepad

  • omni.isaac.manip

    • Renamed to omni.isaac.gamepad

  • omni.isaac.imu_sensor

    • Fixed: Acceleration due to gravity takes stage units into account

  • omni.isaac.kit

    • Added: reset_render_settings API to reset render settings after loading a stage.

    • Changed

      • Remove omni.isaac.core and omni.physx dependency

      • Shutdown print statements are now consistent with startup

  • omni.isaac.motion_generation

    • Changed

      • Removed deprecated fields from the Lula robot description files and RMPflow configuration files for the DOFBOT and Franka robots. This also corrects an oversight in the Franka robot description file that had resulted in a lack of collision spheres (and thus obstacle avoidance) for panda_link6.

      • event_velocities to events_dt in PickPlaceController

      • Added new phase of wait in PickPlaceController

  • omni.isaac.onshape

    • Removed mass properties when Import physics is not selected

    • Live import / Add to scene as meshes get imported

    • Add option to display/Hide unsupported documents

    • General UI improvements

    • Add Cylindrical Mates support

    • Change all transforms to Translate/Orient pairs

    • Fix document search bug when an empty string is provided after something was typed in and no results were showing.

  • omni.isaac.range_sensor

    • Fixed issue with generic sensor outputting sensor pattern image file

  • omni.usaac.ros_bridge

    • Fixed

      • odometry frame matches robot’s starting frame, not the world frame.

      • horizontal and vertical aperture use camera prim values instead of computing vertical aperture

      • lidar components publish point cloud data as PCL2 messages instead of PCL

      • lidar PCL2 messages only contain points that hit

      • lidar publisher publishes a full scan for point cloud data

    • Added: usePhysicsStepSimTime setting and use_physics_step_sim_time to use physics step events to update simulation time

  • omni.usaac.ros2_bridge

    • Fixed

      • odometry frame matches robot’s starting frame, not the world frame.

      • horizontal and vertical aperture use camera prim values instead of computing vertical aperture

      • lidar components publish point cloud data as PCL2 messages instead of PCL

      • lidar PCL2 messages only contain points that hit

      • lidar publisher publishes a full scan for point cloud data

    • Added: usePhysicsStepSimTime setting and use_physics_step_sim_time to use physics step events to update simulation time

  • omni.isaac.ui - adjust tooltip for ui Buttons with changed background color

  • omni.isaac.unit_converter

    • Add Physx Collision attributes

    • Disable Update All Referenced Stages by default

    • Do not save current stage unless Update All Referenced Stages is enabled

  • omni.isaac.urdf

    • Use double precision for xform ops to match isaac sim defaults

    • Default to save Imported assets on a new USD and reference it on open stage.

    • Change base robot prim to also use orientOP instead of rotateOP

    • Change behavior where any stage event (e.g selection changed) was resetting some options on the UI

    • Texture support for OBJ and Collada assets.

    • Remove bug where an invalid link on a joint would stop importing the remainder of the urdf. raises an error message instead.

  • omni.isaac.utils - isaac.nucleus.default setting moved to omni.isaac.core

2021.2.0

Robotics Experience

  • Documentation

    • Added

      • Keyboard shortcuts Reference

      • Isaac Sim Conventions Reference

      • ROS & ROS2 installation Guide

      • Python Installation Guide

      • Riemannian Motion Policy Manual

    • Simplified:

      • Installation Guides

      • Documentation structure and redirection

    • New Tutorials:

      • Required tutorials for all users

      • Advanced tutorials for specific topics

      • Replicator Tutorials for synthetic data generation

      • ROS & ROS2 tutorials

  • Assets:

    • Added:

      • Full Warehouse environment

      • Hospital environment

      • Office environment

      • Dofbot robot model

      • AWS robomaker jetbot

      • Higher fidelity carter v2 model

    • Renamed

      • carter_sphere_wheels_lidar.usd renamed to carter_v1.usd

    • Changed

      • UR10 gripper structure changed to allow for more flexibility in adding new grippers.

  • Standalone Samples and Tools:

    • Replicator Composer Data Generation Tools

    • Jupyter Notebook Samples

    • Standalone samples split by extension they represent

    • Simplified & combined synthetic data generation examples

    • Removed Jetbot RL samples, these are being re-factored with the new omni.isaac.core APIs and will be added back in the future

  • ROS, ROS2:

    • Changed

      • ros_samples folder renamed to ros_workspace

      • ros2_samples folder renamed to ros2_workspace

      • ros_workspace is now a full ros workspace

      • ros2_workspace is now a full ros2 workspace

  • General

    • Nucleus and Cache included in the Docker container

    • Livestream WebRTC removed

    • Jupyter Notebook support

    • Faster Startup time

    • Reduced System memory usage

    • Improved Stability

  • Extensions:

    • Newly added or moved

      • omni.isaac.demos: Collect older samples that are difficult to tutorialize and show more complex features.

      • omni.isaac.core: Provide a place to define core Isaac Sim APIs

      • omni.isaac.dofbot: Provides controllers and tasks for dofbot manipulator

      • omni.isaac.examples: New example extensions used for tutorial purposes

      • omni.isaac.imu_sensor: Extension provides IMU simulation support

      • omni.isaac.franka: Provides controllers and tasks for franka manipulator

      • omni.isaac.jetbot: Provides controllers and tasks for jetbot base

      • omni.isaac.lula: Low level extension provides RMP interfaces, see omni.isaac.motion_generation for higher level interface

      • omni.isaac.kaya: Provides controllers and tasks for kaya base

      • omni.isaac.kit: Provides a new SimulationApp class used for standalone python samples, replaced omni.isaac.kit

      • omni.isaac.proximity_sensor: Sample extension showing how a custom proximity sensor can be made using PhysX overlap API

      • omni.isaac.physics_utilities: Moved from omni.isaac.utils into its own extension

      • omni.isaac.replicator_playground: Sample showing a workflow to generate synthetic data and train in an interactive UI

      • omni.isaac.synthetic_recorder: Moved from omni.isaac.synthetic_utils

      • omni.isaac.ui: Extension provides UI building blocks used in Isaac Sim extensions so there is a consistent visual style

      • omni.isaac.ui.template: Example extension showing all of the different building blocks

      • omni.isaac.universal_robots: Provides controllers and tasks for ur10 manipulator

      • omni.isaac.motion_generation: Extension provides a general interface for motion generation algorithms like RMPs, replaces

      • omni.isaac.surface_gripper: Moved extension from omni.isaac.utils

    • omni.isaac.contact_sensor

      • Fixed: Total contact impulse is calculated correctly

      • Readings only generate interpolations between last two physics time steps

    • omni.isaac.debug_draw

      • Added: world space flag to specify if width value is in world coordinates.

    • omni.isaac.dr

      • Changed:

        • DR scope is hidden by default

        • Mesh component requires a parent prim to be specified

        • DR layer is created on extension startup

        • Traverse child prims to make sure no extra DR components exist in referenced prims.

    • omni.isaac.dynamic_control

      • Changed

        • DriveMode is now either DRIVE_FORCE or DRIVE_ACCELERATION, default is acceleration

        • Position/Velocity drive is not specified via DriveMode

        • All API calls verify if simulating, return otherwise

        • set_dof_properties will not enable or change drive limits

        • set_dof_state takes StateFlags to apply specific states

        • get_dof_state takes StateFlags to set which states to get

        • apply_effort -> set_effort

        • apply_articulation_dof_efforts -> set_articulation_dof_efforts

        • handle refresh messages are printed out as info messages, instead of always printing

        • apply_body_force now has a bool to specify if the force is global or local

      • Added

        • State variables can be printed

        • ArticulationProperties to control articulation settings

        • RigidBodyProperties can control iteration counts and contact impulse settings

        • get_articulation_properties

        • set_articulation_properties

        • get_articulation_dof_position_targets

        • get_articulation_dof_velocity_targets

        • get_articulation_dof_masses

        • set_rigid_body_properties

        • get_dof_properties

        • unit tests for most articulation, rigid body, dof and joint apis

        • utilities for common scene setup and testing

        • Sleep functions for rigid bodies and articulations

        • apply_body_torque

      • Removed

        • get_articulation_dof_state_derivatives

        • DriveModes DRIVE_NONE, DRIVE_POS, DRIVE_VEL

      • Fixed

        • apply_body_force now applies a force at a point

        • set_dof_properties does not break position/velocity drives

        • dof efforts report correct forces/torques due to gravity

        • when changing state of a dof or a root link, unrelated state values are not applied anymore

        • set_dof_state applies efforts now

        • get_dof_properties works correctly now

        • get_effort

        • get_articulation_dof_efforts

        • crash when stepping with a zero timestep as first step

      • Known Issues

        • dof efforts do not contain forces from external interactions, this will be added in the future using articulation sensors

    • omni.isaac.merge_mesh

      • Added

        • Instanceable lookup

        • Override Material support

    • omni.isaac.motion_planning

      • Deprecated in favor of omni.isaac.motion_generation

    • omni.isaac.occupancy_map

      • Added

        • 3D Occupancy Map support that allow 2D maps to be generated from 3D volumes

        • Block World Extension that allows a 2D map image to be converted to 3D geometry

      • Improvements

        • Simplified UI

        • Faster performance

        • Debug visualization

    • omni.isaac.onshape

      • Updated UI

      • Minor Bugfixes to import and physics

      • Performance Improvements

    • omni.kit.cad_importer

      • Changed
        • Ui Changes - Incorporated on the Import buttons path

      • Added
        • IGES file format support

        • Adding free surfaces importing

      • Improved
        • Performance and stability

      • Deprecated
        • Multi-LOD importing

    • omni.isaac.python_app

      • Deprecated in favor of omni.isaac.kit and omni.isaac.core

      • OmniKitHelper is replaced by SimulationApp and SimulationContext

    • omni.isaac.range_sensor

      • Fixed:

        • Sensors were not obeying enabled floating

      • Added

        • Basic USS material support

    • omni.isaac.robot_engine_bridge

      • Added

        • API to publish custom messages to bridge SDK Applications

        • API to get sim and app times in nanoseconds

    • omni.isaac.ros_bridge and omni.isaac.ros2_bridge

      • Improved:

        • Camera point cloud publisher performance

        • Pose Tree warnings

      • Added:

        • Distortion info to Camera messages

        • PCL Depth Camera Message

      • Changed:

        • Interpolate joint velocity is used for Joint State

        • Namespace is used to automatically prefix topic/frame names.

        • Publish Joint Efforts

      • Fixed:

        • ROS TC Camera convention is now correct

        • Lidar publishing issue for full set_articulation_properties

        • Lidar point cloud publishing works when switching from 2D to 3D

    • omni.isaac.synthetic_utils

      • Added

        • APIs for mapped semantic information

        • kitti writer supports both loose and tight 2d bounding boxes for labels

        • Base writer classes for numpy and kitti writers

        • Functions to initialize sensors

        • API to get DR layer name

      • Removed

        • Removed domain randomization helper file. Use commands directly.

        • Moved shapenet utility file to omni.isaac.shapenet.

        • Helper functions which are now part of omni.syntheticdata

      • Fixed

        • Issues with synthetic data not being available when requested

        • Issues with ground truth and camera pose

    • omni.isaac.urdf

      • Changed

        • create physics scene is false for import config

        • create physics scene will not create a scene if one exists

        • set default prim is false for import config

        • distance_scale sets the stage to the same units for consistency

        • None drive mode still applies DriveAPI, but keeps the stiffness/damping at zero

        • rootJoint prim is renamed to root_joint for consistency with other joint names.

        • Spheres and Cubes are treated as shapes

        • Cylinders are by default imported with custom geometry enabled

        • Joint drives are default force instead of acceleration

      • Added:

        • Support to specify usd paths for urdf meshes.

        • Floating joints are ignored but place any child links at the correct location.

        • Default position drive damping to UI

      • Fixed:

        • warnings when setting attributes as double when they should have been float

        • Crash when urdf contained a floating joint

        • Default config parameters are now respected

        • Meshes were not imported correctly, fixed subdivision scheme setting

      • Removed:

        • Parsing URDF is not a separate step with its own UI

    • omni.isaac.utils

      • Removed:

        • Most python utility functions have been moved to omni.isaac.core

        • Extensions moved to their own standalone extension folders

Omniverse Kit

  • Based on Omniverse Kit SDK 102.1.2

2021.1.1 Open Beta

Robotics Experience

  • Added New Samples:
    • ROS MoveIt sample

    • Native Python Asset converter sample

    • Native python ROS samples

    • Native python livestream sample

  • Added Documentation
    • Clarify python setup

    • Missing python samples

    • Omnikithelper

    • ROS Setup, python usage

    • Debug Drawing utilities

  • Improvements:
    • Added omniverse commands for all ROS bridge python API calls

    • Added ability to tick ROS components manually

    • Can specify command line arguments from launcher directly

    • Added nucleus server configuration dialog at startup

    • Contact sensor provides dt for raw data

    • Omnikithelper config can control window size

    • Overall documentation cleanup

  • Bug Fixes:
    • URDF importer improperly handled zero joint velocity limit

    • Fixed incorrect asset converter version in Docker image

    • Fixed issue with certain browsers not opening documentation links

    • Handle exception with shapenet extension if multiple isaac-sim instances are launched

    • Removed default extension registry

    • REB rigid body sink published incorrectly with large number of objects

    • Fixed RMP replay sample initialization

2021.1.0 Open Beta

Omniverse Kit

  • Based on Omniverse Kit SDK 101.0

Isaac SDK

  • Support Isaac SDK 2021.1

Robotics Experience

  • Added new features:
    • Contact force sensor support

    • Ultrasonic sensor support

    • Onshape CAD import support

    • ROS2 bridge

    • Native Rospy and Rclpy integration

    • Multi Camera support with Isaac SDK, ROS/ROS2

    • Multi Camera based Synthetic Data Recorder

    • Kitti format writer for synthetic data

    • Segmented lidar point cloud

  • Added new samples:
    • ROS/ROS2 Navigation

    • ROS April Tag, Stereo Cameras

    • RMP Sample

    • Several new pure python samples

    • Synthetic data generation

    • Multiple/Stereo cameras

    • DofBot Sim2Real Mirroring, Synthetic Data Training & Deploying

  • New Assets:
    • DofBot

    • Carter 2.0

  • Improvements:
    • UI Improvements

    • Performance Improvements

    • DLSS integration

    • Enhanced Domain Randomization: - New Components - Random Distribution Support - Polygonal and path based movement behaviors

    • Improved Python API documentation

    • Improved Python Debugging

    • Documented useful Omniverse Isaac Sim tips

    • Websocket livestreaming support

    • JetBot training in Sim, deploying on real JetBot

  • Bug Fixes:
    • URDF Importer

    • Dynamic Control stability

    • ROS bridge stability

2020.2.2 Early Access

Omniverse Kit

  • Based on Omniverse Kit Release 2020.2.2

Isaac SDK

  • Support Isaac SDK 2020.2

Robotics Experience

  • Added Factory Asset

  • Isaac SDK Supported Applications
    • Matrix Production

    • 3D Object Pose Estimation

  • Modifications on the JetBot and JetRacer RL Samples

  • Several Minor Bug Fixes

2020.2 Early Access

Omniverse Kit

  • Based on Omniverse Kit Release 2020.2 + Hotfix release

Robotics Experience

  • STEP Importer for importing advanced CAD files

  • Improved URDF Importer

  • Added tools for sensors
    • Visualizer for RGB, Depth, Segmentation and 2D BBox

    • Synthetic Data Recorder

  • Added Ground Truth Data
    • 3D BBox

  • Added to the set of supported messages and ROS services to ROS Bridge
    • Segmentation & BBox Messages

    • Velocity Control

    • TurtleBot Example

  • Simple Differential Base Controller

  • Live Physics Inspector

  • Occupancy Grid 2D Map Generator

  • April Tag MDL

  • Added Robot Models
    • JetBot

    • JetRacer

Provided Samples

  • Reinforcement Learning
    • JetBot Lane Following

    • JetRacer Lane Following

  • Synthetic Data Generation
    • Domain Randomization

    • Offline dataset generation

    • Dataset Generation with Physics and Glass

2020.1 Early Access

Omniverse Kit

  • Based on Omniverse Kit Release 2020.1

  • Nucleus Server support

Isaac SDK

  • Support Isaac SDK 2020.1

Robotics Experience

  • Sensor models: Depth, Lidar

  • Ground Truth: Depth, Segmentation, 2D Bounding Box

  • ShapeNet Importer

  • Domain Randomization: Randomize lighting, color, texture, pose

  • Isaac SDK machine interface for manipulation and navigation: Scene loader, Joint Control, Differential Base, Scissor Lift, Surface Gripper, Two finger Gripper, Rigid Body Sink, Teleport, Scenario From Message, Lidar, Camera, Contact Monitor

  • Added to the set of supported messages and ROS services to ROS Bridge: Camera topics, joint state topics, tf topics, lidar topic, joint commands, pose teleport services

  • Added to robot models: Carter, Kaya, STR, UR10

  • Added environments: Grid Room, Simple Room, Simple Warehouse

  • Added object models: Blocks, Dolly, Flip_stack, Forklift, KLT_Bin, Mounts, Pallet, Rubiks_cube, sortbot housing, skies

Provided Samples

  • Dynamic Control
    • Articulation Info

    • Joint Monkey

  • Lidar Info

  • Domain Randomization
    • Component Sample

    • Simple Room Sample

    • Warehouse Sample

  • Kaya Joystick

  • URDF
    • Carter

    • Franka

    • Kaya

  • UR10 Preview
    • Stack Bins

    • Fill Bins

  • Surface Gripper Example

  • Headless Synthetic Data Generation Example

  • Isaac SDK Samples
    • Warehouse Navigation with Carter

    • Cart Delivery

    • Shuffle Box with Simulator

    • Simple Joint Control

System Configuration

  • Requires a workstation equipped with RTX card

2019.3 Leonardo Preview

Omniverse Kit

  • Editor

  • RTX Rendering

  • PhysX 5

  • Python Scripting

Robotics Experience

  • URDF Importer

  • Sensor Models: RGB

  • Franka Manipulator Model

Provided Samples

  • Leonardo Preview
    • Ghost Robots

    • Simple Stack

    • Multiple Obstacles

System Configuration

  • Cloud: Running on AWS