MEAM.Design - MEAM 410 - Robockey
Fourteen student teams. Custom-built robots. Fully autonomous. Wireless. Three-on-Three. Full contact... This is the second-annual Robockey Cup!
The Rules

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: Your robot team 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.
Tracking Fiducial: To mount the tracking fiducial, each robot must have a 1/4-20 male thread protruding at least 1/4-inch above the highest point. The tracking system will provide you with the X,Y location of this thread with respect to the center of the field.
Other Restrictions: Your team must not interfere with the wireless communications of another team or the tracking system. To avoid confusion with the puck, your robots must not emit nor intentionally reflect IR light.
char address[5] = {0xXY, 0xXY, 0xXY, 0xXY, 0xXY};
where X is your team number in hex, and Y is your robot number within your team (1, 2, or 3). For example, the three robots for team 12 will have the addresses of 0xC1, 0xC2, and 0xC3.
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 - The following codes will be sent as single-byte packets to your wireless address. Some instructions require that your robot respond in a certain way.
| Function | Code | Response |
| Test | 0xA0 | Flash an LED |
| Play | 0xA1 | - |
| Goal (A) | 0xA2 | - |
| Goal (B) | 0xA3 | - |
| Pause | 0xA4 | Stop moving within 3 seconds |
| Detangle | 0xA5 | Move randomly |
| Halftime | 0xA6 | - |
| End | 0xA7 | - |
Localization - Whenever the tracking system sees your robot's unique fiducial marker, it will send your robot a 6-byte packet containing localization information. The X and Y positions are 16-bit signed (2’s complement) integers, each split over two bytes, with the high byte being sent first. The position values will give you an estimate of the center of the fiducial relative to the center of the rink.
| 0xAA | 0x00 | x_pos L | x_pos H | y_pos L | y_pos H |
No more than 3 robots can be on the field for each team at a given time.
Upon arrival at the match, a coin will be tossed, and the winning team will then choose which side of the field they would like to start on.
Each participating robot will then be assigned a tracking marker and the tracking software will be configured with the robot’s address. A test connection message will be sent to all of the active robots, whereupon the robot must acknowledge receipt of the message in some visible or audible way.
After signing in, the robots will be placed in the rink beyond the 80-cm lines. No robot can be inside the 80-cm center section before the begin play command is issued.
The puck will be placed in the center of the rink.
Once the begin play command is issued, the robots are free to move about the field, with the objective of getting the puck into the opposing team’s goal.
After 3 minutes of play, the halftime command will be issued. During the 30-second halftime, you will be able to interact with your robots. Before the 30 seconds expire, you must place your robot beyond the 80-cm lines on the opposite side of the rink from where you began the first period.
Each team can call 2 timeouts per match. When a timeout is called, the pause command will be issued, and all robots must stop moving within 3 seconds. Both teams will then have 30 seconds to interact with their robots. You are not allowed to change the general location of your robots during a timeout.
When a goal is scored, the appropriate goal scored command will be issued and the clock will stop. At this point, you must move all robots beyond the appropriate 80-cm lines. Once all robots are in position, the puck will be replaced in the center of the rink, and a begin play command will be issued.
After the end of the second period, the game over command will be issued.
In the event of a tie score, an additional period will be added to the match.
The Schedule
Nov 4th - Design Plan
Nov 18th - State-Machine Test
Nov 24th - Localization Test
Dec 1st-3rd - Friendlies
Dec 8th - Competition - First Round
Dec 8th-10th - The field will be in Wu & Chen for testing after 7:30 p.m. on December 8th, then again from 8am-noon and 7:30 onward on December 10th.
Dec 11th - Competition - Final Rounds