Skip to content

Add data diversity workbench and offline trajectory analysis - #652

Draft
yuecideng wants to merge 1 commit into
mainfrom
codex/data-diversity-p0-p1
Draft

yuecideng wants to merge 1 commit into
mainfrom
codex/data-diversity-p0-p1

Conversation

@yuecideng

Copy link
Copy Markdown
Contributor

Description

Add a local data-diversity workbench for inspecting generated robot demonstrations. Users can filter six feature families, drill into a joint-distribution cell, replay its recorded episodes, compare matching task phases, and export the exact displayed population.

  • Add versioned episode records, measurement provenance, a SQLite lifecycle ledger, idempotent JSONL/LeRobot metadata ingestion, and immutable metadata snapshots.
  • Reuse Gradio, Matplotlib and the existing Viser backend for distributions, RGB/scene/TCP replay, and phase-aligned TCP, speed and joint curves. Keep offline analysis/replay independent of simulator startup through lazy lab imports.
  • Add a bounded collector for the existing Franka repeated-pick/place deployment, a GenSim workbench link, and session-local English/Chinese UI labels.
  • Document the overall design, full P0/P1 acceptance criteria, measured preview results, and remaining TODOs.

Dependencies: optional analysis extra with gradio>=6.17.3,<6.18 and Matplotlib; reuse existing NumPy, Polars and Viser. No external database or separate frontend application.

This is a draft preview, not completion of the full P0/P1 specification. Coverage-target UI, automatic trajectory clustering, augmentation recipes/execution, generic runtime ingestion, and model attribution remain deferred. Metadata snapshots do not freeze external media. Phase curves are not yet linked to Viser seek, and joint comparisons still require consistent recorded column order.

Review guide: start with schema.py/catalog.py, then dimensions.py/trajectory.py, followed by recording/replay and ui.py. Existing-code changes are limited to CLI dispatch, the GenSim link, lab lazy imports, optional dependencies and project context.

Design and status: overview, TODO.

Type of change

  • New feature (non-breaking change which adds functionality)

Validation

  • 297 affected tests passed: data analysis, visualization protocol/backend/CLI, trajectory coverage, demo/recording utilities, CLI dispatch, context tooling and API documentation checker. One existing Rerun/NumPy deprecation warning.
  • Black 26.3.1: black .; API coverage: 2126/2126; context check and git diff --check passed.
  • Sphinx dummy build succeeded with 28 existing warnings and no data-analysis warnings.
  • Earlier real-simulation acceptance: 12 complete episodes / 36 task phases / 2,892 samples from the existing Franka task. Browser checks verified cell drilldown, exact exported IDs, offline replay and phase curves. See the v1 report and v2 report.
  • Proportional validation only; the full suite and all GPU paths were not rerun. No claim that the earlier metadata benchmark covers the expanded UI/analysis paths. Raw task recordings remain local and are not added to Git.

Screenshots

No screenshot attachment in this draft. Reproduction commands, browser acceptance steps and measured results are included in the linked reports; the prototype is available locally on port 7865 when started with embodichain analyze-data serve.

Checklist

  • I have run the black . command to format the code base.
  • I reviewed affected documentation and agent context and updated it where needed.
  • Public API changes are reflected in the API docs (python docs/scripts/check_api_docs.py).
  • I have added tests that prove the implemented feature behavior.
  • Dependencies have been updated through a minimal optional extra.

@yuecideng yuecideng added docs Improvements or additions to documentation enhancement New feature or request visualization Features or functions for visualization with the simulation dataset labels Sep 17, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dataset docs Improvements or additions to documentation enhancement New feature or request visualization Features or functions for visualization with the simulation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant