Skip to main content

Fast, parallelizable simulations of drones with JAX and MuJoCo.

Project description

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 submodules (pixi required):

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

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}, 
}

Project details


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.2.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.2.1-py3-none-any.whl (7.6 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for crazyflow-0.2.1.tar.gz
Algorithm Hash digest
SHA256 04025716cc252af209254d126aa8af307d664071b2550e115ab7e5596ad53bd6
MD5 31d3c73e9ece87103915b36061d514b9
BLAKE2b-256 f6ac3f1db4221a8b79790f33715fe9655d70028907d48ffb3026d132be352a83

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for crazyflow-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a264cf45142d4dd1576f4e5c30f47cea42aed97a3a84ea518766c6cc9b7235cb
MD5 a060e2aecb387a83ddd3facbfd78dc5c
BLAKE2b-256 e968ac4479dadde0bf494c0109681b22603350e2974efceb3b6e3d7d778d888c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page