In my dynamics of flight course, we developed an autopilot program in C++. This program was to simulate a Unmanned Aerial Vehicle (with a higher speed than actual) flying along a designated flight path which it read in from a series of way-points. The code is set up in multiple classes and header files. For example information such as moments of inertia, pertaining to the aircraft is in its own class. The aircraft class also did a lot of the calculations for its position and speed as well as containing information for the controllers of speed and actuators for ailerons etc. This is one of the main classes. A few others are Flightpath, Waypoints, and a general start class. Flightpath would create the path the aircraft is to take. Waypoint would bring in the points the aircraft was to go to. The general start class would then output all data points to a text document where they could then be used in other formats.
One of my classmates made a very useful tool in matlab. It plots the aircraft’s position as well as showing different values separately for gain tuning of the various controllers. The first picture shows all the outputs of the tool. The second graph is the flight-path that the UAV performed. The third is various values that is useful in tuning the gains of the various controllers of the autopilot.
An example of the code from one of the last submissions can be found here, CodeCheck3.
To return to projects click here.