MEAM.Design - MEAM 410/510 - ROBOCKEY



The Rink

The Robockey rink will take the 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.


The Stars

To estimate your robot's position within the rink, we will provide each robot with a custom mWii sensor capable of detecting a constellation of infrared stars mounted approximately 5 meters above the rink. The star pattern dimensions (relative to the rink center) can be see below (click for higher resolution):

.


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.

Rink/Goal Interactions - At no time may your robot attach itself to any part of the rink or the goal.

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

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

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 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 (the robot must move in a noticeable way)
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 the particular robot being removed for the duration of the period.

Initial Position - Play will begin with a polo-style start. To begin, 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 - 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 (either autonomously or by hand). Once all robots are in position, the puck will be returned to the center of the rink, and the "Play" command will be re-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. If you had robots that were removed during the first period, you can attempt to bring them back in at the start of the second half.

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/7) - To choose who you will be working with, add your names here before 3:00 p.m. on Wednesday, November 7th. Those not on the list by the deadline will be randomly assigned.

Design Briefing (11/9) - During our recitation time on Friday, you will have an opportunity to meet with either a team coach or one of the course TAs. You should be prepared to discuss how you plan to win the Robockey Cup. At a minimum, you should be have information on mechanical design decisions, actuator and sensor selection, and the game-play strategy that you will implement.

Pololu Order (11/11) - We are going to place a group actuator order from Pololu early Monday morning (hopefully arriving on Wednesday). Each team has a budget of $120 (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 medesign@seas.upenn.edu by 5:00 p.m. Sunday (11/11) entitled Robockey-Txx-Pololu and include the Pololu part number, quantity, and cost for each item that you would like to order.

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

Qualifying (11/19-11/22) - At some point during the qualifying period, your team must demonstrate at least two robots capable of starting from a random location and driving to the goal on the opposite side of the rink when issued a "Play" command.

Friendlies (11/26 - 11/30) - 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/3-12/5) - 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/8) - The parallel-track double-elimination Robockey Cup Tournament will be conducted over two sessions, with initial seeding based on pool-play results. The early rounds of both the championship and consolation brackets will take place on Friday the 7th. 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/11) - 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 winning team.