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

Uploaded Python 3

File details

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

File metadata

  • Download URL: crazyflow-0.2.0.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.0.tar.gz
Algorithm Hash digest
SHA256 1f20e6673aca2e2739623f73d83a74ac67a1f439b4d67107b5ccbfb0d669ce2d
MD5 3fc9d1554b6273e5403454b8fb90e29c
BLAKE2b-256 ba6bfffe360cb6fab800d434e853515f053ba13929c221346bfea07d7fa052f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: crazyflow-0.2.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2d7ffcec6e7ad913262c994e92faa65d490ca8ed6e8ecc0edd3bc6ff1d2deb24
MD5 451b8b02d04dc6bcee4bc3515e7eab60
BLAKE2b-256 3d6ec5df38f2138f76bd0b7a2d044d60dd2c0820dc5723aebf5fe347f792f154

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