learnsyslab/gym-pybullet-drones

PyBullet Gymnasium environments for single and multi-agent reinforcement learning of quadcopter control

What it solves

It provides a minimalist, physics-based simulation environment for quadcopter drones, enabling researchers and developers to train and test flight control algorithms without the risk of crashing physical hardware.

How it works

Built on the PyBullet physics engine, the project creates a simulation environment compatible with the Gymnasium API. It supports both single-agent and multi-agent scenarios, allowing for the implementation of various control methods including PID, MRAC, and Reinforcement Learning (via Stable Baselines3). It also integrates with Betaflight SITL (Software In The Loop) for more realistic flight stack testing.

Who it’s for

It is designed for robotics researchers, control engineers, and AI developers focusing on quadcopter autonomy, multi-agent coordination, and reinforcement learning for flight control.

Highlights

  • Gymnasium Compatibility: Fully refactored to work with modern Gymnasium and Stable Baselines3 standards.
  • Multi-Agent Support: Capable of simulating multiple drones simultaneously for formation flight and coordination tasks.
  • Betaflight Integration: Supports Betaflight SITL for bridging the gap between simulation and real-world flight stacks.
  • Physics-Based: Includes specific effects like downwash to improve simulation fidelity.

Related

  • Project
  • Project
  • Project
  • Project
  • Project