CS-424, Spring, 2009 Final Competition: RoboSoccerBU RoboSoccerBU is a game for two robots. Each team will use and program an "Open Robot" which will compete against every other team's Open Robot. The point of the game is to score as many points as possible. The robot with the highest score at the end of the game wins that game. During game play one robot is on "offense" and the other is on "defense". Only the offensive robot can score by moving into a "goal" area at the far end of the playing field. The other robot is on "defense" and tries to prevent the offensive robot from scoring by bumping into it. If that happens, the robots change roles, with the offensive robot going on defense and the defensive robot going on offense. (The referees determine if and when a bump has occurrred.) Determining defensive and offensive robots (Pre-game): The end of the playing field opposite to the goal end is divided into two equal- sized rectangular areas of a given size: the "Pre-game Find" areas. At the start of each new game and also after a point is scored by either robot, each robot is placed at one corner of one of the two rectangular areas. A specially programmed RFID tag representing the soccer ball is placed at a random position in each rectangular area by the referee. The robots are started simultaneously and the one that finds its "ball" first becomes the offensive player; the other robot becomes the defensive player. After the offensive and defensive robots are determined, they will be placed on the playing field (as shown in the diagram of the playing field shown below), started, and begin their offensive scoring strategy or defensive strategy. A Game: A game will continue until a total of 3 minutes have elapsed. After a point is scored by the offensive robot, the robots will be returned to the "Pre-game Find" area to once again determine which will be on offense and which on defense for the next round of the game. The winner of a game will be the robot that has accumulated the most points after the 3 minutes. The Playing Field: The playing field is divided into two parts: the actual field of play and the smaller "Pre-game Find" area in which the robots determine which will be on defense and which is on offense for the next round. (See the following diagram.) At the end of the actual field of play is the goal containing several RFID tags. The offensive robot can determine if it is in the goal area by detecting and reading the RFID tags. Immediately behind the goal there will be a strong source of white light that can be "seen" from anywhere on the field. The robot light sensors will be able to detect light from the light source.The Offensive Robot: The offensive robot is responsible for finding the goal and moving into it. It scores a goal any time it enters the goal area. Then it has 5 seconds to stop movement inside the goal. If it does not stop within 5 seconds, the team does not get a point and possession changes. The offensive robot should try to avoid being tagged by the defensive robot. It should also avoid running into the walls of the playing field. The Defensive Robot: The responsibility of the defensive robot is to prevent the offensive robot from scoring by bumping into it. If and when that happens the offensive and defensive robots will change roles. The defensive robot is not permitted to enter and stay more than five seconds in the goal area. If it does so, it will be penalized by having one point deducted from its score. Stopping a game: At any time any of the referees (professor, TA, robot designer) may determine that a game must be stopped. Determining the winning team: Each robot will play at least one game against every other robot. For each robot we will tabulate total number of goals scored by that robot and the number of games it won. The winner of a single game will be the robot that has scored the greatest number of goals for that game. In the case of a tie there will be no winner of that game. The final winner will be determined by a combination of most wins and most goals scored during all of the games of the competition. In other words, each will team be rated 6,5,4,3,2,1 in number of game victories and 6,5,4,3,2,1 based on total number of goals accumulated in all games. Those two numbers for each team will be added and the team that has the highest sum is the winner. Grading: In order to receive a satisfactory grade in the competition, your robot must demonstrate that it: 1. can find a light source and move in its general direction 2. can stop when it detects an RFID tag 3. has a strategy for finding the "ball" RFID tag (VERY IMPORTANT) 4. has an offensive strategy 5. has a defensive strategy 6. can recognize and stop when it has entered the goal 7. can avoid the walls of the playing field 8. can seek/avoid the other robot when on defense/offense Each team must submit a paper describing in detail the programs used to control its robot as well as the strategies used for each of the 8 points given above. The paper must be submitted by the Friday after the competition at noon. Diagrams (and/or especially photographs) as well as 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................................................................. 30% Performance during the competition (professor/TA evaluation of how well the robot performed the eight requirements)................... 25% Final score in the competition.............................................20% Team member peer evaluations...............................................25%