Bruiser

6.270, IAP 2001

Bruiser
made by Denise Cherng, Andy Crane, and Jae Ro (a.k.a. Team 15)

Look at the 6.270 website for detailed information about the competition.

The contest: The layout of the board this year was two balls on each end of the table, one ball in the middle, and two more that fall down during the contest. The robots started in a random orientation near the center of the table. At the end of 60 seconds, whichever robot had more balls on its side was the winner. The robots are completely autonomous, which means that there is an onboard computer which controls them and no human intervention once the round starts (i.e. no remote controls or yelling instructions at the robot). We made them out of a limited set of legos and various sensors and actuators.

Our strategy: Early in the contest, we decided that we could attempt a technique that attempts to get the balls from the other end and bring them to our side, or just go for the balls that fall in the center. Another strategy, still consistent with the two mentioned above, was to hope that the other robot malfunctioned, but that wasn't anything we could count on. We decided to go for the balls in the center for two main reasons:
1. We didn't need to move the robot. Since the starting position was close to the center, we could simply extend an arm to knock the balls from the center platform. If we did have the robot move, there was added complexity and it was more error prone
2. If we could successfully get all three balls from the center, we would have five balls on our side, and four is a majority which would guarantee a win. So even if the opponent came and took one of the balls from our side when the round started, we would still have four and win. But robots which took more than one ball from our side or prevented us from getting the balls from the center could unfortunately beat us.
So the robot worked like this: The base was stationary, and on it there was a platform which could rotate at least 360 degrees. However, we needed to place an infrared beacon for the other robot to detect our position, so this prevented the arm from spinning the full way around. In order to get the maximum rotation, we have the arm extend and then swing counter-clockwise starting right at the beacon and spinning until it almost hits the beacon again. Then the arm retracts, spins clockwise back to its original location, and repeats the spin twenty and forty seconds into the round, when the other balls fall from above.

How we did: The contest was a double elimination, and it was in the format of a qualification round, then round 2 a couple days later, and the remainder of the rounds that evening. We lost the first qualifying round because our robot was calibrated incorrectly and the arm swung to the wrong position. Oh well. Then we won our next round with a combination of good strategy and the other robot malfunctioning. Then, we lost our first round in the evening, which sadly brought an end to our robot as we were eliminated.

How we split up the work: Once we came up with the design strategy, we started building it with the Legos we had, and then once components were built, we wrote and tested some code, then made whatever changes were needed. We had to make the robot about three times since lots of problems we hadn't thought about kept creeping up on us. Since Andy obviously didn't play with Legos when he was younger, Jae and Denise were mostly in charge of the construction. Andy instead put his talents into coding the board. If we had another opportunity to do this contest, we would definitely start earlier (you can only play with Legos so many hours in a day before your hands start to hurt) and maybe try a different strategy. Previous years of the contest had different designs, and it would be interesting to come up with a different design which would work well on a different layout of the board.