{
  "id": "diffusion-policy-eval-real-robot-py",
  "name": "Diffusion Policy: UR5 real-robot policy evaluation",
  "summary": "Pinned learned-policy evaluation entrypoint for the upstream UR5/UR5e real-world Push-T setup with operator control and recording. Statically reviewed source only; not run and no Hub preparation adapter.",
  "framework": "diffusion-policy",
  "kind": "official_example",
  "source_registry": "official-robot-workflows-v1",
  "capabilities": [
    "policy-evaluation",
    "robot-workflow"
  ],
  "robot_types": [
    "manipulator"
  ],
  "robot_scope": "UR5 is named by this evaluator's --robot_ip option; its dedicated real Push-T setup lists UR5-CB3 or UR5e with RTDE. These are source-declared discovery names for the specific upstream setup, without a verified compatibility combination or Hub adapter.",
  "source": {
    "repository": "https://github.com/real-stanford/diffusion_policy",
    "commit": "5ba07ac6661db573af695b419a7947ecb704690f",
    "tag": "main",
    "path": "eval_real_robot.py",
    "url": "https://github.com/real-stanford/diffusion_policy/blob/5ba07ac6661db573af695b419a7947ecb704690f/eval_real_robot.py",
    "raw_url": "https://raw.githubusercontent.com/real-stanford/diffusion_policy/5ba07ac6661db573af695b419a7947ecb704690f/eval_real_robot.py",
    "sha256": "cd7c0f1f46dce8606ebb9b2b2618811870c4d41205ce4ad6369ac5d7ac0a1b7c",
    "bytes": 18383,
    "authors": [
      "Cheng Chi",
      "Siyuan Feng",
      "Yilun Du",
      "Zhenjia Xu",
      "Eric Cousineau",
      "Benjamin Burchfiel",
      "Shuran Song"
    ]
  },
  "license": {
    "spdx": "MIT",
    "url": "https://github.com/real-stanford/diffusion_policy/blob/5ba07ac6661db573af695b419a7947ecb704690f/LICENSE",
    "sha256": "304e99a48271e10820f71a1b86ef395c06c100d7f68dd1d308790d1064fc4d41",
    "scope": "Selected first-party Python workflow source only. Preserve upstream copyright and per-file notices. Model weights, datasets, third-party code, robot drivers/firmware and services retain separate terms; no rights for those assets are inferred.",
    "bytes": 1106
  },
  "access": {
    "mode": "source_reference",
    "hub_prepare": false,
    "instructions": "Fetch the pinned repository, verify this source checksum, and use upstream installation and invocation. This record does not install or execute code.",
    "setup_url": "https://github.com/real-stanford/diffusion_policy/blob/5ba07ac6661db573af695b419a7947ecb704690f/README.md",
    "setup_evidence": [
      {
        "path": "README.md",
        "url": "https://github.com/real-stanford/diffusion_policy/blob/5ba07ac6661db573af695b419a7947ecb704690f/README.md",
        "sha256": "51b6717d694a4ea4b476cf07c64651dc58643402beb0a27cda38a87cc58334b0",
        "bytes": 25219,
        "purpose": "Upstream authors, simulation/real-robot setup, W&B login, train/evaluation usage and code license"
      },
      {
        "path": "conda_environment.yaml",
        "url": "https://github.com/real-stanford/diffusion_policy/blob/5ba07ac6661db573af695b419a7947ecb704690f/conda_environment.yaml",
        "sha256": "c945bcac09284cf897d3e1837139ea83f991e4b2298dbd3a8c4a0718a34994ea",
        "bytes": 1626,
        "purpose": "Simulation environment Python and CUDA/PyTorch declarations"
      },
      {
        "path": "conda_environment_real.yaml",
        "url": "https://github.com/real-stanford/diffusion_policy/blob/5ba07ac6661db573af695b419a7947ecb704690f/conda_environment_real.yaml",
        "sha256": "6e2c5d828e5277edb99551f6e935ac36addad462b6a71ef5b0eefe60920a67a9",
        "bytes": 2017,
        "purpose": "Real-robot environment Python, CUDA and hardware dependency declarations"
      },
      {
        "path": "conda_environment_macos.yaml",
        "url": "https://github.com/real-stanford/diffusion_policy/blob/5ba07ac6661db573af695b419a7947ecb704690f/conda_environment_macos.yaml",
        "sha256": "80c41cb42c7702f6959a5fadc177db339b0877b1a17a807660722d9db4995f0e",
        "bytes": 1183,
        "purpose": "Separate development-only environment; not benchmark parity"
      }
    ]
  },
  "requirements": {
    "python": "Python 3.9 in conda_environment_real.yaml.",
    "packages": [
      "Pinned diffusion_policy checkout",
      "Workflow-specific conda environment with PyTorch1.12.1 and CUDA toolkit11.6",
      "Configured simulator or real-robot dependencies"
    ],
    "display": "Hardware: Source moves policies to CUDA. README's Push-T setup lists UR5-CB3 or UR5e with RTDE, two RealSense D415 cameras, SpaceMouse and task-specific fixtures, on tested Ubuntu20.04.3. Weights: Requires a local checkpoint, loaded through torch.load/dill. Its configuration determines policy behavior and observation/action shape. Datasets: Consumes live robot/camera observations and writes evaluation recordings; optional dataset matching uses separately supplied local data. Services/auth: Requires robot network access through robot_ip and local camera/controller services. No cloud API key or W&B login is declared by this evaluator.",
    "execution_domain": "hardware",
    "source_imports": [
      "click",
      "cv2",
      "diffusion_policy.common.cv2_util",
      "diffusion_policy.common.precise_sleep",
      "diffusion_policy.common.pytorch_util",
      "diffusion_policy.policy.base_image_policy",
      "diffusion_policy.real_world.real_env",
      "diffusion_policy.real_world.real_inference_util",
      "diffusion_policy.real_world.spacemouse_shared_memory",
      "diffusion_policy.workspace.base_workspace",
      "dill",
      "hydra",
      "multiprocessing.managers",
      "numpy",
      "omegaconf",
      "pathlib",
      "scipy.spatial.transform",
      "skvideo.io",
      "time",
      "torch"
    ],
    "notes": "UR5/UR5e are discovery labels from the pinned setup, not Hub-tested compatibility combinations or authorization to move hardware. Code licensing does not establish model, checkpoint, dataset or service permission.",
    "declared_requirements": {
      "python": "Python 3.9 in conda_environment_real.yaml.",
      "weights": "Requires a local checkpoint, loaded through torch.load/dill. Its configuration determines policy behavior and observation/action shape.",
      "datasets": "Consumes live robot/camera observations and writes evaluation recordings; optional dataset matching uses separately supplied local data.",
      "hardware": "Source moves policies to CUDA. README's Push-T setup lists UR5-CB3 or UR5e with RTDE, two RealSense D415 cameras, SpaceMouse and task-specific fixtures, on tested Ubuntu20.04.3.",
      "external_services_and_auth": "Requires robot network access through robot_ip and local camera/controller services. No cloud API key or W&B login is declared by this evaluator.",
      "evidence": [
        {
          "anchor": "UR5's IP address",
          "line": 53
        },
        {
          "anchor": "torch.device('cuda')",
          "line": 100
        },
        {
          "anchor": "robot_ip=robot_ip",
          "line": 146
        }
      ],
      "license_scopes": {
        "code": "MIT for selected first-party workflow source.",
        "weights": "README links separately downloadable trained checkpoints but the reviewed repository text does not separately establish their license. Do not extend first-party-code MIT to weights.",
        "datasets": "README links separate task demonstration datasets and dependencies such as robomimic. Individual dataset licenses were not reviewed; code MIT does not grant dataset rights.",
        "third_party_code": "External dependencies retain their own licenses."
      },
      "interpretation": "Pinned upstream declarations only; no dependency resolution, model/data access, compatibility inference or runtime validation was performed."
    }
  },
  "invocation": {
    "entrypoint": "python eval_real_robot.py -i <approved-local-checkpoint> -o <local-output> --robot_ip <configured-robot-address>",
    "notes": "UR5/UR5e are discovery labels from the pinned setup, not Hub-tested compatibility combinations or authorization to move hardware."
  },
  "popularity": {
    "metric": "github_stars",
    "repository_stars": 4651,
    "checked_at": "2026-10-17",
    "meaning": "Dated repository interest, not robot-skill usage, compatibility or runtime success."
  },
  "evidence": {
    "level": "source_reviewed",
    "runtime_verification": "not_run",
    "checked_at": "2026-10-17",
    "inspection": "Verified exact source, applicable license and author/setup document bytes at a full Git commit; parsed the Python AST and reviewed this guarded operational entrypoint and its explicit license notices. No upstream code, installation, robot command, dataset, mesh or checkpoint was executed or loaded.",
    "entrypoint_kind": "python_main",
    "inspection_method": "automated_static",
    "robot_discovery": {
      "scope": "UR5 is named by this evaluator's --robot_ip option; its dedicated real Push-T setup lists UR5-CB3 or UR5e with RTDE. These are source-declared discovery names for the specific upstream setup, without a verified compatibility combination or Hub adapter.",
      "method": "reviewed_pinned_text_declaration",
      "compatibility_inferred": false,
      "evidence": [
        {
          "url": "https://github.com/real-stanford/diffusion_policy/blob/5ba07ac6661db573af695b419a7947ecb704690f/eval_real_robot.py",
          "sha256": "cd7c0f1f46dce8606ebb9b2b2618811870c4d41205ce4ad6369ac5d7ac0a1b7c",
          "bytes": 18383,
          "quote": "UR5's IP address",
          "labels": [
            "ur5"
          ],
          "match_in": "text"
        },
        {
          "url": "https://github.com/real-stanford/diffusion_policy/blob/5ba07ac6661db573af695b419a7947ecb704690f/README.md",
          "sha256": "51b6717d694a4ea4b476cf07c64651dc58643402beb0a27cda38a87cc58334b0",
          "bytes": 25219,
          "quote": "* 1x [UR5-CB3](https://www.universal-robots.com/cb3) or [UR5e](https://www.universal-robots.com/products/ur5-robot/)",
          "labels": [
            "ur5",
            "ur5e"
          ],
          "match_in": "text"
        }
      ]
    }
  },
  "robots": [
    "ur5",
    "ur5e"
  ],
  "artifact": {
    "kind": "workflow",
    "format": "python",
    "workflow_role": "policy-evaluation"
  }
}
