Quadcopter Software

Due to time constraints, we opted to modify the open source quadcopter flight control system provided by Aeroquad rather than writing software from scratch.  We choose Aeroquad due to its flexibility to accomodate many different hardware configurations, and its pre-existing libraries supporting our 9 Degrees of Freedom sensor connected via I squared C (I2C).

Because we custom built our Quadcopter with different electronics than the pre-built Aeroquad shields, a variety of modification were made to the software:

  • Radio Integration & Controller – Our quadcopter needed to communicate to a base station computer using a Logitech Dual Action gamepad (PS2 controller).
  • Remote PID Tuning – We added a feature to remotely tune the PID without having to physically re-connect the quadcopter to a computer after each test flight.
  • Motor Control – Due to limited pin configurations, we were required to implement a different motor controller library.

Development Environment

To develop the quadcopter software, we used an Eclipse environment as explained in Project 1.  However, due to a complex set of dependencies on multiple libraries not easily importable into Eclipse, the Arduino IDE compiled and uploaded the AeroQuad software to the copter board.

Version control was accomplished using GitHub, where our full source code is freely available.

4 thoughts on “Quadcopter Software

  1. Just another thing I noticed.
    You wrote your arduino code in c?(I think)
    I would love to know how this works and maybe you could point me somewhere? I am not exactly a beginner in programming just more in arduino. I understand how to write a sketch well but I am kind of confused in how you made this work and also the things in github.
    Thanks!

Comments are closed.