NEEDLEWORK: Offline Rewriting of Robot Data with Verified Local Stitches
Organizations: Stanford University · NVIDIA
Abstract
Robot demonstrations may contain useful behavior even when individual episodes are inefficient or unsuccessful. Trajectory stitching offers a way to compose these behaviors into improved training data, but identifying useful connections and verifying their feasibility is difficult in high-dimensional robot data, where many prior methods rely on low-dimensional state representations. We introduce NEEDLE, an offline dataset-augmentation algorithm that addresses these challenges by adding short, verified action bridges between recorded observations in high-dimensional robot demonstrations. First, NEEDLE identifies and creates connections that bypass suboptimal detours, broaden action coverage, and augment the original dataset with failed trajectories, using only RGB images, proprioception, and episode-level outcomes, without new environment interaction or privileged object state. Next, we present a sampling technique that incorporates accepted bridges into policy training without synthesizing intermediate images or discarding the original demonstrations, allowing policies to learn alternative actions while retaining the original dataset's coverage. On real-robot tasks, NEEDLE improves success rate over the strongest baseline on each task by an average of 21 percentage points. Videos and supplementary materials are on https://needle-work.github.io/.
Figures & tables
| Task | DP | Ours |
|---|---|---|
| Coffee | 62.0 | 63.3 |
| Three Piece Assembly | 51.3 | 55.3 |
| Threading | 46.0 | 46.0 |
Appendix figures & tables12 assets
Supplementary material from the paper’s appendix.
Appendix
| Task | DP | SBR | AWR | IDQL | SARM | Ours |
|---|---|---|---|---|---|---|
| Coffee | 62.0 | 60.7 | 52.7 | 49.3 | 39.3 | 63.3 |
| Three Piece Assembly | 51.3 | 44.7 | 47.3 | 43.3 | 26.7 | 55.3 |
| Threading | 46.0 | 40.7 | 50.0 | 40.0 | 34.0 | 46.0 |
| Setting | Value |
|---|---|
| Policy, IDM, and verifier | |
| Image encoder / resolution | Frozen DINOv3 ViT-B/16 / |
| Optimizer / learning rate | AdamW / |
| Weight decay | |
| Adam coefficients / epsilon | / |
| Learning-rate schedule / warmup | Cosine decay / 500 steps |
| Setting | Value |
|---|---|
| Architecture | |
| Visual feature pooling | Spatial softmax over a patch grid |
| DDIM sampling steps (model configuration) | 50 |
| Maximum executable bridge length | 23 actions |
| Action representation | Absolute pose (simulation); source-relative pose (real robot); 6D rotation and gripper command |
| U-Net channel widths | 512, 1024, 2048 |
| Setting | Value |
|---|---|
| Architecture | |
| Source and target visual tokens | patch grid per camera |
| Transformer layers / attention heads / hidden width | 2 / 4 / 512 |
| Feed-forward width / dropout | 4096 / 0 |
| Attention / positional encoding | Causal / rotary |
| Proprioception / action normalization | Source only / per action dimension |
| Setting | Value |
|---|---|
| Candidate search and acceptance | |
| IDM proposals per pair | 8 |
| Bridges retained per source | 1 |
| Successful-source preference | Shortest bridge-plus-suffix path; positive steps saved |
| Failure-source preference | Shortest bridge-plus-suffix path |
| Relative sampling weights per window | |
| Setting | Can | Square | Transport |
|---|---|---|---|
| Observations, data, and evaluation | |||
| RGB cameras | External + wrist | External + wrist | 2 shoulder + 2 wrist |
| Action dimensions | 10 | 10 | 20 |
| Successful / unsuccessful episodes | 40 / 150 | 40 / 150 | 40 / 150 |
| Full evaluation budget | 500 | 500 | 700 |
| Evaluation starts per seed | 50 | 50 | 50 |
Robot Learning
Robot learning develops methods for robots to acquire skills and adapt from demonstrations, interaction, data, and physical models.
See all 323 papers