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.