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
- config
- trees
- launch_as2.bash
- launch_ground_station.bash
- mission.py
- mission_behavior_tree.py
- mission_gps.py
- mission_interpreter.py
- mission_swarm.py
- stop.bash
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()~/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.
sudo apt install ros-humble-aerostack2
git clone https://github.com/aerostack2/project_as2_multirotor_simulator.git
cd project_as2_multirotor_simulator
./launch_as2.bash9
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.
Ready for takeoff?
Install Aerostack2 and fly your first mission in the multirotor simulator. No drone needed.