CoolFace
Datasetpublic

chomeed/mimicgen_hammer_cleanup_d1_224x224_mtdit_flow_35k_failure_seg

MimicGen hammer_cleanup_d1 failures — tail cut at the outcome Every episode of chomeed/mimicgen_hammer_cleanup_d1_224x224_mtdit_flow_35k_failure with its tail cut at the outcome. The approach is kept in full — every clip starts at frame 0. Same task, same two cameras, same 20 fps, same feature schema. All 100 episodes kept, 30,343 frames, median clip 240 of 500 source frames (48%). Task: Open the drawer, place the hammer inside, and close the drawer. Where the tail… See the full description on the dataset page: https://huggingface.co/datasets/chomeed/mimicgen_hammer_cleanup_d1_224x224_mtdit_flow_35k_failure_seg.

sourceHugging Faceapache-2.0updated 20d agoView on Hugging Face
0likes223downloads
Dataset Card

MimicGen hammer_cleanup_d1 failures — tail cut at the outcome

Every episode of `chomeed/mimicgen_hammer_cleanup_d1_224x224_mtdit_flow_35k_failure` with its tail cut at the outcome. The approach is kept in full — every clip starts at frame 0. Same task, same two cameras, same 20 fps, same feature schema.

All 100 episodes kept, 30,343 frames, median clip 240 of 500 source frames (48%).

Task: Open the drawer, place the hammer inside, and close the drawer.

Where the tail is cut

hammer_cleanup is a three-stage task — open the drawer, place the hammer, close the drawer — so one endpoint rule does not fit. The cut depends on how far the attempt got; every episode is labelled with its end_kind in meta/segment_info.json:

`end_kind`nmedian clip lenmedian endpoint residual (mm)
failed_grasp56184432
placed_or_attempted42383193
never_opened_drawer2500449
`end_kind`cut at
rewardedfirst frame with reward > 0 (none here — all episodes are failures)
placed_or_attemptedargmin over frames at/after the hammer lift of `\(hammer − drawer) − ref\`
failed_graspdrawer opened but the hammer never left the table: argmin of `\eef − hammer\` at/after the drawer opening — the moment the grasp failed
never_opened_drawerlast frame; the attempt never began, episode kept whole

What actually fails

The dominant failure is opening the drawer and then failing to pick up the hammer — 56 of 100. The drawer opens in 97/100 episodes, but the hammer is lifted in only 42/100.

The reference must be relative

ref = [-18.8, -48.4, 67.6] mm, the mean (hammer − drawer) at first reward across `..._35k_success`.

d1 randomises the drawer, so a world-frame reference does not work: the hammer's world position at success has std [59.9, 38.7, 15.4] mm, while the relative form has [25.0, 24.2, 15.4] mm. (This is why square_d0 could use a world reference — its peg is fixed — and this one cannot.)

State layout

observation.state (37) = [0:9] robot | [9:23] hammer | [23:37] drawer, each object being pos(3) + quat(4) + to_eef pos(3) + quat(4).

`sim_state[17]` is the drawer joint: 0 = closed, -0.134 = fully open. The drawer's open/closed state is not in observation.state — that block tracks the cabinet body, whose position is constant within an episode. Anything reasoning about the drawer must read sim_state.

Caveat

Endpoint residual is only meaningful for placed_or_attempted (193 mm median). For failed_grasp and never_opened_drawer the hammer never approaches the drawer, so their ~430–450 mm residual describes that fact rather than a miss distance. Those are different failure modes from "tried to place and missed" and may deserve separate treatment as reward-model negatives.