User manual
RP6 ROBOT SYSTEM - APPENDIX
B – Encoder calibration
The effective encoder's resolution depends on the real wheel and rubber track diamet-
er. The caterpillar's rubber tracks get pressed into the surface or get impressed them-
self. Additionally, manufacturing tolerances cause variations in diameter sizes. To
compensate for these deviations we will have to perform some measurements and
calibrate the encoder resolution.
Just to avoid misunderstandings: This instructions are NOT about
adjusting the Encoders to deliver a proper signal! That is a completely differ-
ent topic. This text here is about calibration of the encoder resolution.
The resolution is the distance covered with each encoder step. A theoretical value for
the robot's resolution is 0.25mm / encoder step, but from practical experience we de-
rived resolution values ranging from 0.23 up to 0.24mm. To calibrate the encoder's
resolution, we let the robot drive a predefined, long and straight distance (e.g. one
meter or more), which subsequently has to be measured accurately with measuring
tape. In order to show the number of encoder steps, the robot is connected to the PC
during this movement. The USB cable and the flat ribbon cable will have to be guided
loosely over the robot – do not pull or hold the cable! The bumper's PCB-front-side
could be aligned exactly with the beginning of the measuring tape. Adjust the robot's
path accurately to a straight line parallel to the the measuring tape.
As an exercise, we suggest to write a program for actuating the robot to drive exactly
one meter. Alternatively you may also choose 2 meters or any other distance (most
important is that the cable is long enough). Of course you may re-compile the pro-
gram for various distances and reload the modified program to the robot. Each pro-
gram version should output lists of the covered distances in encoder steps. (If you are
too lazy – there is also a menu option in the selftest program that can do this ;-) )
One meter corresponds to exactly 4000 encoder-steps at a 0.25mm-resolution. Now if
in a test run the robot moves only 96.5cm = 965mm and the counter reports a total
count of 4020 encoder steps, we may calculate a resolution of approximately 0.24mm
by simply dividing 965mm by 4020. Please note these values in a table. Repeat the
calibration procedure a few times and note the values in a table. Now calculate and
enter the average value into the parameter-field ENCODER_RESOLUTION in the file
RP6Lib/RP6Base/RP6Config.h (a relative path from the main example program direct-
ory – don't forget to save the file!), the re-compile the program and load it into the
robot. Repeat this test thrice. Each test should improve the results in driving exactly
one meter's distance. If no improvement is observed, repeat this and enter the new
value in the configuration file. You will however fail to perform a 100% exact calibra-
tion – to do so you would need lots of additional sensors. Rotating the robot on the
spot will even deteriorate calibrations. These rotations will cause the caterpillars to
slide on the floor, resulting in much shorter real distances with respect to measured
values. Results will heavily depend on surface conditions. Slipping conditions on a par-
quet or a carpet may vary the caterpillar's calibration parameters slightly. Therefore
you always have to consider calibration tolerances up to 10° (for rotation). Addition-
ally certain surfaces may cause the robot to slip aside. To include these side effects in
calibrations you will need to do some more trials.
You can try to lift up the robot while it is rotating at the front Bumper Panel, such that
only the back wheels touch the ground. You will notive how much faster the robot
turns now – this gives you an idea of how big the difference is.
- 133 -










