CoolFace
Datasetpublic

murobotics/tangram-house-panda-330ep

This dataset was created using LeRobot. Dataset Description Demonstrations for Tangram-Bench: a Panda arm in MuJoCo assembles a tangram silhouette from a packed square of seven pieces, given the silhouette outline on the table and a one-sentence prompt. Episodes 330 (330 solved) Distinct scenes 72; the designed grid holds 72 per figure, so seeds n and n + 72 share a scene Frames 691,855 at 10 fps, 1153 min of manipulation Figures house Robot panda… See the full description on the dataset page: https://huggingface.co/datasets/murobotics/tangram-house-panda-330ep.

sourceHugging Facemitupdated 13d agoView on Hugging Face
0likes86downloads
Dataset Card

This dataset was created using LeRobot.

<a class="flex" href="https://huggingface.co/spaces/lerobot/visualize_dataset?path=murobotics/tangram-house-panda-330ep"> <img class="block dark:hidden" src="https://huggingface.co/datasets/huggingface/badges/resolve/main/visualize-this-dataset-xl.svg"/> <img class="hidden dark:block" src="https://huggingface.co/datasets/huggingface/badges/resolve/main/visualize-this-dataset-xl-dark.svg"/> </a>

Dataset Description

Demonstrations for Tangram-Bench: a Panda arm in MuJoCo assembles a tangram silhouette from a packed square of seven pieces, given the silhouette outline on the table and a one-sentence prompt.

Episodes330 (330 solved)
Distinct scenes72; the designed grid holds 72 per figure, so seeds n and n + 72 share a scene
Frames691,855 at 10 fps, 1153 min of manipulation
Figureshouse
Robotpanda, simulated (MuJoCo)
Camerasobservation.images.top, observation.images.wrist, 320x240
Stateobservation.state: 7 arm joints and 2 finger joints, rad and m
Actionaction: 7 joint targets in rad and a gripper command, 1 open, 0 closed
Taskthe figure prompt
Demonstratorthe repository's reference controller, one seed per episode
FigureEpisodesSolvedPrompt
house330330Solve the tangram puzzle to assemble the house.

How the episodes were recorded

Scenes come from the benchmark's designed grid: goal yaw every 30 degrees, packed square yaw every 45 degrees, centres offset by up to 30 mm, all inside the arm's workspace. A seed fixes the scene and the demonstrator, so any episode reproduces exactly with tools.collect in the repository; episodes.jsonl maps each episode index to its seed, figure, success, prompt, plan and subtask segments. An episode ends four seconds after the benchmark's success test has held, once the arm has returned home.

Language annotations

language_persistent carries the demonstrator's numbered plan (refreshed at every step) and the subtask sentence in progress, in the layout lerobot-annotate writes; language_events is empty.

  • —Homepage: https://github.com/murobotics-ai/tangram-bench
  • —Paper: [More Information Needed]
  • —License: mit
Scene grid note. These episodes were recorded under the scene design of Tangram-Bench commit b0f9a21 (2026-09-11), whose seed-to-scene map repeated every 72 seeds and used ±15 mm goal offsets. Since 2026-09-12 the repository maps seeds to 7,776 distinct scenes with ±10 mm goal offsets, so a seed listed in episodes.jsonl reproduces its scene only at that commit.

Dataset Structure

meta/info.json:

json
{
    "codebase_version": "v3.0",
    "fps": 10,
    "features": {
        "observation.images.top": {
            "dtype": "video",
            "shape": [
                240,
                320,
                3
            ],
            "names": [
                "height",
                "width",
                "channels"
            ],
            "info": {
                "video.height": 240,
                "video.width": 320,
                "video.codec": "av1",
                "video.pix_fmt": "yuv420p",
                "video.fps": 10,
                "video.channels": 3,
                "has_audio": false,
                "video.g": 2,
                "video.crf": 30,
                "video.preset": 12,
                "video.fast_decode": 0,
                "video.video_backend": "pyav",
                "video.extra_options": {},
                "is_depth_map": false
            }
        },
        "observation.images.wrist": {
            "dtype": "video",
            "shape": [
                240,
                320,
                3
            ],
            "names": [
                "height",
                "width",
                "channels"
            ],
            "info": {
                "video.height": 240,
                "video.width": 320,
                "video.codec": "av1",
                "video.pix_fmt": "yuv420p",
                "video.fps": 10,
                "video.channels": 3,
                "has_audio": false,
                "video.g": 2,
                "video.crf": 30,
                "video.preset": 12,
                "video.fast_decode": 0,
                "video.video_backend": "pyav",
                "video.extra_options": {},
                "is_depth_map": false
            }
        },
        "observation.state": {
            "dtype": "float32",
            "shape": [
                9
            ],
            "names": [
                "joint0",
                "joint1",
                "joint2",
                "joint3",
                "joint4",
                "joint5",
                "joint6",
                "finger0",
                "finger1"
            ]
        },
        "action": {
            "dtype": "float32",
            "shape": [
                8
            ],
            "names": [
                "joint0",
                "joint1",
                "joint2",
                "joint3",
                "joint4",
                "joint5",
                "joint6",
                "gripper"
            ]
        },
        "timestamp": {
            "dtype": "float32",
            "shape": [
                1
            ],
            "names": null
        },
        "frame_index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        },
        "episode_index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        },
        "index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        },
        "task_index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        },
        "language_persistent": {
            "dtype": "language",
            "shape": [
                1
            ],
            "names": null
        },
        "language_events": {
            "dtype": "language",
            "shape": [
                1
            ],
            "names": null
        }
    },
    "total_episodes": 330,
    "total_frames": 691855,
    "total_tasks": 1,
    "chunks_size": 1000,
    "data_files_size_in_mb": 100,
    "video_files_size_in_mb": 200,
    "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",
    "robot_type": "panda",
    "splits": {
        "train": "0:330"
    }
}

Citation

BibTeX:

bibtex
[More Information Needed]