Autopilot

Photo by Bárbara

My undergraduate research focused essentially on developing a flight controller for a quadcopter prototype. I used a Beaglebone Black (BBB) Rev C with Debian 8 Jessie as a development board. The software had three layers, divided as follows:

  • Low level: sonar altitude measurements. This layer was written in Assembly and designed for the BBB's programmable real-time unit (PRU).
  • Middle level: motor PWM signals. This layer was written in C and compiled as shared libraries.
  • High level: calibration and reading of sensors, control law, and motor output. This layer was written in Python.

I also contributed to the development of a BBB Device Tree Source, as I needed a custom management of the board's I/O pins in my project. The source files can be found here.

Bárbara Barros Carlos
Bárbara Barros Carlos
Postdoctoral Research Fellow

Related