dora-rs node that provides UI to run inference evaluation with OpenArm
Project description
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/quitfor the arms and other quittable nodestask_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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file dora_openarm_evaluation_ui-0.1.0.tar.gz.
File metadata
- Download URL: dora_openarm_evaluation_ui-0.1.0.tar.gz
- Upload date:
- Size: 21.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce46d7e6d3631991160d6048160ab834fc0fa33e620bff66462953a9154bd934
|
|
| MD5 |
2d7bbe651031a67717d81b15995c0ca5
|
|
| BLAKE2b-256 |
cdabc71a1ca8a35ba04ff967697ca2d2eae2a63ab031349032bd8a9c9a0cf5ed
|
Provenance
The following attestation bundles were made for dora_openarm_evaluation_ui-0.1.0.tar.gz:
Publisher:
package.yaml on enactic/dora-openarm-evaluation-ui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dora_openarm_evaluation_ui-0.1.0.tar.gz -
Subject digest:
ce46d7e6d3631991160d6048160ab834fc0fa33e620bff66462953a9154bd934 - Sigstore transparency entry: 2016400162
- Sigstore integration time:
-
Permalink:
enactic/dora-openarm-evaluation-ui@467e57c52f5bbe0413eba98d925f3ff01479659f -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/enactic
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
package.yaml@467e57c52f5bbe0413eba98d925f3ff01479659f -
Trigger Event:
push
-
Statement type: