The
Evolution of Strategy:
Our original strategy was to gather up all the balls, sort them, launch the bad ones (our opponents') over the side, and finally deposit our balls in the scoring areas. By the end of the first week we had actually made a working ball-launcher, but it would have been difficult to incorporate it properly into the robot and a rather inefficient use of legos considering the number of other pieces we would need to construct, so we settled on just store the opponents' balls so they would not be able to deposit them. The second week we included the "dump one of our balls first to make sure we dont automatically lose" strategy, and also decided to be able to drop our opponents' balls (preferably over the edge of the playing surface) in case we got trapped in a scoring area at the end. |
A side view of the robot during early construction. Check out the forklift! |
Brain-Freeze, all folded up. The insides of our robot; the base of the forklift. The robot in all its intended glory. Unfortunately, this glory did not all make it to competition. Probably the reason our steering gave us so much trouble. |
The Mechanics: The mechanics of our robot were extremely complex. So complex in fact, that we won the Rube Goldberg Award, for machines that, in Aston's words, "do very simple things, in almost the most complicated way possible." Here's a brief list and description of all our mechanical elements, some of which made it into the robot, so of which barely missed the final cut, and some of which really had no chance at all, but were pretty darn cool.
|
Ball makes it all the way up the
forklift!
|
Woah! Let's see that again!
|
Top view of our mess of wires, err, robot. Our Happyboard being not-so-happy with its input. |
The Electronics: Sensonrs, Servos, and the Like:To accomplish all our goals of ball collection, sorting and depositing, we used all six motor ports in addition to two servos, six visible light sensors (two of which were converted into shaft encoders to measure distance traveled) and two bump sensors. Four motors were used for driving -- two for each of the drive wheels. One motor was used for running both the rubber-band spinner to pick up balls and the forklift to raise balls to the upper level of our robot. The last motor lowered a sort of drawbridge -- the emergency drop mechanism. For ball-sorting we used a bump sensor to detect the presence of a ball, a visible light sensor for deducing the color, and finally a servo for pushing the ball in the right direction. The second servo and the second bump sensor were used to control a gate capable of dumping our balls in the scoring areas one at a time. We used the last three visible light sensors to figure out our initial orientation, and then used the gyro for navigation. The Not-So-Happyboard: Whether we confused our Happyboard or it confused us more is unclear, but check out the response (left) it gave to some of our code. So much for artificial intelligence. From printing problems to massive gyro errors (of drifting up to 1000 degrees per second... which if you think about it, is really only -80 degrees per second), our Happyboard was our nightmare. |
And Now, Here's What Really
Happened: In reality, most of the above strategy as well as our design choices got left behind as we approached impounding, mainly due to our gyro and its refusal to work until the release of Joyos v1.05 the morning of impounding, so our final strategy was to go for just our six balls, deposit at least one in a scoring area, and then rock back and forth in the center while the happyboard sang a song (check out the video to the right). this was decided about two hours before impounding when we realized there was no way to get everything working together. and actually we never got a chance to run and test the final code we loaded into our robot due to time constraints, which would explain its spectacular performance in the competition. Our "spectacular performance" consisted in turning (in the right direction!) but at the same time backing into a wall. Because we had no time to test, our turn speed was too slow and we got caught on the wall, never to move again for the rest of the minute. A timeout check would have fixed this, again, if we had had the time. |
Can you figure out the song?
|
Final Notes:
|
|