Strategy

The challenge this year was pretty straightforward. There were only a few strategic decisions to make, the most important of which was whether or not to go for the rift sealing bomb. If a team could successfully release the bomb and have the round end with the bomb on their opponent's side of the table, it was worth eleven points. However, if the bomb ended up on the team's own side of the table, it was a harsh  penalty of seven points. Due to this risk, we decided to forgo the bomb and focus on golf balls and tennis balls.

Arnold was equipped with a wide back bumper that could push multiple golf balls under the rift at the same time. The code for scoring golf balls had Arnold line up so the ball was between himself and the rift, and then flip around and back up towards the rift. This proved successful and golf balls were no real challenge. Tennis balls were easy to lift if the alignment was perfect, but being off by just a couple of inches could push the balls away from the robot and into a wall. Because of this, we came up with code that allowed Arnold to very reliably pick up tennis balls along the wall. This was a challenge since the lift arm needed room to extend outward, but the ball also had to be very close to be lifted. The code allowed the robot to slowly back up while simultaneously lifting the arm and the ball.

Since tennis balls were worth three times as many points as golf balls, some kind of algorithm was required to determine how to score most effectively. For example, the closest ball would always be easiest to get to, but it may not always be the best move to go for the closest ball. Similarly, a ball against a wall was generally harder to score than a ball in the open, so the algorithm accounted for that. It worked by assigning a penalty that would be added to the base score of the ball's distance from the robot. A small penalty was assigned to all golf balls, since they were not worth as much as tennis balls. Ideally, the team would have liked Arnold to pick up two or three tennis balls before making a trip to the rift to score them. However, in testing Arnold would often finish holding one or two tennis balls and not having enough time to score them. It proved difficult to implement a timer to have Arnold drop all of his balls near the end of the round, so we ended up having him score each time he picked one up.

Since the balls were set up on the board in the same layout every time, we came up with a pre-programmed path that would attempt to score four golf balls very quickly. The robot would then blitz across the board between the tennis balls to displace the other group of golf balls away from the wall(see picture). Following this pre-programmed move, Arnold would use the algorithm to determine which balls were best to go for.

Picture