You are on page 1of 5

UNIVERSITYOF HERTFORDSHIRE

School of Engineering and Computer Science

COURSEWORK ASSIGNMENT

Module Title: Artificial Intelligence Module Code: 7ENT1116

Assignment Title: Neutral Network Control of a


Individual Assignment
Mobile Robot

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

Page 1 of 5
UNIVERSITYOF HERTFORDSHIRE
School of Engineering and Computer Science

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: Date Work to be handed in: Target Date for the return of
the marked assignment:
24/03/2020 See Submission Requirements
above 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.

Page 2 of 5
UNIVERSITYOF HERTFORDSHIRE
School of Engineering and Computer Science

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

Page 3 of 5
UNIVERSITYOF HERTFORDSHIRE
School of Engineering and Computer Science
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?

Page 4 of 5
UNIVERSITYOF HERTFORDSHIRE
School of Engineering and Computer Science

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?

Page 5 of 5

You might also like