Building an autonomous robot is a goal of many robot enthusiasts. If you look
up autonomous in the dictionary, you will see terms like “self directed” and “self
sufficient.” If you apply the first term to a robot, it simply means that the robot
is capable of accomplishing a task without human intervention. The second term
suggests a deeper commitment. A self sufficient robot might be one that is
capable of repairing itself, or at the very least, capable of recharging its own
battery so that it can operate independently for extended periods of time.
It is important to differentiate
an autonomous robot from an
intelligent one. Intelligence generally
implies reasoning or deduction.
An autonomous robot does not
necessarily need to be intelligent,
although an autonomous robot may
appear to be intelligent to those
watching it perform a task — especially
if it can independently accomplish its
goals despite unexpected changes in
its environment. The real difference is
in how the decisions are made. This
article will only address the topic of an
autonomous robot.
As a serious robot hobbyist, you
may have built an autonomous robot
or at least attempted such a project.
If you have, you were probably
surprised by the cost and complexity
of building something capable of
dealing with a variety of environments
on its own.
38 SERVO 01.2009
It should be obvious that an
autonomous robot needs one or more
sensors to monitor the world around
it. The real problem is understanding
what sensors are actually needed. To
help make this point, imagine a variety
of situations where humans have to
deal with the world. Someone that is
blind, for example, would need to rely
on other senses such as hearing or
touch. Even if someone can see
though, they still might need other
senses to accomplish some goals
efficiently; humans often use
hearing to determine where to direct
their vision.
Just as people with limited senses
can learn to handle the problems
they encounter, a robot can be
programmed to deal with its
environment using only one or two
sensors. The programming might,
however, be much easier if an
appropriate combination of sensors
is chosen. Let's look at a specific
example to illustrate the point.
Assume that we are building a
robot that can navigate through a
cluttered room. This might be possible
using only a camera, but the software
needed to analyze the images could
be very complicated. We could use
some form of infrared object
detection around the robot's
perimeter, but how many of those
sensors would we need to ensure
failsafe operation? If we have infrared
sensors do we need bumper
switches too? And what about an
ultrasonic or infrared ranger that can
measure the distance to objects
instead of just detecting that an
object is close by? Would one or more
of those make it easier to program
the robot or would they just be an
unnecessary expense?