This gearing represents a simple solution for the
problem of synchronisation of a two motor-driven robot. It permits even
a blind navigation without having to read the rotations of each wheel.
How does this work?
The wheel-rotations are transported to the differential-gearing
from the right side reversed, from the left
side double reversed e.a. the same direction
as the left wheel itself. This forces the differential-gearing to turn
at a certain speed, which is exactly half the difference between the left
and the right wheels' speed.
So you'll only have to add a simple angle-sensor
-which we made using a 50k potentiometer- to the differential-gearing.
Program your robot in order to adjust the resistance of the potentiometer
to a certain value. The position of the differential-gearing and consequently
of the potentiometer may be set by changing either the speed, either
the direction of both motors individually. A potentiometer normally has
a 270 degrees-range which does well the job, if the potentiometer-axis
is geared large enough.
The CAD-drawings of the Direction-master
(II) show the gearing to divide the speed of both the w(d) and the w(a).
This allows specially the angle-sensor to read values over a robot's
whole turn. Concerning the use of the optical
rotation sensor for the reading of the sum differential-gearing, as
shown in the drawings, it could be better to multiply the w(a) speed by
the means of a gearing rather than to divide it. The actual design gives
only an accuracy of 1 impulse = +/- 4 cm.
System-inherent errors may be caused for example by:
Non-systemic errors are rather dfficult to be controlled in any way, without loosing orientation. One might equip the robot with bumpers, ultrasonic sensors and other obstacle-avoidance sensors and program the robot accordingly. Here the limits of odometry methods appear clearly.
Wheel-slippage could be controlled by avoiding
overacceleration.
It could be helpful to introduce special
motion controlling wheels called encoder wheels or even encoder trailor
which are different from the traction wheels. These wheels are less likely
to slip.
The direction-master presents a problem of the idle wheel. This auxiliary wheel disturbs correct alignement of the robot after turning, so that it will start swinging slightly. A solution could be a construction of the robot where the idle wheel has to support less weight.
As anyone can see, these odometry error
controlling represent a rather interesting domain of robot-design.
For specialists we propose the challenge to design an out-door variant of the direction-master that will be able to refer to the sun. A light-sensor-equipped robot would do the job. After initial calibration, the robot should travel a certain distance in a given direction, then search the direction of the sun and compute the correct South-direction by using the robots internal watch, then return to travel in the given direction by operating an internal south-adjusting.
Pointing the number 12 of an analog watch in direction of the sun will give the South-direction as half the angle between 12 o'clock and the actual position of the hour hand.
Use the setwatch(hours,minutes) command to set the internal clock. If you tell the RCX to store the time in a variable by instructing setvar(VarNumber,Watch,0) or setvar(VarNumber,14,0), it will store the time in minutes.