To begin with, you’ll need the Jumping Sumo drone by Parrot which can be purchased here. You connect to it via WiFi and can control it with the FreeFlight 3 app available on the app store. For this tutorial, I’ll be using an android device. The Parrot SDK allows you to control the drone via code and you can add it to you android project by following the instructions here.
Encog is a machine learning framework by Jeff Heaton with support for various types of neural networks and training algorithms. It is fully implemented in Java with support for parallel processing which speeds up the algorithms. There are several other frameworks available like Neuroph, DeepLearning4j, Tensorflow… I chose Encog because Jeff’s books got me interested in Neural Networks in the first place. To use it, download the sources off GitHub.
OpenCV stands for Open Computer Vision and is a library of functions that are useful for computer vision. To keep things simple, whenever I used a function from this library, I’ll try to explain exactly what it does and why it was used to the best of my knowledge. See here for instructions on adding OpenCV to your android project.
I find that skipping introductions and going straight to code can be helpful sometimes. If this applies to you, the source code for the tutorial can be found here.
Please leave a comment if you have a question.