We stand today at the culmination of the industrial revolution. For the last four centuries, rapid advances in science have fueled industrial society. In the twentieth century, industrialization found perhaps its greatest expression in Henry Ford’s assembly line. Mass production affects almost every facet of modern life. Our food is mass produced in meat plants, commercial bakeries, and canaries. Our clothing is shipped by the ton from factories in China and Taiwan. Certainly all the amenities of our lives – our stereos, TVs, and microwave ovens – roll off assembly lines by the truck load.
Yet we’ve paid a price for industrialization. Our entire society has become a giant assembly line. Each factory’s small assembly line is but one piece in a larger assembly line, interconnected by trucks and trains. Oil refineries feed chemical plants feeding ceramics factories feeding automobile plants. Most seriously of all, the individual has been reduced to a cog, and money is the oil that lubricates the machine. Introduce too much friction, and you’re removed, discarded, and replaced. Pop music reverberates with themes of alienation and depression. In the U.S., almost as many people kill themselves every year as die from automobile accidents. People feel overwhelmed by a mass society dominated by big business and cold economics.
These problems aren’t just the “way the world is”, either. They’re the way our world is; they’re the nature of our industrial civilization. Other civilizations granted more autonomy to the individual. American Indians raised their children to be self-sufficient by teaching them how to recognize wild edibles, how to build bows and arrows from saplings and sinew, how to fashion tepees from animal hides. By the time they were twenty, young Indians could literally walk out into the woods and take care of themselves. In feudal Europe, people may have been more dependent than the early Americans, but society was predominately rural, and the small towns that dotted the landscape were largely self-sufficient. I’m not suggesting we go back to living by bow and arrow, but by studying the nature of other civilizations, we can better understand the advantages and shortcomings of our own.
Over the course of the industrial revolution, many have noted these problems. The socialist solution was complete centralization in the hands of government, either voluntarily (the Utopian Socialists) or violently (the Communists). “Blow up the factories!” was the Luddite cry, and the transcendentalists urged us to return to nature. A few decades ago in this country, many people looked to a government welfare system that latter collapsed in a mass of red ink and red tape. In fact, for one reason or another, all these solutions failed. We may read Thoreau’s poetry, but few of us are ready to move to a pond and live in a log cabin.
Today, we’re presented with another solution, that hopefully will fare better than its predecessors. It goes by the name of post-industrialism, and is commonly associated with our computer technology. What is post-industrialism, and how can it solve our problems? Let me illustrate with an example.
Consider an author, who writes a book and then desires to publish it. In the industrial model, a printing factory is needed to mass produce the book. In fact, several factories are needed. The printing presses require paper, which is made in a paper mill (factory); inks, solvents and glues, made in chemical plants (factories); and an elaborate transportation system of trains, planes, and trucks to transport the raw materials to the presses and the finished books to distributors. Several hundred or even a few thousand people may be required, directly and indirectly, just to get a single book published. Of course, the only way to justify this much effort is to produce not just one book, but millions, the so-called “economics of scale”. Most authors are therefore dependent on a publisher, who is unlikely to go to all this trouble unless he thinks the author’s book can turn a profit. This is the industrial model.
In the post-industrial model, the author writes the book using a computer, prepares it in electronic form, and uploads it to a web site. Now anyone with an Internet connection can read the book. No factories required. The author is no longer dependent on a publisher, is much freer in what he can write, and has achieved a real degree of liberation. Economics of scale have been replaced with an economics of information, letting one individual reach an entire planet.
Of course, this is no panacea. For starters, the author is dependent on a new kind of infrastructure – the data network used to deliver the bits and bytes, and its routers, switches, and servers, all of which, incidentally, are still made in factories. The world may be going post-industrial, but is still heavily industrialized.
Furthermore, while the Internet may liberate the author, it’s hard to see how you can download a stereo, a bed, or a car. Yet consider how a car gets built, at least in Japan’s robot-dominated plants. The robots are operated by computers, which are controlled by software, which can be downloaded across a data network, even if the cars can’t be. The cars can’t be transported across fiber optics, but the “smarts” that drive their construction can be.
Robots are today where computers were 25 years ago. They’re huge, hulking machines that sit on factory floors, consume massive resources and can only be afforded by large corporations and governments. A former president of IBM once remarked that he foresaw a world market for five computers. Then came the PC revolution of the 1980s, when computers came out of the basements and landed on the desktops. So we’re on the verge of a “PR” revolution today – a Personal Robotics revolution, which will bring the robots off the factory floor and put them in our homes and on our desktops.
Ultimately, you might have small robots to perform tasks like cooking breakfast, larger robots that could construct a stereo or repair a microwave oven, and really big robots, perhaps one or two in a town, that could build an automobile. Specialized robots could perform tasks such as micro chip fabrication or casting industrial ceramics. The software needed to performs all of these tasks could be downloaded via data networks. Just as an author can write a book today, and with a few keystrokes make it available to the world, so tomorrow an engineer could design a better mousetrap and then “ship” it in a second to be replicated by robots in every time zone. Gardening robots could raise our food, letting us feed ourselves without being dependent on Safeway, and giving us the freedom Thoreau dreamed of, while our machines handle the hoes.
The combination of personal computers and personal robots offer an awesome potential to break down the assembly line and put the means of production into the hands of the individual. However, the computer industry has sadly demonstrated its ability to centralize and control technology through copyright restrictions and secret source code. Instead of downloading a motorcycle repair program with a few clicks, you may be presented with a e-commerce form requesting your credit card number first.
Fortunately, the free software community has demonstrated that determined individuals, through sacrifice and hard work, can build open systems to replace and improve on proprietary ones. Free software developers need to take the lead in advancing this new robotic technology, preventing it from becoming another weapon to control people’s lives, and instead fulfilling the promise of post-industrialism to liberate mankind from the assembly line.
How do we get there from here? Much of robotic hardware technology is commonly available today. Video capture cards, which can give a computer “eyes” when connected to a video camera, have been on the market for several years. While arms and grabber hands might not be as common, the mechanics behind their construction is fairly simple and well understood. Here’s a short list of major milestones:
- Standard robot manipulator arm. Just as a PC hardware standard was needed before Linux could be written, a standard robot arm is needed to facilitate cooperation between software developers. Arm must be able to perform a set of benchmark tasks under direct manual control. Mechanical design and construction details published on-line.
- Record-and-playback programming interface. Robot arm can repeat programmed tasks. Able to deal with slight variations in position and orientation of objects.
- Specialized robot work cells. Tasks such as micro chip fabrication will require specialized support hardware such as vacuum chambers. Other specialized tasks include chemical processing, and fabrication of plastics and ceramics. Other specialized work cells will be developed as needed to achieve later milestones.
- Self-replication. Robot arm can build a working duplicate of itself using specialized work cells. A major milestone, comparable to a compiler being able to compile itself.
- Work cell replication. Robot arm can build all specialized work cells needed for its self-replication.
- Computer replication. Robot arm can build a computer capable of controlling it.
Having achieved these milestones, we’ll have constructed a robotic system able to duplicate both itself and the computer needed to control it. Further refinement of this technology will allow ever simpler raw materials to be input into the construction process. A robot capable of building a duplicate of itself will no doubt be sophisticated enough to be used for many other tasks, and provide a starting point for tasks it’s yet incapable of doing.
Science fiction writers have imagined such possibilities for decades, just as they once imagined men flying to the moon. If the Apollo space program is any indication, we may only be waiting for a Jack Kennedy to lead us forward.
One Reply to “Personal Robotics”
Let me elaborate a bit on the first milestone on the list, since that’s pretty much where we’re at today.
Linus Torvalds couldn’t have lead the development of the Linux operating system without the IBM PC. To cull together a group of software developers from all over the planet required more than just email and FTP sites. For all those people to collaborate together on writing the Linux software, they all had to have access to very similar hardware. Otherwise, it would have been basically impossible to run and test other people’s software, since each person’s hardware would be different. A hardware standard was required, and that was the IBM PC – a well defined, widely available computer that would let all the developers test and enhance each others code.
The importance of standards can’t be underestimated. The English language is an important standard. Imagine if you clicked on this document and it came up in French! If you can’t read French, it’s unlikely that you’d take the time to learn or to find a translator just for this one document. English lets us communicate our thoughts and coordinate our actions.
Returning to Linux as an example, it’s important to note that not just any hardware standard will do. The 8086 was a hardware standard. So was the 80286. Yet neither hardware standard was suitable for writing a modern operating system; the 8086 because it lacked a protected mode, and the 80286 because it lacked paged virtual memory. Only when Intel produced the 80386 did the PCs finally have a workable hardware standard that enabled the development of Linux.
Likewise with robotics. We’re at a point today where if you wanted to do robotics development, the first thing you’d have to do is build a robot. It’d be like expecting the early Linux developers to build their own computers before they could work on the operating system. Not very realistic. Yet we need a good standard; we’d like to avoid the 8086/80286/80386 cycle, and just jump right to the 80386 – a workable standard that can be enhanced and improved, but contains all the basic, important hardware support.
The task is complicated because we don’t yet know exactly what will be required. Some thought and discussion is required to develop a decent standard that will meet our future needs and serve as a standard for further development.
What should the standard robot look like?
Ultimately, we’d like a programming interface based on a data glove or (eventually) some sort of Matrix-like virtual reality system. To support this, the robot manipulator should probably be very similar to a human hand. Not all the fingers would be required; perhaps only the thumb and first two.
Some sort of video camera connected to a video capture card. While much of the software to do visual processing is still in its infancy, it’s hard to believe some kind of visual input wouldn’t be an important part of the standard. Should the video camera be fixed, or mobile on its own robot arm?
Close your eyes and keep typing. Or feel your way around the table. A lot of our response comes from our tactile senses – how to incorporate this into a robot manipulator? Some kind of pressure sensitive pad on the “finger tips”? If so, what kind of pad and how many? How precisely should this be specified in a standard?
Should an entire work area be defined for the robot? Perhaps a 1x1x1 cube? Or should the work area be free space?
How low-level? Should its primitives be “move 10 cm right”, “clamp to 100 Pa”, or higher-level, such as “grab object A”, “move it to location B”.
Also, we need to consider what shouldn’t be included in a standard. Design details such as pneumatic / hydraulic / stepper motors to drive the arm shouldn’t be specified. What else shouldn’t be specified? Exact degrees of freedom? Mechanical strength of arm?
Any suggestions or pointers to papers covering these topics would be welcome…