P.S. This is entered in the robotics contest, so votes would be appreciated. Thanks!
Step 1: The Game
The game was played with six robots at a time—three on the red team and three on the blue team. We'll get to the robots themselves in few steps, but they all had the ability to move the plastic balls around. The teams could score points by placing the balls in their color-coded goals—regular white balls were worth one point, special red and blue balls were worth two points. Only a few balls started out on the field, but the robots could get more by knocking over wooden blocks with balls on top of them, driving up one of two ramps onto a raised platform, or pressing a button that caused a ball to be spit out from a ball launcher in one corner of the field. All of this required teamwork: if only one robot drive up a ramp to the raised platform, the ramp would tip and the robot would get stuck. For one robot to make it to the top, another had to hold down the bottom of the ramp. The robots could also coordinate launching the balls with positioning a pivoting wall in the center of the field so that the balls would be deflected directly into their goals. There were only three two-point bonus balls: one on top of the raised platform, one trapped under a crate on the field, and one at the end of the ball launcher's magazine.
Step 2: Building the Field
We use a building system called Tetrix, which includes various aluminum pieces, motors, gears, and wheels, to make our competition robots. Tetrix parts made up most of the ball launcher, as the pictures show. We also used parts from the Lego Mindstorms NXT kit: the NXT brick (a microcontroller) controlled the motors and received input from two Mindstorms touch sensors (switches). The actuator that pushed the balls forward was also made from Mindstorms parts. We programmed the ball launcher so that when either sensor was pressed, two wheels (padded so that they fit better) would start spinning and an x-shaped actuator would push one ball forward to launch it. There was a small delay added after each shot so that the kids couldn't just hold the button down. The ball launcher was programmed using the ROBOTC language.
The off-balance ramps were made with Tetrix parts and foam poster board. Their pivot points were off-center so that they would lean one way by default.
The raised platform was made from a cardboard box, as were the red and blue goals.
For the floor of the field, we used foam tiles (the same ones that are used in FTC competitions). The walls of the field were made from PVC pipe and wood.
This all took a few months to design and build, and we went through many versions before settling on this one. For each design, we tested it with actual robots to see how well it would work. (We didn't have any actual fourth graders on hand to drive them, so we had to use freshmen instead.)
Step 3: The Robots
The students' job was to build a "claw" for their robots that could be used to move the plastic balls around. The student groups were each given a bin of interesting parts and a high school mentor to help them. This let them do something that didn't take too much time, but made each robot unique and gave them a sense of accomplishment. After the kids had driven their robots around for a while, we let them make improvements to their designs. This helped them learn the value of an iterative design process.
The robots were controlled via bluetooth from laptops using this software. They were driven using the arrow keys. While it is possible to connect multiple robots to one laptop via bluetooth, we encountered stability issues when we tried it. Since we had enough school laptops available, we used one per robot.
Step 4: Letting the Kids Build
After they had each gotten a chance to drive, we told them to take their robots back and improve them. They discussed what had worked and what hadn't and made changes accordingly.
Step 5: Playing the Game
Looking back on our day of service project, we're pretty proud. We introduced hundreds of kids to the ideas behind DIY and got many of them interested specifically in robotics. We hope that other people can take what we did and make something even better.
P.S. If you want to know more about the team, visit madisonrobotics.org.
We'll have a video of the game up here very soon.