Evolving Controllers for UAVs With Matlab

I wrote quite a lot about the simulated drone flying championship. You can read a small introduction about the championship here. A succinct explanation of the simulated drone flying championship is here. Moreover, this tutorial explains how to evolve controllers for the simulated drones.

I have also been writing statements for a few interesting projects for simulated drones, that could be taken up as FYPs at the undergraduate level. For a more detailed review of these projects, please review them on the following links:

These are all nice projects. An aspect worth noticing about all of these is that they involve UAV Playground. UAV Playground is a UAV simulator that runs in conjunction with the FlightGear simulator and Google Earth. The reason I chose it was that it is written in Java, and I wanted to port it to Matlab somehow. These projects are nice and are worth pursuing.

However, here I want to introduce a very project that can be accomplished solely with Matlab, with minimal involvement, whatsoever, with another, or any other, programming language, whatsoever. The reason for this digression for this has a basis in my recent discovery of Flight Simulator Interface for Matlab. With this tool, you can run FlightGear simulator with Simulink models. Have I introduced FlightGear to you in this tutorial? I must have done that elsewhere, of course! Stated shortly, FlightGear is an open source flight simulator, that is possibly also the best in its niche domain. With this interface, you can run FlightGear models through Matlab and/or Simulink. This should lead to a lot of time-saving for you if you want to work with flight simulators or development of UAVs. So following are the things that I expect you to do in this tutorial.

  1. Download and install FlightGear on your machine, by following the guidelines on this Matlab page.
  2. Run FlightGear with Simulink models and see how you can gain experience with using FlightGear through Matlab.
  3. Browse and look for the machine learning models that you have available for Matlab.
  4. Try to figure out a way that how you can integrate these, or similar, algorithms with the flight simulation interface.

You will find the following articles particularly useful for this project.

http://link.springer.com/article/10.1007/s11831-015-9147-y

https://www.researchgate.net/publication/236174210_Automatic_control_education_using_Flight_Gear_and_MATLAB_based_virtual_lab

http://arc.aiaa.org/doi/abs/10.2514/6.2011-6666

http://www.mathworks.com/help/aeroblks/examples/nasa-hl-20-with-optional-flightgear-interface.html

http://www.mathworks.com/matlabcentral/fileexchange/25047-flightgear-route-manager

http://search.proquest.com/docview/1095735076

http://www.sciencedirect.com/science/article/pii/S2405896315000725

http://wiki.flightgear.org/Howto:Design_an_autopilot

http://chirb.it/xDOB6D

The following video shows how FlightGear works on a user’s desktop.

You can find a lot more FlightGear resources on the following page.

More Flightgear Resources

Photo by jinterwas

If you found an error, highlight it and press Shift + Enter or click here to inform us.

CC BY-NC-ND 4.0 Evolving Controllers for UAVs With Matlab by Psyops Prime is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Leave a Reply