Release Notes

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:

      • Requried 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 tutorialze 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