The Strategy
One of the first things
our team agreed on going in is that strategy is a very important
point. We decided to first come up with a simple but effective
strategy, then build our robot around it.
Based on the placement
of the pockets and the necessity of the 4-pocket to either team's
score, we decided to somehow prevent our opponent from scoring in its
4-pocket and score all our points in our 2-pocket. This way, we
would end up with 12 points, and the only way our opponent could win is
by:
(1a) realizing their 4-pocket is blocked and adjusting their strategy mid-match to dump the remaining balls in their 2-pocket
OR
(1b) performing a similar strategy at the beginning of the game
AND
(2) putting the skunk ball in our starting area.
Robots
heading for the 4-pocket directly would get stuck or disoriented when
they hit us, and robots wandering the other way around the board would
have already dumped the necessary balls in the 1 and 2 pockets, ending
up with only 1, 2, or 3 points. It seemed unlikely that another
robot would be able to realize its 4-pocket was blocked and proceed to
scoring in the 2-pocket.
The first strategy we attempted to
implement was going straight to the opponent's 4-pocket (the closest
pocket to our starting area) and sitting there. This robot would
extend an arm over our 2-pocket, letting the balls roll down into
it. With this strategy, we would never leave the 4-pocket.
Against
a robot that could successfully navigate around the board and score all
the points requested, blocking the opponent's 4-pocket is essentially
the same as scoring in ours. However, against a placebo, blocking
the 4-pocket does nothing. After the mock competition, we
realized we were placing more emphasis on blocking our opponent than
scoring our own points. With this strategy (or at least our
implementation of it), the many things that could go wrong in a robot
affected our chance to score any points at all, which would have
automatically disqualified us from the match.
Although we
couldn't eliminate the chance for errors, we could shift the majority
of the things that could go wrong until after we had scored our
points. We immediately rebuilt the scoring mechanism of our
robot, taking on a new strategy. This time our robot would go
directly to our 2-pocket, dump all our balls, and return to our
opponent's 4-pocket, waiting out the rest of the match. This
method was very simple and very reliable.
Realizing many teams
were coming up with the same strategy and not wanting matches to be
decided by coin toss, we, with a few days left, decided our robot would
make a mad dash for the skunk ball. With our robot fully
decorated in sensors, our robot planned to sit in front of the
4-pocket, waiting to be hit. If we were hit, our opponent was
depending on their 4-pocket and we could just stay there, assuming they
had leftover balls and had scored less than 12 points. Otherwise,
it was likely our opponent had the same strategy as us, and our robot
needed to break the tie.
Unfortunately, after many battery
switches, two happyboards, a lot of pauses in the code, and much
frustration, the skunk ball dash worked sometimes but was often cut off
in the middle by a board reset or panic.
We won the competition
though, without successfully retrieving the skunk ball, proving the
earlier part of our strategy sufficient, and much more important.
Although our robot was very simple, the fact that it reliably and
quickly scored every time won us all our matches.