The task
Your robot is expected to move around the lab and collect as many resources (boxes) as it can in five minutes and bring them the base. Each resource will be a box with a predefined texture. The arena will also contain resources which are not supposed to be collected by the robot. These boxes will be marked with a different pattern. The base will be marked by a textured cardboard on the floor. The location of the resources and the bases will random for each run. The robot should use the camera to identify the resources and detect the base. There will always be resources and bases for two teams in the arena. There will be only one robot in the arena during the preliminary rounds, however, two robots will be competing at the same time during the final rounds.
The robot can use any strategy it likes to find the resources and the base: random search, a structured search path (e.g. a spiral), or using a map to plan its route. The arena will contain static obstacles and other robots (during the semi-final and final). In particular, there may be other robots trying to carry out the task at the same time.
The task will
be run with the window blinds at one end of the lab open, and the other
end closed. This will create a light gradient that the robots can
potentially use for a rough sense of direction. During the evenings
there will be lamps at one end of the lab substituting for the
day-light. Note your robot should be able to cope with the change in
light intensity between sunny and cloudy days.
In the final
tests, if more than one robot collects all the resources within the allowed
time, the robot that does so fastest will be the winner.
Data
Subtasks
Note: Subsequent tasks must include subtasks you have completed in the previous weeks. For example, a robot able to identify the resources should still be able to avoid obstacles.- Build a robot able to move around (by week 3)
- Suitable mechanical design.
- Forward and turning motion.
- Your robot is able to avoid obstacles and keep moving around the lab (by week 4).
- Autonomous operation - no connection to the network.
- Obstacle avoidance.
- Recovery when obstacle avoidance fails.
- Your robot is able to identify the resources (by week 7).
- Autonomous operation - no connection to the network.
- Detect the resource using vision.
- Correctly identify the correct resource (binary decision: is this my resource = true/false).
- Simple action based on resource (e.g. move forward), no need to pick up the resource yet.
- Your robot is able to perform visual servoing to pick up the resource (by week 8).
- Autonomous operation - no connection to the network.
- Detect and identify the correct resource using vision.
- Perform visual servoing and puck up the correct resource.
- Your robot is able to perform homing at the base and to drop off the resource (by week 9).
- Autonomous operation - no connection to the network.
- Detect and pick up the resource.
- Collision avoidance and fault recovery.
- Detect the correct base, perform visual servoing (homing) and drop off the resource.
- Implement a strategy for collecting all the resources as quickly as possible e.g. by using localisation (by week 11). Final competition
Practical times
Wednesdays 13:00 - 15:00 (AT 3.01)
Thursdays 16:00 - 18:00 (AT 3.01)
The time allocated for practicals will be used to assess the milestone (subtask) completion, for discussion and resolving issues. The work on the robots is intended to be done mainly outside the practical times. Please respect other classes that might be having practicals in the lab.
Final competition marking
PLUS
- Find resource and correctly identify it (clear attempt to pick up the box): 10 points
- Pick up the resource: 20 points
- Find the base (clear attempt at homing): 10 points
- Deliver the resource to the base: 50 points
MINUS
- Falling LEGO pieces: -10 points
- Interfering with the robots: -20 points
- Picking up an incorrect resource: -10 points
- Delivering an incorrect resource: -30
- Delivering a resource to the incorrect base: -10
Advice on writing final report
Note that most of the marks for the practicals come from the write-up of the final report. It may help to think of this as a (short) equivalent of how robot projects are reported in scientific papers, for example, like this. Here's an outline of what your report should contain:
Title: A 4-12 word title that would allow an unfamiliar reader to know what your report is about.
Abstract: You MUST preface the report with a 100-200 word summary of what it contains. This is usually easier to write when you have finished the report. It should briefly explain the task, the approach used, the results and the conclusions drawn. Avoid making entirely generic statements that could apply to almost anything, e.g., (BAD) "This report describes the construction of a robot to perform a task. We describe the design decisions and outline the control program, then explain the results and possible improvements". Instead make it specific to what you have done, e.g., (GOOD) "We have built a robot capable of searching for and recognising special locations in a lab environment. It uses two IR sensors to avoid obstacles, and a low cost camera to recognise resources and target locations, as well as a sonar sensor for navigation. We implement a subsumption control architecture. The robot was tested in five time trials and was able to locate an average of 4 resources and 3 target locations within that time. The main limitation was that our robot was unable to reliably plan its route to the next location but relied on random search".
Introduction: This should explain the task, and give an overview of how you approached it. In a normal scientific report this would include reference to previous work (your own or others). You are not required in this case to refer to other work (although you may wish to do so if for example something you read about influenced your approach to the task). So this section is likely to be quite short (400 words).
Methods: A good rule of thumb here is that someone reading your report should be able to replicate your approach. So you need to provide a good description of the physical architecture, particularly the type, number and position of sensors and actuators. Include labelled photographs or diagrams, and make sure the dimensions are clear. Comment on factors that led to the design, explaining the decisions you made. For the control program you should provide a flow diagram or pseudo-code description, and again explain the reasoning that led to this solution. This is likely to be the longest section of the report. Do not include code except for short snippets that help explain a crucial part of the program you created. Avoid repetition and refer to other peoples' work instead of describing well known algorithms. (1400 words)
Results: This should contain some quantitative evaluation of the robot performance. For example: that it can find a resource site from a disance of x metres, and recognise and leave within t seconds; etc. If your robot is not capable of doing the final task, you should evaluate what it does do correctly, and try to analyse what it does wrong. The reader should be left with an accurate understanding of exactly what your robot is capable of, even if this is not as good as you hoped. Bad results are results too. You get marked based on how you approached the problem and how you evaluated the results. (800 words)
Discussion: Start by summarising the results, and giving your evaluation of how well it works. Explain what you think were the most successful elements of your approach, and what was less successful. Include ideas about how the system could be improved. (200 words)
Length: The final report should be no more than 3000 words long. It can be shorter if you think that you can do a satisfactory description in fewer words.


