MEAM.Design - MEAM 410/510 - ROBOCKEY

The Teaser

The Rink

The Robockey rink will take the approximate shape shown below, and will be surrounded by a clear plastic border at least 4 centimeters tall.

The Puck

The puck is 3.0 inches in diameter by 1.0 inch tall, with a ring of eight equally-spaced 940nm IR LEDs (APECVA3010F3C, Digikey: 54-1363-1-ND) situated 0.75 inches above the ground.

Your Robots

Dimensions - At all times, the robot (and any appendages) must fit within a 15-cm diameter cylinder and be no taller than 13 cm.

Puck Interactions - At no time may your robot independently constrain the puck’s motion (no holding, no adhesives, no features to capture the puck, etc. - if in doubt, ask for clarification before building something!). You robot cannot encapsulate more than 20% of the puck (when viewed from above, we will measure the percentage by connecting a line between the furthest-out points which enclose the puck). Your robot may, however, include a mechanism or actuator to “kick” the puck.

Control - The team of robots must be fully autonomous, and each robot must carry it’s own power source.

Contact & Damage - You robot must not intentionally damage the rink, the puck, or any other robots.

Position Estimation - To estimate your robot's position within the rink, we will provide a limited number of custom mWii sensors that you can use to detect a triangular constellation of IR-emitting stars (indicated by the red dots in the rink image) suspended N-cm above the surface of the rink.

Other Restrictions - Your team must not interfere with the wireless communications of another team or the game-play system. To avoid confusion with the puck, your robots must not emit nor intentionally reflect IR light.

Communications Protocol

Addresses - Each robot in the tournament will have a unique wireless address on channel 1. Your team will be assigned three addresses, starting with your team number multiplied by 4, then incrementing by 1 for each robot. For example, the three robots for team 12 will have addresses 48, 49, and 50 (0x30, 0x31, 0x32). You are only allowed to send packets to other members of your team. The game controller will send your robot instructions and localization information, according to the following protocol:

Instructions - To execute a proper game, the following instructions will be sent as single-byte packets to your wireless address at various points during the game. Some instructions require that your robot respond in a certain way.

0xA0    Comm Test (acknowledge via flashing an LED or making a sound)
0xA1    Play
0xA2    Goal A
0xA3    Goal B
0xA4    Pause (stop moving within three seconds)
0xA6    Halftime
0xA7    Game Over

The Game

Length - A regulation Robockey match consists of two one-minute periods.

Teams - No more than 3 robots can be on the field for each team at a given time. Upon arrival at the match, each team will be assigned a side (A or B), and a Comm Test message will be sent to each of the players. All robots must acknowledge receipt of the message in some apparent way. Failure to acknowledge the Comm Test will result in an automatic forfeit.

Initial Position - To begin play, all robots must be placed behind the 80-cm lines, while the puck will be placed in the center of the rink. Once the Play command is issued, the robots are free to move about the field.

Scoring - If and when a goal is scored, the corresponding Goal command will be issued and the clock will stop. After celebrating, you must quickly move all robots beyond your 80-cm lines. Once all robots are in position, the puck will be returned to the center of the rink, and the "Play" command will be issued.

Halftime - After one minute of play, the Halftime command will be issued. You will then have 30 seconds during which you may interact with your robots. Before the 30 seconds have expired you must place your robots behind the opposite 80-cm line.

Timeouts - Each team can call two timeouts per match. When a timeout is called, the Pause command will be issued. Both teams will then have 30 seconds to interact with their robots. You are not allowed to change the general position or orientation of your robots during a timeout.

End of Game - If the score is not tied at the end of the second period, the Game Over command will be issued. If the score is tied, the Halftime command will be issued again, and a third period will be added to the game. If the score remains tied at the end of the overtime period, a three-round penalty shootout will be used to decide a winner.

The Schedule

Team Selection (11/4) - To choose who you will be working with, add your names here before 3:00 p.m. on Friday, November 4th. Those not on the list by the deadline will be randomly assigned.

Design Plan (11/7) - As a team, put together a brief document explaining how you plan to win the Robockey Cup. At a minimum, you should include information on mechanical design decisions, actuator and sensor selection, and the game-play strategy that you will implement. Submit your plan as a PDF to with the title of Robockey-Txx-Plan, where xx is your team number.

Pololu Order (11/7) - We are going to place a group actuator order from Pololu early Tuesday morning (hopefully arriving on Thursday). Each team has a budget of $120 that you can spend in this order (if the items you select come to more than this amount, you will need to cover the difference). To place your order, send an email to by 10:00 p.m. Monday (11/7) entitled Robockey-Txx-Pololu and include the Pololu part number, quantity, and cost for each item that you would like to obtain.

Command Test (11/14) - Before the end of the day, your team must demonstrate at least one robot that can appropriately respond to all game-play commands.

Qualifying (11/21-11/24) - At some point during the qualifying period, your team must demonstrate THREE robots capable of driving to the center of the rink upon receipt of the "Play" command.

Friendlies (11/28 - 12/2) - Each team must participate in at least four supervised friendly matches with different teams. These games will follow all of the rules and restrictions listed in the Game Play section. A scoreboard will be maintained in the lab, and the results from the friendlies will be used to seed teams into Pool Play.

Pool Play (12/5-12/7) - Based upon the results from the friendly matches, teams will be divided into six different pools, and you will be assigned matches against each team in your pool. The top teams from each pool will advance to the championship tournament bracket, while the lower two teams will fill in a consolation bracket.

Early Rounds (12/9) - The Robockey Cup Tournament will be conducted in parallel brackets with initial seeding based on pool-play results. The 14-team championship bracket will be double-elimination, with the first round matches taking place on Friday the 9th. The 12-team consolation bracket will be single double-elimination, and the first two rounds will take place on Friday the 9th. These matches will also serve as the official grading session, where you will be evaluated based on your ability to meet the project requirements.

The Public Tournament (12/12) - The public tournament will begin with the semifinal and final rounds of the consolation bracket, with the winner bumping up to take a spot in the championship bracket (the three other consolation semifinalists will remain as wildcards in the event of a withdrawal by a championship team). We will then make our way through the championship bracket to declare a victor.