Robot Skill Hub by Superfast Robotics

LeRobot Diffusion Policy PushT closed-loop evaluation

LeRobot Diffusion Policy PushT closed-loop evaluation. Source-pinned, bounded simulation with explicit goal checks; no physical execution.

lerobot-diffusion-pusht | Record version: 1.0.0

Record JSON | Markdown recipe | Complete search index

Fetch and prepare

curl -fsSL https://hub.superfastrobotics.com/skills/lerobot-diffusion-pusht/skill.json
curl -fsSL https://hub.superfastrobotics.com/skills/lerobot-diffusion-pusht/README.md
python /PATH_TO_SKILL/scripts/rsh.py inspect lerobot-diffusion-pusht --json
python /PATH_TO_SKILL/scripts/rsh.py prepare lerobot-diffusion-pusht --project ./experiment --expected-source-commit b883328e6c95681ca90a18b102e4ae5e1f91e2bf --expected-record-version 1.0.0 --plan --json

Inspect the requirements, then remove --plan to prepare a project. Preparation verifies the archive SHA256 and preserves exact source pins. --install-deps explicitly installs dependencies. Run the returned simulation command separately.

Environment

Runtime
lerobot 0.3.3
Robot
pusht-2d-pusher
Controller
diffusion_policy
Observation
rgb_pixels_and_pusher_state
OS / architecture
linux / x86_64
Python
>=3.10,<3.11

Compatibility status: source_reviewed

96x96 RGB observations and 2D pusher state, consumed by the original frozen checkpoint; no object-state oracle or retraining.

Requirements

Headless. EGL libraries are required for MuJoCo imports; PushT uses SDL dummy video. No interactive display.

Packages: lerobot==0.3.3, torch==2.7.1, torchvision==0.22.1, torchcodec==0.5.0, diffusers==0.33.1, gym-pusht==0.1.8, numpy==1.26.4, pymunk==6.11.1

Direct runtime versions are pinned and measured. The receipt retains the complete environment freeze; prepare records the installed environment. System drivers are separate host requirements. Linux device dependencies may build evdev from source; an available C compiler and explicit dependency-install permission are required.

External API keys: none.

Invocation

Executable interface

{
  "version": "1",
  "kind": "task",
  "abstraction_level": 2,
  "execution_domain": "simulation",
  "language": "python",
  "input_transport": "json_file_or_inline",
  "output_transport": "json_stdout",
  "output_selector": "outputs",
  "conventions": {
    "linear_unit": "m",
    "angular_unit": "rad",
    "time_unit": "s",
    "coordinate_frame": "PushT native 2D pixel arena; no exposed metric pose",
    "joint_order": "not_used",
    "quaternion_order": "not_used"
  },
  "input_schema": {
    "type": "object",
    "required": [
      "seed"
    ],
    "properties": {
      "seed": {
        "type": "integer",
        "minimum": 0,
        "maximum": 10000
      }
    },
    "additionalProperties": false
  },
  "output_schema": {
    "type": "object",
    "required": [
      "maximum_coverage",
      "steps",
      "environment_success",
      "cuda_inference"
    ],
    "properties": {
      "maximum_coverage": {
        "type": "number",
        "minimum": 0,
        "maximum": 1
      },
      "steps": {
        "type": "integer",
        "minimum": 1,
        "maximum": 300
      },
      "environment_success": {
        "type": "boolean"
      },
      "cuda_inference": {
        "type": "boolean"
      }
    },
    "additionalProperties": false
  },
  "preconditions": [
    "Use the exact recorded source, Linux Python 3.10 environment and pinned direct packages.",
    "No physical robot, network actuation or external robot credentials.",
    "Policy internal pixel coordinates are not relabeled as metres. The public JSON exposes only seed, dimensionless coverage and steps. CUDA GPU and public pinned checkpoint required."
  ],
  "postconditions": [
    "All reported checks must be true and all output numbers finite.",
    "Success covers the declared goal and frozen cases, not arbitrary tasks or physical hardware."
  ],
  "failure_codes": [
    "invalid_input_or_environment",
    "execution_failed",
    "task_failed"
  ],
  "composition": {
    "depends_on": [],
    "automatic_frame_conversion": false,
    "automatic_hardware_execution": false
  }
}

Entrypoint: python run.py

{
  "argv": [
    "{python}",
    "{recipe_dir}/run.py",
    "--source-dir",
    "{source_dir}",
    "--example"
  ],
  "inputs": {
    "seed": 0
  },
  "outputs": {
    "format": "single JSON object",
    "payload_selector": "outputs",
    "schema": {
      "type": "object",
      "required": [
        "maximum_coverage",
        "steps",
        "environment_success",
        "cuda_inference"
      ],
      "properties": {
        "maximum_coverage": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "steps": {
          "type": "integer",
          "minimum": 1,
          "maximum": 300
        },
        "environment_success": {
          "type": "boolean"
        },
        "cuda_inference": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  }
}

Success: All declared goal and finite-state checks pass; exit 0 with task_complete. Original PushT success flag and measured object/target overlap >=95%; no accuracy claim beyond the three retained seed episodes. Checkpoint license: Apache-2.0, preserved at its immutable model revision.

Timeout: 1200 seconds. Terminate the adapter at the recorded timeout. No physical hardware is opened.

Failure modes

Source and license

Repository
https://github.com/huggingface/lerobot
Authors
Original lerobot contributors (preserve pinned LICENSE)
Commit
b883328e6c95681ca90a18b102e4ae5e1f91e2bf
Archive SHA256
cf58261f6dbf614168337530f78f761929fb2d4d1b91e90f4f5f17209138aa40
License
Apache-2.0
Hub commit
ce1d44c01f1a9f707f055da0888068fe32390e62

Evidence

Runtime: import_verified / import_verified

1/3 frozen cases completed; retained failures are not promoted.

Reviewer: Hub finite-case Lambda execution harness | 2026-10-20

Submitter reports and hub verification remain separate. Source review does not establish task success.