Team 50: LadyBug + BumbleBee
members : chen, luxiou : swanton, dan : tian, zane
Strategy: Sting and Score
We went for the simplest, most obvious, least risk-involving strategy possible: Go straight up the ramp, get 1 or 2 balls, then come back down and sit in the middle. Thats it.
Oh wait, there was a twist - we also wanted to completely screw over the other robot's chances of scoring even a single point.
The design of our robot materialized sometime during the first week, and didnt change much throughout the contest. Our design actually called for 2 robots, one namedLadyBug and the other namedBumbleBee. Ladybug was a skinny robot with 2 "wings" sticking out of her sides. Her job was to drive straight up the ramp until she hit the wall, at which point she would flap her wings down and color sense the set of 2 balls closest to the wall. Each wing had a light sensor buried underneath it that performed the color sensing. If LadyBug liked either of the balls, she would keep its respective wing in the down position. The wings carried small gates that trapped the ball inside. Otherwise, the wing would flap back up, signaling that LadyBug had rejected the ball. At this point LadyBug's logic branched based how many wings were still in the down position.
If both wings were in the down position, that meant LadyBug had both of our balls, and therefore she simply drove backward and stopped somewhere in the middle plateau. (we used shaft encoding to somewhat accurate gauge this distance) We score 2 points, while pushing both balls of our opponent's color down into the lava pit.
If both wings were in the up position, that meant LadyBug had rejected both balls as not being of our color. In this case, she drove back a bit, stopped (again using shaft encoding to approximate distance), and flapped down both wings on the second set of balls. She then drove backward and stopped somewhere in the middle plateau. Note that if neither of the first 2 balls were of our color, then we are assured that the next 2 balls are indeed ours. Again, we score 2 points.
If one wing was in the up position and the other in the down position, that meant LadyBug had found exactly one ball of our color. So in this case she backed up to the second set of balls, stopped, and dropped her remaining wing. She then drove backward and stopped somewhere in the middle plateau. In this case we score either 1 or 2 points, depending on how clever our opponents are in choosing our ball configuration.
Now for BumbleBee! BumbleBee was connected to LadyBug by a lego faceplace tether, and his only task was to drive full speed across the table (perpendicular to LadyBug's path) and hopefuly manhandle the other robot into utter submission. BumbleBee was both fast and heavy - he was quad-driven with 1:25 motors, and in addition he carried our battery back. BumbleBee was designed to have enough speed and momentum to be able to impact most robots as they were just starting up or orienting. In most cases BumbleBee was able to pin the opposing robot flat against the opposing wall.
Even if the opposing robot manages to sneak by BumbleBee, he still prevents opponents from positively affecting their score. When opponents try to bring/knock balls back down the ramp, BumbleBee is able to stop those robots dead in their tracks. Moreover, we almost always oriented our opponent's balls such that the balls of our color were closer to him; this way he would be forced to reject the initial set of balls. If he did so by sending the balls down the hill, then there was an excellent chance that Bumblee would be there to catch the stray balls and thus allow our opponents to score additional points for us.
Third round, top 15 of 60. Our robot lost in the
first round because the lighting conditions were drastically different during
the contest than on the testing table [yes, we had on-the-fly ball color calibration;
no, it didn't matter]. The second round we won convincingly with a score of
3-0. The third round we lost to a kamikaze robot. It was very frustrating to
have spent a tremendous amount of effort creating a robot with a legitimate
chance of winning only to have two quick losses due to factors outside of our