Part of Ethgar's robot lab notebook: SkyJEPA v2, retrained on a mission mix: recovers from a 0.3 kg mid-hover payload release (peak error 11.7 vs 30.3 m) and degrades less in wind, but its figure-8 error is +51%, so it was not promoted over the 5k reference. The code repository is private for now.
SkyJEPA — quadrotor latent-dynamics world model
A clean-room PyTorch reimplementation of SkyJEPA (Rao et al., 2026,
arXiv:2606.23444): a JEPA-style latent-dynamics world model for quadrotors,
trained entirely on domain-randomized simulation, with a physics-inspired prober
and an MPPI controller. Trained with the full profile.
- Training data:
Ethgar/skyjepa-mission-5k - Method: two causal-TCN encoders (state + action) → GRU latent predictor, anti-collapse via SIGReg (LeJEPA), a frozen-backbone physics prober that outputs residual accelerations correcting a differentiable SO(3) rigid-body integrator. Encoder+predictor stack is ~5.6k parameters.
- Inputs: 18-dim state (position, velocity, rotation matrix, body rates) and 4-dim action histories at 20 Hz. State-based (GPS/IMU), not vision.
Files
| file | contents |
|---|---|
jepa.pt |
stage-1 encoders + GRU predictor + normalizer |
prober.pt |
stage-2 physics prober (frozen backbone) |
baseline.pt |
predictive-MLP baseline (optional) |
export/skyjepa_stack.ts |
TorchScript deploy stack (optional) |
export/skyjepa_stack.onnx |
ONNX deploy stack (optional) |
Usage
pip install "skyjepa[hf] @ git+https://github.com/edgarmoreaualix/LeDrone.git#subdirectory=skyjepa"
huggingface-cli download Ethgar/skyjepa-mission --local-dir checkpoints/full
python scripts/run_mppi_demo.py --profile full --ckpt-dir checkpoints/full
License & credit
MIT. Method credit belongs to the original SkyJEPA authors (Rao et al., 2026, arXiv:2606.23444); this is an independent clean-room reimplementation, not affiliated with or endorsed by them.