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 Grading: 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" (http://www.plazaearth.com/usr/gasperi/lego.htm). A team may use up to two LEGO rotation sensors (see http://www.philohome.com/sensors.htm/legorot.htm 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.