Skip to content

girimugundankumar/acsl-flight-stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

211 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

acsl-flight-stack

BSD License

Code developed for ACSL by Giri Mugundan Kumar for the purpose of running autonomous control systems using the PX4-Autopilot and ROS2.

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

git clone --recurse-submodules https://github.com/girimugundankumar/acsl-flight-stack.git

To clone a specific brach from this repo with all the needed submodules you can run the command:

git clone -b <branch-name> --recurse-submodules https://github.com/girimugundankumar/acsl-flight-stack.git

Introduction

The acsl-flight-stack is the development branch mainintained by Giri Mugundan Kumar for the official Advanced Control Systems Lab (ACSL) Flightstack - Winged release. It 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.

Outlook on the Control Architecture

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.

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 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:

Future versions of the software will include additional control systems.

Hardware Requirements

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.

Assumed UAV State

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

Usage Instructions

To run the code you first need superuser control of your flight computer. Run:

If the installation is done as per the manual, run this first if not already run to start uxrce agent.

./utils/start_uxrce.sh

Then start the flightstack using:

cd utils
./start_flight.sh

Note: If the script is not executable please make it executable by running

chmod +x setup_flight.sh

Note: If the script is not executable please make it executable by running

chmod +x setup_uxrce.sh

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

Code developed for ACSL by Giri Mugundan Kumar for the purpose of running autonomous control systems using the PX4-Autopilot and ROS2.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors