CoolFace
Datasetpublic

siruku6/jaist_mix_v2

jaist_mix_v2 — LIBERO-plus + synthetic reverse-direction episodes (49.5 %) A LeRobot v3.0 dataset built to teach a π0.5 policy the reverse of what LIBERO demonstrates. The distributed LIBERO demonstrations put objects onto shelves, plates and trays. The tasks we needed take them off again — and only 1 of 2,066 instruction strings in the distributed training data is a take … off / out of task. This dataset mixes the distributed data with synthetic episodes that supply the missing… See the full description on the dataset page: https://huggingface.co/datasets/siruku6/jaist_mix_v2.

sourceHugging Facemitupdated 14d agoView on Hugging Face
0likes20downloads
Dataset Card

jaistmixv2 — LIBERO-plus + synthetic reverse-direction episodes (49.5 %)

A LeRobot v3.0 dataset built to teach a π0.5 policy the reverse of what LIBERO demonstrates.

The distributed LIBERO demonstrations put objects onto shelves, plates and trays. The tasks we needed take them off again — and only 1 of 2,066 instruction strings in the distributed training data is a take … off / out of task. This dataset mixes the distributed data with synthetic episodes that supply the missing direction.

PartEpisodesFramesTasksShare of frames
`lerobot/libero_plus`, thinned to 75 episodes/task3,000501,4034050.5 %
Synthetic reverse-direction episodes (397 unique, replicated ×8)3,176491,440349.5 %
Total6,176992,84343

The reverse episodes

InstructionEpisodesFramesMean length
take the yellow book off the top of the shelf and put it back on the table on the left1,200181,880152
take the red mug off the left plate and put it back on the table behind the other two mugs1,176199,344170
take the alphabet soup out of the tray and place it on the table in front of the ketchup800110,216138

These are not time-reversed playback. Each episode is an ordinary forward-in-time rollout of a scripted controller inside LIBERO simulation, in six phases:

  1. 1.approach — move to a grasp pose with the gripper open
  2. 2.grasp — close in place
  3. 3.lift — retreat straight up
  4. 4.return — follow a reference path
  5. 5.place — stop on contact
  6. 6.release

Images, action and observation.state all advance in time, at 20 fps, exactly like a recorded demonstration. Time reversal is used in one place only: the reference path of phase 4 is read backwards out of a distributed forward demonstration, which is what makes the resulting task the inverse of it.

The grasp pose is derived from the forward demonstration's own end-effector pose at its grasp frame, then re-expressed in the current object frame, so it follows the object however it happens to be placed.

Each episode starts from a distributed initial state (pruned_init) of the corresponding evaluation task, and only successful rollouts were written. Replication (×8) is per-episode duplication, chosen so that one pass over the reverse frames takes ~7,800 optimizer steps at batch 16.

Why "v2"

A first version of these episodes let the scripted controller's per-step wrist rotation command saturate at the ±1 action clip, while the distributed demonstrations stay inside ±0.375. 15.2 % of frames exceeded 10 σ, and 52.6 % of those sat in the first 10 % of each episode — the approach phase. A policy trained on that version shrank its own rotation commands toward the mean (95th percentile 0.25 against an envelope of 0.375).

This version rate-limits per-step rotation to ±0.375. Measured over 40 episodes per task:

v1**v2**
95th percentile of \rotation\0.98 – 1.000.375
Frames outside ±0.3758.9 – 26.0 %0.0 %
… in the first 10 % of the episode25.3 – 97.6 %0.0 %
Frames beyond 10 σ15.2 %0.0 %

A policy trained on v2 issues rotation commands at 0.39 — matching the envelope — and reaches a lower training loss (0.346 against 0.41–0.44 at the same step count, same recipe).

The placement phase was fixed at the same time: v1 released objects up to 40 mm above the surface, v2 releases at 1.00 mm (book) / 2.90 mm (soup).

What this dataset does not fix. A policy trained on it still does not grasp in closed loop — see `siruku6/pi05_t3rev_v2` for the evaluation. The rotation defect was real and is gone; it was not the whole cause.

Format

LeRobot codebase_version: v3.0, robot_type: panda, 20 fps.

Featuredtypeshape
observation.images.frontvideo256 × 256 × 3
observation.images.wristvideo256 × 256 × 3
observation.statefloat328 — [eef_pos(3), eef_axis_angle(3), gripper_qpos(2)], raw scale
actionfloat327 — OSC delta pose [dx, dy, dz, drx, dry, drz, gripper]

Images are stored rotated 180° relative to the raw simulator render, matching the convention of the policy's preprocessing. action[6] follows the robosuite convention: −1 opens, +1 closes.

data/chunk-000/file-000.parquet
meta/info.json  meta/tasks.parquet  meta/episodes/chunk-000/file-000.parquet
meta/stats.json  meta/stats.json.bak
videos/observation.images.front/chunk-000/file-{000..017}.mp4
videos/observation.images.wrist/chunk-000/file-{000..016}.mp4

`meta/stats.json` is pinned, not recomputed. It carries the normalization statistics of the base policy's own normalizer (difference 0.000e+00), and meta/stats.json.bak is the recomputed file it replaced. This matters: recomputing statistics over a mixture that is half synthetic shifts the normalizer, and a fine-tune that starts from a checkpoint whose normalizer was fitted on the distributed data will then see inputs on a different scale.

Use

sh
hf download siruku6/jaist_mix_v2 --repo-type dataset --local-dir ./jaist_mix_v2
python
from lerobot.datasets.lerobot_dataset import LeRobotDataset
ds = LeRobotDataset("local/jaist_mix_v2", root="./jaist_mix_v2")

Intended use and limitations

Research artifact. Simulation only — a simulated Franka Panda in LIBERO, with no real-robot validation. The reverse episodes come from a scripted controller, not a human, so they are smoother and more stereotyped than human demonstrations, and they cover exactly three scenes. The ×8 replication means the effective number of distinct reverse trajectories is 397, not 3,176.

License and attribution

Released under the MIT License, inheriting from the LIBERO components it is built on.

ComponentSourceLicense
Forward episodes`lerobot/libero_plus`, redistributing `Sylvest/LIBERO-plus`MIT
Scenes, meshes, task definitionsLIBERO — Copyright (c) 2023 Lifelong Robot LearningMIT
Simulatorrobosuite / MuJoCoMIT / Apache-2.0
Dataset format and toolingLeRobot v0.6.0Apache-2.0
Reverse episodesgenerated by the authors of this repositoryMIT

No model weights are contained here, so the Gemma Terms of Use that govern the policy checkpoints do not apply to this dataset.