Our Libby robot is really an little intelligent
being. It's no brain trust of course, but it has sensors, theories of
how to operate in the world, and a way to do things i.e. move around.
<= See? Touch?
It can't really see in the sense that people
do. Instead it sends out Infrared light and checks to see if it senses
any reflections. It has 2 "eyes" one for left and one for
right. They are the lights, actually Infrared Light Emitting Diodes
(IRLEDs) like those in a TV remote control. The metal sensor in the
center, between the "eyes" is a receiver like the one in a
TV set to look for something lighting up from the LED's signal. It is
tuned to just look for that signal so room light doesn't interfere with
The big wire bumper in the front of Libby is its sense of touch. As
explained, the "vision" is rather primitive so things do get
run into. The bumper tells the robot when, and on which sides, that
Many small robots have a small computer
that does their "thinking". Using our Co-Processor chip means
our robots actually have two!
Since it is expected to be easily reprogrammed by the user, the choice
of the computer language and main processor is very important. There
are many opinions as to which is the best but one language was designed
for beginners and has been popular for decades. It is called BASIC and
the B stands for Beginner's. There are many variations and different
levels of support for the different variations. We chose a Basic Stamp®
type processor as the main processor in our controller board. The company
that makes Stamp processors (Parallax) is known for their excellent
support. There are also many books, articles, and courses tailored to
the stamp product family. In fact, we provide several of these books
and courses on the included CD. They are also available in printed form
from Parallax. While most Basic Stamp® type robots use
a BS2 stamp, we used the top of the line BS2p40 processor in our controller
board. It has much better performance which both helps the beginning
programmer and then goes on to allow the more experienced to go further
<= Rules of Engagement and
There are different philosophies used to
program robots. One is to program for all possibilities and act on the
current and past conditions. Another way is to give some rules on how
to handle some different conditions and then give priorities for the
handling. This is how our robots are programmed. There is a fancy name
for those operating rules and that is "Subsumption Architecture".
Actually, like many terrific ideas, it is not very difficult to understand.
Simply put, if no sensors are sensing anything, Libby randomly wanders
around. If he "sees" something, he will take action to avoid
it and that will take priority over the wandering. If he bumps into
anything, he backs up and moves to get out of its way. Bumping takes
priority over everything else. As simple as it is, it gives rise to
"emergent" behaviors. Those are actions which were not specifically
programmed for. It all makes for an interesting little robot. More to
the point, even though the Co-Processor executes this code, it is still
under the control of the Stamp processor so you can change the program
to get entirely new and different behaviors.
Finite State Machine programming is a technique often used with Subsumption
Architecture. Both are covered in more detail on this page.
<= How about a little help
One issue with a Basic Stamp®,
is that it can only do one thing at a time. As soon as you want to start
expanding the robot, that can be a problem. As people sometimes need
to know how to "walk and chew gum" at the same time, sometimes
it is very helpful for a robot to be able to do multiple things at once.
To allow this we add a second processor called a Co-Processor. This
second processor can be told by the program in the main Stamp processor
to do several different things and it will keep doing them without further
attention from the Stamp. Besides allowing more expansion it, again,
helps the beginner get going by making it easier to program the main
you are using a main processor that can do several things at once? Sometimes
it is just a lot easier to let some or all of the real-time things be
handled by a Co-Processor. If you are a beginner, it can get you started
quicker. If you are more experienced but are trying to do a lot at once
it can also be a big help.
Co-Processors aren't all the same. Some co-processors only do one very
simple job. Others do a limited version of a couple things. Our Co-Processor,
while very simple to control, is a very sophisticated device that allows
a lot of simultaneous actions .
<= Power Supply
The Power Supply is an important part of any robot.
Here is a quick guide to simple robot power
<= Servos and how the robot
Libby has two servo motors driving the
two large wheels. Click on this servo
link for a description of what servos are and how they work. The little
back wheel is just for balance. A tank, when it turns, drives the two
side treads at different speeds. This is similar to what happens with
Libby. It is called differential steering. Some commercial lawn mowers
use this as well as it gives terrific maneuverability. The motors are
modified versions of hobby radio control servos. Typical units have
lower cost sleeve bearings. Because servos weren't really designed to
handle being load bearing drive axles, we used premium units with 2
ball bearings in each servo. They give quieter and longer life.
We make a big case over our controller
board's expandability. With some kit robots, when you are done building,
you can do some simple programming and then either you are done or you
have to go into expensive options to try to overcome shortcomings in
the basic controller board. The processor usually just doesn't have
the performance to expand into all the wonderful possibilities available
to a little robot today. There is also the issue of where do you put
all the stuff you want to add? Understand now why we used a processor
with extra Input/Output ports and added oversized power supplies, etc.?
Our 2p40 controller board was designed from the start to give our robots
the room to keep growing. If your project needs more I/O or
features like IRPD vision, bumper inputs, true A/D, timers, or servo
controllers, check out our Co-Processor PCB Kit.
<= Further Reading
Parallax Inc., the company that makes the
Basic Stamp® processor we use, has excellent texts that
can be downloaded for free on the web.
"Stamps in Class" is their overall list. Of particular
interest are the textbooks,
a Microcontroller? v2.0 (330 pp - PDF - 5.15MB),
Robotics with the Boe-Bot version 2.0 (340 pp - PDF - 7.81 MB).
If you are a fan of Biped walker robots, you can even look at their
"Toddler" robot covered in the book
Advanced Robotics ver 1.3 (244 pp - PDF - 7.94 MB).
We were pleased to contribute the Real Time Programming Chapters (8
and 9) to this version of Advanced Robotics. Appendix C is even
about our Co-Processor!
These books are also available from Parallax in printed form. Reading
the microcontroller and robotics texts will give you a background in
Stamp based hobby robots. If you buy our Libby robot, we give you those
courses on CD. The texts are designed for you to follow along and build
the experiments on the Parallax Board of Education (BoE). But, please
consider buying our board or robot before buying the Board of Education.
We use a the much more powerful Basic Stamp
2p40® processor than the one on the BoE and our unique
Blue Bell Design Co-Processor greatly
magnifies the robotic power of the Basic Stamp® You can
probably learn most of the lessons by doing "thought" experiments
only. If you want to actually touch the hardware, you can use our controller
board and get a solderless breadboard and the parts. Since our main
processor is a genuine 2p40 chip, the experiments will still work just
fine. When you are finished, you'll also be left with a much larger
breadboard for your future work. And, unlike the smaller BoE-Bot, an
easy to make Libby style robot can have plenty of room on the back deck
for the larger breadboard.
Parallax also has
Downloads created by Parallax educational partners about how to use
the BASIC Stamp® microcontroller in education.
Did this make sense?
We hope this page was clear enough to help
you understand some of the concepts of a modern runabout hobby robot.
Convinced yet to get a Co-Processor, or our Controller Board? We hope
so, we are very proud of the our product line.