User manual

RP6 ROBOT SYSTEM - 2. The RP6 in detail
2.3.6. Encoders
The encoders work completely different compared to the
previously discussed sensors. They consist of reflective in-
terrupters and code wheels which are attached to one of
the gearwheels in each gearing system. This setup is used
to determine the rotational velocity of the Motors. Both en-
coder wheels have 36 segments (18 black and 18 white
fields, see figure). While the gears rotate, these segments
move along in front of the reflective interrupter. The white
segments reflect the IR-Light, whereas the black ones will
only refelct a minor amount of light. Just like the other
sensors the encoders produce an analog signal, but it will
be interpreted digitally. First of all the signal has to be
amplified and subsequently converted to a square wave signal by a so-called Schmitt
Trigger. Both rising and falling edges of the signal (changes of 5V to 0V and 0V to 5V)
trigger an interrupt event and these event are counted by software. This way the driv-
en distance can be measured and together with a timer the rotational velocity can be
calculated.
Determination of the speed is the main application of the encoders. Encoder feedback
is the only reliable way to control the motor speed. In an uncontrolled system, the
motor speed would be depending on battery voltage, load and motor parameters. The
high resolution encoders even allow us to reliably control rather slow speeds.
Each of both cluster gears in the middle of the gear-
ing system provide 50 teeth at the outer and 12
teeth at the smaller inner gearwheel (see figure).
The code wheels are located at the gearwheel next
to the motor pinion gear, thus we can calculate:
This is where the 36 Segments come from, because
this results in an integer number without fractional
part for a complete wheel revolution. The encoders
generate 625 egdes per revolution and whereas each represents one segment.
A wheel diameter of around 50mm including the rubber track theoretically results in a
wheel circumference of approximately 157mm and thus 0.2512mm for each counting
unit of the encoders. However the tracks may get deformed under pressure or they
may get pushed into flexible surfaces. Therefore we can directly assume a maximum
of 0.25mm for each counting unit. Often we will have to apply even less: 0.24 or
0.23mm. Calibration values may be determined by driving well defined test distances
as described in the Appendix. This is not accurate because of slippery and similar ef-
fects. Moving straight forward will cause minor encoder accuracy errors, but rotating
the robot will result in increased deviations. Especially rotating the robot on the point
will cause deviations.
Deviations can only be determined and corrected by testing, trial and error. This is a
drawback for all caterpillar drive systems in our robot and in more expensive as
well. Compared to robots with a standard differential drive unit with two wheels and
an additional support wheel the caterpillar systems allows a far better behaviour in all-
terrain surroundings. The caterpillar drive system will easily overcome small
- 23 -
50
12
50
12
=17
13
36
; 17
13
36
36=625