2005 MIT 6.270 Lego Robotics Competition Robot
Ian Martin
martini@alum.mit.edu
Ben Lu
benlu@mit.edu



The Strategy We WantedThe Strategy We Got
  • Integrate rate measurements from a gyroscope to keep track of heading.
  • Collect balls of any color and sort them internally into two compartments.
  • Double-integrate two-axis accelerometer readings to estimate position in between RF updates.
  • Sort a list of map features by their distance from the robot.
  • Select the nearest unvisited feature (ball cluster, voting box, or scoring region) and use it, i.e.
    • Collect all four balls in the cluster
    • Use the least-full compartment to vote for the most-full compartment
    • Open a rear gate to drop the winning balls into our scoring region, or the losing balls into the oponent's scoring region
  • Integrate rate measurements from a gyroscope to keep track of heading.
  • Drive to the nearest unvisited cluster of balls.
  • Collect balls of any color and sort them internally into two compartments.
  • If either compartment is full or 40 seconds have passed, go to our team's nearest scoring region.
  • Back into our scoring region and dump the container holding the winning color.


Design

Overall Pros:

Overall Cons:

Problems:

Drive System:

Navigation:

Ball Intake:

Ball Processing:



Code

Our Source Code: blueghost.c



Results

Here is an artist's rendering of the day of the competition:

On the night before the competition, the Blue Ghost had fantastic ball handling and passable strategy. Unfortunately, its navigation was heavily based on RF, which meant that it was virtually nonexistent. Our only test run showed that it was unable to accurately locate even the first ball cluster.

So in the first round of competition, we were thrilled to see the Blue Ghost do as well as it did. After correctly orienting itself, Blue Ghost turned towards the ball cluster immediately behind the starting area, but missed by about 40 degrees. It then proceeded to drift towards the cluster, pushing two of the balls away at random. Its only real scoring opportunity missed, the Blue Ghost then wandered around the home side of the board at apparently random, picking up and correctly sorting 3 red balls. It eventually ended up in our opponents scoring zone in the corner, where it got stuck. At the end of the match it correctly read the vote and dumped its empty green chamber (it thought it was in our scoring zone and was dumping the positive color).

In the second round, the blue ghost turned around and drifted off to one of the corners on the home side and got stuck. Lesson learned: good ball sorting is useless without good navigation.





Frustrated with its performance, the Blue Ghost tried to take a bite out of Ben.