LEAPP Deployment Environment#

Use LeappDeploymentEnv to run a LEAPP-exported policy in an Isaac Lab scene. For command-line deployment instructions and prerequisites, see the LEAPP deployment guide.

class isaaclab.envs.LeappDeploymentEnv[source]#

Runs a LEAPP-exported policy in an Isaac Lab scene.

The environment sets up the simulation scene and physics from a standard Isaac Lab config, then wires raw sensor/command data to a LEAPP InferenceManager and writes the model outputs back to the corresponding scene entities.

I/O wiring is driven entirely by the isaaclab_connection metadata field in the LEAPP YAML. Each connection string encodes the type of access, the scene entity name, and the property or method to call:

  • state:{entity}:{property} – read scene[entity].data.{property}

  • command:{name} – read command_manager.get_command(name)

  • write:{entity}:{method} – call scene[entity].{method}(tensor, ...)

No observation, action, reward, termination, or curriculum managers are used. The LEAPP model already contains all pre/post-processing.

Methods:

__init__(cfg, leapp_yaml_path)

Initialize the deployment environment.

reset()

Reset the scene and inference state.

step([external_inputs])

Run one environment step: read -> infer -> write -> physics.

close()

Clean up the environment and release simulator-owned resources.

__init__(cfg: Any, leapp_yaml_path: str)[source]#

Initialize the deployment environment.

Parameters:
  • cfg – A ManagerBasedRLEnvCfg (or compatible) task config.

  • leapp_yaml_path – Path to the LEAPP .yaml pipeline description.

reset() dict[str, torch.Tensor][source]#

Reset the scene and inference state.

Returns:

The initial input tensors (for logging / debugging).

step(external_inputs: dict[str, torch.Tensor] | None = None) dict[str, torch.Tensor][source]#

Run one environment step: read -> infer -> write -> physics.

Parameters:

external_inputs – Optional overrides keyed by "ModelName/input_name". Takes precedence over auto-resolved state/command values.

Returns:

The dict of pipeline outputs from InferenceManager.run_policy().

close()[source]#

Clean up the environment and release simulator-owned resources.