Microsoft Takes On the Robots
Microsoft’s Robotics Studio group seeks to simplify robotic apps.
Developing applications for robotic systems is one of the most challenging tasks a coder can face. The hardware is fragmented and diverse, the system software is uniquely complex, and the available development tools have left much to be desired.
Not much can be done about the first two problems, at least in the short term, but Microsoft is convinced that tools being developed in its nascent Robotics Studio group will soon eliminate the third. The Redmond-based software giant has developed a programming model that it will support for those developing software for robotics-based systems and applications.
"The programming model was actually born and bred to deal with the complexities of writing software that can run across many different processors at the same time," says Tandy Trower, general manager of Microsoft's Robotics Studio group, speaking to RDN after giving a keynote address at last month's RoboDevelopment Confernece and Expo, held in San Jose, Calif.
Trower says the programming model was developed in Microsoft's two-year-old Robotics Studio group, though the platform's core software actually started incubation about five years earlier. "It was quite robust by the time I picked it up," he says. "It had gone through a number of cycles of development and design, but it hadn't yet been issued outside of Microsoft."
The Robotics Studio
Microsoft's Robotics Studio is a Windows-based environment designed to simplify the development of robotic applications. It comprises a runtime engine, a set of authoring tools, and services and samples designed to help get coders started.
At the core of the runtime is something Microsoft calls the Concurrency and Coordination Runtime (CCR), a lightweight port-based concurrency library for C# 2.0 originally developed by George Chrysanthakopoulos in Microsoft's Advanced Strategies group.
Craig Mundie, Microsoft's chief strategy and research officer, was working on it in before Trower went forward with the robotics initiative, Trower says.
"At the time, [Mundie] didn't see it as something that applied to robotics, but we talked about the challenges that robotic developers face. He said, 'You know, this is a good example of some of the challenges that all developers are facing in multithreaded and distributed computing environments,'" Trower recounts.
The CCR has begun attracting attention outside the robotics community, Trower says. Financial services companies with complex trading systems and organizations that need to model large data sets (weather, seismic activity) have shown some interest. The technology is currently being used to build sensor networks and in-home automation applications. And the online social network MySpace manages its entire server farm using the CCR, Trower says.
A New Breed of Machine
But Microsoft believes a significant robotics market, driven by a new breed of machine, is poised to burst into the consumer market, Trower says. Currently, most of the world's robots are isolated from humans, performing a range of industrial tasks in factories, manufacturing plants and pharmaceutical facilities. But a veritable race of domestic, multipurpose robots designed to be integrated into homes, provide assistance to the elderly and generally interact with humans are right around the corner, he says.
"No matter where you go in the world today, you're going to find robotics research going on," Trower says. Those researchers are finding that robots are as much about sophisticated software as they are about electronics and mechanical engineering. What's missing from the market is a breakthrough application-which, Trower hastens to advise, shouldn't be called a "killer app."
"In the context of robots, we never use that term," he says. "I think you can see why."