CoolFace
Datasetpublic

Lundii/table_smoke

V10.10 table-camera validation set Ten pick-and-place demonstrations from the pact_place_corridor_v10_10_four_object environment, re-run with one extra fixed exterior table camera (exo_camera_1) so the camera schema can be validated end to end before it is used at scale. This is a schema validation set, not a training corpus. The 144-row V10.10 training corpus is unchanged and is not part of this repo. What each row guarantees Every published row was checked… See the full description on the dataset page: https://huggingface.co/datasets/Lundii/table_smoke.

sourceHugging Facemitupdated 20d agoView on Hugging Face
0likes195downloads
Dataset Card

V10.10 table-camera validation set

Ten pick-and-place demonstrations from the pact_place_corridor_v10_10_four_object environment, re-run with one extra fixed exterior table camera (exo_camera_1) so the camera schema can be validated end to end before it is used at scale.

This is a schema validation set, not a training corpus. The 144-row V10.10 training corpus is unchanged and is not part of this repo.

What each row guarantees

Every published row was checked before upload and carries:

  • episode_00000000_exo_camera_1.mp4 — decodable exterior RGB, frame count equal to the trajectory's frame count;
  • traj_0/obs/sensor_param/exo_camera_1 in trajectory.h5, holding extrinsic_cv (T,3,4), cam2world_gl (T,4,4) and intrinsic_cv (T,3,3), all finite float64;
  • a genuinely fixed pose — the within-episode max delta of all three calibration arrays is exactly 0.0, so the camera does not drift across the episode.

Read this before you reuse an extrinsic

The camera is fixed within an episode but re-drawn between episodes. All ten sit at the same height on a near-constant ground radius, at a different azimuth each time, and they share one intrinsic matrix. Concretely:

  • height: 1.650 m (identical on all ten)
  • ground radius: 1.022–1.079 m (spread 56 mm)
  • azimuth: -163.1° to -136.8°
  • intrinsics shared across episodes: yes

So load the extrinsic from the episode you are projecting. Reading one episode's extrinsic_cv and reusing it across the set will silently misproject the other nine — the intrinsics match, so nothing will look obviously wrong.

manifest.json records those checks per row, along with a SHA-256 for every uploaded file. Each row is also a clean success under the collection's own predicate: the task succeeded and no contact was made with clutter, the hazard bar, mounted fixtures or the rest of the environment.

Layout

pact_place_corridor_v10_10_tablecam_validation10/
  manifest.json        per-row metadata, camera validation and file hashes
  ledger.jsonl         the full run ledger, including rejected attempts
  contract.json        the frozen run contract
  rows/NNN_<row>/      one directory per accepted episode

Per-row files: trajectory.h5, result.json, and MP4s for the exterior camera (RGB + depth), the wrist camera (RGB + depth) and the proximity-sensor heatmap.

Coverage

Ten cells spanning four layout families, both intrusion sides and all three pendant poses. Cells and seeds are listed in manifest.json.

One inconsistency worth naming

result.json in row 008 (F0targetside_stagger|left|pos5) is far larger than the others (~73 MB vs ~11 KB): that row was collected before per-frame contact-audit summarisation was enabled. The trajectories, videos and calibration are unaffected.