Final Project (Fall, 2004) -- "LEGO Brick Hunt" Competition

The Competition:

Each lab group will design and program an autonomous robot made of LEGO parts contained 
in the LEGO RIS kit you were given earlier in the semester to participate in a competition. 
This competition is patterned after the Case Western Reserve "Egg Hunt" which is the final 
activity of their EECS 375/475 "Autonomous Robotics" course. In our "LEGO Brick Hunt" the 
table at the front of the EB-H1 lab is the "playing field". The playing surface of the 
table is painted gray with each end having a small rectangular area painted white. These 
white areas at the ends of the playing field constitute the "nest" area of a team's robots. 
Each team's robot will compete against the robot of every other team. In each round of the 
competition, one robot will be designated as the GreenBot (Green-seeking robot) and the 
other as the BlackBot (black-seeking robot). The objective of the "hunt" is for each 
team's robot to seek, find, and deposit in its nest area as many LEGO  bricks of its 
designated color as possible. At the start of each round equal numbers of black bricks and 
green bricks will be distributed at random over the surface of the playing area between the 
two nests. Above and behind one nest there will be a bright beacon of light. At the 
beginning of each round, each team will be assigned a home nest (either the area where the 
beacon is or the darker area at the other end of the playing field). Thus, you should 
design your robot and its control program so that they can easily be switched to having its 
nest be the "bright" or the "dark" end of the field.

The competition will be held during finals week in the H1 Lab. We'll try to video tape 
parts of it, and hopefully several other professors and students will be in attendance. The 
competition will be broken up into pairs of one-minute rounds in which a robot from one lab 
group will compete against that of another lab group. In each pair of rounds, one team 
will have the bright nest area and the other the dark. Then teams will switch nest areas. 
There will be both a "singles" competition and a "doubles" competition. In a given singles 
round, one team's robot will compete against another team's robot. In a given doubles round 
the robots from two teams will compete against the robots of two other teams -- so that 
there are a total of four robots on the playing surface during each doubles round. At the 
end of each round points will be given to each team according to the number of colored 
bricks in each team's robot's nest area as follows:

point total = number of bricks of your color - number of bricks of your opponent's color

The winner of a round will be the team (or teams in doubles) with the greatest point total 
for that round. The final winner will be determined by a combination of most wins and most 
points accumulated during all the rounds of the competition. In other words, each will team 
be rated 7,6,5,4,3,2,1 in number of round victories and 7,6,5,4,3,2,1 based on total number 
of points accumulated in all rounds. Those two numbers for each team will be added and the 
team that has the highest sum is the winner. The rounds will be set up in such a way that 
each team will compete against every other team in singles, and in doubles there will be as 
many different combinations of partner teams and opposing teams as possible.

There are many different possible strategies. Perhaps the simplest would be for a robot (or 
the robots on a team) to try to gather and bring back as many bricks of its own color as 
possible. Another strategy would be to try to remove bricks of its opponent's color from the 
opponent's nest. In doubles, one robot could try to gather bricks of its own color for its 
home nest while the other tries to remove bricks of its opponent's color from the opponent's 
nest. Another possibility would be for one robot to guard the home nest while the other robot 
forages for bricks. Or one robot could try to prevent a robot on the other team from gathering 
bricks. (But, in doubles, be sure not to mistake your teammate for an opponent!) Please be 
careful if you try to implement this strategy since the policy is that you are financially 
responsible for any damage you cause to the LEGO components! There are also many different 
strategies for transporting bricks: from carrying them one at a time in a simple "manipulator" 
or "gripper", to carrying a set of them in an internal storage area, to "shooting" them or 
"brushing" them toward a nest from a distance.

Distinguishing between gray field, white nest, green bricks, and black bricks:

Because of variations in surface/object reflectivity, light intensity, and shadows over 
the large area of the playing field, absolute intensity values detected by a light sensor
will probably not be useful. It will be more productive to use changes in intensity as the 
robot moves within a small area. Pre-competition tests will be very important. Just to 
give you an idea, some preliminary tests done on many different areas of the playing field 
under different lighting and shadow conditions gave the following results (you should do 
your own tests):

Test Situation                           Change in intensity detected by light sensor (0-100)
Moving sensor from over the gray field 
to over a green brick                          negative 5 to negative 10

Moving sensor from over the gray field
to over a black brick                          negative 10 to negative 20

moving sensor from over the gray field
to over the white nest area                    positive 5 to positive 10


Each team must submit a paper describing in detail the design of its robot. The paper 
must be submitted by Friday, 12-17-04 at noon. Diagrams (and/or especially photographs) 
and source code listings are an essential part of the paper. Each member of each team 
must also submit a numerical peer evaluation of each other team member indicating how 
he/she thinks the other members of the team have contributed to the overall effort and 
success of the team. The following is how the project grade will be determined:

The paper........................................................ 40%
Performance during the competition (professor/TA evaluation)..... 10%
Final score ..................................................... 20%
Team member peer evaluations......................................30%

Some specific rules and restrictions:

A team may not use more than three LEGO light sensors and three LEGO touch sensors in the 
construction of its robot. You are, however, allowed to design your own sensors (e.g. a 
rotation sensor based on one of the light sensors) -- see the  "Mindstorms RCX Sensor Input
Page" (

A team may use up to two LEGO rotation sensors
(see for details on internals)

A robot may not have more than three motors.

Only parts contained in your LEGO RIS kit many be used. No extra LEGO parts will be dispensed.

"Cloned" robots are forbidden. Each group must design, build, and debug its own unique robot. 
Teams are expressly prohibited from building identical robots.

Robots may not be touched once a round has begun. (We reserve the right to intervene if a robot 
seems to be in danger of being severely damaged.) 

In doubles, communication between robots on a team is permitted. But each team will be assigned 
a range of "IR message numbers" that only their robots can use. It is prohibited to send message 
numbers that are not in the assigned range. (In other words it is not allowed to send messages 
to your opponents' robots in an attempt to "confuse" them.)

Tape is forbidden for structural purposes, except for the mounting of sensors which do not have 
a pre-fabricated LEGO element. Use of tape to mount non-LEGO components, such as non-standard 
sensors or sensor shields is perimtted. Devious attempts to use sensor tape as illegal 
structural support will be penalized. Tape cannot be used to build such things as nets, snares, 
flypaper, or obstacles to block the opponents' nest beacon.

String is subject to the same prohibitions as tape. However, string may be used in pulley 
arrangements (e.g., to pull open a gate or door).

Hot glue, Super Glue, epoxy, etc., are subject to the same prohibitions as tape and string.

The following materials may be freely provided for sensor shielding: white and black cardboard, 
scotch tape, masking tape, black electrical tape, white paper, and aluminum foil.

Debris may not be purposefully dumped onto the arena playing field.

No use of lubricants (oil, grease, Vaseline, etc.) is permitted.

LEGO rubber bands may be used in any way you like (including structural support). No non-LEGO 
rubber bands are permitted.

LEGO and non-LEGO mascots, signs, flags, and other ornaments are permitted, so long as they are 
not being used in devious attempts to circumvent the above rules.