Release Notes

4.0.0

General

  • Based on Kit 106.0 Beta

  • Compatibility Checker app to check Isaac Sim’s system requirements and compatibility

  • VS Code integration (VS Code version of the Script Editor)

  • JupyterLab/Jupyter Notebook integration (Jupyter version of the Script Editor)

  • Install Isaac Sim using a Python package manager such as pip [experimental]

  • Improved Cache/Shader Experience

  • Use EcoMode to reduce GPU consumption when not simulating

  • Performance improvements

Documentation and Workflow Tutorials

  • Isaac Lab: Migration guide when moving from IGE, OIGE, and Orbit

  • Isaac Lab: Tiled RGB/Depth rendering tutorial

  • Isaac Lab: Cloud-based workflow deployment using Isaac Automator tutorial

  • Assets and Import: OpenUSD Fundamentals

  • Assets and Import: Simulation Fundamentals

  • Assets and Import: Using the unified mesh merging tool

  • Assets and Import: How and where to break articulation loop

  • Assets and Import: Omnigraph Menu shortcuts

  • SDG: Example Snippet: Motion Blur

  • SDG: Example Snippet: Data Access at Custom FPS

  • SDG: Example Randomizer: Physics Based Volume Filling

  • SDG: Custom Replicator OG-based Randomization Nodes

  • SDG: Synthetica Tutorial

  • ROS: ROS 1 to ROS 2 Tutorial. Using the ros1_bridge package for interfacing with Isaac Sim ROS 2 nodes from ROS Noetic.

Isaac Lab

  • Unified RL platform

  • Open source with BSD-3 license

  • Perf improvements

  • Multi-GPU training based on torch.distributed()

  • Recording capabilities (Animation and video)

  • Tiled RGB/depth rendering with an example

PhysX

  • Mimic Joint Support

  • Contact Friction Force Reporting

  • Improved Physics Inspector

  • Simulation Data Visualizer

  • Improved Cloning time

  • TGS Solver Per-Iteration Gravity

  • Rigid Body Acceleration Getter

  • Solver Residual Reporting

  • Compliant Contact Update

  • Improved OmniPVD

  • SDF Collision Improvements

Assets / Import

  • Wizard Guide for how to import robot and tuning process

  • URDF importer: Import sensors from URDF schema

  • URDF importer: Import via ROS 2 robot description

  • New assets:

    • Sensors

      • Sick safety lidars

      • Ouster OS2, meshes for existing Ouster lidars (OS0, OS1)

      • Meshes for Velodyne VLS-128

      • Meshes for Sensing cameras and model updates

    • Environments

      • Large empty warehouse

      • Large full warehouse (digital twin)

      • Small warehouse (galileo lab digital twin)

      • Rivermark plaza

    • Robot

      • AgileX Limo Robot and ROS2 drive support

      • Universal Robot UR20

      • Universal Robot UR30

      • Nova Dev Kit

    • Legged Robot

      • Unitree Go2

      • Unitree B2

      • Boston Dynamics Spot

    • Humanoid

      • 1X Neo

      • Unitree H1

      • Agility Digit

      • Fourier Intelligence GR1

      • Sanctuary AI Phoenix

      • XiaoPeng PX5

  • Nova Carter physical dynamics improvements

  • Nova Dev Kit ROS2 support

  • Forklift_b (Crown SP3200) ROS2 support with cameras and lidars

SDG

  • Custom writer for Pose estimation

  • COCO writer

Sensors

  • Enable RTX non-visual materials

  • Radar support

  • Performance improvements to OmniGraph based sensor pipelines

  • IMU sensor backend change to Tensor API

ROS

  • Performance improvements for image based publishers

  • Support CycloneDDS for Linux

  • Deprecation: ROS and ROS 2 Foxy

  • Improved ROS 2 launch support end-to-end workflow.

  • Added ROS 2 Internal Libraries option and ROS 2 sourcing validation within the App Selector

  • Add a QoS for publishers and subscribers

  • Introduced static publisher option for TF publishers

  • Omnigraph node to expose articulation states (joint position, velocity, effort)

  • Generic ROS 2 publisher and subscriber for any available message type

  • Generic ROS 2 service server and client for any available message type

  • ROS 2 service omnigraph node to list prims and their attributes, as well as read and write a specific attribute

  • Render the ROS 2 TF transformation tree in the viewport

  • Publishing the robot description topic

  • Import URDF from ROS 2 publisher

  • Use of system time in all publishers and helper nodes

  • New Common Omnigraph shortcut to auto-generate preset ROS2 Action Graphs.

Manipulation

  • Enhanced robot description editor for Lula/cuMotion

  • Gains tuning tool for Articulations

  • Full pose (including orientation) support in task-space global planner (JT-RRT)

MetroSim

  • ORO extension

  • ORA (previously ORC) extension

  • Anim.People extension

cuOpt

  • cuOpt extension

Extensions

  • omni.exporter.urdf

    • Added

      • Replace absolute path and uri path options with mesh path prefix option

      • Parse velocity and effort limits from USD and include in URDF

      • Add UsdGeom.Cylinder to error message as one of the valid geom prim types

      • Change to not include camera mesh files when exporting from isaac sim extension

      • Add mesh file path char length check

      • Add NodeType.SENSOR and functionality to include sensor frames in the URDF

    • Fixed

      • Fix cylinder radii check

      • Fix checking for duplicate prim names

      • Fix issue with joint limits set to inf for revolute joints, set to continuous joint instead

      • Fix cylinder scaling issue

  • omni.isaac.app.selector

    • Added

      • Added button to clear caches

      • Dropdown to use internal ros2 libraries when applicable

      • Warning messages for when ROS2 bridge is selected and env vars are incorrectly configured.

      • Added checkbox to enable eco mode on startup

    • Changed

      • ROS1 bridge and ROS2 foxy are marked as deprecated

      • Replace gnome-terminal with x-terminal-emulator to support non-gnome-based desktops

    • Fixed

      • Forward the internal environment variables to support configuring the ROS bridge for x-terminal-emulator

      • Working directory for wrapped gnome-terminal called using x-terminal-emulator

  • omni.isaac.app.setup

    • Added

      • isaac.startup.create_new_stage carb setting to enable/disable stage creation on app startup, enabled by default

  • omni.isaac.articulation_inspector

    • Deprecated

      • Add Deprecation Warning

  • omni.isaac.asset_browser

    • Added

      • Add IsaacLab folder

    • Changed

      • Update asset paths to 4.0

  • omni.isaac.assets_check

    • Changed

      • Updated path to the nucleus extension

  • omni.isaac.benchmark.services

    • Added

      • ability to enable/disable frametime and runtime separately when starting a phase

      • User can now specify per-benchmark metadata when using BaseIsaacBenchmark, which will persist across phases

      • IsaacStartupTimeRecorder measures startup time, collected only during “startup” phase

      • OsmoKPIFile writer logs KPIs to console.

      • Adds new BaseIsaacBenchmark for non-async benchmarking

      • Adds new standalone examples for non-async benchmarking

      • Adds OsmoKPIFile writer to publish KPIs compatible with OSMO’s Kratos backend

    • Changed

      • Removes dependency on omni.isaac.core_nodes

      • cleaned up imports

      • OsmoKPIFile backend now prints one KPI file per phase, rather than one KPI file per workflow

    • Fixed

      • Error when zero frames were collected

      • Frametime collector skips frametime collection if start time is None (i.e if set_phase(start_recording_time=False) is called

      • ROS2 bridge camera helper

  • omni.isaac.benchmark_environments

    • Added

      • Deprecation warning

  • omni.isaac.benchmarks

    • Added

      • Nova Carter ROS2 benchmark for 3 carters 1 3d lidar each for benchmarking multi-robot nav

      • Added 1200p eight cameras benchmark for hawk cameras

      • Added Nova Carter Benchmarks (non ROS)

    • Removed

      • Removed Carter V1 benchmarks

    • Changed

      • Remove redundant benchmarks that are already covered by standalone scripts

      • Renamed previous Nova Carter Benchmarks to Nova Carter ROS2

      • Moved helpers from benchmark services extension

  • omni.isaac.block_world

    • New Extension

  • omni.isaac.cloner

    • Changed

      • Updated path to the nucleus extension

      • Support executing cloner on non-context stage

  • omni.isaac.common_includes

    • New Extension

  • omni.isaac.conveyor

    • Removed

      • Unused config file

      • Changelog

  • omni.isaac.conveyor.ui

    • New Extension

  • omni.isaac.core

    • Added

      • added getting world poses through fabric selections in XFormPrimView through usd=False argument

      • Warning notice for TensorFlow int32 tensor to interoperability function docstrings

      • Friction reporting API to GeometryPrim and GeometryPrimView

      • Friction reporting API

      • Added crash metadata

      • Utility function to get the prim path that has the Articulation Root API

      • Interops utility to convert tensors/arrays between ML frameworks (Warp, PyTorch, JAX, TensorFlow and NumPy)

    • Changed

      • reset_xform_properties arguments defaults to False instead of True in the prim classes initialization.

      • Get the prim path that has the Articulation Root API when the ArticulationView class is instantiated

      • Changed the find_matching_prim_paths util to a cpp implementation for better perf.

      • Update asset paths to 4.0

      • Add examples to docstrings, fix type annotations, and improve description. Affected modules: omni.isaac.core.scenes (scene, scene_registry)

    • Fixed

      • Added deprecation warning for particle cloth

      • numpy.bool deprecation

      • removed the deprecated physX force sensor

      • Fixed get_prim_object_type function in prim utils.

      • Check for PhysicsScene USD type to identify whether a physics scene is already defined

      • Always set update to USD flag when fabric is enabled

      • Fix undefined variables when clone=False for force APIs

  • omni.isaac.core_archive

    • Added

      • pyperclip==1.8.0

    • Changed

      • Update gunicorn to 22.0.0

  • omni.isaac.core_nodes

    • Added

      • Time Splitter node

      • Telemetry for writers and annotators

      • New Isaac Read System Time node to allow users to incorporate latest system time or system time at specified simulation frame (swh frame number).

      • Isaac Get Wold Pose Node

      • Articulation State node

      • Run One Frame Simulation Node

      • Real Time Factor Node

    • Changed

      • Read camera info node no longer accept viewport as input

      • Moved header files into extension

      • Removed usePath checkbox from OgnIsaacArticulationController node. Now if the robotPath field is populated, targetPrim is ignored.

      • GUI users won’t notice any behavior changes. Standalone workflow users must ensure any references to usePath in the script is removed.

    • Fixed

      • Reset articulation controller inputs on stop

      • Check for joint indices need to account for the possibility of an array input

      • Update IStageUpdate usage to fix deprecation error

      • Fault with Articulation Controller node when it receives no joint name or indices inputs

      • Bug in Isaac Get Wold Pose Node’s orientation

      • Multi GPU support in RGBA to RGB node

      • Render products not disabling on stop

      • RGBA to RGB node running twice per frame

      • Issue where render product is not cleared when opening a stage

      • Render product resolution and camera prim not updating

      • Camera info issue when path was blank

  • omni.isaac.cortex

    • Added

      • Deprecation tag

    • Changed

      • Updated path to ur10

  • omni.isaac.cortex.sample_behaviors

    • Added

      • Deprecation tag

  • omni.isaac.cortex_sync

    • Added

      • Deprecation tag

  • omni.isaac.debug_draw

    • Changed

      • Moved header files to extension

    • Fixed

      • Update IStageUpdate usage to fix deprecation error

  • omni.isaac.doctest

    • New Extension

  • omni.isaac.dofbot

    • Changed

      • Updated path to the nucleus extension

  • omni.isaac.dynamic_control

    • Changed

      • Extension is deprecated

      • Removed the use of deprecated physX jointSolverForces

      • Moved header files to extension

  • omni.isaac.examples

    • Removed

      • Franka Nut & Bolt Example

    • Fixed

      • Quadruped example to clear callbacks after it’s complete

      • Updated Path Planning Example for compatibility with Lula 0.10.0

  • omni.isaac.examples_nodes

    • Changed

      • Updated omnigraph nodes to use per instance state instead of internal state

  • omni.isaac.extension_templates

    • Fixed

      • Fixed code for handling Articulation selection in Configuration Tooling Template. The issue arose from a change in behavior in Core get_prim_object_type()

      • Fixed code for populating drop-down menu with Articulations in Configuration Tooling Template. This issue arose with Kit behavior changes on stage and timeline events.

  • omni.isaac.gain_tuner

    • New Extension

  • omni.isaac.gym

    • Changed

      • Deprecate extension, use Isaac Lab going forward

      • Get SimulationApp from isaac_sim instead of omni.isaac.kit

    • Fixed

      • Fix livestream for gym with new app for running with livestream

  • omni.isaac.gym.benchmark

    • Removed

      • Removes deprecated function calls from benchmarks.

  • omni.isaac.import_wizard

    • New Extension

  • omni.isaac.jupyter_notebook

    • New Extension

  • omni.isaac.kit

    • Added

      • SIGINT handler to SimulationApp to force exit when ctrl-c is pressed

      • hide_ui to Simulation App to force ui visibility

      • max_gpu_count config argument

    • Changed

      • when headless is set to true, the UI is hidden for performance, hide_ui can be set to false to re-enable the gui

      • Rename isaac_sim import statement to isaacsim

      • Measures startup time if omni.isaac.benchmark.services is loaded.

    • Fixed

      • Missing app icon issue

      • Crash on exit when using tracy

  • omni.isaac.lula

    • Changed

      • Upgraded Lula from release 0.10.0 to 0.10.1. This fixes a bug in the global planner interface introduced in 0.10.0 that caused a fatal error to be logged when a path couldn’t be found.

      • Upgraded Lula from release 0.9.1 to 0.10.0. This new version includes a much-improved collision sphere generator and enhancements to the task-space global planner (JT-RRT), including support for full-pose targets and improved performance. The global planner enhancements entail some parameter changes that break backward compatibility, as does a generalization of the kinematics API to support cases where only a subset of c-space coordinates have acceleration and/or jerk limits.

  • omni.isaac.lula_test_widget

    • Fixed

      • Fixed logic around selecting Articulation on STOP/PLAY given new behavior in Core get_prim_object_type() function.

  • omni.isaac.manipulators

    • Added

      • end_effector_prim_path argument added to the SingleManipulator alongside the end_effector_prim_name

      • Gripper Controller Node

      • automatically populated omnigraph for gripper controller

      • pointer to open up the python script that generates the omnigraph for the menu shortcut graphs

      • a menu item for the extension to allow for populating common controller omnigraphs

      • automatically populated omnigraph for position and velocity controller of any articulation object

    • Changed

      • Extension factored into multiple components. See omni.isaac.manipulators.ui

      • enabled “add to existing graph” for all the shortcuts

      • moved all python code into a python folder. deleted omni/isaac/manipulators

  • omni.isaac.manipulators.ui

    • New Extension

  • omni.isaac.menu

    • New Extension

  • omni.isaac.merge_mesh

    • Added

      • Code-Accessible Merge Mesh functionality (API)

      • Merge Command

      • Disable source assets when merging

    • Changed

      • Combine Materials now Creates the materials in the provided path if they don’t exist

    • Fixed

      • Fix Broken empty Material binding check

  • omni.isaac.ml_archive

    • Changed

      • removed omni.pip.torch dependency, torch is now directly part of this archive

      • added torch==2.2.2+cu118, torchvision==0.17.2+cu118, torchaudio==2.2.2+cu118, filelock==3.13.4, fsspec==2024.3.1, mpmath==1.3.0, networkx==3.3, sympy==1.12

      • added nvidia lib pip packages

    • Fixed

      • Make platform specific

  • omni.isaac.motion_generation

    • Added

      • Added acceleration and jerk limits to all robot description files.

      • Added getters for acceleration and jerk limits to Trajectory Generator.

      • Added support for full-pose targets in Lula RRT algorithm

    • Changed

      • Changed behavior of get_acceleration_limits() and get_jerk_limits() output to track changes in Lula.

      • Updated path to UR10

  • omni.isaac.nucleus

    • Changed

      • Updated to 4.0 asset path

      • Reduced timeout.

  • omni.isaac.occupancy_map

    • Changed

      • Refactored into components

      • Moved header files to extension

    • Fixed

      • Issues with instanceable assets when using non physx collision mesh option

      • Cell size not updating based on the current stage units. On stage load the cell size is set to 5cm or 0.05m depending on the units.

  • omni.isaac.occupancy_map.ui

    • New Extension

  • omni.isaac.physics_utilities

    • Fixed

      • Issue when applying collisions to prims that have no points

      • Slow performance when clearing physics apis on large scenes

  • omni.isaac.quadruped

    • Changed

      • Updated unitree folder structure and opt to use unitree models with sensors attached

      • Reduced the frequency of osqp solver from every physics step to every 5 physics steps

      • Contact sensor now uses the interface instead directly of the python wrapper

  • omni.isaac.range_sensor

    • Changed

      • Extension refactored into multiple components. See omni.isaac.range_sensor.ui and omni.isaac.range_sensor.examples

      • Moved header files to extension

  • omni.isaac.range_sensor.examples

    • New Extension

  • omni.isaac.range_sensor.ui

    • New Extension

  • omni.isaac.robot_assembler

    • Added

      • Added test cases for different placements of Articulation Roots. This creates a matrix of possible configurations to support between two robots being attached.

    • Changed

      • Robot Assembler moves the Articulation Root of the attach robot to the top-level prim in the hierarchy while it is attached, and reverses this on detach.

      • Updated path to the nucleus extension

    • Fixed

      • Fixed bug where single robot checkbox in UI workflow had no effect when True.

      • Fixed bug with AUTO_CREATE_FRAME miscomputing local poses for rigid bodies.

      • Fixed bug with computing fixed joint transforms to non-root robot links.

      • Fixed bug where collision masking fails when base Articulation has an Articulation root nested under the top-level path.

      • Fixed bug where JointStateAPIs were being overwritten when nesting prims on STOP and then assembling on the first frame of PLAY. The fix is to simply set the values back to zero at the right moment.

      • Fixed bug where attach frames for a robot can include its fixed joint (which causes a failed assembly) when the Articulation Root is on the fixed joint.

      • Fixed bug where Articulation selection function can be called with an invalid prim path and cause a harmless (but visible) error.

      • Fixed bug where robot assembler could not list frames for assets that have Articulation roots on a link in the Articulation.

  • omni.isaac.robot_benchmark

    • Added

      • Deprecation warning

  • omni.isaac.robot_description_editor

    • Added

      • Add support for importing and exporting Curobo XRDF files

      • Add maximum acceleration and jerk properties to Command Panel

    • Fixed

      • Fixed Articulation DropDown population and corresponding extension behavior.

      • Fixed logic around selecting Articulation on STOP/PLAY given new behavior in Core get_prim_object_type() function.

  • omni.isaac.ros2_bridge

    • Added

      • Resetting output of the Twist Subscriber to zeros upon stopping simulation.

      • RTX camera and lidar omnigraph shortcuts uses RunOneSimulationFrame

      • Isaac ROS NITROS Bridge integration for publishing images on Linux

      • Telemetry for writers and annotators

      • Generic Omnigraph ROS client and server nodes

      • Implemented static TF publishing in OgnROS2PublishTransformTree

      • New QoSProfile node to create any preset or custom qos profile to use with ROS2 Omnigraph nodes

      • QoS Profile inputs to all ROS2 Publisher, Subscriber, Service Omnigraph nodes

      • A button to open documentation links for OmniGraph shortcuts

      • Add skipFrameCount option to ROS2 RTX Lidar and Camera Helper Nodes to modify the rate of lidar and point cloud publishing

      • Added quality of service support for ROS2 bridge subscribers and publishers

      • Option to use system timestamp for ROS2 RTX Lidar and ROS2 Camera Helper Nodes

      • Generic ROS2 Publisher node

      • Isaac Sim now supports CycloneDDS (Linux ROS2 Humble only)

      • ROS2 Service Prim node to list prims and their attributes, as well as read and write a specific attribute

      • OG shortcuts to RTX lidar, odometry, tf pub

      • Menu shortcuts to generate ROS Omnigraphs

      • Added ROS2SubscribeTransformTree omnigraph node

      • ROS2 service

      • Dynamic ROS2 message for services and actions

      • Carb setting publish_without_verification for toggling ROS2 publishers to publish regardless of subscription count on a topic

      • Added Show Debug View flag to RTX Lidar Helper

      • Publishers now check to see topic subscription count before filling data and publishing.

    • Changed

      • Foxy support is deprecated

      • default subscriber topic in ROS2 jointstate omnigraph shortcut uses /joint_command and not /cmd

      • Fixed Nova Carter multiple robot navigation and Carter Stereo standalone examples from crashing

      • OgnROS2PublishImage does gpu->cpu copy on a separate cuda stream to improve performance

      • Stereo offset input in ROS Camera Info and Helper nodes to accept camera baseline in meters used to compute Tx, Ty.

      • Updated ROS2 Camera and RTX Lidar unit tests for publishing using system timestamp

      • Improve dynamic message API and add support for JSON data

      • used IsaacCreateRenderProduct for the camera OG shortcuts

      • default to enable semanticlabels for some camera topics

      • Improved Image publisher performance

      • Generic ROS2 Subscriber node

      • Added profile zones for the image publisher

      • ROS2 Bridge no longer requires the vision_msgs for activation. However, if you would like to use Isaac Sim publishers dependant on vision_msgs, simply install it on the system or use isaac sim internal libraries.

      • Renamed “Isaac Examples > ROS” menu to “Isaac Examples > ROS2”

    • Fixed
      • OgnROS2PublishLaserScan angle inputs now provided in degrees rather than mixed degrees/radians

      • Rclpy loading on Windows

      • Memory leak when ROS 2 libs were not loaded properly

      • Multi GPU support

      • RGB being published twice per frame

      • Missing DLLs for local windows usage

  • omni.isaac.ros2_bridge.robot_description

    • New Extension

  • omni.isaac.ros_bridge

    • Added

      • Resetting output of the Twist Subscriber to zeros upon stopping simulation.

      • Telemetry for writers and annotators

      • Add skipFrameCount option to RTX Lidar and Camera Helper Nodes to modify the rate of lidar and point cloud publishing

      • Option to use system timestamp for RTX Lidar and Camera Helper Nodes

      • Added Show Debug View flag to RTX Lidar Helper

    • Changed

      • Extension is deprecated

      • Updated all ros_comm packages to v1.16.0

      • Stereo offset input in ROS Camera Info and Helper nodes to accept camera baseline in meters used to compute Tx, Ty.

      • Updated Camera and RTX Lidar unit tests for publishing using system timestamp

    • Fixed

      • OgnROS1PublishLaserScan angle inputs now provided in degrees rather than mixed degrees/radians

      • Roscore not resetting correctly

      • Multi GPU support

      • RGB being published twice per frame

  • omni.isaac.scene_blox

    • Changed

      • Updated path to the nucleus extension

  • omni.isaac.sensor

    • Added

      • Added get_rgb and get_depth methods to CameraView class returning the data reshaped into camera batches

      • Added get_rgb_tiled and get_depth_tiled methods to CameraView class returning the tiled data

      • Added test_camera_view_sensor.py with golden images for testing get_rgb, get_depth, get_rgb_tiled, and get_depth_tiled methods

      • omni.isaac.sensor.gmo_types module, containing ctypes structures for omni.sensors extension types

      • Added device argument with “cpu” or “cuda” for get_rgba/get_depth functions of camera_view.py

      • Added get_data to camera_view.py returning the raw annotator data

      • Added additional Ouster lidar configs for OS0, OS1, REV6, REV7, and OS2 lidars

      • CameraView class for managing multiple cameras and rendering used tiled_sensor from replicator

      • Telemetry for writers and annotators

      • Added Sick sensor config files for multiScan136, multiScan165, picoScan150

      • IsaacComputeRTXLidarFlatScan Node now works with Solid State lidar.

      • Official version of SICK microscan3 config, and marked old one as legacy.

    • Removed

      • up/downElevationDeg and start/endAzimuthDeg because they are no longer used.

      • Deprecated functions: get_sensor_readings, get_sensor_num_readings, get_sensor_sim_readings

      • Sensor visualziation. (Please use omnigraph nodes to visualize the sensors)

    • Changed

      • SICK lidar configs now include rangeOffset parameter

      • Using wpm radar

      • Get radar transform from camera

      • Updated Sensing camera names

      • Removed visualization attributes

      • Deprecated get raw data function

      • Includes RTX nonvisual material support

      • Tensor API support for IMU sensor

      • Changed physics based sensor to be created on play and destroyed on stop

      • Replaced current sensor config files for tim781

      • Changed XT-32 lidar name from PandarXT-32 to XT-32

      • use intensityScalePercent in IsaacComputeRTXLidarPointCloud if present

      • Location of default and temp lidar config files set to ${app}/../extsbuild/omni.sensors.nv.common/data/lidar/

      • Replaced internalState with perInstanceState for the ogn nodes

      • Updated path to the nucleus extension

      • Converted read IMU and contact sensor nodes to C++

      • Added read latest data input flag to the read contact sensor node (default to false)

      • Renamed Isaac Read Contact Sensor to Isaac Read Contact Sensor Node

      • Moved header files to extension

    • Fixed

      • OgnROS2PublishLaserScan switches buffer index calculation to use monotonically-increasing integer, fixing bug where floating-point math would occasionally result in buffer never being filled

      • OgnIsaacPrintRTXRadarInfo prints radar info correctly

      • OgnROS2PublishLaserScan publishes correct flat scan

      • buffers are now sorted by azimuth, min -> max

      • Accumulates then publishes full scan, rather than partial scans

      • Output angles now all in degrees, rather than mixed degrees/radians

      • Crash in IsaacComputeRTXRadarPointCloud node

      • incorrect rendervar in RtxSensorCpuIsaacRTXLidarOutput

      • get_rgba() and get_depth() for CameraView class now works for both rgb and depth

      • Account for linear array with depth values being at end

      • Fixed rotating physX lidar python class initialization issue

      • Rational polynomial camera distortion coefficients will be stored as k1, k2, p1, p2, k3, k4, k5, k6 in the camera schema

      • Fixed invalid IMU sensor crash bug

      • IsaacComputeRTXLidarFlatScan works with CCW Solid State lidar configs

      • Crash in PrintRTXLidarInfo node

      • Fixed contact sensor threshold bug

      • Multi GPU support

      • Added execOut trigger commands in Read IMU and Contact Sensor nodes to allow attached downstream nodes to tick

      • No longer crash when number of rtx lidar ticks are out of sync

      • RTX Lidar config parameter nearRangeM < 0.4 was broken. Added minDistBetweenEchos, which also affects the near hits.

  • omni.isaac.surface_gripper

    • Changed

      • Changed Dynamic Control Raycast into Physx scene query raycast.

      • Extension refactored into multiple components. See omni.isaac.surface_gripper.ui.

      • Moved header files to extension

  • omni.isaac.surface_gripper.ui

    • New Extension

  • omni.isaac.synthetic_recorder

    • Added

      • async delayed ui frame build

    • Fixed

      • writing to s3 by using only folder name instead of full path

      • disabled capture on play to fix timeline control issues

      • removed step_async WAR

      • using step_async when num_frames=1

  • omni.isaac.tests

    • Added

      • Tests for the Leatherback robot.

      • Tests for the Create 3 robot.

      • Added NvBlox unit test

      • Added O3Dyn robot rotate unit tests

      • Added unit tests for O3Dyn Robot.

      • Update unit test to use get_assets_root_path_async

      • Added End Effectors menu items back into menu tests

      • Added unit tests for checking the sensor and environment menu items

      • Added writers to the ‘test_randomizer_snippets.py’ isaac replicator randomizers

      • Added automatic loading test for assets under “Robots”

      • Added test for apriltag menu

      • test_forklift_articulations.py for testing drive & lift of Forklift C model

      • test_randomizer_snippets.py containing replicator alternative randomizer examples from the docs

    • Changed

      • Renamed Transporter to iw.hub

      • Updated nvblox tests to match the sample

      • Update tolerances of O3dyn tests

      • Removed the usage of the deprecated dynamic_control extension

      • Changed get_assets_root_path to get_assets_root_path_async for the unit tests

      • Updated unit tests with newer OgnIsaacArticulationController node

      • Modified target angular velocity for the spin test as the old values are above the speed limit

      • Changed carter and drive goal carter unit tests to use the NOVA carter (V2.4) asset

    • Fixed

      • O3dyn Tests

      • Modified jetbot unit tests to not go above its max speed

      • updated tests to renamed nova carter asset

      • test_randomizer_snippets.py to use await instead of ensure_future

  • omni.isaac.tf_viewer

    • New Extension

  • omni.isaac.throttling

    • Added

      • Added on stop play callback to enable/disable eco mode. Pressing play will disable, pressing stop will enable.

  • omni.isaac.ui

    • Added

      • optional tooltip entry for SelectPrimWidget and ParamWidget

      • Added function to trigger user callback manually for DropDown widget.

      • SelectPrimWidget and ParamWidget to simplify populating a popup dialog for collecting parameters.

    • Changed

      • Use action registry in make_menu_item_description by deregistering actions first

      • Updated path to the nucleus extension

    • Fixed

      • Fix bug where XYPlot widget could display the wrong axis values for ragged data.

  • omni.isaac.universal_robots

    • Changed

      • Updated Path to UR10

  • omni.isaac.utils

    • Added

      • New Forklift C asset option under Robots > Forklift

    • Changed

      • Moved menu items to omni.isaac.menu

      • Moved forklift asset under new Robots > Forklift section

      • Renamed forklift asset to Forklift B.

  • omni.isaac.version

    • Added

      • Get the version file path from the ISAAC_PATH environment variable first

      • Validate if the version file exists and returns empty version values if not

  • omni.isaac.vscode

    • New Extension

  • omni.isaac.wheeled_robots

    • Added

      • unit test for robot reset using jetbot

      • Added acceleration restraints to differential controller

      • Reset test for holonomic controller

      • a menu item for the extension to allow for populating common controller omnigraphs

      • automatically populated omnigraph for controlling a differential robot

    • Changed

      • Changed desired velocity input name from velocityCommands to inputVelocity to fix a type not match issue

      • Extension refactored into separate components. See omni.isaac.wheeled_robots.ui for UI components of the extension.
        • added ability to open python script in the popup dialog for omnigraph shortcuts

      • extension refactored into multiple components

      • Replaced internalState with perInstanceState for python ogn nodes

      • All custom_reset function in directly set the node using OG API

      • Replaced internalState with perInstanceState for the ogn nodes

      • Refactored wheeled robots extension to use carb plugin and support Cpp code

      • Rewrote differential controller node in Cpp

      • Removed unused outputs for position and effort control

    • Fixed

      • Crash on differential controller reset

      • Updated description in Ackermann Steering node

  • omni.isaac.wheeled_robots.ui

    • New Extension

  • omni.kit.loop-isaac

    • Changed

      • Moved header files to extension

  • omni.kit.property.isaac

    • Fixed

      • Prim Custom Data field can support nested objects (dictionaries) now

  • omni.pip.cloud

    • Changed

      • Replace pypiwin32==223 with pywin32==306

      • Update cryptography to 42.0.7

      • update typing extensions to typing_extensions==4.10.0

    • Fixed

      • Manually add paths for pywintypes import

  • omni.pip.compute

    • Added

      • opencv-python-headless==4.9.0.80

    • Fixed

      • Missing windows dlls

  • omni.replicator.isaac

    • Added

      • Custom replicator randomization nodes

      • Telemetry for writers and annotators

      • Function to approximate truncation of object based on comparing 3D bounding box with visible portion on screen

      • DOPE and CenterPose now output truncation value in addition to visibility

      • Add support for CenterPose and Dope to generic PoseWriter class

      • Added a generic pose writer

      • Added support for RtxSensorGpu and RtxSensorCpu aovs in`pytorch_writer` to support tiled RTX Sensor.

    • Changed

      • re-enable s3 writing functionality for PoseWriter

      • Include more information for DOPE output annotations

      • PoseWriter restructuring

      • Updated omnigraph nodes to use per instance state instead of internal state

    • Fixed

      • Pose writer fixes for assets with origin not at the center of the bounds

  • omni.usd.schema.isaac

    • Changed

      • Removed omni.usd.schema.physics dependency

Previous Releases