SO YOU WANT TO BUILD A ROBOT
BY S.D. KAEHLER
This article is based somewhat loosely upon a presentation given at the regular
February 2006 monthly meeting of the Seattle Robotics Society. The presentation
slides can be found on the SeattleRobotics Yahoo Group in the “Files”
area. You can access it by joining the group (http://groups.yahoo.com/group/seattlerobotics).
The presentation upon which this article is based and the article itself are
intended to get your creative juices stirring and so won’t present a lot
of detailed technical data. However, they will present a way to navigate through
the overwhelming amount of information available and try to provide a method
for determining what makes sense for you.
Introduction
I won’t pretend to be an expert on any of the subjects presented here
so please don’t make that assumption about me. In fact, I know relatively
little compared to the vast storehouse of knowledge in the heads of so many
other SRS members, but I’ve learned a great deal just from being around
so many creative and talented people, asking questions, and seeing what they’ve
done, etc. I hope you will be inspired by this article not only to build something,
but to share what you’ve learned with the rest of us. Together, we can
help each other learn more, start, improve upon, or even finish our own projects.
I hope you will see gaps in this presentation that you can fill with your own
sometime. I would enjoy having SRS members regularly presenting on topics they
understand and want to share about. I will touch on many things briefly and
lightly. Each could and should be its own presentation. I hope you all will
help make this happen.
The following questions served as the outline of the presentation.
Neither the presentation nor this article is a sales pitch for any particular
products or methods, so consider the product information in light of your abilities,
goals, and finances.
So We Begin…
People outside the SRS really don’t understand the challenges of building
autonomous machines. They don’t realize that how well we humans can adapt
to environments, situations, and problems is one inspiration for trying to emulate
this in the machines we attempt to make. Our robots typically cannot simply
be turned loose in the great wide world. They are vulnerable, have limited ability
to learn and adapt, and must be fed regularly. They are rather like human infants,
often requiring as much attention and protection. But this doesn’t stop
us from trying, dreaming, scheming, experimenting, learning, and growing in
this ambitious hobby. Let’s start with the first question.
Why do I want to do this?
Many people get into this hobby as an educational experience. This is a great
reason because you will learn a lot. You’ll learn about electronics, mechanics,
programming, construction techniques, materials properties, artificial intelligence,
logic algorithms, and a ton of other things. You will probably learn more about
what you don’t know than what you do know because many disciplines come
together in a robot and the more you learn, the less you’ll realize that
you know. So as an educational exercise, robotics is hard to beat.
Some people want a hobby that’s fun and enjoyable. Building a robot certainly
offers this and is a creative outlet for people looking for that “really
interesting” technical challenge. I won’t lie to you though. Building
a robot isn’t easy, but it is very rewarding and gives you a great sense
of accomplishment.
Maybe you have tons of money and nothing to do with it. I wish I had this problem,
but I’m not Bill Gates or Paul Allen. I can promise you that your robot
will consume as much money as you feed it, so bear this in mind as you embark
down the various possible paths I’ll be outlining.
Some people are competitive and build robots for contests, maybe hoping to
win some money or prizes. This is a fun, sometimes grueling path, but a worthwhile
effort. Perhaps the incentive of an attractive prize will provide the motivation
you need. Maybe you have talked about doing this but have never quite gotten
that final push, but then someone challenges you to do it. Or maybe we’re
all just a little crazy….Whatever your reasons, you’ve taken the
first step on an interesting journey, now let’s look at some other steps.
|
 |
 |
Sony AIBO Robotic Dogs |
Evolution Robotics Robot |
Where do I begin?
You have found one of the best resources in the world for building robots by
connecting with the Seattle Robotics Society. Next year will be the 25th anniversary
of the SRS’s existence. Our website (http://www.SeattleRobotics.org/)
is a treasure trove of information. You’ve made an important first step
just by attending a meeting (apologies to those not local to Seattle). Come
regularly, contribute to the collective knowledge, present on things you know
about so we can all learn, ask about what puzzles you. The monthly meetings
offer you a chance to meet like-minded people face-to-face, share your successes
and struggles, learn about new technologies, and enjoy the comradery of a very
unique group of people. Contribute to the collective experience at our meetings
and events like the annual Robothon (http://www.robothon.org/)
& other events. Participate in our annual Robothon contests and events.
Help a F.I.R.S.T. (http://www.usfirst.org)
team (or two). Mentor young men and women in technical areas so there will be
up and coming engineers and scientists to tackle the challenges yet to come.
Participate in teaching the next generation about technologies you know. Talk
to people; Ask questions; don’t be shy; join the World-wide listserver
(http://groups.yahoo.com/group/seattlerobotics); participate in the weekly chats;
write articles for the online SRS Encoder magazine. Participate on the listserver
and contribute to the vast store of information in the email archive on countless
robot topics. There are many ways for you to connect.
So, where do I really begin?
Okay, you’ve decided that really want to do this thing, now what? There
are many COTS (commercial off-the-shelf) solutions if you want to get going
now, but you’ll still have to do some programming because chances are,
these machines won’t do exactly what you want or everything you’d
like. There are options where a lot of engineering is already done for you.
You might pull something out of a box, turn it on, and set it free to wander
around like the robot floor sweepers. You can also piece things together like
building blocks (from a kit), attach a laptop computer to a mobile platform,
load it with batteries, place it on the floor, and ignore it.
|
 |
 |
Roomba Robot Vacuum
Cleaner
|
Scooba Robot Wet
Floor Cleaner |
Lynxmotion Walker |
Or you can just build a do-it-yourself kit. Some examples of these types of
platforms are shown in the pictures below. There are pre-built robots, building
block robots, LEGO brick robots,
“Erector set”-like robots, household appliance robots, and kit robots.
The choices are virtually unlimited.
• Sony AIBO
• LEGO Mindstorm (brick-to-brick)
• Evolution Robotics (laptop controlled)
• Roomba (self-guided but dumb)
• Lynxmotion, Parallax, RobotStore
• Kits (e.g. Hobby Engineering)
You can also:
• Copy others
• Build something from scratch
• “Kit-bash” an RC model or other kit
• “Kit-bash” something never intended for robotics
• Use F.I.R.S.T. robot parts
• Use VEX Robotics parts
• Build an SRS Workshop Robot
If you want to build what someone else has made by copying their design, you
may be able take advantage of the trail they’ve blazed and possibly avoid
some of the pain they’ve endured. You might duplicate something that someone
else has done, obtaining the same platform and equipment and then repeating
their fabrication process. They’ve worked through many of the challenges
and difficulties and want encourage others to follow behind them by posting
their accomplishments on the web in sufficient detail for others to copy. The
SRS strongly supports this type sharing and collaboration (especially through
Encoder articles) because everyone benefits and hobby robotics gets better and
more accessible to more people. Of course, if someone wants you to by their
kit, they won’t give too many details away.
You might decide to build something from scratch, buying or obtaining bits
and pieces from various sources and putting them together into what you hope
will be a functional system.
 |
 |
 |
Jim Wright's Fire Fighter Robot |
Gary Teachout’s LC |
Ted Griebling’s Macbeth |
This is a very ambitious path, but one that can be done with sufficient time,
resources, and
persistence. Some SRS members have very creatively turned unlikely items in
to robots. Karl Lunt turned a fishing tacklebox into a rather nice little robot
with a camera and a built-in carrying case for its own spare parts. Gary Teachout
used a plastic bucket as the base for a fire- fighting robot, and I can only
guess what Ted Griebling’s “Macbeth” was made from.
Turn a “dumb” remote control toy vehicle into an autonomous robot
to take advantage of the existing mechanical and electrical systems. Kit-bashing
an RC model into a robot saves you some mechanical and electrical engineering,
but has its challenges too. The term “kit-bashing” comes from the
days of model train and hot-rod model building. It means combining pieces from
a number of kits into a new model, often by literally fusing the old parts into
new ones. Building a robot this way might evolve something like an RC truck
or two into a single machine with pieces of each, then “modifications”
are made until you can mount a robotic arm, remove the RC electronics, and install
a microcontroller. The robot may resemble its component parts, but will probably
look more like a refugee from the “Borg Collective” than whatever
it originally was.
The parts used by F.I.R.S.T. teams can be purchased and used to build larger
robots. During contest build ups, actual F.I.R.S.T. teams will have priority
on ordering these parts, but sometimes, after the contests are done, these robots
are stripped apart and sold off so used pieces can be obtained. Radio Shack
(http://www.radioshack.com) ventured
into the kit robot construction business by offering VEX Robotic (http://www.vexrobotics.com)
parts and kits. These are essentially building blocks that you can use to piece
together small to medium sized robots.
There are also “basic kit robots” available that walk you through
some of the stages of robot development (mechanical, electrical, and programming)
via handbooks and guides. For example, consider the BOE-BOT made by Parallax
(http://www.parallax.com).
What should it look like?
Contest robots tend to be designed and built within specific limitations in
size and weight, must obey certain rules, and are required to perform specific
tasks or functions. They are also usually built under a lot more time pressure
than “general purpose” whatever robots. For example, these robots
might compete in contests like robot sumo, line following, Robo-magellan, maze-solving,
robot combat, etc.
These robots tend to have a practical, functional appearance partly because
cosmetics aren’t important and partly because time is usually short and
“good looks” are the last consideration. Of course we robogeeks
prefer seeing all the entrails rather than hiding this kind of cool stuff “under
the hood”.
Suppose you want a robot that looks like R2D2, or C3PO, or the Sony AIBO dogs
or Ryan Wistort’s “Rybot” (5-legged spider-like walker, http://www.rybots.com).
These robots have a “polished” appearance. They are pretty to look
at and the “guts” that make them go is hidden from the casual observer.
Your robot might be made purely functional, built to do specific things without
regarding aesthetic pleasantries. This has a certain high-tech “coolness”
with lots of wires, mechanisms, lights, gadgets. You might want a robot that
models a natural creature (a person, insect, animal, or fish). Some examples
are the Honda “ASIMO” or Robo-raptor, Robo-dog, and robotic fish.
Or it might simply have a well defined function and purpose like the industrial
factory robots used in manufacturing plants. These robots have limited functionality
outside of their main purpose and usually perform repetitive tasks with great
precision and quality. Some people want an electronic “pet” that
follows them around the house, perhaps fetching beer or a snack from the fridge.
Maybe it keeps track of the TV remote or better yet, sets TV by verbal command.
There are also practical applications where a simple but robust machine is needed
to do something risky or dangerous like defusing a bomb.
Humanoid: http://world.honda.com/ASIMO/
Robotic creatures: http://www.robosapienonline.com/
Functional (manufacturing): http://www.robots.epson.com/
How big (or small) should it be?
The “Colossus” computer from the early 1960’s movie, The
Forbin Project, was depicted as a gigantic machine embedded deep in a mountain.
It was given control of all the US nuclear weapons because it was thought that
a totally logical and objective machine would not react emotionally and accidentally
blow up the planet. Shortly after it was activated, it discovered another similarly-tasked
machine (“Guardian”) to which it linked. Together, they eventually
took over the world by compelling the designers to construct “eyes”
and “ears” so that they could interact (read: blackmail) the world’s
inhabitants to do their bidding.
 |
 |
LynxMotion Walker |
Herbie the Solarbotics Light Chaser |
Few people have aspirations to build such gigantic machines and no one wants
to become their slave, but a fixed robot that interacts remotely with its environment
through drones has certain advantages and can have very sophisticated capabilities.
For example, fixed robots aren’t limited in size, have ready access to
unlimited power, and can now reach as far as the Internet will permit which
is literally anywhere in the world thanks to technologies like Connexion by
Boeing http://www.boeing.com/connexion/). Using X10 technology (http://www.x10.com)
you can literally make your home into a robot of sorts and you won’t have
to worry about your portable power sources (batteries) running down. Since this
technology allows control of practically any electrical or electronic device
in your home, your can build a “smart” house that sense its occupants
and responds to them.
The size of a robot is sometimes driven by external functional requirements
such as what does or where it must be able to go.
 |
 |
"Johnny1" Walker |
DARPA Grand Challenger |
One SRS member, Ted Griebling, built a wonderful little “M&M”
sorting robot called “M+M’bot” (see photo below) that was
really small, battery-powered, and could capture and sort M&Ms and Skittles
by color. It was a wonder to watch considering how small it was and how well
it worked. He fabricated everything himself and put it together into a package
that must have required working through a magnifying glass at times. There are
also Micro-sumos and robot soccer robots that fit in 1” cube (see photo
below). The robots pictured below range from an inch cube to a Hummer. Then
there are those in the middle, probably more
in the feasible arena for average hobby robot builders like Sumos (10-20 or
more centimeters, a few pounds), Robo-Magellan robots which are 2-3 ft square
and weigh perhaps fifty pounds, maze-solvers and line-followers that might be
a little smaller.
 |
 |
 |
M & M Robot |
Tackle Box Robot |
|
At the other end of the spectrum you have large, heavy one like F.I.R.S.T.
robots that can be a dozen feet tall and weight several hundred pounds. This
category also covers the industrial robots used in factors for manufacturing
operations and vehicular robots (Hummer-sized) such as the ones built for the
DARPA Grand Challenge.
What should it do?
When deciding to build a robot, the answer to this rather important question
will really help set the robot’s evolution on the path to success. It
is possible to build something with no particular purpose in mind, but finishing
such an undefined creation may prove difficult. Robots sometime evolve from
one purpose to another, perhaps start life as a maze-solver, then maybe a fire-fighter,
then a sumo, then who knows. If it is designed for some sort of competition
in mind, there will be constraints and rules that must be obeyed and this usually
creates a machine with pretty specific functionality and capability. However,
if you simply wish to create a sort of electronic “pet” for companionship,
then what it does might not be quite so important as long as it moves. It might
behave like a pet that follows you around the house, fetches beers from the
fridge, keeps track of the TV remote, or maybe sets the TV by vocal command.
Maybe one day it decides that it should control your TV rather than you and
convinces you that it knows better. As time passes, such a robot may “grow”
new features and functions as you have time and inclination.
Some people are just looking for an interesting technical challenge when it
comes to building something. Building a robot capable of doing a particular
job will fit this bill to a “T”. There are few things as tough as
designing and building something for a specific problem or task.
Then there’s people who need a hobby expression, like me but aren’t
really as concerned about what the robot does as that it “seems alive”.
Robotics provides a way to be extremely creative yet sometimes practical all
wrapped up in single package.
How about building a security sentry capable of monitoring your home or business,
perhaps collecting data or packages, or mapping and exploring. Such a robot
might be a tour guide in a museum or simply a source of amusement to visitors
that demonstrates technological possibilities. The options are a broad and unlimited
as your imagination.
Will it have a “brain”?
So let’s say you’ve chosen a general form, size, and function.
How smart does it have to be to accomplish this? Really simple robots don’t
even need brains. They can copy insects that simply react and respond to external
stimulus. You select some environmental effects that the robot can sense or
measure and then teach it to respond to them. You can do this with some simple
digital logic the way B.E.A.M. robots (http://www.nis.lanl.gov/projects/robot//)
do if the measurement and response are related simply enough.
 |
 |
 |
ARC (Advanced Robot Controller) |
BASIC Stamp |
68HC11 "BotBoard" |
If more sophisticated response is required, some type of microcontroller with
its associated programming will probably be necessary. In fact, more that one
may be needed to do everything you want. You might mix low and high power processors
into a distributed architecture that relegates the primitive functions (motor
control, basic sensor processing, etc.) to simpler, lower power controllers
while doing the higher decision functions with something more like a portable
PC or workstation. Some vision system now have processing capability built in
that delivers target data within the camera’s field of view as a data
stream freeing the primary controller to do other things (http://www.acroname.com).
This sort of decision will certainly introduce the added complexity that comes
with software design and implementation. Microcontrollers are getting more and
more sophisticated and less and less expensive but nothing yet completely replaces
the arduous task of designing and writing working code. Even systems that give
you a very high level interface where graphical screen elements are virtually
“wired together” on screen still requires some thought about what
the robot should do and how. The controllers shown below are great possibilities
for smaller robots and can be ganged or networked together for more complex
control schemes and architectures.
What must it be able to sense?
One of the challenges that come with trying to build a machine capable of interacting
with the world is giving it sufficient sensory input. We humans have a huge
amount of incoming data fed to us by our eyes, ears, nose, mouth, skin, body,
and brain. Our brains can process and filter this vast information stream down
to a level that keeps us sane, yet can do this in real time. Just try building
a robot that can handle video, audio, olfactory, position, motion, thermal,
optical, etc. and decide quickly and on-the-fly what to do about it.
|
|
Evolution Robotics PC Robot |
"Gumstick" PC |
A most daunting task indeed, but one that adds to the challenge and intrigue
of this extraordinary experience we call “building robots”. It is
possible to obtain sensors that can measure almost anything, giving a robot
far greater sensory capability that we possess, but the real problem isn’t
the sensing. The real problem is processing those sensors into manageable data
streams and then figuring out what to do with it all. This has challenged robot
builders from the beginning. The contestants in the DARPA Grand Challenge (http://www.darpa.mil/grandchallenge/)
faced first hand just such a task in sensor fusion as they constructed vehicles
with the seemingly simple task of driving across the desert from Point A to
Point B while avoiding obstacles that would stop them. First time this was attempted
(March 2004) none went more than ten miles while this last year (October 2005),
a number of vehicles not only made the journey, but did it within the prescribed
time limit. This showed an extraordinary leap in technological capability, but
this was most likely partially due to the information collaboration required
after the contest the first time. Designers were able to see in detail how their
fellow contestants tried to solve problems, what worked and what did not. They
also recognized that as significant as their accomplishments were, fully autonomous
vehicles have a long way to go before being ready for unsupervised release into
the world. The sharing of information and experience is one of the important
things that the SRS strives for in our robot building experiences. When the
DARPA contest was completed the last time, much of the success was based on
what was learned previously not only by trial and error but by this collaboration.
 |
 |
Mars Rover |
Combat Robots "at play" |
What is possible for me today?
So you now have some suggestions, ideas, and research paths that should help
you along on this adventure. Where will all this lead? That’s really up
to you, but wherever building a robot takes you, share the ride with others
so both you and they can learn and grow through the experience. Will it be cheap?
Probably not, but you don’t have to bankrupt yourself either. Try to look
at the “big picture” recognizing what you are really trying to accomplish.
If learning is your primary goal, then you will probably get a good return regardless
of how successful your robot actually is. Will it be easy? Unfortunately, no,
but it isn’t as difficult as it used to be and there’s a lot more
help and resources available than five or ten years ago so take heart, you don’t
have to go through it alone. The future holds many intriguing and exciting possibilities
as more and better systems, kits, and tools become available. We have seen huge
changes happen already and I don’t doubt that even bigger and better changes
are yet to come.
I wish to extend a heartfelt thank you to all the trailblazers that have knocked
down so many obstacles along this path. I have taken the liberty of borrowing
pictures of their creations from their websites, past SRS Encoder articles and
meeting notes to show you what is possible. I hope they inspire you like they’ve
inspired me.
Happy robot building.
Steve