Loading ...
Sorry, an error occurred while loading the content.
 

Scientific American: Bill Gates: A Robot in Every Home

Expand Messages
  • Premise Checker
    Bill Gates: A Robot in Every Home http://www.sciam.com/print_version.cfm?articleID=9312A198-E7F2-99DF-31DA639D6C4BA567 [Linked by Arts & Letters Daily.] 2006
    Message 1 of 1 , Jan 7, 2007
      Bill Gates: A Robot in Every Home
      http://www.sciam.com/print_version.cfm?articleID=9312A198-E7F2-99DF-31DA639D6C4BA567
      [Linked by Arts & Letters Daily.]
      2006 Beethoven's Birthday

      The leader of the PC revolution predicts that the next hot field
      will be robotics


      Imagine being present at the birth of a new industry. It is an
      industry based on groundbreaking new technologies, wherein a
      handful of well-established corporations sell highly specialized
      devices for business use and a fast-growing number of start-up
      companies produce innovative toys, gadgets for hobbyists and other
      interesting niche products. 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. Back then, big, expensive mainframe
      computers ran the back-office operations for major companies,
      governmental departments and other institutions. Researchers at
      leading universities and industrial laboratories were creating the
      basic building blocks that would make the information age possible.
      Intel had just introduced the 8080 microprocessor, and Atari was
      selling the popular electronic game Pong. At homegrown computer
      clubs, enthusiasts struggled to figure out exactly what this new
      technology was good for.

      But what I really have in mind is something much more contemporary:
      the emergence of the robotics industry, which is developing in much
      the same way that the computer business did 30 years ago. Think of
      the manufacturing robots currently used on automobile assembly
      lines as the equivalent of yesterday's mainframes. The industry's
      niche products include robotic arms that perform surgery,
      surveillance robots deployed in Iraq and Afghanistan that dispose
      of roadside bombs, and domestic robots that vacuum the floor.
      Electronics companies have made robotic toys that can imitate
      people or dogs or dinosaurs, and hobbyists are anxious to get their
      hands on the latest version of the Lego robotics system.

      Meanwhile some 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. At the
      2004 Defense Advanced Research Projects Agency (DARPA) Grand
      Challenge, a competition to produce the first robotic vehicle
      capable of navigating autonomously over a rugged 142-mile course
      through the Mojave Desert, the top competitor managed to travel
      just 7.4 miles before breaking down. In 2005, though, five vehicles
      covered the complete distance, and the race's winner did it at an
      average speed of 19.1 miles an hour. (In another intriguing
      parallel between the robotics and computer industries, DARPA also
      funded the work that led to the creation of Arpanet, the precursor
      to the Internet.)

      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 looked at the
      convergence of new technologies and 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. I believe that technologies such as
      distributed computing, voice and visual recognition, and wireless
      broadband connectivity will open the door to a new generation of
      autonomous devices that enable computers to perform tasks in the
      physical world on our behalf. We may be on the verge of a new era,
      when the PC will get up off the desktop and allow us to see, hear,
      touch and manipulate objects in places where we are not physically
      present.

      From Science Fiction to Reality

      The word "robot" was popularized in 1921 by Czech playwright Karel
      Capek, but people have envisioned creating robotlike devices for
      thousands of years. In Greek and Roman mythology, the gods of
      metalwork built mechanical servants made from gold. In the first
      century A.D., Heron of Alexandria--the great engineer credited with
      inventing the first steam engine--designed intriguing automatons,
      including one said to have the ability to talk. Leonardo da Vinci's
      1495 sketch of a mechanical knight, which could sit up and move its
      arms and legs, is considered to be the first plan for a humanoid
      robot.

      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. The popularity of robots in fiction indicates
      that people are receptive to the idea that these machines will one
      day walk among us as helpers and even as companions. 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. One megahertz of processing power, which
      cost more than $7,000 in 1970, can now be purchased for just
      pennies. The price of a megabit of storage has seen a similar
      decline. The access to cheap computing power has permitted
      scientists to work on many of the hard problems that are
      fundamental to making robots practical. Today, for example,
      voice-recognition programs can identify words quite well, but a far
      greater challenge will be building machines that can understand
      what those words mean in context. 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. Laser range finders that are used in
      robotics to measure distance with precision cost about $10,000 a
      few years ago; today they can be purchased for about $2,000. And
      new, more accurate sensors based on ultrawideband radar are
      available for even less.

      Now robot builders can also add Global Positioning System chips,
      video cameras, array microphones (which are better than
      conventional microphones at distinguishing a voice from background
      noise) 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,
      including Carnegie Mellon University, the Massachusetts Institute
      of Technology, Harvard University, Cornell University and the
      University of Illinois, to talk about the powerful role that
      computers can play in solving some of society's most pressing
      problems. My goal was to help students understand how exciting and
      important computer science can be, and I hoped to encourage a few
      of them to think about careers in technology. At each university,
      after delivering my speech, I had the opportunity to get a
      firsthand look at some of the most interesting research projects in
      the school's computer science department. Almost 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 and a 25-year Microsoft veteran, to go on an extended
      fact-finding mission and to speak with people across the robotics
      community. What he found was universal enthusiasm for the potential
      of robotics, along with an industry-wide desire for tools that
      would make development easier. "Many see the robotics industry at a
      technological turning point where a move to PC architecture makes
      more and more sense," Tandy wrote in his report to me after his
      fact-finding mission. "As Red Whittaker, leader of [Carnegie
      Mellon's] entry in the DARPA Grand Challenge, recently indicated,
      the hardware capability is mostly there; now the issue is getting
      the software right."

      Back in the early days of the personal computer, we realized that
      we needed an ingredient that would allow all of the pioneering work
      to achieve critical mass, to coalesce into a real industry capable
      of producing truly useful products on a commercial scale. What was
      needed, it turned out, was 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, which brought more and more people into the industry.
      Although a great many individuals made essential contributions to
      the development of the personal computer, Microsoft BASIC was one
      of the key catalysts for the software and hardware innovations that
      made the PC revolution possible.

      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 so that anybody
      interested in robots with even the most basic understanding of
      computer programming could easily write robotic applications that
      would work with different kinds of hardware. The goal was to see if
      it was possible to provide the same kind of common, low-level
      foundation for integrating hardware and software into robot designs
      that Microsoft BASIC provided for computer programmers.

      Tandy's robotics group has been able to draw on a number of
      advanced technologies developed by a team working under the
      direction of Craig Mundie, Microsoft's chief research and strategy
      officer. 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. A conventional approach is to write a traditional,
      single-threaded program--a long loop that first reads all the data
      from the sensors, then processes this input and finally delivers
      output that determines the robot's behavior, before starting the
      loop all over again. The shortcomings are obvious: if your robot
      has fresh sensor data indicating that the machine is at the edge of
      a precipice, but the program is still at the bottom of the loop
      calculating trajectory and telling the wheels to turn faster based
      on previous sensor input, there is a good chance the robot will
      fall down the stairs before it can process the new information.

      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--integrated circuits with two or more processors joined
      together for enhanced performance--software designers will need a
      new way to program desktop applications and operating systems. To
      fully exploit the power of processors working in parallel, the new
      software must deal with the problem of concurrency.

      One approach to handling concurrency is to write multi-threaded
      programs that allow data to travel along many paths. But as any
      developer who has written multithreaded code can tell you, this is
      one of the hardest tasks in programming. The answer that Craig's
      team has devised to the concurrency problem is something called the
      concurrency and coordination runtime (CCR). The CCR is a library of
      functions--sequences of software code that perform specific
      tasks--that makes it easy to write multithreaded applications that
      can coordinate a number of simultaneous activities. 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. By drawing on this library to write their programs, robot
      designers can dramatically reduce the chances that one of their
      creations will run into a wall because its software is too busy
      sending output to its wheels to read input from its sensors.

      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 services--the parts of the program that
      read a sensor, say, or control a motor-- operate as separate
      processes that can be orchestrated in much the same way that text,
      images and information from several servers are aggregated on a Web
      page. Because DSS allows software components to run in isolation
      from one another, if an individual component of a robot fails, it
      can be shut down and restarted--or even replaced--without having to
      reboot the machine. Combined with broadband wireless technology,
      this architecture makes it easy to monitor and adjust a robot from
      a remote location using a Web browser.

      What is more, a DSS application controlling a robotic device does
      not have to reside entirely on the robot itself but can be
      distributed across more than one computer. 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, a
      new software development kit built by Tandy's team. Microsoft
      Robotics Studio also includes tools that make it easier to create
      robotic applications using a wide range of programming languages.
      One example is a simulation tool that lets robot builders test
      their applications in a three-dimensional virtual environment
      before trying them out in the real world. Our goal for this release
      is to create an affordable, open platform that allows robot
      developers to readily integrate hardware and software into their
      designs.

      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 2008. In South Korea the
      Ministry of Information and Communication hopes to put a robot in
      every home there by 2013. The Japanese Robot Association predicts
      that by 2025, the personal robot industry will be worth more than
      $50 billion a year worldwide, compared with about $5 billion today.

      As with the PC industry in the 1970s, it is impossible to predict
      exactly what applications will drive this new industry. It seems
      quite likely, however, that robots will play an important role in
      providing physical assistance and even companionship for the
      elderly. Robotic devices will probably help people with
      disabilities get around and extend the strength and endurance of
      soldiers, construction workers and medical professionals. Robots
      will maintain dangerous industrial machines, handle hazardous
      materials and monitor remote oil pipelines. They will enable health
      care workers to diagnose and treat patients who may be thousands of
      miles away, and they will be a central feature of security systems
      and search-and-rescue operations.

      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.
    Your message has been successfully submitted and would be delivered to recipients shortly.