.. _odometer: Odometer ======== The odometer is a sensor that measures the rotation of the wheels of the robot. From the number of rotation of each wheel it can calculate the distance the robot has driven, the direction it is facing, and even the location the robot has reached by doing this. Unfortunately like all sensors there is a bit of noise in the measurements. This noise originates from 3 main sources: Encoder errors from sensor resolution, error in the wheel radius, and a calculation error. The noise in the measurements is 0.005m, and does not sound like much, however, there is a catch. Because the position is calculated from consecutive measurements the noise becomes a cummelative error. This means that the more distance you drive, the bigger the error becomes, and the less certain you are that the position the odometer indicates is actually the position the robot is in. Another problem of the odometer is that it is based solely on the rotation of the wheels, and as such, it can not cope with a situation where the robot is stuck but the wheels still turn. This results in the position being completely wrong. However as long as you dont drive into anything the odometer is quite a reliable and reasonably accurate way to find our position. For example: after driving around the arena, the error had added up to about 0,5m. .. automodule:: odometry :members: