UNIVERSITYOF HERTFORDSHIRE
School of Engineering and Computer Science
Page 1 of 5
COURSEWORK ASSIGNMENT
Module Title: Artificial Intelligence
Module Code: 7ENT1116
Assignment Title: Neutral Network Control of a Mobile Robot
Individual Assignment
Tutor: Lily Meng
Internal Moderator: Salvatore Livatino
Student ID Number ONLY:
Year Code:
Marks Awarded %:
Marks Awarded after Lateness Penalty applied %:
Penalties for Late Submissions
Late submission of any item of coursework for each day or part thereof (or for hard copy submission only, working day or part thereof) for up to five days after the published deadline, coursework relating to modules at Levels 0, 4, 5, 6 submitted late (including deferred coursework, but with the exception of referred coursework), will have the numeric grade reduced by 10 grade points until or unless the numeric grade reaches or is 40. Where the numeric grade awarded for the assessment is less than 40, no lateness penalty will be applied.
Late submission of referred coursework will automatically be awarded a grade of zero (0).
Coursework (including deferred coursework) submitted later than five days (five working days in the case of hard copy submission) after the published deadline will be awarded a grade of zero (0).
Where genuine serious adverse circumstances apply, you may apply for an extension to the hand-in date, provided the extension is requested a reasonable period in advance of the deadline.
Please refer to your student handbook for details about the grading schemes used by the School when assessing your work. Guidance on assessment will also be given in the Module Guide.
Guidance on avoiding academic assessment offences such as plagiarism and collusion is given at this URL: http://www.studynet.herts.ac.uk/ptl/common/LIS.nsf/lis/citing_menu
UNIVERSITYOF HERTFORDSHIRE
School of Engineering and Computer Science
Page 2 of 5
ASSIGNMENT BRIEF
Students, you should delete this section before submitting your work.
This Assignment assesses the following module Learning Outcomes:
understand the fundamental principles underlying an artificial intelligent system;
critically evaluate the suitability of hybrid neural/fuzzy/traditional control systems for specific applications;
design and simulate effective neural network systems for specific applications.
Assignment Brief:
Using the KiKS robot simulator software and the Matlab Deep Learning Toolbox, design, implement and test a neural network which will enable a Khepera mobile robot to wander about its environment, following a wall on its left side whilst avoiding collisions with obstacles.
Submission Requirements:
Submit on StudyNet by 23:59 Sunday 19th April 2020,
your report;
your trained neural network saved as a Matlab data file in the format of .mat
your modified NN_navigate.m
This assignment is worth 20 % of the overall assessment for this module.
Marks Awarded for:
Please see attached assignment description and the marking schemes published on StudyNet.
A note to the Students:
1. For undergraduate modules, a score above 40% represent a pass performance at honours level.
2. For postgraduate modules, a score of 50% or above represents a pass mark.
3. Modules may have several components of assessment and may require a pass in all elements. For further details, please consult the relevant Module Guide or ask the Module Leader.
Typical (hours) required by the student(s) to complete the assignment: 20 hours
Date Work handed out:
24/03/2020
Date Work to be handed in:
See Submission Requirements above
Target Date for the return of the marked assignment:
Four weeks after the submission deadline
Type of Feedback to be given for this assignment:
A general feedback will be given at the end of each project demo session. An individual written
feedback will be published on StudyNet along with the marks awarded for each assessment
element.
UNIVERSITYOF HERTFORDSHIRE
School of Engineering and Computer Science
Page 3 of 5
7ENT1116 Artificial Intelligence
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.
Report Requirements
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; (20%)
explanations of any problems that you encountered and the design decisions that you made to overcome these problems; (20%)
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%).
The percentages above are intended to give an approximate guide to the weighting that will be given to each component during assessment of the report. Marks will be awarded for:
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
UNIVERSITYOF HERTFORDSHIRE
School of Engineering and Computer Science
Page 4 of 5
20% of your report. If you wish to include more illustrations, then these must go in an appendix. The structure and preparation of your report is important.
You must submit an individual piece of work. You may, of course, ask colleagues for help and advice, but the finished system must be your own, unique solution to the problem. Standard University procedures will be applied if there is evidence of plagiarism or collusion.
Overview of the Task
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 neural network?
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?
UNIVERSITYOF HERTFORDSHIRE
School of Engineering and Computer Science
Page 5 of 5
Programming Tips
All the Matlab code and files that are necessary for a similar task of obstacle avoidance have been provided on StudyNet as an example for this coursework. These files are available under the Matlab Code folder.
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 NN_navigate.m 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.
Has negative running speed be avoided in your design?
0 comments:
Post a Comment