Coursework Assignment 2 – Neural Network Control of a Mobile Robot
Use the Matlab Deep Learning Toolbox to create and train a neural network that can be used to control a simulated mobile robot so that it will be able to wander about its environment, following a wall on its left side whist avoiding collisions with obstacles. You should aim to make your trained neural network able to match the performance of the given Fuzzy Inference System.
You have been given a working Fuzzy Inference System which performs the same task and can therefore be used to generate training data for the neural network.The trained neural network will be tested using the KiKs simulator in the same test environments as in Coursework Assignment 1.
You must submit a report that describes and evaluates the work you have done to meet all the requirements of this assignment. The report should contain (at least) the following:
· a description of the data that you used to train your neural network, explaining how the data was generated; (20%)
· a full description of your final neural network architecture; (10%)
· a description of the training process, including the training algorithm and the method that you used to avoid overfitting;
· explanations of any problems that you encountered and the design decisions that you made to overcome these problems;
a brief discussion of the control performance of the trained network in comparison to the given FIS and the suitability of a neural network for this control application; (20%)
· a printout from the KiKS simulator to show the path travelled by the robot during a successful trial; (5%)
· a listing of the final Matlab code for your control system. (5%).
· a clear, complete description of the software that you have developed;
· a logical discussion the design decisions that you made;
· a well-designed neural network;
· a well-presented original report.
Your report should be approximately 2000 words in length and cover about six sides of A4, not including appendices, cover abstract and contents page. Use 11 point Times New Roman font for the main body of text. You may use illustrations and/or diagrams that help you describe your work but any pictorial content must not amount to more than
The file left_wall_follower.fis contains a Fuzzy Inference System (FIS) that can be used as a controller to guide the simulated robot successfully around the test environment. This file and a version of FIS_navigate.m that uses it as a controller can be downloaded from Studynet. This FIS can be used to generate training data for a neural network. Your main task is to design, train and test a neural network that can generate appropriate actuator outputs when being presented with sensor inputs. This trained network can then be used as a controller and demonstrated in the KiKs simulator.
Questions to Consider in Your Experiments
During this investigation, you should consider and investigate (at least) the following questions:
· What is the best way to generate the training data?
· What type of neural network should you use?
· How many layers should you use?
· What transfer functions should you use for each layer?
· Does the training data have to be “normalised” to give input and output values that are in appropriate ranges for the
· How many neurons should you include in each layer (particularly any hidden layers)?
· What training algorithms should you use?
· Does the network show any signs of overfitting, with the corresponding poor generalisation?
· How well does the trained neural network work as a controller for the robot?
· All the Matlab code and files that are necessary for a similar task of obstacle avoidance have been provided on StudyNet
· The Matlab commands meshgrid and reshape may be useful to generate input patterns for the training set. A simple
example (meshgrid_demo.m) of the use of these functions is included the navigate_example folder on StudyNet.
· Training data can also be generated by running KiKS simulator with FIS_navigate.m.
· The command evalfis can take a matrix of input values as a parameter and generate many target output values at once.
· You can define, train and test your neural network either by using Matlab commands directly at the command line or by
using the graphical interface of nntool.
· You will need to use the Matlab commands load and sim to read the neural network into and to calculate the running speed and turn rate.
· If you had to “normalise” your training data, don't forget to "un-normalise" the output of your neural network to get the
desired turn rate for testing the controller.
· The inputs and outputs of your neural network must be identical to those of the given FIS. Check the given FIS and the
given FIS_navigate.m file to see what they are and how they are generated.
· Remember to choose the best neural network from a solution pool.
Holding a PhD degree in Finance, Dr. John Adams is experienced in assisting students who are in dire need...
55 - Completed Orders
Canada, Toronto I have acquired my degree from Campion College at the University of Regina Occuption/Desi...
52 - Completed Orders
Even since I was a student in Italy I had a passion for languages, in fact I love teaching Italian, and I...
102 - Completed Orders
To work with an organization where I can optimally utilize my knowledge and skills for meeting challenges...
109 - Completed Orders