Blind baby
J. Tyson 2004-2007. Last updated 02-05-07.
Find something and burn it
The Idea.
Alf was conceived as an exercise to
determine the degree of real world
repeatable positioning resolution
possible under ghetto computer
control.
Being totally oblivious to it's
surroundings; having no means to
detect obstacles or danger, Alf would
merrily run itself down a flight of stairs
at top speed without preprogrammed
data to warn of the relative position of
peril. Alf's purpose is to test the
effectiveness of various algorithms that
will allow it to best guess it's position.
Alf's main drive section assembled.
|
The Problem:
If the world were a digital construct resembling a
checkerboard this would be a trivial task. With only 64
possible places to be, Alf need only know where he is in
relation to surrounding squares and whether or not a
particular directional change will take him beyond the
boundary of the programmed universe. This type of
programming requires only the most basic of "if/then"
routines, but unfortunately does not lend itself to the real
analog world when it comes to knowing where things are -
or more importantly where you are in relation to things.
Drive gear and drive wheel detail
|
Imagine if you will a blindfolded driver in a large parking lot that has been instructed to drive in a large
circle of unspecified diameter. The likelihood of the automobile describing a continuous arc around a fixed
point are a trillion-trillion to one. (Interestingly, for reasons beyond the scope of this discussion - this
actually is possible with a unicycle) The car will quickly begin to wander, likely describing a cycloid (a
moving circle much like scribble on a page) until the boundary of the lot is reached with interesting results.
Even if the steering wheel and throttle were mechanically fixed into a particular position, it would be
exceedingly difficult to maintain a fixed radius point, and once moved all information pertaining to the
vehicle position relative to where it started will have been lost. Mechanical slop, steering geometry, and an
imperfect world in general only compound these errors. Linear movement doesn't fare much better. A blind
man pacing back and forth in a room will eventually unintentionally attempt to exceed the room's boundary.
With this in mind, Alf was constructed as a test bed to determine to what real world degree these
compounding errors could be managed under software control. It is a given that repeatability of position
without external feedback is simply and absolutely impossible. This exercise simply gives me a dynamic
platform to challenge my code writing ability and directly allows me to observe the results of what I have
written. The errors generated by drive play during direction reversal, and the pivot or fulcrum of the arc
during manoeuvre are of particular interest to me.
Basic Design:
Alf's locomotive platform is exceedingly simple. Two drive wheels at the front are chain driven by a pair of
24V DC motors with integral optical encoders that were scavenged from an EP-5420 photocopier.
Originally they were used to position the copier's scanner assembly and the encoder outputs 180
non-quadrature encoded pulses per shaft resolution, translating into two even degrees of resolution per
pulse. The final reduction ratio of 3.4615:1 (fifty-four thirteenths) decreases this figure, but unfortunately
not to any easily divisible number.
Each motor is controlled by an H-bridge FET driver and powered by a pair of 12 volt lead acid motorcycle
batteries in series. Turning is accomplished by independently driving or reversing the wheels.
H-bridge schematic (link not active yet)
The steering pivot will be an idle swivel caster mounted between and behind the main drive wheels. An
attempt was made to locate the idle caster in the optimum position to allow Alf to rotate in an axis about it's
own drive wheel when only one wheel is operating in either direction. However, this has proved to be a bit
more difficult than I had imagined. So much for basic trigonometry.
Awareness:
In the spirit of providing easily edited and understandable instructions to the drive platform, a Texas
Instruments Travelmate 4000 laptop will utilize a simple parallel port interface circuit to send drive and
directional commands to the motors and receive pulses from the encoders.
Parallel Interface (link not active yet)
No other modifications to the laptop are expected other than tapping a suitable 5 volts to power the
interface circuit. Commands will be written in GW Basic.
Page last updated: Feb 05 2007.