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:
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