2002  6.270  Competition

Chicken

Flopbot Front View

Flopbot Angle View     Flopbot Arm View
(click on an image to see a larger picture)

Team 38

Flopbot

Top | Team Members | Strategy | Construction | How It Worked | Final Thoughts

Team Members

    Greg Mahowald '02, course 6-1, gmm@mit.edu
    Mike Jura '03, course 8, jura@mit.edu
    Dave Jackson '04, course 6-1, jacksond@mit.edu


Strategy

    We adopted the "double-blocking" strategy.  Since the game table this year only featured two tubes in which our opponent could score points, we planned on scoring 1 point and then blocking both tubes.  Our robot would first orient itself and then drive towards the trough, pushing a ball into our tube.  Then our robot would lower an arm that dropped of a small car into the trough.  As the car was released, blocking flaps would swing ("flop") down to protect our own tube.  The car would then drive down the trough until it covered our opponent's tube.  We hoped that we could accomplish this quickly enough so that our 1 point would be enough to give us a win (our opponent could also score 1 point, resulting in a double win).


Construction

    Flopbot's drive train consisted of two wheels in front each indepently powered by a motor with a gear ratio of 75:1.  The back third wheel was unpowered and was used for steering by mounting it on a servo.  Since we only made a 90 or 180 degree turn, this back wheel servo was only ever at two angles: one to make Flopbot drive straight, and one to make Flopbot spin in place.  The car featured 2 motors: one to drive the left wheels, and one to drive the right wheels.  Each of these gear ratios was 20:1.  The motor that drove the wheels closer to the plexiglass in the trough was not powered as strongly.  This helped the car steer into the plexiglass and keep it inside the trough.
    In addition to its start light sensor, Flopbot featured 4 CDS cells to determine the colors of the 4 patches underneath it, allowing it to figure out what side it was on and what orientation it was in.  A shaft encoder was used on the back wheel to count how far it rolled during turns.  Two touch sensors were mounted at the front of Flopbot so that it would tell when it was in full contact with the 1/2" lip in front of the trough.  A touch sensor was mounted at the front and back of the car, and these were wired in an OR configuration since the car would need to be able to drive either direction depending on what side of the table we were playing.  This sensor would tell the car to stop driving when it hit the wall and was successfully parked over our opponent's tube.
    The arm that held the car featured an "elbow" servo that rotated the arm in a plane parallel to the table top.  This servo would rotate the arm from holding the car at the back of the robot to out in front of the robot over the trough.  The arm also included a "wrist" servo that would then rotate the car from a position in which it was upside down to flipped over and right side up in the trough.  During the flipping process, the car would power its motors so that its gears held it on the straight gears we placed on the arm.  While this didn't hold the car on, it slowed it substantially so that it was not released until the arm was in position to drop it straight down into the trough.
    The last part of construction was making the tether to connect the car to the robot by lego.  Finding a place to mount this on our robot so that it would not become snagged while the car drove off proved very difficult.  Eventually we decided to leave the tether on the left side of the robot since we had placed the HandyBoard on the right side.  This made playing on the white side of the table somewhat more difficult because the car would have to drive off to the right.  Sometimes the tether would become snagged on the arm, so before the car drove, the "wrist" of the arm was raised up again temporarily.


How It Worked

    Flopbot almost always successfully dropped the car into the trough.  Only once (during round 2) out of all the times we tested it, the car got stuck on the gears on the arm and was not successfully placed in the trough.  Occasionally we had issues with the robot not turning quite far enough.  We thought this had to do with the charging of the batteries because the turns were dependent on how much the robot would keep spinning after its motors were turned off.  Overall, the main issue halting Flopbot's ability to reliably block both tubes was the tether.  The tether would often become caught on parts of our robot or other parts of the table, especially the lip.  We tried to add base plate to areas on our robot that the tether often became snagged to smooth these areas out and make them less likely to catch the tether.   We also added a timer to the car, so that if it did not reach the wall in a certain amount of time, it would back up for a very short time, and try again.  In lab testing, we were able to achieve fairly successful release of the car, but in competition, we did not fair as well.

Round 1: Win 1-0
    Flopbot successfully deployed the car, blocking both tubes.  However, our opponents did not even turn on their batteries and were disqualified for not transmitting IR.

Round 2: Double Win 1-1
    Flopbot scored a point, but the car became stuck on the arm.  It never deployed, but luckily our opponents only scored 1 point as well because they became stuck on the obstacle.

Round 3:  Loss 0-1
    Flopbot did not turn a full 180 degrees, probably due to batteries that were not fully charged.  When it drove towards the ball, it got stuck in the corner of the back wall and the 1/2" lip.  It was not even able to push the first ball into the trough and score a point.

Round 4: Double Win 1-1
    Flopbot successfully deployed the car, but it became caught on its tether.  This caused the car to turn into the plexiglass wall of the trough, hitting the front sensor on the car, causing it to stop.  Luckily again, our opponent's only scored 1 point.

Round 5: Loss 1-6
    Again, the car's tether got stuck on the arm because we were playing on the white side of the table.  When it finally got free, our opponents were just dropping more balls into the trough, so our car actually pushed the balls into the tube.


Final Thoughts

    We had a fun time building our robot.  It was pretty sweet seeing it work and do everything it was supposed to.  We realized there were several robots that we would have slim chances against since they scored two balls very quickly.  In retrospect, we think the best strategy would have been to make a robot that scored two balls quickly and then went after the others on the table.  However, reliability in this contest was a big issue.  The robot that ended up winning- Paco Lopez- was the only robot that could score two balls reliably (it usually didn't score more than this).  We had a good time with our strategy though, since it was gutsy and when we were able to pull it off, it looked pretty cool.

Top | Team Members | Strategy | Construction | How It Worked | Final Thoughts