MASLab 2002 Kit
Students are provided with basic mechanical parts: DC gearhead motors with optical encoders, servo motors, and a supply of plexiglass, plywood, bolts, and other useful items. They also have access to several types of sensors, including ultrasound rangefinders (range of ~3m), infrared rangefinders (range of ~80cm), switches, buttons, etc. Each team gets an infrared receiver, which is used to detect the beacons (waypoints, targets, navigational beacons). The infrared beacons and receivers were designed by members of the MASLab staff.
The students have a fairly capable computational platform at their disposal. They program in C or C++ using standard GNU tools (gcc, gdb, etc). The code is downloaded onto an iPAQ handheld computer running Linux, which has 64MB of TAM and runs at 206MHz. The iPAQ has no built-in ability to drive motors or perform other robotics-related functions, so these capabilities are added via an external daughter-card (known as an "ORC"), interfaced via PCMCIA. This hardware was designed specifically for MASLab. During development, their iPAQ uses a wireless network card which greatly assists debugging. Teams were provided with a library that implements very low-level capabilities such as "turn the left motor on and put it at 85% power". All higher level behavior, such as "go straight" or "turn right" had to be implemented by the students. Many Teams have implemented PID control loops or heuristic controllers to achieve robust control over their robots' low-level behavior. High-level behavior (What should I do? Where should I go?) is a further challenge, and the teams have approached the problem from many directions.