A framework on NVIDIA Isaac Sim for simulating multirotor drones, with PX4 and ArduPilot autopilot integration and a Python control interface.
JacopoPan/aerial-autonomy-stack
An open ROS2 framework to simulate and deploy perception-based drone swarms across PX4, ArduPilot and Betaflight autopilots.
- Stars
- 655
- Forks
- 112
- Open issues
- 6
- Last commit
- 24 hours ago
What is it?
Aerial autonomy stack (AAS) is a containerized software harness for developing multi-drone autonomy. It runs PX4, ArduPilot and Betaflight flight controllers in simulation with Gazebo, covering quadrotors, quadplane VTOLs and tailsitters, and exposes a ROS2 action-based interface to control them.
The stack includes perception components such as YOLO object detection with ONNX GPU runtimes and LiDAR odometry via KISS-ICP, along with several 3D worlds for perception-based testing. Simulations can run faster than real time, be stepped through a Gymnasium environment, and be launched as multiple parallel instances.
The same codebase targets real hardware on NVIDIA Jetson Orin boards using JetPack, DeepStream and TensorRT in Docker, and supports hardware-in-the-loop testing of onboard compute.
Key features
- 01Simulates PX4, ArduPilot and Betaflight multi-vehicle setups with quadrotors, VTOLs and tailsitters.
- 02Provides ROS2 action interfaces for takeoff, land, orbit and offboard control.
- 03Runs YOLO detection and LiDAR odometry with ONNX GPU runtimes.
- 04Offers a Gymnasium environment and faster-than-real-time, multi-instance simulation.
- 05Supports Dockerized simulation and deployment on NVIDIA Jetson Orin.
- 06Includes Zenoh-based inter-vehicle communication and a dual network for simulated sensors and vehicle comms.
Use cases
- Prototyping multi-drone formation or swarm behaviors before flight tests.
- Training or evaluating reinforcement learning policies with a Gymnasium interface.
- Testing perception pipelines such as detection and LiDAR odometry in simulated 3D worlds.
- Deploying onboard perception and control code to Jetson-based drones.
Quick start
- 1
Install git, xterm, xfonts-base, wget and unzip
sudo apt update && sudo apt install -y git xterm xfonts-base wget unzip - 2
Clone the repository and enter the tools folder
git clone https://github.com/JacopoPan/aerial-autonomy-stack.git && cd aerial-autonomy-stack/tools_and_docs/ - 3
Check that NVIDIA driver, Docker and nvidia-container-toolkit are installed
./tests/check_requirements.sh - 4
Build the simulation images (first build takes about 45 minutes)
./sim_build.sh
Things to know
- Requires an NVIDIA GPU with driver, Docker and nvidia-container-toolkit.
- Developed and tested on Ubuntu 24.04; Windows 11 needs WSL.
- The first build takes roughly 45 minutes.
In collections
Topics
FAQ
- What is aerial-autonomy-stack?
- An open ROS2 framework to simulate and deploy perception-based drone swarms across PX4, ArduPilot and Betaflight autopilots. Aerial autonomy stack (AAS) is a containerized software harness for developing multi-drone autonomy. It runs PX4, ArduPilot and Betaflight flight controllers in simulation with Gazebo, covering quadrotors, quadplane VTOLs and tailsitters, and exposes a ROS2 action-based interface to control them.
- Is aerial-autonomy-stack free to use? What license does it have?
- aerial-autonomy-stack is open source under the MIT license. Check the license terms before using it in commercial products.
- Is aerial-autonomy-stack still maintained?
- Actively maintained. The last commit to aerial-autonomy-stack was on Nov 6, 2026.
- What can I use aerial-autonomy-stack for?
- Prototyping multi-drone formation or swarm behaviors before flight tests. Training or evaluating reinforcement learning policies with a Gymnasium interface. Testing perception pipelines such as detection and LiDAR odometry in simulated 3D worlds. Deploying onboard perception and control code to Jetson-based drones.
- How do I install aerial-autonomy-stack?
- Install git, xterm, xfonts-base, wget and unzip: sudo apt update && sudo apt install -y git xterm xfonts-base wget unzip Clone the repository and enter the tools folder: git clone https://github.com/JacopoPan/aerial-autonomy-stack.git && cd aerial-autonomy-stack/tools_and_docs/ Check that NVIDIA driver, Docker and nvidia-container-toolkit are installed: ./tests/check_requirements.sh Build the simulation images (first build takes about 45 minutes): ./sim_build.sh
- Where can I get aerial-autonomy-stack?
- The source code and installation instructions are on GitHub: https://github.com/JacopoPan/aerial-autonomy-stack
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An open-source, engine-independent simulator for drones, fixed-wing aircraft and ground vehicles, with optional Unreal Engine 5 rendering.
PyBullet-based Gymnasium environments for training single and multi-agent reinforcement learning controllers for quadcopters.
A Unreal Engine-based simulator for drones, cars and other vehicles, extended by Cosys-Lab with new sensor models and APIs.
An open-source simulator built on Unreal Engine for drones, cars and other autonomous vehicles, with APIs for AI and computer vision research.
Open-source flight controller firmware for drones, covering racing, freestyle, cinematic, long-range, micro and wing builds.