Department of Electronic Engineering
Assessments 2019/20
ELE00114M
Swarm Robotics
This assessment (Essay) contributes 100% of the assessment for this module.
Clearly indicate your Exam Number on every separate piece of work submitted.
Unless the assessment specifies a group submission, you should assume all submissions are
individual and therefore should be your own work.
All assessment submissions are subject to the Department’s policy on plagiarism and, wherever
possible, will be checked by the Department using Turnitin software.
Submission is via VLE and is due by 12:00 on 21 January 2021. Please try and submit early
as any late submissions will be penalised.
Please remember that if this is your first year of study, you need to complete the mandatory
Academic Integrity Tutorial http://www.york.ac.uk/integrity/
ELE000114M
Assessment
This assessment is concerned with implementing a swarm foraging algorithm in the
V-REP/CoppeliaSim robot simulator, and analysing its performance in comparison to a simple
foraging algorithm that is provided to you.
Foraging task
The environment for the foraging task consists of a walled arena containing: a swarm of foot-bot
robots, a ‘nest’ area, and various foraging sites. The robots begin in the nest area, and must
explore their environment to locate the foraging sites, which are indicated by round patches on
the floor. When a robot drives over a foraging site, it will automatically collect a ‘food item’ that
must be returned to the nest area.
A robot can find its way back to the nest by performing phototaxis towards lights that are
situated above the nest area. The robot’s ground sensors may also be used to sense the grey
floor representing the nest. When a robot carrying a food item returns to the nest area, that food
item is automatically removed from the simulation, and recorded as collected. The robot may
then return to foraging for other food items.
Each foraging site contains food items of a different value, and each robot may only carry one
food item at a time. The aim of the foraging task is for the swarm to maximise the value of food
items returned to the nest within a given time period.
Implementation
Download the assessment pack from the course website, which contains:
● A V-REP/CoppeliaSim scene .ttt file that defines the environment and robot model;
● a controller script for the puck robot that implements a simple foraging algorithm; and
● functions that log data to a file and draw informative overlays.
You must write a Lua or Python controller for your own swarm foraging algorithm that
outperforms the simple foraging algorithm provided in the assessment pack.
Your solution should improve foraging performance via cooperation between robots, rather than
simply improving the performance of individual robots. You may take inspiration from existing
swarm foraging algorithms that exist in the literature, provided that you cite them in your report.
Higher marks will be awarded to solutions that prioritise foraging sites based on their food item
value and distance from the nest, in order to maximise the value of food times collected.
Finally, your implementation must not use centralised control or global sensing/communication.
Only decentralised control and local sensing/communication are permitted.
ELE000114M
Analysis
Define one or more suitable metrics that quantify the behaviour of the swarm, then carry out a
series of experiments to analyse the performance of the two foraging algorithms.
You should select appropriate statistical tests to demonstrate whether your own swarm foraging
algorithm outperforms the simple foraging algorithm provided in the assessment pack. The
design of your experiments must ensure a fair comparison between the two foraging algorithms.
For any experiments carried out, you should perform repeat runs with different random
initialisations.
Marking criteria
This assessment is marked out of 100, based on code and a report that are subject to the
marking criteria in this document.
Code
The marking criteria for your code (Lua controller and analysis scripts) are as follows:
Code quality (5 marks): Your code should follow good programming practices such as
commenting, proper structure, and use of descriptive variable names.
Report
You should prepare a 4-page report that documents your implementation and analysis. You may
use as many additional pages as you wish for appendices. You should format your submission
using the IEEE style (in LaTeX, LibreOffice, or Word), templates for which can be downloaded
from:
http://www.ieee.org/conferences_events/conferences/publishing/templates.html
The marking criteria for your report are as follows:
Readability, structure, and referencing (5 marks): Your report should be written in clear
English, be well-structured and easy to read, and make appropriate use of references.
Abstract, introduction, and conclusion (5 marks): Include a brief abstract; an informative
introduction, which clearly explains the context and motivation for the work; and a conclusion
that demonstrates good critical evaluation of the work undertaken.
ELE000114M
Literature review (15 marks): Provide a short literature review of swarm robotics foraging
algorithms, including a critical analysis of existing approaches. If your implementation was
inspired by an existing approach, you must cite and discuss it in your review.
Implementation (25 marks): For both the simple foraging algorithm and your own foraging
algorithm: describe the implementation of the algorithm in the V-REP/CoppeliaSim robot
simulator using a combination of text, diagrams, and/or pseudocode. Explain how the controller
for an individual robot in the swarm works, and how this results in a collective foraging
behaviour. You should also explain how your own foraging algorithm differs from the simple one
provided for you, justifying each of your design decisions.
Qualitative analysis of foraging (5 marks): Critically evaluate the two different foraging
algorithms, based on qualitative observations. Discuss how the placement of foraging sites may
hinder the performance of either algorithm, and what can be done to overcome any issues.
Quantitative analysis of foraging (25 marks): Clearly define any metrics that you have used
to quantify the behaviour of the swarm, and justify your reasoning. Describe your experimental
method in sufficient detail that it would be possible for someone else to reproduce your results.
Present the results of your experimental analysis of the two foraging algorithms, using plots
and/or tables of data where appropriate. You should aim to demonstrate rigour in your
experimental method, and the appropriate use of statistical tests to substantiate any claims.
Evidence of improved performance (5 marks): Your analysis should demonstrate that your
own foraging algorithm consistently outperforms the simple foraging algorithm provided in the
assessment pack.
Bridging the reality gap (10 marks): For both of the foraging algorithms, discuss how well the
simulated implementations would transfer to the real foot-bot robots. Describe any modifications,
or additional infrastructure, that would be required for successful deployment on real robots.
Submission guidelines
You must submit your report as a PDF file. If the specified page limits are not obeyed, your
submission will be penalised.
You must also submit your code, including any analysis scripts and data used to generate the
figures in your report. You should clearly state, with a “readme” file submitted with your code,
how to run your code. If the code does not run on a standard teaching machine, we reserve the
right to award zero marks to the section associated with the coding of the solution.
Your examination number must be written on the front of your report and each answer page, and
in each file of your code (as a comment). You must not identify yourself in any other way (in
either your report, or code).
ELE000114M
Any queries on this assessment should be addressed to Mark A Post <mark.post@york.ac.uk>.
Replies to email queries will be published online (and available to all students) on the course
website.
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。