Skip to content

feat: prepare HandUMI research preview - #7

Draft
alvax64 wants to merge 45 commits into
mainfrom
feat/body-visualization
Draft

feat: prepare HandUMI research preview#7
alvax64 wants to merge 45 commits into
mainfrom
feat/body-visualization

Conversation

@alvax64

@alvax64 alvax64 commented Jul 20, 2026

Copy link
Copy Markdown
Member

Classification

GitHub/source research preview only. No release, PyPI publication, documentation deployment, safety qualification, or scientific validation is authorized. TEST-001 has not passed.

Included

  • Crash-safe staged capture, periodic privacy-safe manifests, disk/ENOSPC handling, bounded workers, stage profiling, recovery, checksums, and software soak tooling.
  • Explicit compact dataset compatibility and pre-compact rejection policy with controller-only/body/recovery/corrupt golden fixtures.
  • TEST-001 software-only transform, synchronization-event, metric, dropout, participant bootstrap, and report groundwork with synthetic evidence.
  • Source/native dependency and robot-asset inventory gates; R1 Lite remains excluded.
  • Whole-tree Ruff 0.15.22, formatter, and basedpyright 1.39.9 immutable CI gates.
  • Recorder startup owns loopback-only Rerun through cleanup, rolls back partially opened cameras, requests MJPG, and requires simultaneous fresh camera streams before dataset creation.
  • Local trajectory replay reads only required Parquet columns and directly decodes embedded image bytes; remote and true video-backed layouts retain the LeRobot fallback.

Verification on 866b592

  • Full local matrix: 472 pytest tests with 37 unchanged upstream deprecation warnings; lock, compileall, formatter, Ruff, basedpyright, diff checks, and strict Sphinx all pass.
  • Exact-head CI/package run 29956309419 and documentation run 29956311386 pass.
  • Exact 297-frame no-video replay improved from 3m14s to 1.839s; camera-enabled replay completes in 3.856s with one workspace stream.
  • Camera-enabled headless RRD: 10,813,297 bytes, SHA-256 3fdc28872a206bdb086f75a777ec788777a22acc5681ef4306c79da69c35681c.
  • 30-minute software-only/headless soak on ancestor 82792e0: 1,800.101 s, 18,000 rows, 162,000 synthetic camera items, 9.9994 rows/s, zero drops/failures/timeouts, maximum queue depth 1, RSS 24,051,712 to 25,038,848 bytes, FDs 5 to 5.
  • 30 Hz/three-camera software-only profile: 1,800 rows / 5,400 camera frames in 60.169 s, 29.916 rows/s, zero drops/failures/timeouts.

Connected diagnostics (not qualification evidence)

A worn-Quest three-camera/Rerun run completed 197 rows over 19.7 seconds and retained 3,085 native packet-v2 sidecar rows. A later workspace-camera diagnostic completed 297 rows over 29.7 seconds with 4,046 native packets, 23 valid canonical body joints per row, no viewer failures, and 11/11 verified file checksums. Body CoM/contact/support remained invalid because no fitted profile was supplied.

Offline quality rejected both short diagnostics. The workspace-camera run exceeded the 60 ms tracking synchronization tolerance on 3/297 rows (1.0101% versus the 1% threshold; 199.923 ms maximum). It used an explicit three-second controller recovery window and is visual diagnostic evidence only.

The right-wrist camera repeatedly disconnected and re-enumerated at the USB layer. The simultaneous startup gate now rejects this before dataset creation, but stable direct/powered USB hardware remains required before repeating the supported three-camera and 30-minute gates.

Still blocked

Legal/asset permission closure, calibrated physical Quest/camera/Feetech/robot gates, stable right-wrist camera power/cabling, 30-minute hardware soak, release signing/ownership authority, and TEST-001 laboratory execution remain external. Software-only or short visual evidence is not Quest lifecycle, camera endurance, thermal, radio, robot, anatomical-accuracy, physical-safety, or scientific-validation evidence.

Do not merge or publish solely from these results.

alvax64 added 30 commits July 10, 2026 14:40
# Conflicts:
#	configs/tracking_meta_quest.yaml
#	docs/README_quest.md
#	src/handumi/dataset/reader.py
#	src/handumi/scripts/record.py
#	tests/scripts/test_record.py
Preserve body/CoM recording and shared Rerun visualization while incorporating the current robot, PICO calibration, and teleoperation updates.
# Conflicts:
#	tests/scripts/test_record.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant