Self Driving Car

Neural Network Navigation with MATLAB/Arduino IO

How can you hack a remote control car to autonomously navigate a simulated road course?

Design

Stream video over WiFi network from iPhone mounted to vehicle. Train neural network algorithm on corpus of training data to produce directional decisions from visual patterns. Return directional decision to vehicle via remote control.

 

3d-graph.png

Implementation

Input data was compressed and cropped to maximize the accuracy of the neural network for the smallest possible corpus of data. The MATLAB Neural Network algorithm was used to interpret test data, and produce directional decisions. A MATLAB/Arduino IO was used to pass the neural network outputs to radio signals, via a series of simple circuits built upon optoisolator switches. 

Documentation

Download a PDF write-up of this project explaining the mathematical and image processing techniques used.

Download Document

Result

The final result, complete with a laser cut iPhone stand and wooden control box, could successfully navigate a variety of simulated road courses. Our optimize neural network performed at high speeds and accuracy, trained with a small corpus of data.