
Overview
Trained a client (Global Head of Conduct for a major investment bank) to implement a Multi-Layer Perceptron Neural Network for a self-driving robot as part of her MSc in Artificial Intelligence at the University of Essex.
​
Objective
Program the robot to guide itself to follow a wall on its left, and turn around corners.
​
Ethics
Client obtained permission from Course Director to obtain training for her programming skills.
​
Results
Client received a mark of 70% for the project; robot demonstration was successful, and written report communicated that the client understood the underlying material.
Inputs
Distance from left sonar sensor to wall, distance from front sonar sensor to wall.​​
​
Outputs
Left wheel speed, right wheel speed.
​
Architecture
2-4-2 Topology (2 input layer nodes, 4 hidden layer nodes, 2 output layer nodes).
​
Language
C++ (Neural Network), Matlab (Data Cleaning).
​
​
Steps
-
Client adapted a vanilla network to track and output the error (average RMS error after each training example) to determine when to stop training (minimised validation error over epochs).
-
Also needed to perform data "de-duplication" and splitting into training, validation and test sets, and normalisation / de-normalisation of data.
-
Client could have improved the smoothness by training over more epochs but the client was more than satisfied.

