HADES Open-Source Flight Control System
Complete flight control system designed from scratch. The flight control system is primarily designed for fixed-wing, autonomous drones to enable them to perform tasks autonomously, such as take-off, landing, waypoint navigation, payload delivery, etc.
Every part of this system is designed from first principles! This includes the hardware, firmware (using FreeRTOS), Kalman filtering for state estimation, control algorithms, base station, communication protocol, flight simulator, signal processing, and much, much more.
Feel free to send me constructive criticism or things you would like me to implement, or even if you would like to help me develop this system!
Intro video: https://www.youtube.com/watch?v=rLDqQ2L_mUQ
GitHub repository: https://github.com/pms67/HadesFCS
Broadly, this repository consists of:
- Hardware designs (developed using KiCAD).
- Low-level drivers and firmware (FreeRTOS, for the STM32 platform of microcontrollers).
- Higher-level firmware such as communication protocols, control and navigation algorithms, etc.
- Kalman filter designs for state estimation.
- Debugging tools.
- Flight simulator (both 6-DOF and 3-DOF) to test algorithms.
Current repository folder structure:
- Calibration: Raw sensor data useful for checking calibration algorithms (e.g. accelerometer bias, scale factor, etc.).
- Communication: UAVLink data protocol for reliably packing and transferring data and commands between the aircraft and a further device (e.g. base station). This could be via telemetry or direct serial links.
- Control: Algorithms for dynamic control of the aircraft (e.g. PI, state feedback, etc.).
- Data: Collection of various datasets that may be useful for offline testing (e.g. raw IMU data).
- Debug Software: Tools for interfacing with the hardware (e.g. to read navigation data).
- Documentation: Preliminary documents to detail aspects of the flight control system.
- Filtering: FIR and IIR filter implementations, as well as FIR filter design tool.
- Firmware: The core flight control firmware running on the STM32 microcontrollers.
- Flight Simulator: 6-DOF and 3-DOF fixed-wing flight simulators developed in Unity. Very useful for testing control logic and algorithms. Requires dynamic model of aircraft.
- GPS: NMEA sentence parser, as well as raw GPS data for testing.
- Ground Control: Basestations written in C# to send commands to aircraft and receive data via telemetry. Includes moving map, live plots, etc.
- Hardware: HADES flight control board design files (schematic, layout, assembly). Hardware consists of sensors, microcontrollers, power electronics, etc. This custom hardware is where the firmware runs on.
- State Estimation: Kalman filters (various types: quaternion, Euler, different states estimated) designed in Matlab and exported to C for estimation of states required for feedback control (e.g. attitude, position, etc.).
- Tests: Miscallaneous tests go here. For instance, device driver testing, communication protocol tests, etc.
Disclaimer: This flight control system is work in progress. Use the files, hardware, and software given in this repository at your own risk - especially when conducting live flight tests.
HADES Open-Source Flight Control System
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(2)
- Likes(14)
- Engineer Aug 30,2024
- Engineer Jul 01,2024
- Engineer Apr 22,2024
- thanhviet Jan 21,2024
- Engineer Nov 24,2023
- Engineer Apr 10,2023
- Engineer Mar 15,2022
- Engineer Mar 10,2022
- Engineer Feb 15,2022
- RTEQRGERG GFERGTEAARTHTRH Jul 23,2021
- Engineer Mar 07,2021
- Russel Traher Feb 27,2021
- BO-JHIH LIN Aug 23,2020
- IObrizio Fabrizio May 09,2020
- 6 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
10design
-
9usability
-
8creativity
-
9content
-
9design
-
9usability
-
7creativity
-
8content
-
8design
-
7usability
-
7creativity
-
8content
-
9design
-
8usability
-
9creativity
-
8content
-
10design
-
10usability
-
9creativity
-
9content
-
10design
-
9usability
-
10creativity
-
8content
More by Philip Salmony
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
111 0 0 -
DIY Laser Power Meter with Arduino
162 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
154 0 2 -
-
A DIY Soldering Station Perfect for Learning (Floppy Soldering Station 3.0)
554 0 2