6.270 : Attack of the Drones

Team #11 (eleventy-fun)

The Strategy

The basics of our strategy were:

Anatomy of the Whirling Dervish

Picture of the Top
of the Robot Picture of the Underside of the Robot

The Structure

The 6.270 competition rules require that all structural components of the robot be made of Lego. This would be practically impossible if not for the buckets and buckets (well, boxes and boxes) of spiffy Technics legos. These allow for robust, reinforced designs which don't break apart when stressed.

The basic structure of the robot is a large, open-front box into which balls can roll (through the one-way gate). The concept is relatively straightforward, and was used by several teams.

Our largest mistake was not making the entrance to the ball area large enough---by placing the wheels on the outside of the ball area, we limited the gate to approximately 4" in width, which made picking up balls spread 8" apart more difficult than if we had built in a wider aspect.

Gears, Motors, and Servos

There are four servos and two motors driving various parts of the robot.

Electronics

HandyBoard

The largest component of the electronics is, of course, the Handyboard---a microcontroller with sensor ports, motor drivers, servo drivers and a 31 character display. In addition to the normal HandyBoard, we built and used the expansion board, which allows it to control more than one servo (essential to our design).

IR Beacon

The IR beacon uses an infrared LED (light emitting diode) and an IR receiver to calibrated to differentiate between black and white sections of the table.

In order to prevent trouble due to differing light levels, we set the IR beacon reading thresholds for black and white in our 60 second calibration at the beginning of each match

Analog Devices Gyroscope

We used the Analog Devices gyroscope, mounted directly into port 6 on the Handyboard, to determine our relative angle. The most interesting part of the gyroscope is it's control code.

RF receiver

The RF receiver allows the robot to receive the start_machine command (which officially begins the competition and spawns a thread to turn the robot off after 60 seconds) as well as to query the OverMind Computer for its own position, the position of it's opponent, the current red and green score and the current winner of the vote.

Control Code

The code is all written in IC, a C variant which runs well on the Handyboards and allows interactive testing when the board is connected to a computer. Throughout the course, we built up a library of functions which were used over and over, with some modifications, for each of the assignments and for the final competition. In its final form, this is robotlib.c. This includes: Once all these library functions were working, implementing our strategy was the matter of a few minutes. Unfortunately, the navigateTo function was relatively untested and unreliable at impounding, so the code used in competition was likewise unreliable. In retrospect, we should have chosen to use gyro-enhanced dead reckoning, rather than relying on the RF to keep our position relatively up-to-date.
Back to the main Team #11 page
eleventy-fun at mit dot edu
Last modified: Thu Jan 27 02:40:32 EST 2005