The cover story in this month’s Scientific American, written by mega-entrepreneur Bill Gates, discusses the future of robotics. In the article Gates describes one of robotics’ thorniest problems. Having spent some time working with Lego Mindstorms, I can vouch that it’s a tricky one: “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.”
Psychologists know the problem by another name: attention. In humans, the problem of attention is so complex that we’ve barely made headway in understanding how the mind allocates its resources to the vast array of data available. This is one of the reasons that building humanlike robots has proved to be a daunting challenge. But Gates believes his researchers may have come up with a solution to the problem:
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 [Microsoft]‘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.
What Gates is describing, of course, is an operating system for robots. Gates believes that robotics today is like the world of computers 30 years ago. Robots, like computers in the 1970s, have widespread applications in industry, but the models available for home users tend to be expensive and have appeal mainly for tinkerers and hobbyists. Gates foresees a world 30 years from now where home robots are as ubiquitous and indispensable as Windows computers and Microsoft Office. Gates wants those to be running a Microsoft operating system as well. Whether that vision is a utopia or a nightmare for you and me probably depends on whether you own Microsoft stock.
In other news: