A Robot in Every Home, by Bill Gates, Scientific American: Imagine being
present at the birth of a new industry. It is an industry based on
groundbreaking new technologies... But it is also a highly fragmented industry
with few common standards or platforms. Projects are complex, progress is slow,
and practical applications are relatively rare. In fact, for all the excitement
and promise, no one can say with any certainty when—or even if—this industry
will achieve critical mass. If it does, though, it may well change the world.
Of course, the paragraph above could be a description of the computer
industry during the mid-1970s, around the time that Paul Allen and I launched
Microsoft. ... But what I really have in mind is something much more
contemporary: the emergence of the robotics industry... [S]ome of the world’s
best minds are trying to solve the toughest problems of robotics, such as visual
recognition, navigation and machine learning. And they are succeeding. ...
What is more, the challenges facing the robotics industry are similar to
those we tackled in computing three decades ago. Robotics companies have no
standard operating software that could allow popular application programs to run
in a variety of devices. The standardization of robotic processors and other
hardware is limited, and very little of the programming code used in one machine
can be applied to another. Whenever somebody wants to build a new robot, they
usually have to start from square one.
Despite these difficulties, when I talk to people involved in robotics—from
university researchers to entrepreneurs, hobbyists and high school students—the
level of excitement and expectation reminds me so much of that time when Paul
Allen and I ... dreamed of the day when a computer would be on every desk and in
every home. And as I look at the trends that are now starting to converge, I can
envision a future in which robotic devices will become a nearly ubiquitous part
of our day-to-day lives. ...
From Science Fiction to Reality
The word “robot” was popularized in 1921 by Czech play wright Karel Capek,
but people have envisioned creating robot-like devices for thousands of years.
... Over the past century, anthropomorphic machines have become familiar figures
in popular culture through books such as Isaac Asimov’s I, Robot, movies such as
Star Wars and television shows such as Star Trek. ... Nevertheless, although
robots play a vital role in industries such as automobile manufacturing— where
there is about one robot for every 10 workers—the fact is that we have a long
way to go before real robots catch up with their science-fiction counterparts.
One reason for this gap is that it has been much harder than expected to
enable computers and robots to sense their surrounding environment and to react
quickly and accurately. It has proved extremely difficult to give robots the
capabilities that humans take for granted—for example, the abilities to orient
themselves with respect to the objects in a room, to respond to sounds and
interpret speech, and to grasp objects of varying sizes, textures and fragility.
Even something as simple as telling the difference between an open door and a
window can be devilishly tricky for a robot.
But researchers are starting to find the answers. One trend that has helped
them is the increasing availability of tremendous amounts of computer power. ...
As computing capacity continues to expand, robot designers will have the
processing power they need to tackle issues of ever greater complexity.
Another barrier to the development of robots has been the high cost of
hardware, such as sensors that enable a robot to determine the distance to an
object as well as motors and servos that allow the robot to manipulate an object
with both strength and delicacy. But prices are dropping fast. ...
Now robot builders can also add Global Positioning System chips, video
cameras, array microphones ... and a host of additional sensors for a reasonable
expense. The resulting enhancement of capabilities, combined with expanded
processing power and storage, allows today’s robots to do things such as vacuum
a room or help to defuse a roadside bomb—tasks that would have been impossible
for commercially produced machines just a few years ago.
A BASIC Approach
In February 2004 I visited a number of leading universities ... to talk about
the powerful role that computers can play in solving some of society’s most
pressing problems. ... At each university, after delivering my speech, ...[a]lmost
without exception, I was shown at least one project that involved robotics.
At that time, my colleagues at Microsoft were also hearing from people in
academia and at commercial robotics firms who wondered if our company was doing
any work in robotics that might help them with their own development efforts. We
were not, so we decided to take a closer look. I asked Tandy Trower, a member of
my strategic staff ... to go on an extended fact-finding mission ... What he
found was ... an industry-wide desire for tools that would make development
easier. ... Tandy wrote in his report to me after his fact-finding mission.
“[T]he hardware capability is mostly there; now the issue is getting the
Back in the early days of the personal computer, we realized that we needed
... Microsoft BASIC. When we created this programming language in the 1970s, we
provided the common foundation that enabled programs developed for one set of
hardware to run on another. BASIC also made computer programming much easier...
After reading Tandy’s report, it seemed clear to me that before the robotics
industry could make the same kind of quantum leap that the PC industry made 30
years ago, it, too, needed to find that missing ingredient. So I asked him to
assemble a small team that would work with people in the robotics field to
create a set of programming tools that would provide the essential plumbing...
Tandy’s robotics group has been able to draw on a number of advanced
technologies... One such technology will help solve one of the most difficult
problems facing robot designers: how to simultaneously handle all the data
coming in from multiple sensors and send the appropriate commands to the robot’s
motors, a challenge known as concurrency. ...
Concurrency is a challenge that extends beyond robotics. Today as more and
more applications are written for distributed networks of computers, programmers
have struggled to figure out how to efficiently orchestrate code running on many
different servers at the same time. And as computers with a single processor are
replaced by machines with multiple processors and “multicore” processors ...,
software designers will need a new way to ... fully exploit the power of
processors working in parallel, the new software must deal with the problem of
The answer that Craig’s team has devised to the concurrency problem is
something called the concurrency and coordination runtime (CCR). ... Designed to
help programmers take advantage of the power of multicore and multiprocessor
systems, the CCR turns out to be ideal for robotics as well. ...
In addition to tackling the problem of concurrency, the work that Craig’s
team has done will also simplify the writing of distributed robotic applications
through a technology called decentralized software services (DSS). DSS enables
developers to create applications in which the ... the parts of the
program that read a sensor, say, or control a motor— operate as separate
processes that can be ... aggregated on a Web page. ... Combined with broadband
wireless technology, this architecture makes it easy to monitor and adjust a
robot from a remote location using a Web browser. ...
As a result, the robot can be a relatively inexpensive device that delegates
complex processing tasks to the high-performance hardware found on today’s home
PCs. I believe this advance will pave the way for an entirely new class of
robots that are essentially mobile, wireless peripheral devices that tap into
the power of desktop PCs to handle processing-intensive tasks such as visual
recognition and navigation. And because these devices can be networked together,
we can expect to see the emergence of groups of robots that can work in concert
to achieve goals such as mapping the seafloor or planting crops. These
technologies are a key part of Microsoft Robotics Studio...
Should We Call Them Robots?
How soon will robots become part of our day-to-day lives? According to the
International Federation of Robotics, about two million personal robots were in
use around the world in 2004, and another seven million will be installed by
Although a few of the robots of tomorrow may resemble the anthropomorphic
devices seen in Star Wars, most will look nothing like the humanoid C-3PO. In
fact, as mobile peripheral devices become more and more common, it may be
increasingly difficult to say exactly what a robot is. Because the new machines
will be so specialized and ubiquitous—and look so little like the two-legged
automatons of science fiction—we probably will not even call them robots. But as
these devices become affordable to consumers, they could have just as profound
an impact on the way we work, communicate, learn and entertain ourselves as the
PC has had over the past 30 years.