Migration Guide (Isaac Sim)#
Moving from Isaac Sim 2022.2.1 to 2023.1.0 brings in a number of changes to the APIs and the way the application is built. This document outlines the changes and how to migrate your code to the new APIs. Many of these changes attribute to the underlying Omniverse Kit upgrade from 104.2 to 105.1. The new upgrade brings the following notable changes:
Update to USD 22.11
Upgrading the Python from 3.7 to 3.10
Warning
This document is a work in progress and will be updated as we move closer to the release of Isaac Sim 2023.1.0.
Renaming of PhysX Flatcache to PhysX Fabric#
The PhysX Flatcache has been renamed to PhysX Fabric. The new name is more
descriptive of the functionality and is consistent with the naming convention
used by Omniverse called Fabric. Consequently, the Python module name has
also been changed from omni.physxflatcache
to omni.physxfabric
.
Following this, on the Isaac Sim side, various renaming have occurred:
The parameter passed to
SimulationContext
constructor via the keywordsim_params
now expects the keyuse_fabric
instead ofuse_flatcache
.The Python attribute
SimulationContext.get_physics_context().use_flatcache
is nowSimulationContext.get_physics_context().use_fabric
.The Python function
SimulationContext.get_physics_context().enable_flatcache()
is nowSimulationContext.get_physics_context().enable_fabric()
.
Renaming of the URDF and MJCF Importers#
Starting from Isaac Sim 2023.1, the URDF and MJCF importers have been renamed to be more consistent with the other asset importers in Omniverse. The importers are now available on NVIDIA-Omniverse GitHub as open source projects.
Due to the extension name change, the Python module names have also been changed:
URDF Importer:
omni.importer.urdf
(previouslyomni.isaac.urdf
)MJCF Importer:
omni.importer.mjcf
(previouslyomni.isaac.mjcf
)
Deprecation of UsdLux.Light
API#
As highlighted in the release notes of USD 22.11, the UsdLux.Light
API has
been deprecated in favor of the new UsdLuxLightAPI
API. In the new API the attributes
are prefixed with inputs:
. For example, the intensity
attribute is now available as
inputs:intensity
.
The following example shows how to create a sphere light using the old API and the new API.
Code for Isaac Sim 2022.2.1 and below
import omni.isaac.core.utils.prims as prim_utils
prim_utils.create_prim(
"/World/Light/GreySphere",
"SphereLight",
translation=(4.5, 3.5, 10.0),
attributes={"radius": 2.5, "intensity": 600.0, "color": (0.75, 0.75, 0.75)},
)
Code for Isaac Sim 2023.1.0 and above
import omni.isaac.core.utils.prims as prim_utils
prim_utils.create_prim(
"/World/Light/WhiteSphere",
"SphereLight",
translation=(-4.5, 3.5, 10.0),
attributes={
"inputs:radius": 2.5,
"inputs:intensity": 600.0,
"inputs:color": (1.0, 1.0, 1.0)
},
)