
Overview: Helped 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 help and guidance
​
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
​
Client also requested assistance with Mathematics preparation for the related exams; she received marks of 75% for both Robotics and Neural Networks exams
​
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)
with tanh activation functions
​
Language: C++ (Neural Network), Matlab (Data Cleaning)
​
Steps: 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
​
We could have improved the smoothness by training over more epochs but the client was more than satisfied.