Skip to main content

Crazyflow Logo

Fast, parallelizable simulations of Quadrotor drones with JAX.

Python arXiv Tests Ruff Docs

Crazyflow is a research simulator for quadrotors. It runs batched, differentiable simulations on CPU and GPU via JAX, with analytical and abstracted dynamics for the Crazyflie 2.x family.

import numpy as np
from crazyflow.sim import Sim
from crazyflow.control import Control

sim = Sim(n_worlds=4096, n_drones=1, control=Control.state)
cmd = np.zeros((4096, 1, 13))
cmd[..., 2] = 0.5  # hover at 0.5 m across all worlds

for _ in range(100):
    sim.state_control(cmd)
    sim.step(sim.freq // sim.control_freq)
    sim.render()

Documentation

learnsyslab.github.io/crazyflow — installation, user guide, examples, and API reference.

Features

  • n_worlds x n_drones — batched over independent environments and multi-drone swarms simultaneously
  • GPU-accelerated — up to 914 M steps/s on an RTX 4090 (first-principles dynamics, 262 K worlds)
  • Differentiablejax.grad works through the full dynamics and control pipeline
  • First-principles dynamics — dynamics using first-principles equations and parameters identified from real-world measurements
  • Abstracted dynamics — simplified dynamics in three flavors fitted from real Crazyflie flight data
  • Modular pipelines — step and reset are tuples of plain JAX functions; insert anything, anywhere
  • MuJoCo integration — onscreen and offscreen rendering, raycasting, and contact detection via MJX

Installation

pip install crazyflow           # CPU
pip install "crazyflow[gpu]"    # GPU (Linux x86-64, CUDA 12)

Developer install with editable install (pixi recommended):

git clone https://github.com/learnsyslab/crazyflow.git
cd crazyflow
pixi shell

Or with uv:

git clone https://github.com/learnsyslab/crazyflow.git
cd crazyflow
uv sync          # core + dev tooling (tests, docs, ruff)

Performance

First-principles dynamics, one drone. CPU: AMD Ryzen 9 7950X. GPU: NVIDIA RTX 4090.

n_worlds CPU steps/s GPU steps/s
64 3.3 M 1.2 M
1 024 9.2 M 18.7 M
16 384 11.9 M 257 M
65 536 15.6 M 678 M
262 144 12.6 M 914 M

Full benchmarks including multi-drone scaling are in the documentation.

Citation

@misc{schuck2026crazyflow,
      title={Crazyflow: An Accurate, GPU-Accelerated, Differentiable Drone Simulator in JAX}, 
      author={Martin Schuck and Marcel P. Rath and Yufei Hua and AbhisheK Goudar and SiQi Zhou and Angela P. Schoellig},
      year={2026},
      eprint={2606.01478},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2606.01478}, 
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crazyflow-0.3.1.tar.gz (7.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

crazyflow-0.3.1-py3-none-any.whl (7.6 MB view details)

Uploaded Python 3

File details

Details for the file crazyflow-0.3.1.tar.gz.

File metadata

  • Download URL: crazyflow-0.3.1.tar.gz
  • Upload date:
  • Size: 7.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for crazyflow-0.3.1.tar.gz
Algorithm Hash digest
SHA256 5ba0509fd776bc6fb42bf72c71e45de2bc2ef2bbf08af4c0f10acfc4745c7556
MD5 87fa80e37b467732fd3d3cd75246126d
BLAKE2b-256 80f97f17bcfa4891b7b055e03a2c0178b7e988b04667a6c6fd348a89ad2692d1

See more details on using hashes here.

File details

Details for the file crazyflow-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: crazyflow-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 7.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for crazyflow-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7f3c32feefac7726a07e8674c0950d98efc785aef900a5e46270c3fab5a253e2
MD5 6997d112efe4d23e0e1eb6fedc3425ed
BLAKE2b-256 60914175defd40d691a96bdbada656fab22cf3eb5c262644117f1832033b1da0

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.2

2 files

This release

0.3.1 This release

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page