On a flat playing field, there are 44 balls half of which are red and half
are green. There are also three scoring zones each for the opposing robots.
There are also two voting stations representing the two coloured balls. Voting takes place when the robot pushes a ball into that station. Whichever colour
wins the vote, those balls count for 2 points and the other colour counts for -1 point. The ball counts only if the is in your scoring zone at the end of the game.
Because the game depends heavily on the ability to move multiple balls
quickly and accurately, we employed "rollers" on the front of our robot. When
we want to suck in balls, the rollers spin in one direction and when we want to emit the balls, the rollers spin in the other direction. This is accomplished
with a motor and 75:1 gear ratio.
For the drive train, we used 4 motors in total, two on each side to drive the wheels. The gear ratio for each wheel is 75:1.
Our robot looks like a hollowed box with a green sloped platform to fit all the balls. We secured the batteries and handy board on top.
We used quite a few sensors. We have a gyro for making accurate turns and 3 phototransistors for initial
placement. We also have 2 bump sensors at the back and 3 shaft encoders (one
for each wheel and one for the roller).
First, we determine which side of the board we are on and our initial orientation using the three light sensors. Next, we turn to face the outside and move forward to push the four balls into the center zone to score 2 points independant of the vote. We will then turn left and gather about 8 balls of one color. We then check where the other robot is. If it's in the middle or other side of the field, we go to Plan A. Otherwise, we go to Plan B.
We first vote with the balls we have, then collect 4 more of that color and deposit them in our closest scoring zone. We then try to pick up the 4 other balls of the same color (which hopefully won the vote) and try to collect the 4 balls by the other player's starting position. We also go through the opponent's scoring zone in case they already scored those four. Finally, we deposit the balls we collected into the same scoring zone as before. If the opponent is on the opposite side of the field, we go to our other corner scoring zone, picking up any negative balls they may have put into it, and sit there. This prevents the other robot from descoring us further and since all the balls in our robot are off the ground on a ramp, they don't count for the final score.
Since the other robot is in our way, we cut across the field. We stop in the middle to collect the two balls near the middle way and reorient ourselves. We then go to the other voting area and vote with all of our balls (which will probably be about 10). We then check where the other robot is. If it is close to us on our starting side of the board (which would be hard to do), we go to Plan B1. Otherwise, we go to Plan B2.
We go to the opponent's side of the board, collect the 4 balls near the wall that hopefully won the vote, then score them in our closest scoring zone. We then try to collect the other 4 balls of the same color and the 4 balls (2 green & 2 red) in the middle of the board, including going into the opponent's scoring zone. We then score these in our own scoring zone where the others are. If the opponent is in the opposite corner, we go to our other corner scoring area, put up the balls there, and wait. Otherwise, we stay where we are and protect the balls.
We go back to our side of the board and collect all 8 balls of the color that we just voted for. We then go back to the voting station and check where the opponent is. If the opponent is directly in front of us on their starting side of the board, we go back to our middle scoring area, deposit the balls, and wait there. Otherwise, we do everything we did in Plan B1.
The best possible strategy would be to go to the same side as the opponent, collect 8 balls, then go to the other side, vote a bunch, and then collect all the balls over there which are now worth 2 points while leaving the opponent with all the negative balls. While they can descore you a maximum of 8, you will have so many points it won't matter. While we tested out this strategy and got it to work, we decided to make Plan A our default strategy since it was less complex and still won most if not all of the time. If anything went wrong with the other plans, it would mess everything up and we may never score all the balls we collect. By making it default, we changed our decisions to allow a bigger area for the opponent to be in and choose Plan A instead of Plan B.
We had pretty high expectations going into the competition because we had won the mock competition and seeded second as well as fixed all the bugs we saw from the previous competitions. However, it still seems that we didn't test enough. We quickly took first seed after the first round and played against the placebo for several rounds in a row. Then everything started going wrong, our robot false started a couple times. Then it broke our castor. And then it crashed into the opponent and the handy board crashed so we had 2 automatic losses because the spinners did not stop after 60 s. This was really frustrating since we had not seen the problem before and we still outscored the opponent in both matches. We still did pretty well though, placing 5th.