6.270 - IAP 2000 6.270 - IAP 2000
here's the contest site
project log
design report

team 4 - nication
group members: Chris Avrich / Albert Leija / Nick White


Team 4 in lab before the qualifying round. Although this shows an earlier version of our design, you can still see that a block is being sucked up in the photo. This was the only picture of our robot available when this page was composed, but for pictures of the final robot design, and closeups of specific functional parts, check Chris Avrich's Design Report.


Premise

Our first basic idea was to have a fairly speedy robot that could pick up most of the blocks (including those from the opponent's campus), and then come back to our campus where it was relatively safe. Once there, we could sort the blocks (Hacker or non-Hacker, Professors included). We would then drop them either in our jail or out on our campus, depending on their type. The basic route we chose was as follows (or symmetrically equivalent).




Functions

The basic structure of our robot was as follows:

Sucker: This construction is angled downward in the front of the robot to bring blocks upward into the robot. We used spinning Lego tires to grip the blocks, and mounted them on shocks so that they could flex a bit as they brought the blocks up. There is one motor attached to each side of the sucker, geared down 2:75.

Whacker: Once blocks are drawn into the Sucker, they pass into a small chamber where (a) they are scanned with a red LED and a phototransistor to determine their type, and (b) pushed in one direction or the other using some Lego attached to a servo. The upside-down base plate under the whacker is angled slightly backward so that the blocks will slide down into storage bins in the rear.

Excretor: There are small gates in the back of each bin that can be activated independently to release a certain type of block at a given time. We planned to program the robot to "do a little jig" (drive forward and back quickly) when the flaps opened to shake the blocks out.

Collector: This was a sort of plow in the front of the robot that would direct blocks into the sucker while the robot drove around the board. We applied rubber bands to the arms of the Collector, so that if we hit a wall or the opponent, they would flex instead of breaking off. Since our robot was quite large, we needed to have the Collector mounted vertically at the start of a round, and flip down as soon as it began. It was kept in place with an attachment to the servo that would latch it down, and when this was moved, rubber bands were used to create the tension needed to flip the Collector down.

Drive wheels and gear train: This is all underneath the robot, and mounted to the base plate. We have two drive motors attached to each wheel at a 1:27 gear ratio.

Sensors: We had one touch sensor at each back corner of our robot, one on each side near the wheel, and two on each arm of the Collector to detect flexing both inward and outward. We also had our four orientation photoresistors attached to the IR Beacon's dowel, an LED/phototransistor pair for block scanning, three more LED/phototransistor pairs on the bottom for line following, a photoresistor on the bottom for start light detection, and shaft encoders on the drive motors to drive straight.


Performance and Results

In the qualifying round, we qualified with a loss. Our robot managed to orient itself properly, start on the signal, and deploy the Collector. It then drove to the right, made a left, drove to the opponent's side of the board, made another left, and drove about two feet before stopping. Unfortunately, it sucked up one Innocent student block and moved one Professor and two Innocent students to the opponent's side of campus in this process, thus scoring them points. But we had shown the ability to score, so we qualified.

Before impounding, we had several problems with our strategy and design. (It didn't help, of course, that the controller boards had been delayed. We used the Skiff board, by the way, because we needed the motor ports.) First, we realized that line following was too inaccurate and slow to be viable in our design. So, we chose to replace it with dead-reckoning and wall-following for distances and turns. Then, the main problem that remained was block sorting using the Whacker. See the logs for more details, but basically, we tried several ways to get block scanning to work, and none were successful. As time was running out before impounding, we took out the Whacker entirely and just planned to let blocks flow into our robot indiscriminately as we moved around the table. Then, we would release them all on our campus, and that theoretically could net us 10 points (6 for the two Professors, 1 for the two extra Innocents from the opponent's group of 10, and -1 for the opponent for losing those students).

In round 2, we took another loss to eliminate us from the contest. We started and oriented properly, but we began facing left, which was an orientation that we hadn't tested as well as others. We ended up just driving and getting stuck in the corner. Also, we had the persistent problem of not shutting down properly at 60 seconds, but it didn't really matter since we'd lost anyway. In the finals, we had an exhibition match, but by then our rubber bands for deployment of the Collector had become less elastic, and our Collector deployed late, getting stuck on the outside wall of the table and disallowing our robot from further movement. However, we did manage to suck in the one corner Hacker block and beat our opponent 2-0.