unisim.backend.isaacsim.backend¶
Host-side IsaacSim/IsaacLab subprocess backend.
IsaacSim is deliberately kept out of the UniLab interpreter: the supported
IsaacSim 5.1 wheels require Python 3.11, while the main project supports a
different Python range. The NumPy-facing contract and lifecycle come from the
backend-neutral subprocess_ipc owner; this module supplies IsaacSim runtime
discovery, the worker entrypoint, clone-origin validation, and the eval-owned
Kit/viewer/camera capability boundary.
Classes
Thin host client for the IsaacLab/PhysX worker. |
|
Opaque metadata returned by the IsaacSim worker handshake. |
Exceptions
Raised when the requested IsaacSim render mode cannot be initialized. |
|
Raised when the external IsaacSim/IsaacLab worker fails. |
- class unisim.backend.isaacsim.backend.IsaacSimBackend[source]¶
Bases:
MjcfSubprocessBackendThin host client for the IsaacLab/PhysX worker.
The shared client owns pipe framing, shared-memory slot allocation, timeout/crash diagnostics, XML cold-path metadata, and all NumPy state views. Physics remains the default (
render_mode=None). Eval/play profiles pass a concrete render intent through the coldINITpayload so Kit selects the correct experience before simulation materialization. The worker owns all camera/viewport operations; this class validates the NumPy-facing frame contract.- Parameters:
- __init__(scene, num_envs, sim_dt, *, render_mode=None, render_width=1280, render_height=720, **kwargs)[source]¶
- get_play_capabilities()[source]¶
Return the native Kit viewer and RGB camera capabilities.
- Return type:
BackendPlayCapabilities
- resolve_play_render_plan(*, play_render_mode, play_steps, output_video)[source]¶
Resolve high-level playback mode into backend-owned render parameters.
- init_renderer(spacing=1.0, *, offset_mode='grid', headless=False, capture=False, width=1280, height=720, camera_kwargs=None)[source]¶
Initialize the worker-side viewer and/or capture camera.
spacing/offset_modeare accepted for contract parity and ignored: envs are already laid out on the worker sim’s grid.
- class unisim.backend.isaacsim.backend.IsaacSimModelInfo[source]¶
Bases:
SubprocessModelInfoOpaque metadata returned by the IsaacSim worker handshake.
- Parameters:
- exception unisim.backend.isaacsim.backend.IsaacSimRenderError[source]¶
Bases:
RuntimeErrorRaised when the requested IsaacSim render mode cannot be initialized.
- exception unisim.backend.isaacsim.backend.IsaacSimWorkerError[source]¶
Bases:
IsaacGymWorkerErrorRaised when the external IsaacSim/IsaacLab worker fails.
IsaacGymWorkerErroris retained as a compatibility ancestor because early subprocess adapters exposed that exception as the public worker failure type. The concrete class remains distinct, so callers can still distinguish IsaacSim failures with an exact type check while existingexcept IsaacGymWorkerErrorhandlers continue to work.