Docs
Introduction
Aerostack2 is an open source ROS 2 framework for building autonomous aerial systems, from a single drone to a swarm.
Aerostack2 gives you the parts of an autonomous drone that every project needs: the link to the hardware, state estimation, motion control and a library of behaviors such as take off, go to and land. You write the mission on top, in Python or as a behavior tree, and the framework does the rest.
- Hardware-independent. Your mission talks to a standard set of ROS 2 interfaces. Moving from simulation to a real Crazyflie, Tello, DJI or PX4 drone means changing the aerial platform, not the mission.
- Modular. Each component is a ROS 2 node, and most of them load their algorithm as a plugin, so you can swap a controller or an estimator without touching the rest.
- Multi-robot. Each drone runs its own copy of the stack under its own namespace, so one drone and a swarm are built the same way.
- Open source. Released under the BSD 3-Clause license and open to anyone who wants to take part.
Learn
New to Aerostack2? Start here, in this order.
Getting Started
What you need, how to install it, and your first flight in simulation.
Tutorials
Step-by-step lessons, from flying by hand to the main modules.
Concepts
The architecture, the communication channels and each part of a drone's stack.
Reference
Aerial Platforms
The simulators and drones Aerostack2 can fly, and how to run each one.
User Interfaces
Tools for flying drones by hand and watching their state.
Plugins
Every controller, estimator, behavior and planner plugin, and how to pick one.
ROS 2 Interfaces
The topics, services and actions the components use to talk to each other.
CLI
The as2 command for building, testing and fetching example projects.
Build and take part
Last updated on November 3, 2026