Use a gyro to return the robots heading relative to a starting position. As the robot rotates the new heading is computed by integrating the rate of rotation returned by the sensor. When the gyro is instantiated, it does a short calibration routine where it samples the gyro while at rest to determine the default offset. This is subtracted from each sample to determine the heading.