Open source · ROS 2 · Multi-robot

Build and fly aerial robots on ROS 2.

Aerostack2 is an open source framework for multi-robot aerial systems. Write a mission once, test it in simulation and fly it on real drones.

One stack, every drone

Change the platform, keep the mission.

01Missions

Write the mission once.

Take off, go to, follow a path and land are behaviors every drone understands. Call them from Python, a behavior tree or a JSON plan, and the same mission flies in simulation and on hardware.

  • Python APIMost missions, anything with logic or loops
  • Behavior treesReactive missions that wait for events
  • Mission interpreterPlans sent at run time
project_as2_multirotor_simulator
mission.pymission_behavior_tree.py
import rclpy
from as2_python_api.drone_interface import DroneInterface

rclpy.init()
drone = DroneInterface(drone_id="drone0", use_sim_time=True)

drone.arm()
drone.offboard()
drone.takeoff(height=1.0, speed=0.5)
drone.go_to(3.0, 0.0, 1.0, speed=1.0)
drone.go_to(3.0, 3.0, 1.0, speed=1.0)
drone.land(speed=0.5)

drone.shutdown()
rclpy.shutdown()
Terminaldrone0

~/project_as2_multirotor_simulator python3 mission.py

02Architecture

From one drone to a swarm, without rewriting the stack.

Aerostack2 splits an aerial system into platforms, state estimators, motion controllers and behaviors. Each is a plugin, so you replace one piece and keep the rest.

Teleoperation to autonomy

Fly manually, or build systems that carry out aerial missions without an operator.

Single robot or swarm

Validated flying several heterogeneous drones at once, indoors and outdoors.

Hardware independent

Runs on laptops and onboard computers, across DJI, Pixhawk, Crazyflie and more.

Fully modular

A plugin architecture lets every component be swapped without touching the rest.

Simulation first

The multirotor simulator starts in a second and runs anywhere, macOS included. Move to Gazebo for cameras, lidars and 3D worlds.

Built on ROS 2

Every component is a ROS 2 node talking over standard topics, services and actions, on Humble and Jazzy.

03Installation

Airborne in minutes.

Install the binary packages for ROS 2 Humble, or build from source for Humble and Jazzy. Docker and Pixi work too, so you can try it without touching your system.

Terminal
sudo apt install ros-humble-aerostack2
git clone https://github.com/aerostack2/project_as2_multirotor_simulator.git
cd project_as2_multirotor_simulator
./launch_as2.bash

9

Aerial platforms, from simulators to DJI drones

3

Ways to write a mission

2

ROS 2 distributions, Humble and Jazzy

4

Ways to install, macOS included

Open source

Aerostack2 is built in the open on GitHub by anyone who wants to take part, with strong support from CVAR-UPM.

408
Stars
111
Forks
34
Contributors
39
Repositories

Ready for takeoff?

Install Aerostack2 and fly your first mission in the multirotor simulator. No drone needed.

Using Aerostack2 in research?

Find the papers to cite and the projects built on it.