CoolFace
Datasetpublic

shailes-h/yam_bimanual_manipulation

YAM Bimanual Manipulation Real-robot demonstrations for three bimanual manipulation tasks, collected on a YAM dual-arm platform and stored in LeRobot v3.0 format. Each task is a self-contained LeRobot dataset in its own top-level directory: Directory Task Episodes Frames Size blocks_filtered/ Put all blocks into the box. 97 136,489 2.3 GB dustpan_filtered/ Clean the table using the dust pan. 100 58,018 773 MB transfer_filtered/ Transfer the egg from the pan into… See the full description on the dataset page: https://huggingface.co/datasets/shailes-h/yam_bimanual_manipulation.

sourceHugging Faceapache-2.0updated 23d agoView on Hugging Face
1likes403downloads
Dataset Card

YAM Bimanual Manipulation

Real-robot demonstrations for three bimanual manipulation tasks, collected on a YAM dual-arm platform and stored in LeRobot v3.0 format.

Each task is a self-contained LeRobot dataset in its own top-level directory:

DirectoryTaskEpisodesFramesSize
blocks_filtered/Put all blocks into the box.97136,4892.3 GB
dustpan_filtered/Clean the table using the dust pan.10058,018773 MB
transfer_filtered/Transfer the egg from the pan into the bowl.9589,3791.7 GB
Total292283,8864.8 GB

_filtered denotes that failed and truncated demonstrations were removed from the raw collection; every episode here runs to task completion.

Common format

All three share one recording setup:

Robotbi_yam_follower (two 6-DoF arms + grippers)
Control rate30 fps
Camerastop, left, right — 480×640 RGB, AV1
FormatLeRobot v3.0

Features

Both an end-effector and a joint-space view of the same trajectories are stored, so the data can drive either control convention without reprocessing.

KeyShapeMeaning
observation.images.top(480, 640, 3)Overhead camera
observation.images.left(480, 640, 3)Left wrist camera
observation.images.right(480, 640, 3)Right wrist camera
observation.state_eef_absolute(16,)Absolute EEF pose, both arms
observation.state_joint_angles(14,)Joint positions, both arms
action_eef_absolute(16,)Absolute EEF pose target
action_eef_delta(16,)EEF pose delta target
action_joint_angles(14,)Joint position target
16-D end-effector layout

Left arm at offset 0, right arm at offset 8. Each arm is:

[ x, y, z, qw, qx, qy, qz, gripper ]
    0  1  2   3   4   5   6      7

Quaternions are `w`-first (qw, qx, qy, qz), not the xyzw ordering used by SciPy and ROS — convert before feeding these into either.

14-D joint layout

Left arm at offset 0, right arm at offset 7; each arm is [joint_0 … joint_5, gripper].

Loading

Because the three datasets live in subdirectories, LeRobotDataset cannot load this repo by id alone — it expects meta/, data/ and videos/ at the root. Download the one you want, then point root at it:

python
from huggingface_hub import snapshot_download
from lerobot.datasets.lerobot_dataset import LeRobotDataset

task = "blocks_filtered"   # or dustpan_filtered / transfer_filtered

local = snapshot_download(
    repo_id="chinchinati/yam_bimanual_manipulation",
    repo_type="dataset",
    allow_patterns=f"{task}/*",
)

ds = LeRobotDataset(repo_id=task, root=f"{local}/{task}")
print(ds[0]["observation.state_eef_absolute"].shape)   # (16,)

Videos are AV1-encoded; decoding needs a build of torchcodec/ffmpeg with AV1 support.