What is an Encoder?
An encoder is a type of transducer that converts information about the position of a joint signal that is fed back to the robot's controller.
Three types of Encoders:
Incremental Encoders: The simplest encoder is the incremental encoder. This encoder consists of a series of transparent and opaque windows and a couple of sensors that provide a two phase signal as the encoder moves. The two phases "A" and "B" are 90 degrees out of phase with one another. When "A" leads "B", the motor is turning in one direction and when "B" leads "A", the motor-encoder system is turning in the other direction. Thus there is a way to determine direction. The actual cycles that one signal goes through over a period of time determines how far the encoder has moved. Incremental encoders can provide up to 1,000 pulses per revolution.
Absolute Encoders: When the absolute position of a shaft is needed, an absolute encoder is used. Absolute encoders have a series of rings on the encoder plate with each ring having graduations that are twice as fine as the one inside it. The system has the advantage of giving the user the position of the shaft at all times without any calculations or doing a home routine. Absolute encoders with up to 16 rings of binary coding are available. These encoders can give the position of the shaft to within 1/63,536th of a revolution (1 part in 2^16).
Combination Units: Combination encoding schemes consist of using a coarse absolute encoder and then keeping track of how many times the unit has gone around. They provide the advantage of not having to look at an incremental encoder at all times. (i.e. less frequently without missing a count)
These three encoder schemes all provide positional information. That is how distance is determined. By dividing the distance by the time, the speed of the system is obtained. By making the calculation often, close tabs can be kept on the system.
Two sample pictures of an encoder: