Collect
Scripted teleop, synthetic experts, or human video (MediaPipe pose → retarget). Every demo becomes a canonical Episode.
EMBODIMENT-AGNOSTIC VLA
COLLECT → TRAIN → DEPLOY
Embodiment-agnostic framework for collecting demos, training Vision–Language–Action policies, and deploying them — sim or hardware — behind four stable interfaces.
pip install difotrain
Time-aligned data, language conditioning, action normalization, task success, safe deploy. DifoTrain fixes that behind four interfaces — Robot, DataSource, Policy, EpisodeDataset — so the model, robot, and data source stay swappable.
THE LOOP
Scripted teleop, synthetic experts, or human video (MediaPipe pose → retarget). Every demo becomes a canonical Episode.
EpisodeDataset on disk — LeRobot/RLDS-style. Shared ActionChunk format and kinematics tokenizer across embodiments.
Behavior cloning on native MLP-VLA or Flow-VLA, or wrap OpenVLA / ACT / π0 / Octo. Language-conditioned from day one.
Frozen bench tasks, compare harness, safety layer, ONNX export. Deploy rollouts log back into the dataset — the flywheel.
Reference task: a 2-link arm must reach a target named only in the language instruction — success means real grounding, not memorized motion. No webcam, GPU, or hardware required.



Difotrain-Bench v1.0
Ten tasks covering language grounding, paraphrase robustness, observation noise, precision, OOD starts, and PlanarArm → MuJoCo physics transfer. Submissions are PRs with result JSON.
Leaderboard snapshot
BEYOND THE CORE LOOP
MediaPipe pose estimation plus a Retargeter maps webcam demos into any registered robot’s action space. Offline JSON trajectories work too.
difotrain improve finds failures, synthesizes corrective demos, fine-tunes a candidate, and promotes only if frozen eval improves — else automatic rollback.
Signed policy bundles, staged fleet rollouts, and federated fine-tuning for multi-robot deployments — optional layer on the same core interfaces.
Install
Core is NumPy + PyTorch only. Capture, sim backends, model wrappers, and ONNX export install as extras when you need them.