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

base

core_51

experimental_51

experimental_60

lab

profiles

Typed per-arm manipulator profiles.

robotiq

USD authoring for the Robotiq 2F-85 gripper (gripperStyle == "robotiq_2f85").

Summary of Module Members

Module Attributes

FALLBACK_BACKEND_NAME

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

articulationAction

Build a backend-independent articulation action.

detectBackend

Pick a backend from the installed Isaac Sim version.

getBackend

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).

detectBackend()[source]

Pick a backend from the installed Isaac Sim version.

getBackend(name='auto')[source]

Return the (singleton) backend with the given name.

"auto" or None selects the backend matching the installed Isaac Sim version (see detectBackend).

articulationAction(**kwargs)[source]

Build a backend-independent articulation action.

An action is a dict which may contain joint_positions, joint_velocities and/or joint_efforts, each paired with the DOF indices it applies to (joint_position_indices etc., or a shared joint_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 isaacBackend parameter is "auto".

_majorVersionFromPipMetadata()[source]

The installed isaacsim package’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 for isaacsim.

_majorVersionFromVersionFile()[source]

The Isaac Sim install’s major version, via its top-level VERSION file.

Isaac Sim submodules (e.g. isaacsim.core.version) cannot be imported before a SimulationApp exists, so this looks for the plain-text VERSION file (e.g. 6.1.0-rc.26+...) NVIDIA ships at the root of every Isaac Sim install, walking up from the isaacsim package’s location since that root is not otherwise exposed to Python.