scenic.simulators.isaac.backends
Isaac Sim API backends.
Each backend wraps one flavor of the Isaac Sim Python API (the 5.1 Core API,
the 5.1/6.0 Core Experimental APIs, or Isaac Lab) behind the common
IsaacBackend interface. Backends are singletons: getBackend creates each
one on first use and returns the same instance afterwards, since a backend
owns the running SimulationApp.
Isaac Sim supports only one SimulationApp per OS process. Since each
backend independently launches its own, using two different backends (e.g.
core_51 and experimental_60) within one process crashes the whole
interpreter rather than raising a catchable error. This is normally moot: a
single Isaac Sim install only supports one API generation, so auto
detection (or an explicit, consistent isaacBackend override) always picks
the same backend for every scenario run in that install. It matters mainly
for test suites or tooling that might otherwise mix explicit backends within
one Python process.
Submodules
Typed per-arm manipulator profiles. |
|
USD authoring for the Robotiq 2F-85 gripper ( |
Summary of Module Members
Module Attributes
Backend used when the Isaac Sim version cannot be read (e.g. it is not pip-installed, or Scenic is running outside the Isaac environment). |
Functions
Build a backend-independent articulation action. |
|
Pick a backend from the installed Isaac Sim version. |
|
Return the (singleton) backend with the given name. |
Member Details
- FALLBACK_BACKEND_NAME = 'experimental_60'
Backend used when the Isaac Sim version cannot be read (e.g. it is not pip-installed, or Scenic is running outside the Isaac environment).
- getBackend(name='auto')[source]
Return the (singleton) backend with the given name.
"auto"orNoneselects the backend matching the installed Isaac Sim version (seedetectBackend).
- articulationAction(**kwargs)[source]
Build a backend-independent articulation action.
An action is a dict which may contain
joint_positions,joint_velocitiesand/orjoint_efforts, each paired with the DOF indices it applies to (joint_position_indicesetc., or a sharedjoint_indices). Backends translate it to their native action type.
- _VERSION_BACKENDS = {'5': 'core_51', '6': 'experimental_60'}
Backend chosen for each installed Isaac Sim major version when the
isaacBackendparameter is"auto".
- _majorVersionFromPipMetadata()[source]
The installed
isaacsimpackage’s major version, via pip metadata.Works for a pip-installed Isaac Sim (as described in the README); raises for Isaac Sim’s own bundled Python (e.g.
isaac-sim/python.sh), which has no pip package metadata forisaacsim.
- _majorVersionFromVersionFile()[source]
The Isaac Sim install’s major version, via its top-level
VERSIONfile.Isaac Sim submodules (e.g.
isaacsim.core.version) cannot be imported before aSimulationAppexists, so this looks for the plain-textVERSIONfile (e.g.6.1.0-rc.26+...) NVIDIA ships at the root of every Isaac Sim install, walking up from theisaacsimpackage’s location since that root is not otherwise exposed to Python.