Buckets:
| # Foundation Physics Graph Model — demo outputs | |
| Perception outputs from DROID episodes (lab `AUTOLab`, task *"Put brick in drawer | |
| shelf and close drawer"*). Everything here is generated by the repo's pipelines; | |
| nothing is hand-edited. | |
| ## ⚠️ Read this before trusting the numbers | |
| **A time-base bug was found after these were rendered and is still being fixed.** | |
| PointWorld's scene-flow clip frame `t` maps to video/trajectory frame | |
| `2 * (start + t)`, **not** `start + t` — the annotations run at half the video | |
| rate. Verified across all 42 clips of all 5 episodes with joint-angle error | |
| `0.00e+00`. | |
| Consequences for the files here: | |
| - `01_robot_mesh_overlay/` — **unaffected.** Driven purely by `trajectory.h5` | |
| indexed by video frame, which is genuinely 1:1. | |
| - `02_object_velocity/` — **affected.** The depth seed came from an annotation | |
| frame paired with the wrong video frame. Treat the m/s figures as provisional. | |
| - `03_object_pipeline/` — **affected** (same reason), and the clip shown happens | |
| to contain no robot–object contact, so `state=free` throughout. | |
| --- | |
| ## 01_robot_mesh_overlay | |
| Franka Panda + Robotiq 2F-85 posed from recorded joint angles by URDF forward | |
| kinematics, rendered with pyrender/OSMesa and composited on the real RGB, plus a | |
| per-frame robot mask. | |
| Uses **NVlabs/PointWorld**'s `franka_panda_robotiq_2f85.urdf`. An earlier attempt | |
| with fairo/polymetis's `panda_robotiq_85.urdf` was wrong: it puts the flange at | |
| `z=0.045` where the real `panda_link8` is at `0.107`. That 62 mm shortfall was | |
| measured, not guessed — FK vs DROID's own recorded end-effector gave a residual of | |
| exactly `[0, 0, 0.062] m` with **zero variance over 128 frames**, and | |
| `0.107 − 0.045 = 0.062`. | |
| | URDF | FK residual vs recorded EE | | |
| | --- | --- | | |
| | fairo/polymetis | 0.062 m (std 0) | | |
| | NVlabs/PointWorld | **1.6e-8 m** (std 7e-9) | | |
| ## 02_object_velocity | |
| SAM 3.1 (text prompt derived from the episode's task instruction) → TAPNext++ | |
| point tracking → rigid-body PnP lifting → metric 3D velocity in the robot-base | |
| world frame. | |
| Depth is needed at **one seed frame only**: a rigid body has 6 DOF, so the 2D | |
| tracks determine every later pose. This replaced a per-frame depth lookup that | |
| was both weaker and dependent on the dataset annotating the object at every | |
| instant — which it does not (the nearest annotated point to the brick is 40.07 px | |
| away, just outside the search radius). | |
| ## 03_object_pipeline | |
| Five independently re-runnable stages, each leaving its artefacts on disk: | |
| | dir | stage | | |
| | --- | --- | | |
| | `1_mask` | SAM 3.1 mask → tight RGBA crop | | |
| | `2_mesh` | crop → mesh (proxy hull here; TRELLIS.2 not yet installed) | | |
| | `3_align` | mask × depth → world point cloud → scale + 6-DOF fit | | |
| | `4_act` | robot FK → per-frame object pose (free / pushed / grasped) | | |
| | `5_render` | robot + object + point cloud, recorded and free-camera views | | |
| Alignment quality on this clip: **RMSE 3.25 mm, inlier fraction 1.00, scale 1.009**. | |
| `scene_freecam.mp4` orbits the world independently of the recording viewpoint — | |
| the recorded camera cannot show whether the object sits at the right *depth*, so a | |
| second viewpoint is the only honest check of the 3D placement. | |
| The HUD's `push_gain=4.0x` is labelled **VISUALISATION ONLY, not physical**: it | |
| amplifies pushed motion (5 cm of arm travel → 20 cm of object travel) so the | |
| effect is visible. It is not a simulation result. | |
| The object mesh here is a **convex hull fitted to the observed points**, not a | |
| reconstruction — `MeshSource` records this so a proxy is never mistaken for real | |
| geometry. | |
| ## 04_verification_images | |
| Alignment checks drawn as mask outlines over the *raw* frames. A filled overlay | |
| hides misalignment by covering the thing it should match, so these outline views | |
| are what the robot alignment was actually judged on. | |
Xet Storage Details
- Size:
- 3.84 kB
- Xet hash:
- 492ea699cf19f31c790cf01cc98cb281b5aaf890d6b51e6543091ab828534eda
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.