Strategy

Our initial strategy was to build a robot that would block both holes with wheels that roll down the ramp. However, we were afraid that melting the baseboard would take too much effort, too mechanically sophisticated, and the fumes would make us dumber than we already are. So we then decided to make a shooting robot would be cool even if it didn't win. We thought that it would be effortless to get the ball closest to the trough, and that the ball near our other corner would be easy to locate because we could always guarantee where it was. However to move to the second ball and to get it in would require more time than we wanted which was why we decided on a shooting mechanism. We also planned to sense where our block was and then push the three balls in the column where it wasn't.

Our Robot

Our main concern was speed and maneuverability. We used a 125:3 gear ratio with the big thin squishy wheels and powered each drivetrain with two motors. Differential drive seemed to be the easiest to build while offering good ability to make tight turns so we used that in addition to a third freewheeling servo mounted steering wheel at the back.

The shooter consisted of three thick medium sized wheels powered by two motors at a 5:1 gear ratio and estimated to spin at 1000 rpm at full power and no load. We originally planned to have contain two balls behind the shooter and we built the robot to meet this spec, but later we found out it would make it difficult to shoot a single ball since our robot had to back up in order to shoot balls out. We filled in that space with lots of lego blocks to shorten the distance the ball had to travel to reach the rollers..

We used four cds cells coupled with red leds for detecting the side of the table and orientation, shaft encoders on our drivetrain for odometry and making turns, two bumps sensors at the back, and two in front. We initially tried using line following to align with the first two balls, but it was too difficult given the speed our robot was running at and also the fact that there was a break in the line due to the orientation squares so we decidedly to hug the wall instead.

Due to time constraints, we could not implement the second phase of our strategy and could only score the first two balls. We were concerned about consistency and worked our asses off on getting those two balls in.

Outcome

Round 1: We were delighted to see that our opponents did not show up and figured that we would easily win because our robot performed as we expected during testing and the last assignment. We were shocked to see our robot not detecting the right orientation and charging off blindly into the block. We attributed this to poor shielding of the cds cells because the starting lights were brighter than they appeared in lab and caused the sensors to read bad values. We thought that lowering the cds cells and added code in the our calibration routine to output the readings.

Round 2: We faced off against Team 14. We did not plan on winning because we had seen their robot perform well in lab. We were happy to see that we oriented correctly and scored the two balls, but our happiness turned to despair as we saw SPOC plow 4 balls into their trough. Then boos resounded from the auditorium and we saw that the balls were stuck on the ramp. The rules stated that only balls that are inside the cylinder will be counted so we won by dumb luck. It wasn't very satisfying and were glad to hear the organizers change the rules in light of this injustice.

Round 3: This was the opening round of the main competition. We were shocked beyond all belief seeing our team number first on the list of contestants. We therefore have absolutely no recollection of this round except that we won because we went on to Round 4.

Round 4: See Round 1

Advice

organizing legos length 14