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

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 model content.

EXOKERN Skill v0 - Peg Insertion with Force/Torque

skill-forge-peginsert-v0 is the clean baseline skill release in the EXOKERN catalog. The repository contains a paired policy comparison on the fixed-condition EXOKERN ContactBench v0 dataset:

  • full_ft_best_model.pt: primary checkpoint with 22D observations, including 6-axis force/torque input
  • no_ft_best_model.pt: ablation baseline with the same architecture but without force/torque input

The main value of this release is not just success rate. It is a controlled reference point for measuring how force/torque sensing changes contact quality on a simple assembly task.

Quick Facts

Item Value
Task Peg insertion in simulation
Dataset EXOKERN/contactbench-forge-peginsert-v0
Simulator NVIDIA Isaac Lab (Isaac Sim 4.5)
Robot Franka Emika Panda
Architecture TemporalUNet1D diffusion policy
Parameters 71.3M
Observation horizon 10 frames
Prediction / execution horizon 16 / 8 actions
Primary checkpoint full_ft_best_model.pt
Included ablation no_ft_best_model.pt

Primary Benchmark

The Hub metadata for this repo tracks the primary full_ft checkpoint. The full repo includes the paired no_ft ablation for comparison.

Checkpoint Success Rate Avg Contact Force (N) Peak Force (N)
full_ft 100.0 3.2 +/- 0.5 10.5 +/- 0.4
no_ft 100.0 5.2 +/- 0.1 12.1 +/- 0.3

EXOKERN skill v0 benchmark summary

Figure: published seed-wise benchmark summary for the fixed-condition baseline release.

Per-seed average contact force:

Seed full_ft no_ft Reduction with F/T
42 3.7 N 5.3 N 30.4%
123 3.4 N 5.0 N 32.3%
7 2.5 N 5.2 N 52.0%

Takeaway: on this controlled baseline, force/torque input preserved success while substantially reducing contact force.

Architecture

This release uses a 1D Temporal U-Net diffusion policy with FiLM-style conditioning from the observation history and diffusion timestep.

Architecture

Component Value
Action dimension 7
Observation dimensions 22 (full_ft) / 16 (no_ft)
Diffusion training steps 100
DDIM inference steps 16
Base channels 256
Channel multipliers (1, 2, 4)
Normalization Min-max to [-1, 1]

Repository Contents

File Description
full_ft_best_model.pt Best checkpoint with force/torque input
no_ft_best_model.pt Best checkpoint without force/torque input
inference.py Self-contained inference helper and model definition
config.yaml Training, dataset, and environment configuration
training_curve_full_ft_seed42.png Training curve for full_ft, seed 42
training_curve_full_ft_seed123.png Training curve for full_ft, seed 123
training_curve_full_ft_seed7.png Training curve for full_ft, seed 7
training_curve_no_ft_seed42.png Training curve for no_ft, seed 42
training_curve_no_ft_seed123.png Training curve for no_ft, seed 123
training_curve_no_ft_seed7.png Training curve for no_ft, seed 7

Usage

Reproduce evaluation with exokern-eval

pip install exokern-eval

wget https://huggingface.co/EXOKERN/skill-forge-peginsert-v0/resolve/main/full_ft_best_model.pt

exokern-eval \
  --policy full_ft_best_model.pt \
  --env Isaac-Forge-PegInsert-Direct-v0 \
  --episodes 100

Load the repo helper locally

import os
import sys

from huggingface_hub import snapshot_download

repo_dir = snapshot_download(
    repo_id="EXOKERN/skill-forge-peginsert-v0",
    allow_patterns=["*.pt", "inference.py"],
)
sys.path.insert(0, repo_dir)

from inference import DiffusionPolicyInference

policy = DiffusionPolicyInference(
    os.path.join(repo_dir, "full_ft_best_model.pt"),
    device="cpu",
)

policy.add_observation([0.0] * 22)
actions = policy.get_actions()
print(len(actions))

Training And Evaluation Setup

Item Value
Train / val split 85% / 15% by episode
Epochs 300
Batch size 256
Optimizer AdamW, lr=1e-4, weight_decay=1e-4
LR schedule Cosine annealing to 1e-6
EMA decay 0.995
Seeds 42, 123, 7
Physics rate 120 Hz
Control rate 15 Hz
Domain randomization Disabled in this release

Related Work

Citation

@misc{exokern_skill_peginsert_v0_2026,
  title        = {EXOKERN Skill v0: Peg Insertion with Force/Torque},
  author       = {{EXOKERN}},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/EXOKERN/skill-forge-peginsert-v0}},
  note         = {Paired full_ft and no_ft diffusion-policy checkpoints}
}

Security Note

The checkpoints in this repo are PyTorch pickles. Load them only in a trusted or isolated environment after reviewing the repository contents.

Limitations

  • Simulation only. This release does not claim real-robot readiness.
  • The task is a relatively simple peg insertion setting with fixed conditions.
  • Results should not be generalized to harder contact tasks without additional evidence.
  • The repo exposes paired checkpoints for research comparison; the intended production-style reference in this repo is full_ft_best_model.pt.

Related Resources

Downloads last month
4
Video Preview
loading

Dataset used to train EXOKERN/skill-forge-peginsert-v0

Papers for EXOKERN/skill-forge-peginsert-v0

Evaluation results

  • Success Rate (%) on EXOKERN ContactBench v0
    self-reported
    100.000
  • Average Contact Force (N) on EXOKERN ContactBench v0
    self-reported
    3.200
  • Peak Contact Force (N) on EXOKERN ContactBench v0
    self-reported
    10.500