Flying Penguins: Building and Evaluating the Viability of a Linux-based Drone
Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE creditsStudent thesis
Traditional quadcopter flight controllers use microcontrollers to run the code that keeps the drone in the air, and when more processing power or versatility is needed the same microcontrollers are used in tandem with Linux-based single-board computers. It would be cheaper and reduce complexity if the single-board computer could entirely replace the microcontrollers.
We investigate whether it is possible to run a quadcopter using a Linux single-board computer as the flight controller, with no microcontrollers and otherwise the same hardware as used in hobby-grade quadcopters. We attempt to find out what the potential issues are and how to get around or mitigate them.
To test it, a quadcopter will be built from hobby parts and the flight control software to be run on the flight controller will be developed.
More specifically, the pulse-width modulation signals to the motor speed controllers are checked for stability and various methods of acquiring the radio control input in the form of pulse-width modulation signals are evaluated. The speed at which the flight control software is running is measured under different circumstances—with and without load and with and without mitigative measures active.
We conclude that it was not possible to run a quadcopter using only the chosen Linux SBC as flight controller. The reason was because we could not accurately measure the radio control input, although there may be other additional issues. We did find that CPU time did not seem to be an issue even when an artificial stress was placed on the system, despite not being a real time system, and even less of an issue when the mitigation techniques discussed were applied.
Place, publisher, year, edition, pages
drone, quadcopter, quadrocopter, multicopter
IdentifiersURN: urn:nbn:se:bth-12860OAI: oai:DiVA.org:bth-12860DiVA: diva2:946992
Subject / course
DV1478 Bachelor Thesis in Computer Science
DVGDS Computer and System Science
Lopez Luro, Francisco