The Rules for Roboticists
Remember The Rules, that icky book written by two women who no man would want to date regardless of what relationship principles they were or were not applying? Well, we decided to dream up some rules of our own. No, they're not things like "Never call a robot after the final assembly. Make it call you." Or, "The way to a robot's stomach is through its rear access panel." These "rules" represent the collective working wisdom of builders who've been bolting together bots for decades. The cyberneticist Gregory Bateson used to say, "Always tie your ideas with slipknots." So these are not hard and fast rules, more like rules of thumb. Just a few things to consider as you build bots.
A roboticist is a generalist, a systems thinker. One of the things that attracts a lot of people to robotics is that it involves the orchestration of so many different disciplines. There are, obviously, specialists in the fieldthose who work only on AI control architectures or robotic locomotion, or whateverbut even they must keep the entire machine in mind. Most people who work in the field, and certainly all amateur builders, have to have at least basic skills in numerous disciplines. As you get more into robotics, you'll also find yourself spending a lot of time looking at humans and animals trying to figure out how they work. Oddly, trying to construct machine "creatures" gives one an even greater appreciation for the heavenly designs of nature, which brings us to...
Speaking of paranoia, legend has it that the term bug (as in computer bug) was coined when actual bugs took up residence inside of first-generation room-sized computers and began short-circuiting their electronics. Another origin story claims that bugs used to nest in the plugholes of early telephone switchboards. In truth, the term dates back at least to the late 1800s and was even used by Edison during the development of the phonograph. The term was simply used to mean some imaginary critter (like a Gremlin) that had snuck into the machine works and was causing all of the trouble.
A roboticist is a "deconstructionist." As a robot builder, you'll find yourself obsessively looking at the natural and built worlds and going: "Ah-ha! So that's how it's done." Nothing will be safe as you take apart toys and machines that don't work anymore (and some that still do), and find yourself playing with your food in a manner unsettling to others ("Cool, there's the ligament attachments!"). But, for the love of all that's civilized, leave the family pets alone!
This is completely unrelated to robots, but it neatly illustrates our fourth rule. Years ago, a female friend of mine, a brilliant fashion designer, entered a beginner's fabric weaving contest. She rented a small loom, learned how to weave, and wove a seersucker blouse. Because she was new to weaving, she didn't know that you couldn't hand weave seersucker (which is comprised of alternating puckered and smooth stripes). She was having a devil of a time doing it, but she thought it was just because she was new to weaving. The judges were stunned. Needless to say, she won the contest, and the grand prize, a gorgeous room-sized Swedish loom.
A roboticist knows how to K.I.S.S. it. Actually not every robot builder knows this, but they should. K.I.S.S. stands for Keep It Simple, Stupid and is a maxim recited (but frequently unheeded) in many design disciplines. Heed it in your own robot building. Take time to plan your projects. Don't just throw technology at a problem 'cause you can. Use prototyping technologies such as LEGO MINDSTORMS (see Chapter 6) and breadboarding (see Chapter 7, "Project 1: Coat Hanger Walker") to test out designs. Then try and figure out what you might not need and toss it. The simpler and more elegant your designs, the more likely your robot is to be stable and robust.
A roboticist must learn to think "outside the bot." Innovation comes from thinking differently, heading down the road less traveled. Don't be afraid to take chances, to go in radical directions. Apply Brooks's Research Heuristic (see previous). Don't listen when people tell you that you can't do something. Ignore critics.
A roboticist is as much an artist as a scientist. Find someone who's done anything cutting-edge in science and technology, and chances are, he or she has a bit of an artist's soul. Independent engineer and self-proclaimed "high-tech nomad" Steven Roberts is often quoted as saying, "Art without engineering is dreaming. Engineering without art is calculating." A roboticist worth his or her soldering iron knows this to be true.
A roboticist must be methodical and patient (like any scientist). The pressure that many robot developers are under to deliver creations that live up to our sci-fi fantasies leads too many to try too much, too soon. Scientific development is measured by nature. Don't be afraid to get one thing right rather than a bunch of things "sorta okay." (Notice how we just contradicted rule number 4. What can we say? Rules are meant to be broken.)
You can find out more about Steve Roberts's amazing exploits at his site, Nomadic Research Labs (http://www.microship.com). He's not a robot builder, but his marvelous work in building high-tech bicycles, micro-sailing vessels, and other human-powered, Internet-connected vehicles will appeal to everyone who loves technical virtuosity and cool gadgets.
A roboticist knows that neatness counts. After you've built a few robots, you'll quickly realize that the mechanics and (especially) the electronics can quickly become complicated. There are usually wires sprouting everywhere, and trying to fit all of the parts within your robot shell, or on your robot platform (see Chapter 4, "Robot Anatomy Class"), can become quite a challenge. You'll learn that keeping everything neat and tidy will make a huge difference in the end. Use quick connectors when you can (for plugging and unplugging wires), use cable ties to bundle related wires together, and carefully plan (or revise) your design to maximize order and quick deconstruction/reconstruction of subsystems for troubleshooting.
- A roboticist must be a master of many trades. As stated in rule
number 1, a roboticist must be able to look at the big picture and know at
least a little about a lot. He or she must have a working knowledge of materials
sciences, structural and mechanical engineering, electrical engineering, and
computer sciences. We know that all sounds intimidating to an absolute beginner,
but knowing something about all of these areas of technology can actually
be fun and exciting. And don't let the big words trip you. In plain English,
these big words boil down to: building stuff (and knowing the right stuff
to use), doing basic electronics, and knowing the ins and outs of microcontrollers
and their software.
We'll cover all of this in the book, so by the time you're finished, you'll be able to casually spout sentences such as, "I'm not sure if that MCU has enough I/O to drive the sensors and servos we'll use, and we'll definitely need to hack the servo control circuits." (Come back to this sentence once you've finished the book and the projects, and you'll marvel at how alien it initially sounded and how downright clear, dare we say "warm and fuzzy," it will have become to you.)
A roboticist should know his or her tools, materials, and processes. You can have all the "book learnin'" in the world, but if you don't have a good working knowledge of robot building tools, building materials, and construction techniques, you're not going to be seeing robots scooting around your den anytime soon. You'll gain basic experience in tool wielding and project building by the time you've completed this book and you'll gain even more experience through additional projects and kits covered here as well. The more you tinker, the more mad skills you'll build, which leads us to...
A roboticist knows that you need to build early and build often. Modern robot building technologies such as LEGO MINDSTORMS, Fischertechniks, reprogrammable microcontrollers, prototyping boards, and other similar innovations (not to mention computer designing and simulating software) allow robot builders a tremendous amount of freedom to experiment. Think of pre-PC writing technology (pens and paper, typewriters) versus using a word processor (complete with spell- and grammar-checking, a built-in dictionary, Thesaurus, and so forth) and that gives you some idea of today's robot tools versus those of a decade ago. Now you can have an idea for a drive system, a sensory array, whatever, and have it built and tested within a few hours. If it doesn't work, you can quickly disassemble and assemble something else. From this rapid prototyping can come truly innovative robot designs.
A roboticist should know when to come back later. When you're building anything, especially something as complicated as a robot, the build can sometimes turn ugly (see "The Sugarman Caution" earlier in this chapter). If you try to force a solution, you'll often dig yourself into an even deeper hole. "Put the soldering iron down and step away from the robot!" You'll be amazed at what an hour away, vegging in front of the TV, rolling around on the floor with the housecat, or sleeping on your problem overnight will do (and no, not literally, wiseguy!). It almost never fails. And here's a corollary: The extent to which you don't want to drop what you're doing and take a break ("I know I can fix this, darn it!"), is inversely proportional to the extent to which you need one.