DocsConcepts
Overview
The ideas behind Aerostack2, and the order to read about them in.
These pages explain how Aerostack2 works, from the overall architecture down to each part of a drone's stack. They're worth reading before you write a mission for a real drone, add support for a new one or write your own plugins.
When a mission flies a drone, every part described here takes a turn. The mission starts a behavior. The behavior sends motion references to the motion controller. The controller turns them into commands for the aerial platform, which flies the drone and reports its sensors. The state estimator turns those sensors into the drone's position, and the controller and behaviors use it to close the loop.
The big picture
Architecture
The layers of Aerostack2, one drone per namespace, and swapping components with plugins.
Communication channels
The standard topics every component uses, and what each control mode sends on them.
Frames
The TF tree every drone shares, and which frame to use for what.
The drone's stack
Aerial platform
The link to the drone or simulator, its state machine and its control modes.
Motion controller
How references become commands, and how control modes are agreed.
State estimator
Where the drone is, and which estimator plugin to choose.
Behaviors
The skills a drone can perform, and how they're started and controlled.
Flying missions
Last updated on November 3, 2026