Skip to content

The Advanced Control Systems Lab (ACSL) Flight Stack is a PX4-compatible offboard flight stack designed for multi-rotor UAVs (Uncrewed Aerial Vehicles). This software supports the UAV control community by offering a freeware, open-source solution that serves as a shared platform, facilitating comparison of research results.

License

Notifications You must be signed in to change notification settings

andrealaffly/ACSL-flightstack

Repository files navigation

ACSL Flight Stack

BSD License

To clone this repo with all the needed submodules you can run the command:

git clone --recurse-submodules https://github.com/andrealaffly/ACSL-flightstack.git

Introduction

The Advanced Control Systems Lab (ACSL) Flight Stack is a PX4-compatible offboard flight stack designed for multi-rotor UAVs (Uncrewed Aerial Vehicles). This software supports the UAV control community by offering a freeware, open-source solution that serves as a shared platform, facilitating comparison of research results.

We strongly encourage control practitioners, researchers, and UAV enthusiasts to:

  • Use this code
  • Improve it
  • Provide constructive feedback
  • Propose edits through GitHub

This flight stack is tailored for autonomous UAVs with collinear propellers, such as quadcopters, X8-copters, and hexacopters. Currently, it supports quadcopters and X8-copters. However, by modifying the mixer matrix, which defines the relationship between total thrust, moment of thrust, and thrust produced by each motor, this software can be extended to other UAV configurations with collinear propellers.

Outlook on the Control Architecture

Autonomous UAVs with collinear propellers are inherently under-actuated. For this reason, the software includes:

  • Inner Loop: Handles the rotational dynamics.
  • Outer Loop: Handles the translational dynamics.

Both loops are governed by nonlinear equations of motion.

Available Control Solutions

This software currently offers two control solutions for the inner and outer loops:

  1. Continuous-Time Feedback-Linearizing Control Law combined with a PID (Proportional-Integral-Derivative) Control Law.
  2. The above control law is augmented by a Robust Model Reference Adaptive Control (MRAC) System, incorporating a simplified quadratic-in-the-velocity aerodynamic model.

For further details on these control architectures, refer to the following publications:

Future versions of the software will include additional control systems.

Hardware Requirements

This flight stack is compatible with ROS2 Foxy or Galactic and has been tested on an ODROID M1S companion computer interfaced with a Pixhawk 6c. The companion computer runs Ubuntu 20.04 Linux. The firmware version of the flight controller is PX4 v1.15.0.

Assumed UAV State

  • Provided by a motion capture system over UDP (or, alternatively, GNSS).
  • IMU (Inertial Measurement Unit) from the Pixhawk flight controller.

How to Plot Log Data

The GitHub repository ACSL-flightstack-accessories provides MATLAB scripts to plot flight log data and examples of flight tests data.

Demo

A demo of this flight stack is available on YouTube

Maintenance Team

For more information, visit https://lafflitto.com.

ACSL Flight Stack Logo


This software is distributed under a permissive 3-Clause BSD License.

About

The Advanced Control Systems Lab (ACSL) Flight Stack is a PX4-compatible offboard flight stack designed for multi-rotor UAVs (Uncrewed Aerial Vehicles). This software supports the UAV control community by offering a freeware, open-source solution that serves as a shared platform, facilitating comparison of research results.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published