CoolFace
Datasetpublic

DAVIAN-Robotics/robolab-mg-food-medium

This dataset was created using LeRobot. Dataset Description Simulated manipulation demonstrations generated by our MimicGen reimplementation on the RoboLab (Isaac Lab) benchmark. One of 12 cells in a generator x task x difficulty grid. What this is Generator MimicGen (our reimplementation, not the authors' code) Task food Initial-pose randomization medium — position 50%, yaw ±25° Episodes 3044 (successes only) Generation success rate 0.350… See the full description on the dataset page: https://huggingface.co/datasets/DAVIAN-Robotics/robolab-mg-food-medium.

sourceHugging Faceapache-2.0updated 1mo agoView on Hugging Face
0likes34downloads
Dataset Card

This dataset was created using LeRobot.

Dataset Description

Simulated manipulation demonstrations generated by our MimicGen reimplementation on the RoboLab (Isaac Lab) benchmark. One of 12 cells in a generator x task x difficulty grid.

What this is

GeneratorMimicGen (our reimplementation, not the authors' code)
Taskfood
Initial-pose randomizationmedium — position 50%, yaw ±25°
Episodes3044 (successes only)
Generation success rate0.350

Action convention — read this before training

Actions are absolute joint targets in the DROID frame (arm 7-DoF with the j7 mount offset applied) plus a binary gripper in {0, 1}. They are not deltas. Applying a delta transform on top will silently produce a different controller.

The binary gripper matters: a continuous gripper channel overestimates downstream policy performance in our measurements, so it is binarized at collection time.

How the data was produced

Source demos (pi05 policy rollouts) -> MimicGen (object-centric SE(3) retargeting) -> for PGDG cells, those MimicGen episodes are in turn the source for the control-point sampler. Every episode is rolled out in physics and only successes are stored, so the generation success rate above is also the cost driver: episodes that fail consume the same simulation budget as ones that succeed.

Difficulty levels randomize the object's initial placement: position as a fraction of the task's feasible radius, and yaw as a half-angle.

Caveats

  • Only successful episodes are included. Failure modes are not represented here.
  • Success is defined by a K-step settle (hold) criterion in the environment, not a single frame.
  • Observations are two cameras (over-shoulder + wrist) at 270x480, 15 fps, plus proprioceptive state.
  • Quantile statistics (q01/q99) are precomputed, and videos are re-encoded to constant frame rate so that torchcodec-based dataloaders work.
  • This is our reimplementation of the published methods, not the original authors' code. Several hyperparameters are not specified in the papers and were chosen by us.

Visualize

Open in the LeRobot dataset visualizer

  • Homepage: [More Information Needed]
  • Paper: [More Information Needed]
  • License: apache-2.0

Dataset Structure

meta/info.json:

json
{
    "codebase_version": "v3.0",
    "robot_type": "unknown",
    "total_episodes": 3044,
    "total_frames": 627284,
    "total_tasks": 1,
    "chunks_size": 1000,
    "data_files_size_in_mb": 100,
    "video_files_size_in_mb": 200,
    "fps": 15,
    "splits": {
        "train": "0:3044"
    },
    "data_path": "data/chunk-{chunk_index:03d}/file-{file_index:03d}.parquet",
    "video_path": "videos/{video_key}/chunk-{chunk_index:03d}/file-{file_index:03d}.mp4",
    "features": {
        "action": {
            "dtype": "float32",
            "shape": [
                8
            ],
            "names": {
                "motors": [
                    "j0",
                    "j1",
                    "j2",
                    "j3",
                    "j4",
                    "j5",
                    "j6",
                    "gripper"
                ]
            },
            "fps": 15
        },
        "observation.state": {
            "dtype": "float32",
            "shape": [
                8
            ],
            "names": {
                "motors": [
                    "joint_0",
                    "joint_1",
                    "joint_2",
                    "joint_3",
                    "joint_4",
                    "joint_5",
                    "joint_6",
                    "joint_7"
                ]
            },
            "fps": 15
        },
        "observation.velocity": {
            "dtype": "float32",
            "shape": [
                8
            ],
            "names": null,
            "fps": 15
        },
        "episode_index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        },
        "frame_index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        },
        "index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        },
        "task_index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        },
        "timestamp": {
            "dtype": "float32",
            "shape": [
                1
            ],
            "names": null
        },
        "next.done": {
            "dtype": "bool",
            "shape": [
                1
            ],
            "names": null,
            "fps": 15
        },
        "observation.images.over_shoulder_left_camera": {
            "dtype": "video",
            "shape": [
                270,
                480,
                3
            ],
            "names": [
                "height",
                "width",
                "channels"
            ],
            "info": {
                "video.height": 270,
                "video.width": 480,
                "video.codec": "avc1",
                "video.pix_fmt": "yuv420p",
                "video.is_depth_map": false,
                "video.fps": 15.0,
                "video.channels": 3,
                "has_audio": false
            }
        },
        "observation.images.wrist_cam": {
            "dtype": "video",
            "shape": [
                270,
                480,
                3
            ],
            "names": [
                "height",
                "width",
                "channels"
            ],
            "info": {
                "video.height": 270,
                "video.width": 480,
                "video.codec": "avc1",
                "video.pix_fmt": "yuv420p",
                "video.is_depth_map": false,
                "video.fps": 15.0,
                "video.channels": 3,
                "has_audio": false
            }
        }
    }
}

Citation

BibTeX:

bibtex
[More Information Needed]