Our robot is built using pieces from the Lego Mindstorms kit and from the Critters addon kit.
The robot is propelled by two wheels, one on each side. Each wheel has its own motor and is hooked up to a separate output (output A goes to the left motor, and output C is connected to the right motor). The wheels are connected to the motors through a set of gears. There are two gear reductions, first from an 8 tooth gear (the smallest) to a 40 tooth gear (the largest), then from a 24 tooth gear (on the same axle as the 40 tooth gear) to another 40 tooth gear. This gear working was necessary to give the motor enough power to smoothly move the robot. Forward motion is accomplished by having both motors go forward, and reverse is done by putting both motors in reverse. Right turns are made by having the left motor (out a) go forward, and the right motor (out b) go in reverse. Left turns do the opposite - the left motor goes in reverse and the right motor goes forward. When the robot is turning, it pivots about an axis in between the two wheels.
There are three sensors attached to the robot - two touch and one light. The light sensor faces the ground in front of the robot. It's set to active mode and reads light values from the ground. It's used to differentiate between the white background and gray or black lines. One of the touch sensors is mounted on the front of the robot facing forward and is used to detect walls. The other touch sensor is mounted on the top of the robot. It's used as a resume button to tell the robot to continue if the robot gets off course and needs manual alignment.