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.
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
- FORGE: Force-Guided Exploration for Robust Contact-Rich Manipulation under Uncertainty
- Factory: Fast Contact for Robotic Assembly
- IndustReal: Transferring Contact-Rich Assembly Tasks from Simulation to Reality
- Diffusion Policy: Visuomotor Policy Learning via Action Diffusion
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
- Paired model: EXOKERN/skill-forge-peginsert-v0.1.1
- Fixed-condition baseline: EXOKERN/contactbench-forge-peginsert-v0
- Organization page: huggingface.co/EXOKERN
- Downloads last month
- 28
