CoolFace
Datasetpublic

enactic/openarm-2-cell-pick_up_cube_mujoco-lerobot

openarm-2-cell-pick_up_cube_mujoco-lerobot OpenArm 2 bimanual manipulation demonstrations ("pick up the cube") recorded in a MuJoCo simulation cell through VR teleoperation, converted to the LeRobot dataset format with OpenArm Dataset. Robot: OpenArm 2, bimanual (2 x 7 DoF + gripper, 16-dim state/action, joint positions) Environment: MuJoCo simulation, VR teleoperation Task: Pick up the cube. Episodes: 30 (splits: train 0:24, val 24:30) — Frames: 5405 @ 30 fps Cameras:… See the full description on the dataset page: https://huggingface.co/datasets/enactic/openarm-2-cell-pick_up_cube_mujoco-lerobot.

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

openarm-2-cell-pickupcube_mujoco-lerobot

OpenArm 2 bimanual manipulation demonstrations ("pick up the cube") recorded in a MuJoCo simulation cell through VR teleoperation, converted to the LeRobot dataset format with OpenArm Dataset.

<a class="flex" href="https://huggingface.co/spaces/lerobot/visualizedataset?path=k1000dai/openarm-2-cell-pickupcubemujoco-lerobot"> <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>

  • Robot: OpenArm 2, bimanual (2 x 7 DoF + gripper, 16-dim state/action, joint positions)
  • Environment: MuJoCo simulation, VR teleoperation
  • Task: Pick up the cube.
  • Episodes: 30 (splits: train 0:24, val 24:30) — Frames: 5405 @ 30 fps
  • Cameras: ceiling, head_left, head_right, wrist_left, wrist_right
  • Extra columns: success (per-episode success flag), last_frame_index

This revision holds the v3.0 format (main).

Versions

Both LeRobot dataset formats of the same recordings live in this repository, on separate revisions (their data/ / videos/ / meta/ layouts are incompatible):

revision`codebase_version`works with
main, tag v3.0v3.0lerobot >= 0.6.0 (Python >= 3.12)
branch v2.1, tag v2.1v2.1lerobot == 0.3.3

LeRobotDataset resolves the revision matching your installed LeRobot version automatically, so plain LeRobotDataset("k1000dai/openarm-2-cell-pick_up_cube_mujoco-lerobot") works on both.

Usage

python
from lerobot.datasets.lerobot_dataset import LeRobotDataset

dataset = LeRobotDataset("k1000dai/openarm-2-cell-pick_up_cube_mujoco-lerobot")          # revision picked from your lerobot version
dataset = LeRobotDataset("k1000dai/openarm-2-cell-pick_up_cube_mujoco-lerobot", revision="v2.1")  # pin the v2.1 format explicitly

Dataset structure

meta/info.json:

json
{
    "codebase_version": "v3.0",
    "robot_type": "openarm_bimanual",
    "total_episodes": 30,
    "total_frames": 5405,
    "total_tasks": 1,
    "chunks_size": 1000,
    "data_files_size_in_mb": 100,
    "video_files_size_in_mb": 200,
    "fps": 30,
    "splits": {
        "train": "0:24",
        "val": "24:30"
    },
    "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": [
                "right_joint1.pos",
                "right_joint2.pos",
                "right_joint3.pos",
                "right_joint4.pos",
                "right_joint5.pos",
                "right_joint6.pos",
                "right_joint7.pos",
                "right_gripper.pos",
                "left_joint1.pos",
                "left_joint2.pos",
                "left_joint3.pos",
                "left_joint4.pos",
                "left_joint5.pos",
                "left_joint6.pos",
                "left_joint7.pos",
                "left_gripper.pos"
            ],
            "shape": [
                16
            ],
            "fps": 30
        },
        "observation.state": {
            "dtype": "float32",
            "names": [
                "right_joint1.pos",
                "right_joint2.pos",
                "right_joint3.pos",
                "right_joint4.pos",
                "right_joint5.pos",
                "right_joint6.pos",
                "right_joint7.pos",
                "right_gripper.pos",
                "left_joint1.pos",
                "left_joint2.pos",
                "left_joint3.pos",
                "left_joint4.pos",
                "left_joint5.pos",
                "left_joint6.pos",
                "left_joint7.pos",
                "left_gripper.pos"
            ],
            "shape": [
                16
            ],
            "fps": 30
        },
        "timestamp": {
            "dtype": "float64",
            "shape": [
                1
            ],
            "names": null,
            "fps": 30
        },
        "frame_index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null,
            "fps": 30
        },
        "episode_index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null,
            "fps": 30
        },
        "index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null,
            "fps": 30
        },
        "task_index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null,
            "fps": 30
        },
        "success": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null,
            "fps": 30
        },
        "last_frame_index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null,
            "fps": 30
        },
        "observation.images.ceiling": {
            "dtype": "video",
            "shape": [
                600,
                960,
                3
            ],
            "names": [
                "height",
                "width",
                "channels"
            ],
            "info": {
                "video.height": 600,
                "video.width": 960,
                "video.codec": "h264",
                "video.pix_fmt": "yuv420p",
                "video.is_depth_map": false,
                "video.fps": 30,
                "video.channels": 3,
                "has_audio": false
            }
        },
        "observation.images.head_left": {
            "dtype": "video",
            "shape": [
                720,
                1280,
                3
            ],
            "names": [
                "height",
                "width",
                "channels"
            ],
            "info": {
                "video.height": 720,
                "video.width": 1280,
                "video.codec": "h264",
                "video.pix_fmt": "yuv420p",
                "video.is_depth_map": false,
                "video.fps": 30,
                "video.channels": 3,
                "has_audio": false
            }
        },
        "observation.images.head_right": {
            "dtype": "video",
            "shape": [
                720,
                1280,
                3
            ],
            "names": [
                "height",
                "width",
                "channels"
            ],
            "info": {
                "video.height": 720,
                "video.width": 1280,
                "video.codec": "h264",
                "video.pix_fmt": "yuv420p",
                "video.is_depth_map": false,
                "video.fps": 30,
                "video.channels": 3,
                "has_audio": false
            }
        },
        "observation.images.wrist_left": {
            "dtype": "video",
            "shape": [
                600,
                960,
                3
            ],
            "names": [
                "height",
                "width",
                "channels"
            ],
            "info": {
                "video.height": 600,
                "video.width": 960,
                "video.codec": "h264",
                "video.pix_fmt": "yuv420p",
                "video.is_depth_map": false,
                "video.fps": 30,
                "video.channels": 3,
                "has_audio": false
            }
        },
        "observation.images.wrist_right": {
            "dtype": "video",
            "shape": [
                600,
                960,
                3
            ],
            "names": [
                "height",
                "width",
                "channels"
            ],
            "info": {
                "video.height": 600,
                "video.width": 960,
                "video.codec": "h264",
                "video.pix_fmt": "yuv420p",
                "video.is_depth_map": false,
                "video.fps": 30,
                "video.channels": 3,
                "has_audio": false
            }
        }
    }
}

License

Apache-2.0.