Team #13 - Smash and Grab

Smash and 
Grab

Team Members

Benjamin Walker bwalker@mit.edu
Jeremy Walker jzwalker@mit.edu
Paul Youn youn@mit.edu

The 'Bot

Our 'bot actually consisted of two robots, affectionately called Smashy and Grabby (Smashy being the smaller of the two).

The Competition

Our robot competed in the 2002 6.270 competition, "Chicken". Details of the competition can be found here.

Strategy

At our first brainstorming session we decided to build a tethered robot that would be able to block both goals at the same time. We were initially sceptical about the feasibility of building such a robot but in the end we decided to just go for it because it is one of those risky strategies that people often don't try...so what better time to try it than 6.270?

Working on the bot...

Once we decided on a blocking robot we needed to come up with the correct strategy. We realized quickly that simply knocking in a single ball and then running to block the opponent's goal would probably result in either a double win, or a loss. Double-winning would occur whenever both teams knocked in at least one ball (a fairly simple accomplishment) and the blocking robot arrived in time so that the opponent would not be able to score any more balls. We thought that outright winning was a fairly unrealistic goal as it seemed highly unlikely that a robot could be built that could make it across the entire field in less time than it would take for an opponent to knock in one ball.

Realizing that unreliability with the single-ball strategy would probably lead to losses, we formulated a new strategy, one involving getting two balls. By getting two balls we would, if everything worked right, be able to either double-win, or outright win, depending on how fast our blocking robot made it to the other goal. It seemed clear to us that this was the right strategy to go with.

While it would be possible to construct a robot that would be able to block both goals and pick up more than two balls, we figured that it would not be worth the risk of being too slow to block our own goal simply in order to get more balls.

One of the main advantages to a blocking robot strategy is that it involves only a few simple movements of the robots and therefore frees up a lot of time for testing and tweaking. This turned out to be the most major advantage for us as we definitely needed the week and a half or so to get everything just right.

Our strategy consisted of the following simple movements:

  1. Orient
  2. Have the blocking robot (Smashy) run towards our trough, hitting the ball closest to the trough in while the other robot (Grabby) runs straight backwards to get another ball.
  3. Smashy then turns and heads towards the opponent's goal at maximum speed while Grabby hits his ball in and heads for our goal.
  4. Keep running until both robots have reached their respective goals.
In a perfect run, the robots would accomplish their tasks in about 7 seconds.

Smashy doing his thing

Design

Smashy

Smashy Smashy is a small, thin, tricycle-like robot designed to move fast and fit into the trough with ease. He has two large rear drive wheels and a smaller, unpowered front wheel used for steering. Smashy also has a large front 'arm', which was used to keep the tether in place when Smashy was loaded into Grabby, and which would also, sometimes, flop over the edge of the table to keep Smashy in place when he was blocking a goal. Also, just in front of the front wheel, a bumper was mounted to help Smashy push in the first ball. Finally, in the front of Smashy, on either side of the front wheel, two small wheels were mounted perpendicular to the surface of the board, enabling Smashy to wall-follow without requiring touch-sensors.

The two rear wheels were each connected to a 25:1 gearbox with one motor powering each wheel. This low gear ratio was chosen so that Smashy would be able to move extremely fast and hopefully beat our competition before they were able to score more than 1 or 2 balls in the hole closest to them. The front wheel was mounted on a servo so that Smashy could be steered easily and accurately. Also, since the front wheel was free, we were able to mount a breakbeam sensor on it in order to accurately measure the distance Smashy travelled when executing certain maneuvers.

In terms of bracing, Smashy was an extremely well built robot, designed to "take a lickin' and keep on tickin'". There were several occasions when Smashy was 'inadvertently' dropped or driven off a table and he suffered no damage whatsoever.

Due to the number of actuators and sensors on Smashy, we ended up having to run a total of 10 different wires along our tether, which we found extremely annoying since this caused our tether to be much less flexible than we would have liked. Furthermore, there were several instances when we would have preferred to mount more sensors/actuators on Smashy but had to stop ourselves because of the amount of wires already running to Smashy.

Grabby

Grabby Grabby was much larger than Smashy, since he not only had to be able to contain Smashy inside himself, but also held the batteries, the HandyBoard and the IR beacon. Our strategy also placed several special requirements on Grabby which resulted in a design that was unique but which also caused several headaches in terms of reliability.

In our strategy, Grabby needed to be able to drive over the second ball and then kick or push it towards the trough. This meant that there needed to be a path for the ball to travel through Grabby. Furthermore, Smashy needed to be able to sit inside Grabby throughout the orientation. In order to achieve these two goals, Grabby was designed as an inverted U, with a large space running down his center.

The two drive wheels were mounted centrally and each powered by one motor via a 45:1 geartrain. This meant that Grabby would be slower than Smashy, but a higher ratio (and thus higher torque) was absolutely necessary since Grabby weighed a lot more than Smashy. Furthermore, Grabby had a shorter distance to travel than Smashy, and his tasks were less time-dependent than Smashy's.

Grabby also featured a large arm, mounted near the front, which rested on the top of the robot, and could swing forward to block a goal when Grabby had driven up to it. This arm was initially controlled via a single servo. Unfortunately, the size of the arm, and the fact that it was powered on only one side meant that a lot of torque was required to move the arm. In fact, in many cases, the servo would be unable to drive the arm all the way down into the trough because it would hit against the plexiglass and the added friction would be too much for the servo to overcome. In order to overcome this problem without major revisions (we discovered this problem somewhat late in the game), we mounted a potentiometer on the arm axis, which would tell us what position the arm was actually in. Then, when we told the servo to move the arm down, and it did not come down completely, the robot would drive forwards and backwards in bursts in order to put enough force on the arm to drive it into the trough.

Located near the back of Grabby was the mechanism used to 'kick' the second ball into the trough. This was an arm with a bunch of elastics on it to provide tension when it was pulled back. At the beginning of the match, the arm was held in the tensed position by a servo, which would release the arm when Grabby had driven over the ball. The arm would then 'kick' the ball towards the trough. Some experimenting had to be done with the amount of tension required, as we needed to be able to kick the ball over some of our tether if necessary, but also ensure that the ball didn't fly off the table.

In terms of sensors, Grabby had three light sensors used to detect the orientation at the beginning of the match. Grabby also used breakbeam sensors on each wheel in order to turn accurately and determine if either motor had stalled because we had hit an obstacle by accident. Finally, we mounted four touch sensors, two on the front and two on the back to determine if we had reached either the back wall or the trough.

Results

Please work...please work... While performing decently in lab, our robot initially had major problems in the first two rounds of competition. Luckily, in Round 1 we didn't face an opponent and Smashy was able to knock in one ball, giving us a win. Between Round 1 and Round 2 we had two days to improve our robots, and we managed to get both Smashy and Grabby working somewhat reliably. Despite this work, in Round 2, Smashy turned the wrong way after scoring the first ball and we were only able to score that one point for the match. However, luck was with us again as our opponents also only managed to score one ball. In the few hours between Round 2 and the main competition that night, we were able to determine that our robot had miscalibrated and read a black square as white. Luckily though, we were in an orientation where that particular sensor malfunction would still cause Grabby to orient correctly, although Smashy would (and did) turn the wrong way after scoring the first ball.

In order to correct this problem, we had to shine flashlights under the light sensors during every calibration sequence. While this led to some time-pressure during calibration and what must have been an amusing show before the match, we never ran into that problem again.

Calibration

What happened to Grabby? During the rest of the competition, our robot performed well, with Smashy performing extremely reliably and Grabby usually scoring the second ball, and sometimes blocking our goal. We managed to make it undefeated until the round-robin where we won our first match. Unfortunately, we lost our next match because the tether got caught on the obstacle and Smashy was unable to reach the opposing team's goal by a few inches. We also lost the next match for a similar reason. However, Smashy and Grabby came through and performed flawlessly in our final match, which we double-won with the eventual victors of the competition, Team 28. After the two rounds of round-robin, we placed third as the judges had decided to rank the robots based on number of points scored during the round-robin.