Like a child randomly reaching for a goal (like a cookie jar), a lot of things we learn just by being in the environment. You
have to get your robot “out there”
before it can begin to have its own
experiences from which to learn. Isn’t
this the way you learned things?
Random and hap-hazard at first.
Ultimately, you have some memory of
what to do (and what not to do).
Finally, you generalize this information
and use it in other situations or
environments. This is how we learn.
Machines can learn the same way ...
The Arduino-based Junior’s
primary mode of expression is
movement, but not just any motion
pattern — he has no goal other than
to move forward or backwards. Again,
these are the only two motion
patterns with significant magnitude.
To that end, he will try everything (all
nine motion patterns) in order to
reach his goal. In How to Program
Your Own Self Programming Robot
(Figure 2), David L. Heiserman
describes three levels of machine
intelligence: Alpha, Beta, and Gamma.
Alpha can be described as
random motion. The robot will
randomly try motion patterns or codes
until he stumbles upon 4 (forward) or
8 (reverse). Then, when he stalls or
bumps into something, he will again
try random motion patterns until he
re-discovers forward or reverse.
Beta level intelligence remembers
the successful response for a
When we last left off in
the February issue of
"Rodney Junior" was
around in his playpen,
randomly exploring his
world and eventually
learning the two
motion patterns that
traveled within an
going forward and
backwards. Recall that
there are nine possible
motion codes in a
differential drive system
including stop (Figure
1), and all but two of
the motion patterns ( 4
and 8) just rotate
around a point; that is,
they have no
By Camp L. Peavy, Jr.
48 SERVO 05.2015
Post comments on this section and find any associated files and/or
downloads at www.servomagazine.com/index.php/magazine/article/