Aerial Autonomy Stacks

Based on this discussion in Discourse and our startup meeting, we can define an aerial autonomy stack as follows:

An aerial autonomy robotics stack is a collection of building blocks that enable the development of autonomous aerial vehicles, by providing a modular and scalable architecture for sensing, perception, planning, and control tasks. It allows unmanned aerial vehicles to perform complex missions without human intervention, while accommodating different hardware configurations and simulation environments.

Comparison

From the paper

Fernandez-Cortizas, Miguel, et al. "Aerostack2: A Software Framework for Developing Multi-robot Aerial Systems." arXiv preprint arXiv:2303.18237 (2023).

the following autonomy stack table was extracted and adapted.

Flight stack OS/OC Modular Tested in Middleware last update MF RO MA MP PO
Aerostack S,RIL,ROL ROS 10/2021
Aerostack2 S,RIL,ROL ROS 2 03/2023
AerialCore S,RIL,ROL ROS 03/2023
Agilicious S,RIL ROS 03/2023
KumarRobotics S,RIL,ROL ROS 12/2022
CrazyChoir S,RIL ROS 2 02/2023
UAL S,RIL,ROL ROS 12/2022
XTDrone S ROS 03/2023
RotorS S ROS 07/2021
GAAS S ROS 10/2021
MRS AUV System S,RIL,ROL ROS 09/2023
Crazyswarm S,RIL ROS 12/2022
Crazyswarm2 S,RIL ROS 2 09/2023

Abbrivations * OS/OC: Open source or Open code * S: Experiments in simulation * RIL: Experiments in the lab * ROL: Experiments outside the lab * MF: Multi-frame * RO: Rate output * MA: Multi agent * MP: Multi platform * PO: Plugin oriented

VIO packages

Visual Inertial Odometry packages is an very important strategy of positioning within GPS deprived environments. Since UAVs can not use wheel odometry and heavily relient on cameras, this is one of the main drivers for autonomous exploration with these vehicles.

Here is a list of VIO packages that people can use if they have a depth camera on their platform.

Visual Odometry Datasets

Working list autonomy stacks

This is just a list of autonomy stacks with links, such that later we can add them to the overview.

Working list:

Partial autonomy packages

A list of packages which don't comprise a full stack but do offer value on top of basic flight controller firmware.

Indoor navigation packages

Given the above Aerial Autonomy Stacks, the list below outlines specific implementations of indoor navigation software packages in ROS, running on aerial vehicle platforms. The list, though not exhaustive, provides a good overview of available off-the-shelf non-commercial software.

Package name OS/OC Sensors required Middleware Simulator Platform/controller Last updated
Ardupilot ROS LiDAR ROS 2 Gazebo Iris coptor,Ardupilot 02/2024
as2_behaviour_tree Unknown ROS 2 Gazebo Crazyflie,DJI,Tello 02/2024
Teach-Repeat-Replan Stereo camera ROS 1 MockaFly DJI N3 11/2020
rtabmap Stereo camera ROS 1 Gazebo PX4 05/2023
ORB_SLAM_3 Mono/stereo camera ROS 1 N/A Bebop 2 06/2023
relative_nav Stereo camera ROS 1 N/A Rotorcraft 04/2017
zephyr LiDAR ROS 1 RotorS/Gazebo AscTec Firefly 11/2018
tum_ardrone Mono camera ROS 1 N/A AR.Drone 05/2014
kr_autonomous_flight Stereo camera/LiDAR/IMU ROS 1 Gazebo Pixhawk 08/2023
px4_sim_ros2 Stereo camera ROS 2 Gazebo PX4 04/2024
pidrone_pkg Mono camera/IR ROS 1 N/A Duckiedrone 05/2024