Skip to main content

dora-openarm-evaluation-ui

A dora-rs node providing a web UI to run policy (inference) evaluation sessions on the OpenArm bimanual robot.

An operator drives each evaluation episode from the browser; the node orchestrates the rest of the dataflow by emitting:

  • arm_command — start / stop / quit for the arms and other quittable nodes
  • task_prompt — the current task's language instruction, used to condition the policy

Per-episode results (success/fail and notes) are logged to eval_metadata.yaml.

Features

  • Single-operator episode loop: start → success / fail / cancel → reset → repeat
  • Task switcher with per-task and session success-rate stats
  • Live camera FPS / jitter monitor for all five streams
  • Resume: a restart continues from the next episode number found in existing metadata
  • Checkpoint panel: path, description, capture timestamp
  • Keyboard shortcuts and an emergency stop

Install

pip install -e .        # or: uv sync

dora can also build the node from the dataflow (build: pip install -e .).

Run

The node runs inside a dora dataflow. example/dataflow.yaml is a reference wiring of the UI with the arms, cameras, observer, policy server, and action executor:

dora run dataflow.yaml --uv

The UI is served at http://127.0.0.1:8000 (opens automatically when AUTO_OPEN=yes).

Configuration

Set through the dataflow env: block or via CLI flags:

Env Flag Default Description
DATASET_DIR — . Directory holding metadata.yaml and eval_metadata.yaml.
METADATA_FILE --metadata-file — Source metadata.yaml with the task list. Required for a new dataset; not needed on resume (tasks are cached in eval_metadata.yaml).
CHECKPOINT_PATH --checkpoint-path — Model checkpoint path, recorded once into eval_metadata.yaml.
AUTO_OPEN --auto-open no Open a browser automatically (yes / no).
PORT --port 8000 Web server port.

Task list

Tasks are read from a metadata.yaml (see the included example):

tasks:
  - prompt: Snug the pillow into the case.
    description: SMALL PILLOW

Resolution order: tasks cached in eval_metadata.yaml (resume) → DATASET_DIR/metadata.yaml → --metadata-file.

Operating the UI

Each episode follows Idle → Start (the arms initialize and the UI waits for both to report started) → Collecting → Success / Fail / Cancel → Reset Robot (the operator resets the scene, then presses Ready) → Idle. Emergency Stop cancels the current episode and disables the arm motors immediately.

Key Action
Space / s Start (idle) or mark Success (collecting)
f Fail
x Cancel (no result recorded)
r Ready — reset complete
← / → Stage previous / next task
Enter Commit the staged task change
q Quit the session

Dataflow interface

Inputs: tick, arm_status_right, arm_status_left, and five camera streams (camera_wrist_right, camera_wrist_left, camera_head_left, camera_head_right, camera_ceiling).

Outputs: arm_command, task_prompt.

eval_metadata.yaml records the checkpoint info, the task list, and one entry per episode (id, task_index, success, note, timestamp).

License

Licensed under the Apache License 2.0. See LICENSE for details.

Copyright 2026 Enactic, Inc.

Code of Conduct

All participation in the OpenArm project is governed by our Code of Conduct.

Metadata

Release files for dora-openarm-evaluation-ui 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dora-openarm-evaluation-ui 0.1.0
File Size Uploaded
dora_openarm_evaluation_ui-0.1.0.tar.gz 21.0 kB Details

Release files / dora_openarm_evaluation_ui-0.1.0.tar.gz

Download URL dora_openarm_evaluation_ui-0.1.0.tar.gz
Size 21.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ce46d7e6d3631991160d6048160ab834fc0fa33e620bff66462953a9154bd934
BLAKE2b-256 checksum
How to use checksums
cdabc71a1ca8a35ba04ff967697ca2d2eae2a63ab031349032bd8a9c9a0cf5ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page