CoolFace
Datasetpublic

Myungkyu/layout_reconstruction

layout_reconstruction Real-robot teleoperation demonstrations of the layout_reconstruction task on a single-arm Franka Research 3 cell, released in four LeRobot layouts. Every layout is a conversion of the same 80 raw episodes (37,559 frames at 10 Hz); the layouts differ only in the LeRobot codebase version and in the action representation. directory LeRobot version action (action) consumer lerobot_v21_abs_joint/ v2.1 8-D absolute joint targets + gripper RLDX-1 loader… See the full description on the dataset page: https://huggingface.co/datasets/Myungkyu/layout_reconstruction.

sourceHugging Faceapache-2.0updated 10d agoView on Hugging Face
0likes144downloads
Dataset Card

layout_reconstruction

Real-robot teleoperation demonstrations of the layout_reconstruction task on a single-arm Franka Research 3 cell, released in four LeRobot layouts. Every layout is a conversion of the same 80 raw episodes (37,559 frames at 10 Hz); the layouts differ only in the LeRobot codebase version and in the action representation.

directoryLeRobot versionaction (`action`)consumer
lerobot_v21_abs_joint/v2.18-D absolute joint targets + gripperRLDX-1 loader (episodes.jsonl, meta/modality.json)
lerobot_v21_delta_eef/v2.17-D end-effector velocity command + gripperRLDX-1 loader
lerobot_v30_abs_joint/v3.08-D absolute joint targets + gripperlerobot ≥ 0.5 (LeRobotDataset), e.g. π0.5
lerobot_v30_delta_eef/v3.07-D end-effector velocity command + gripperlerobot ≥ 0.5

The v3.0 layouts were derived from the v2.1 layouts with the official lerobot converter (convert_dataset_v21_to_v30.py), so the four directories carry identical frames, states and videos.

Task

Memorize the object layout on the workspace, transfer the objects onto the layout board, and then reconstruct the original layout.

Every frame carries the task instruction in the task field (one task per dataset) and a subtask string column that holds the same instruction (reserved for subtask-level labels).

Raw data and conversion

Source: DROID-style teleoperation captures (one teleoperation.h5 per episode, HDF5) recorded with a Meta Quest controller driving the arm through a cartesian-velocity controller at a nominal 10 Hz. Each capture stores, per control step, the measured robot state (joint_positions, gripper_position, cartesian_position, joint velocities and torques), the commanded actions in several spaces (joint_position, cartesian_velocity, cartesian_position, gripper_position, …), controller flags, per-camera timestamps and intrinsics, and the camera streams as embedded mp4 bytes (two ZED stereo cameras, left and right eye each, 1280×720).

Conversion rules applied identically to all four layouts:

fieldsource in the capturevalue
observation.state (8)/observation/robot_state/joint_positions (7), gripper_position (1)measured joint angles (rad) + measured gripper closedness (0 = open)
action (abs_joint, 8)/action/joint_position (7), /action/gripper_position (1)commanded absolute joint targets (rad) + commanded gripper closedness in [0, 1]
action (delta_eef, 7)/action/cartesian_velocity (6), /action/gripper_position (1)commanded cartesian velocity (vx vy vz wx wy wz, controller units in [-1, 1]) + commanded gripper closedness
observation.image.exterior_cameraexterior ZED 2i, left eye448×252 RGB video (AV1, libsvtav1 crf 30), 10 fps
observation.image.wrist_camerawrist ZED Mini, left eye448×252 RGB video (AV1), 10 fps
timestamp, frame_index, episode_index, index, task_indexcontrol-step indexstandard LeRobot bookkeeping

Only the left eye of each stereo pair is kept; frames are resized from 1280×720 to 448×252 (same aspect ratio, no crop). The gripper is a Robotiq 2F; the state vector is the same in both action layouts, only the action head differs. The v2.1 layouts include meta/modality.json (state arm 0:7, gripper 7:8; action arm 0:7 / gripper 7:8 for absjoint, `eefvelocity 0:6 / gripper 6:7 for delta_eef) and meta/stats.json` with the quantile statistics used for normalisation.

Statistics

value
episodes80
frames37,559
fps10
episode length374–600 steps (mean 469)
cameras2 (exterior, wrist), 448×252
robot typefranka_panda (Franka Research 3 arm, Robotiq 2F gripper)

Loading

python
# v3.0 layouts (lerobot >= 0.5)
from lerobot.datasets.lerobot_dataset import LeRobotDataset
ds = LeRobotDataset("Myungkyu/layout_reconstruction", root="<local copy>/lerobot_v30_abs_joint")
bash
# any layout, plain download
huggingface-cli download Myungkyu/layout_reconstruction --repo-type dataset --include "lerobot_v21_abs_joint/*" --local-dir .

Companion checkpoints trained on these layouts: Myungkyu/hiwrld-baseline-ckpts-real-robot.