Skip to content

OCBench — A Controllable Robotic Manipulation Benchmark for BC and RL

OCBench is the shipped artifact behind Behavioral Cloning Mystery: a GPU-accelerated (MJWarp) MuJoCo manipulation benchmark whose scripted “oracle” policies deliberately imitate the properties of human demonstrations — non-Markovian, smoothly random, narrowly distributed — via random piecewise Hermite splines, enabling controlled study of BC and RL algorithms with virtually unlimited data. The release provides 28 manipulation tasks across five environment families (block, chamber, switch, hanoi, bowling), each with lite/cpu/visual variants (8 combinations per task), reference JAX/Flax implementations of several BC and RL algorithms, and large pre-generated datasets on Hugging Face. The companion PDF (Park & Levine, “Behavioral Cloning Mystery”) is the writeup; the GitHub repo is the controllable substrate the robotics community can now use to reproduce or stress-test the four BC mysteries from scratch.

  • OCBench provides GPU-parallelized MJWarp backends and matching CPU reference implementations for 28 manipulation tasks across five environment families — block (single/double/triple/quadruple), chamber (easy/medium/hard), switch (3×3/4×4/5×5 Lights Out), hanoi (single/double/triple), and bowling [README §Overview, §Repository Layout].
  • Each task supports 8 variants crossing three independent axes — lite (shorter horizons + simplified scripted policies), cpu (CPU vs GPU rollouts), and visual (pixel vs state observations) — exposed as separate Gymnasium environment IDs [README §Tasks and datasets, project-page variant table].
  • Scripted demonstrators are built on random piecewise Hermite splines with heavy randomization of control points, grasping angles/directions, contact points, motion speed, and gripper roll/pitch/yaw, specifically to mimic the properties of human demonstrations rather than their content [project page §Overview].
  • The scripted-policy action histograms differ qualitatively from previous synthetic benchmarks (which tend to saturate at ±1 under Gaussian noise), closing an unexamined gap between standard sim BC benchmarks and real-robot demonstration statistics [project page §Overview, tweet thread].
  • impls/ ships reference BC and RL implementations in JAX/Flax/Optax, with training scripts, residual-MLP network definitions, and replay buffers — explicitly reproducing the setup used in the Behavioral Cloning Mystery writeup [README §Reference implementations].
  • data_gen_scripts/generate_ocbench.py + commands.sh reproduce the exact pre-generated datasets used in the paper, and large-scale datasets are released on Hugging Face [README §Datasets].
  • Licensed MIT and installable via pip install ocbench, with optional extras for mjwarp / train / dev [PyPI listing, README §Installation].

The repository is organized around a controllable data pipeline rather than a fixed-dataset benchmark. The ocbench/ package exposes Gymnasium-compatible environment registrations (ocbench/__init__.py) that wrap either standard MuJoCo (CPU path, ocbench/envs/) or MJWarp (GPU path, ocbench/mjwarp/) backends, differential-kinematics controllers (ocbench/controllers/), Lie-group math utilities (ocbench/lie/), and the scripted “oracle” primitives (ocbench/oracles/) that are the real innovation. The oracles compose random piecewise Hermite splines over control points with per-trajectory randomization of grasping style, contact locations, speed, and gripper orientation, so that fresh demonstrations can be streamed indefinitely with the statistical properties of human teleop data (non-Markovian, smoothly random, narrowly distributed around a task-feasible manifold) without any human in the loop. Because the scripted policies run on MJWarp, each GPU can emit thousands of demonstration trajectories per minute, making the “infinite data” regime central to the Behavioral Cloning Mystery analysis (train once, consume each trajectory exactly once) actually tractable. The impls/ directory ships the JAX/Flax reference BC/RL algorithms with the same residual-MLP architecture family used in the companion writeup, so researchers can diff their own method against the paper’s baselines on identical data.

  • 28 tasks × 8 variants = 224 Gymnasium environment IDs registered at import time; block/chamber/switch/hanoi/bowling families cover block manipulation, drawer+window+button composition, Lights Out puzzle solving, Tower of Hanoi tight-tolerance insertion, and dynamics-prediction bowling [README §Tasks, project page].
  • Companion PDF ocbench.pdf (Park & Levine 2026, same title as the already-filed blog) is 7.6 MB and bundles the four behavioral-cloning mysteries, the scripted-policy design, and ablations across model size, chunk length, history conditioning, and feature scaling under the OCBench pipeline [project page citation].
  • Reference BC/RL algorithm implementations ship in JAX/Flax under impls/, with the exact command lines for the paper’s experiments in commands.sh [README §Reference implementations, §Datasets].
  • Released under MIT license and pip-installable; author/maintainer listed as Seohong Park (UC Berkeley) [PyPI 1.0.1 metadata].

OCBench is the first filed benchmark where the scripted demonstrator is itself the designed artifact — its stated goal is to reproduce the statistical pathologies of real teleop data (non-Markovian, smoothly random, narrowly distributed) rather than to maximize task diversity or visual realism. That makes it a natural controlled substrate for the four BC mysteries documented in Behavioral Cloning Mystery and for the mechanisms formalized in Why Does Action Chunking Improve Behavioral Cloning Performance in Robotic Control? and Revisiting Open-Loop Execution in Robotics: Toward Reactive, Higher-Performing Policies — specifically, letting researchers isolate whether chunking, history conditioning, model size, and feature scaling matter because of non-Markovian expert data vs. because of real-world perception noise. It also complements the real-hardware evaluation surfaces RoboArena: Distributed Real-World Evaluation of Generalist Robot Policies and UMI-Bench 1.0: An Open and Reproducible Real-World Benchmark for Tabletop Robotic Manipulation with UMI Data (both tracked under the real-world-manipulation-evaluation candidate concept) by offering the opposite bet — infinite controlled sim data vs. finite audited real rollouts — on exactly the same question of what BC/RL recipes actually generalize. Open question the release does not yet settle: whether the four mysteries scale to pixel-based variants that the visual-* task family now makes directly testable, and whether the Hermite-spline oracle generalizes beyond manipulation to locomotion or whole-body humanoid tasks tracked under VLA Models.