Open Source Robotics

A curated collection of high-quality open source robotics projects, tools, and software to propel the robotics community forward.

gym-pybullet-drones

PyBullet Gymnasium environments for single- and multi-agent drone reinforcement learning

License

MIT

Overview

gym-pybullet-drones is the standard open simulation suite for learning-based quadrotor control: Gymnasium (formerly OpenAI Gym) environments built on the PyBullet physics engine, modeling Crazyflie 2.x quadrotors with realistic dynamics including ground effect, drag and downwash. It supports single-agent and multi-agent RL out of the box, integrates with stable-baselines3, and originated at the University of Toronto's Dynamic Systems Lab / Vector Institute.

The suite wraps PyBullet-based quadrotor dynamics in clean Gymnasium APIs: BaseAviary environments expose RPM-, PID- or velocity-level control of one or many drones, with observation spaces covering kinematic state and optional onboard-camera vision. The physics goes beyond toy models — propeller-level thrust and torque, aerodynamic drag, ground effect and inter-drone downwash are simulated, and parameters derive from system identification of the Bitcraze Crazyflie 2.x. Reference workflows train hover, trajectory-tracking and multi-agent tasks with stable-baselines3 PPO, and the repo includes assets, logging and plotting utilities plus examples for sim-to-real transfer onto real Crazyflies. Published at IROS 2021, it has become the default benchmark environment for drone RL papers and coursework, with hundreds of derived research projects.

Why it matters

gym-pybullet-drones is the reference environment suite for aerial-robot reinforcement learning: physics-credible enough for sim-to-real work on real Crazyflies, light enough to train on a laptop, and the benchmark that a large share of drone-RL publications build on or compare against.

Problem it solves

Drone RL research needs simulation that is simultaneously fast, physically honest about quadrotor aerodynamics, and wrapped in the standard RL APIs. gym-pybullet-drones packages all three, removing the custom-simulator engineering that used to precede every aerial-learning project.

Key takeaways

  • Gymnasium environments for quadrotors on PyBullet physics, single- and multi-agent
  • Models ground effect, drag and downwash with Crazyflie 2.x system-identified parameters
  • RPM, PID and velocity control modes; optional vision observations from onboard cameras
  • Works out of the box with stable-baselines3; IROS 2021 published benchmark
  • Supports sim-to-real transfer experiments onto real Bitcraze Crazyflies

Who it is for

  • RL researchers working on continuous control
  • Aerial robotics students and educators
  • Multi-agent systems researchers
  • Engineers prototyping drone controllers before flight tests

Limitations

  • Focused on Crazyflie-class micro-quadrotors — larger airframes need re-identification
  • PyBullet aerodynamics are simplified versus CFD-grade simulation
  • No photorealistic rendering for heavy vision-based learning (use with caution for camera policies)

This website requires JavaScript to function properly. Please enable JavaScript to explore our collection of open source robotics projects.