The robot is based on a differential drive and must use the following motors:
* Motors A and C :: Attached to the wheels. Used to move and steer the robot.
* Motor B :: Attached to a gripper claw. Used to catch the ball.
It must also use the following sensors:
* Ultrasonic ranger :: Used to find the ball. Attached to port 1.
* Touch bumper :: Used to detect obstacles. Attached to port 2.
* HiTechnic compass :: Used to steer and move with some precission. Attached to port 3.
* Greyscale light detector :: Used to find the start and goal lines. Attached to port 4.
** Subsumption
The controller uses the following five behaviors:
* Wander :: Simply moves the robot forward.
* Search :: When the goal line is found the robot will start searching for the ball using the range sensor.
* Catch :: When the ball has been found the robot will attempt to grab it with it's gripper.
* Victory :: When the start line is crossed the robot will stop moving a play a little tune.
* Avoid :: If the robot bumped against an obstacle then the robot will move a bit to the right to avoid it. It may take many attempts to clear a wide obstacle.