CoolFace
Datasetpublic

axiboai/vla-mjlab-piper-stack-pi0

VLA MJLab Piper Stack Dataset LeRobot v3 dataset collected in MJLab for a single-arm Piper cube-stacking task: Pick up the red cube and stack it on the blue cube. Summary Environment: vla-mjlab / MJLab bimanual Piper sim Control rate / dataset FPS: 50 Hz Episodes: 200 Successful episodes: 128 Policy-ready schema: 7D state / 7D action Cameras: observation.images.wrist_left, observation.images.wrist_right, observation.images.scene_top State: right arm q1..q6 +… See the full description on the dataset page: https://huggingface.co/datasets/axiboai/vla-mjlab-piper-stack-pi0.

sourceHugging Faceotherupdated 5mo agoView on Hugging Face
0likes34downloads
Dataset Card

VLA MJLab Piper Stack Dataset

LeRobot v3 dataset collected in MJLab for a single-arm Piper cube-stacking task:

Pick up the red cube and stack it on the blue cube.

Summary

  • —Environment: vla-mjlab / MJLab bimanual Piper sim
  • —Control rate / dataset FPS: 50 Hz
  • —Episodes: 200
  • —Successful episodes: 128
  • —Policy-ready schema: 7D state / 7D action
  • —Cameras: observation.images.wrist_left, observation.images.wrist_right, observation.images.scene_top
  • —State: right arm q1..q6 + measured gripper position
  • —Action: right arm target q1..q6 + target gripper position

The dataset is intended for ACT, Pi0/Pi05, SmolVLA, and related LeRobot policy experiments. The strongest validated baseline so far is ACT trained on the success-only subset with chunk_size=100.

Notes

This dataset is the corrected v4 collection. Compared with earlier internal collections, it fixes:

  • —gripper proprioception missing from observation.state,
  • —dataset FPS metadata mismatched with MJLab's 50 Hz control rate,
  • —early episode cutoff before full release/retract,
  • —stack success evaluation using stale/hardcoded geometry.

The blue cube is fixed and the red cube is randomized in a local workspace region. This is intended as a controlled first benchmark before broadening the task distribution.

Example ACT Training

bash
SUCCESS_EPS=$(python - <<'EOF'
import pyarrow.parquet as pq
from pathlib import Path
root = Path.home() / "datasets/piper_stack_act_v4"
df = pq.read_table(str(root / "data/chunk-000/file-000.parquet")).to_pandas()
ok = sorted(int(e) for e, succ in df.groupby("episode_index")["metadata.success"].last().items() if succ == 1)
print(",".join(str(e) for e in ok))
EOF
)

lerobot-train \
  --policy.type=act \
  --policy.chunk_size=100 \
  --policy.n_action_steps=100 \
  --policy.n_decoder_layers=7 \
  --policy.n_encoder_layers=4 \
  --policy.dim_model=512 \
  --policy.dim_feedforward=3200 \
  --policy.kl_weight=10 \
  --dataset.repo_id=axiboai/vla-mjlab-piper-stack-act \
  --dataset.video_backend=pyav \
  --dataset.episodes="[$SUCCESS_EPS]" \
  --batch_size=8 \
  --steps=500000