To clone this repo with all the needed submodules you can run the command:
git clone --recurse-submodules https://github.com/andrealaffly/ACSL-flightstack-winged.git
The Advanced Control Systems Lab (ACSL) Flight Stack - Winged is a PX4-comaptible offboard flight stack for VTOL (vertical take-off and landing) UAVs (uncrewed aerial vehicles). The scope of this software is to support the UAV control community with a freeware, open-source solution that can serve as a shared platform and hence, facilitate 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
At the moment, this code is designed for quad-biplanes (QRBPs), which are quadcopters with two parallel wings. This architecture currently supports up to 8 motors and, in the future, will be improved to support additional classes of fixed-wing aircraft.
QRBPs are inherently under-actuated. To manage this, the software includes:
- Inner Loop: Handles the rotational dynamics.
- Outer Loop: Manages the translational dynamics.
Both loops are governed by nonlinear equations of motion.
This software currently offers two control solutions for the inner and outer loops:
- Continuous-Time Feedback-Linearizing Control Law combined with a PID (Proportional-Integral-Derivative) Control Law.
- The above control law is augmented by a Model Reference Adaptive Control (MRAC) System, incorporating an aerodynamic model. The aerodynamic lift and drag forces are deduced from experimental data points of a NACA0012 airfoil.
For further details on these control architectures, refer to the following publications:
- M. Gramuglia, G. M. Kumar, and A. L'Afflitto, "Two-Layer Adaptive Funnel MRAC with Applications to the Control of Multi-Rotor UAVs," 2024 13th International Workshop on Robot Motion and Control (RoMoCo), Poznań, Poland, 2024, pp. 31-36.
- M. Gramuglia, G. M. Kumar, and A. L’Afflitto, "A Hybrid Model Reference Adaptive Control System for Multi-Rotor Unmanned Aerial Vehicles," AIAA SCITECH 2024 Forum, 2024.
- J. A. Marshall, G. I. Carter, and A. L'Afflitto, "Model Reference Adaptive Control for Prescribed Performance and Longitudinal Control of a Tail-Sitter UAV," AIAA SCITECH 2024 Forum, 2023.
- E. Lavretsky and K. Wise, "Robust and Adaptive Control: With Aerospace Applications,", London, UK: Springer, 2012.
Future versions of the software will include additional control systems.
This flight stack is compatible with ROS2 Galactic or Humble 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.
- Provided by a motion capture system over UDP (or, alternatively, GNSS).
- IMU (Inertial Measurement Unit) from the Pixhawk flight controller.
For more information, visit https://lafflitto.com.
This software is distributed under a permissive 3-Clause BSD License.