You need to agree to share your contact information to access this dataset

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this dataset content.

EXOKERN ContactBench v0.1.1 - Peg Insertion with Domain Randomization and Force/Torque

contactbench-forge-peginsert-v0.1.1 is the current semantic-versioned reference dataset in the EXOKERN ContactBench series. It packages 5,000 domain-randomized peg-insertion episodes with explicit 6-axis wrench signals for reproducible training and evaluation on the Hugging Face Hub.

Quick Facts

Item Value
Episodes 5,000
Frames 745,000
Control frequency 20 Hz
Format LeRobot v3.0-compatible parquet
Robot Franka FR3
Simulator NVIDIA Isaac Lab
Task Isaac-Forge-PegInsert-Direct-v0
Access Gated download on the Hugging Face Hub

Release Positioning

Release Episodes Frames Role
v0 2,221 330,929 Fixed-condition baseline
v0.1 5,000 745,000 First domain-randomized release
v0.1.1 5,000 745,000 Stable reference release

Use v0.1.1 if you want a pinned dataset reference for training, evaluation, or citation.

Why This Dataset Exists

Contact-rich tasks do not reduce cleanly to geometry. Peg insertion, threading, and snap-fit assembly all depend on force regulation once contact begins. This dataset exists to make that signal explicit and to package it in a Hub-native format that works for reproducible policy training.

The paired model release for this dataset is EXOKERN/skill-forge-peginsert-v0.1.1.

Data Schema

Field Shape Description
observation.state (24,) Collapsed policy state vector exported by the collection task
observation.wrench (6,) End-effector wrench [Fx, Fy, Fz, Mx, My, Mz] in N / N*m
action (7,) Normalized controller action recorded during data collection
timestamp scalar Per-frame timestamp in seconds
frame_index scalar Frame index within an episode
episode_index scalar Episode identifier
index scalar Global frame index
task_index scalar LeRobot task mapping index

State Tensor Semantics

The observation.state vector is a 24D flat tensor exported by the FORGE collection pipeline. The current mapping is:

Index Range Field Dim Unit
0:3 fingertip_pos 3 m
3:6 fingertip_pos_rel_fixed 3 m
6:10 fingertip_quat 4 unitless
10:13 ee_linvel 3 m/s
13:16 ee_angvel 3 rad/s
16:22 force_sensor_smooth 6 N / N*m
22 force_threshold 1 N
23 ema_factor 1 unitless

observation.wrench duplicates observation.state[16:22] as a dedicated column for direct access.

Wrench Convention

Property Value
Frame End-effector body frame attached to the gripper
Order [Fx, Fy, Fz, Mx, My, Mz]
Force unit Newtons
Torque unit Newton-meters

Domain Randomization Stack

Layer Parameter Range Mode
Geometric init Peg x/y offset [-8 mm, +8 mm] Per reset
Geometric init Peg z offset [-3 mm, +5 mm] Per reset
Geometric init Peg roll/pitch [-5 deg, +5 deg] Per reset
Geometric init Peg yaw [-10 deg, +10 deg] Per reset
Object physics Peg mass scale [0.7, 1.3] Reset / startup
Contact materials Static friction [0.2, 1.2] Per reset
Contact materials Dynamic friction [0.15, 0.9] Per reset
Contact materials Restitution [0.0, 0.3] Per reset
Robot dynamics Stiffness scale [0.8, 1.2] Per reset
Robot dynamics Damping scale [0.7, 1.3] Per reset
Runtime noise Observation / action noise Active in run config Runtime

QC Snapshot

Metric Value
Episodes with wrench data 5000 / 5000
Contact-like episodes 4298 / 5000
Contact-like threshold `max(
Peak force quantiles (0/50/90/99/100%) 0.0388 / 8.2533 / 11.9820 / 14.9128 / 24.2634 N
Mean force quantiles (0/50/90/99/100%) 0.0189 / 1.6533 / 5.6933 / 7.7840 / 9.1356 N

This QC signal is a consistency check, not a success label.

EXOKERN ContactBench v0.1.1 contact regime

Figure: representative wrench trace plus episode-wise mean and peak force coverage computed from the published parquet rollout data.

Recommended Pairing

The public paired model release is EXOKERN/skill-forge-peginsert-v0.1.1. In that repo, both full_ft and no_ft checkpoints reach 100% success across 600 total rollouts, while the force/torque advantage is inconclusive on this task under strong domain randomization.

That nuance is important: this dataset is useful both when a force/torque benefit appears and when robustness training closes the gap.

Loading

from lerobot.datasets.lerobot_dataset import LeRobotDataset

ds = LeRobotDataset("EXOKERN/contactbench-forge-peginsert-v0.1.1")
print(ds.num_episodes, len(ds))

frame = ds[0]
state = frame["observation.state"]
wrench = frame["observation.wrench"]
action = frame["action"]

print(state.shape, wrench.shape, action.shape)
from datasets import load_dataset

ds = load_dataset("EXOKERN/contactbench-forge-peginsert-v0.1.1", split="train")
print(ds[0].keys())

Related Work

Citation

@dataset{exokern_contactbench_peginsert_v011_2026,
  title   = {EXOKERN ContactBench v0.1.1: Peg Insertion with Domain Randomization and Force/Torque},
  author  = {{EXOKERN}},
  year    = {2026},
  url     = {https://huggingface.co/datasets/EXOKERN/contactbench-forge-peginsert-v0.1.1},
  license = {CC-BY-NC-4.0}
}

Intended Use

  • Robust imitation learning on contact-rich insertion
  • Force-aware versus state-only policy comparisons
  • Policy stress-testing under randomized contact conditions
  • Reproducible training baselines on the Hugging Face Hub

Limitations

  • Simulation only. The dataset is not a real-robot capture.
  • The task scope is a single peg-insertion setup.
  • Domain randomization ranges are documented here, but they do not span all real-world failure modes.
  • Access is gated on the Hub.

Related Resources

Downloads last month
28

Models trained or fine-tuned on EXOKERN/contactbench-forge-peginsert-v0.1.1

Papers for EXOKERN/contactbench-forge-peginsert-v0.1.1