CoolFace
Datasetpublic

andreaskoepf/dk1_duplo_disassembly_2026-04-04

This dataset was created using LeRobot. Dataset Description Bimanual duplo disassembly demonstrations with DK1 robot Robot: TRLC DK1 bimanual (bi_dk1_follower) — 2× 6-DOF arms with grippers Task: separate the duplo bricks Episodes: 42 Total frames: 86,441 (48.0 min @ 30 fps) Avg episode length: 68.6s License: apache-2.0 Cameras Camera Resolution Codec FPS observation.images.head 640x360 h264 30 observation.images.left_wrist 640x360 h264 30… See the full description on the dataset page: https://huggingface.co/datasets/andreaskoepf/dk1_duplo_disassembly_2026-04-04.

sourceHugging Faceapache-2.0updated 4mo agoView on Hugging Face
0likes596downloads
Dataset Card

This dataset was created using LeRobot.

<a class="flex" href="https://huggingface.co/spaces/lerobot/visualizedataset?path=andreaskoepf/dk1duplodisassembly2026-04-04"> <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

Bimanual duplo disassembly demonstrations with DK1 robot

  • —Robot: TRLC DK1 bimanual (bi_dk1_follower) — 2× 6-DOF arms with grippers
  • —Task: separate the duplo bricks
  • —Episodes: 42
  • —Total frames: 86,441 (48.0 min @ 30 fps)
  • —Avg episode length: 68.6s
  • —License: apache-2.0

Cameras

CameraResolutionCodecFPS
observation.images.head640x360h26430
observation.images.left_wrist640x360h26430
observation.images.right_wrist640x360h26430

Observation Space

  • —`observation.state`: float32[40] — leftjoint1.pos, leftjoint2.pos, leftjoint3.pos, leftjoint4.pos, leftjoint5.pos, leftjoint6.pos... (joint positions, velocities, torques for both arms + grippers)
  • —*`observation.images.`**: 3 camera streams

Action Space

  • —`action`: float32[14] — leftjoint1.pos, leftjoint2.pos, leftjoint3.pos, leftjoint4.pos, leftjoint5.pos, leftjoint6.pos... (joint position targets for both arms + grippers)

Loading the Dataset

python
from lerobot.datasets.lerobot_dataset import LeRobotDataset

dataset = LeRobotDataset("andreaskoepf/dk1_duplo_disassembly_2026-04-04")

# Access a frame
frame = dataset[0]
print(frame["observation.state"].shape)  # torch.Size([40])
print(frame["action"].shape)             # torch.Size([14])
print(frame["observation.images.head"].shape)  # torch.Size([3, 720, 1280])

Dataset Structure

meta/info.json:

json
{
    "codebase_version": "v3.0",
    "robot_type": "bi_dk1_follower",
    "total_episodes": 42,
    "total_frames": 86441,
    "total_tasks": 1,
    "chunks_size": 1000,
    "data_files_size_in_mb": 11,
    "video_files_size_in_mb": 7657,
    "fps": 30,
    "splits": {
        "train": "0:42"
    },
    "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",
            "names": [
                "left_joint_1.pos",
                "left_joint_2.pos",
                "left_joint_3.pos",
                "left_joint_4.pos",
                "left_joint_5.pos",
                "left_joint_6.pos",
                "left_gripper.pos",
                "right_joint_1.pos",
                "right_joint_2.pos",
                "right_joint_3.pos",
                "right_joint_4.pos",
                "right_joint_5.pos",
                "right_joint_6.pos",
                "right_gripper.pos"
            ],
            "shape": [
                14
            ]
        },
        "observation.state": {
            "dtype": "float32",
            "names": [
                "left_joint_1.pos",
                "left_joint_2.pos",
                "left_joint_3.pos",
                "left_joint_4.pos",
                "left_joint_5.pos",
                "left_joint_6.pos",
                "left_gripper.pos",
                "right_joint_1.pos",
                "right_joint_2.pos",
                "right_joint_3.pos",
                "right_joint_4.pos",
                "right_joint_5.pos",
                "right_joint_6.pos",
                "right_gripper.pos",
                "left_joint_1.vel",
                "left_joint_2.vel",
                "left_joint_3.vel",
                "left_joint_4.vel",
                "left_joint_5.vel",
                "left_joint_6.vel",
                "right_joint_1.vel",
                "right_joint_2.vel",
                "right_joint_3.vel",
                "right_joint_4.vel",
                "right_joint_5.vel",
                "right_joint_6.vel",
                "left_joint_1.torque",
                "left_joint_2.torque",
                "left_joint_3.torque",
                "left_joint_4.torque",
                "left_joint_5.torque",
                "left_joint_6.torque",
                "left_gripper.torque",
                "right_joint_1.torque",
                "right_joint_2.torque",
                "right_joint_3.torque",
                "right_joint_4.torque",
                "right_joint_5.torque",
                "right_joint_6.torque",
                "right_gripper.torque"
            ],
            "shape": [
                40
            ]
        },
        "observation.images.head": {
            "dtype": "video",
            "shape": [
                360,
                640,
                3
            ],
            "names": [
                "height",
                "width",
                "channels"
            ],
            "info": {
                "video.height": 360,
                "video.width": 640,
                "video.codec": "h264",
                "video.pix_fmt": "yuv420p",
                "video.is_depth_map": false,
                "video.fps": 30,
                "video.channels": 3,
                "has_audio": false
            }
        },
        "observation.images.left_wrist": {
            "dtype": "video",
            "shape": [
                360,
                640,
                3
            ],
            "names": [
                "height",
                "width",
                "channels"
            ],
            "info": {
                "video.height": 360,
                "video.width": 640,
                "video.codec": "h264",
                "video.pix_fmt": "yuv420p",
                "video.is_depth_map": false,
                "video.fps": 30,
                "video.channels": 3,
                "has_audio": false
            }
        },
        "observation.images.right_wrist": {
            "dtype": "video",
            "shape": [
                360,
                640,
                3
            ],
            "names": [
                "height",
                "width",
                "channels"
            ],
            "info": {
                "video.height": 360,
                "video.width": 640,
                "video.codec": "h264",
                "video.pix_fmt": "yuv420p",
                "video.is_depth_map": false,
                "video.fps": 30,
                "video.channels": 3,
                "has_audio": false
            }
        },
        "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
        }
    }
}

Citation

BibTeX:

bibtex
@misc{andreaskoepf_dk1_duplo_disassembly_2026_04_04,
  title = {separate the duplo bricks},
  author = {The Robot Learning Company},
  year = {2026},
  publisher = {HuggingFace},
  url = {https://huggingface.co/datasets/andreaskoepf/dk1_duplo_disassembly_2026-04-04}
}