Microsoft Robotics

Microsoft Robotics Developer Studio

MICROSOFT ROBOTICS DEVELOPER STUDIO. Robotics has always been considered a field of research, usually reserved for universities and industries. Mainstream programming is generally unaware of the advancements in robotics; most of the software being written today are made for web, desktop or server applications. Because of its seemingly complex nature, very few make attempts in the field of robotics, and the few that come out are usually only involved with a low level code, very close to the hardware.

Microsoft will attempt to change this with a program called the Microsoft Robotics Developer Studio (RDS). As is the history of Microsoft, robotics would now get the attention of the mainstream public and general developers. People could now take advantage of robotic features in fields like finance and business, something they never would have thought possible. With Microsoft’s Visual Programming Language, anyone, even non-programmers, can create and debug robotics programs without much difficulty: all they need to do is “drag and drop blocks that represent services, and connect them.” It is also possible to take a collection of connected blocks and reuse them as a single block elsewhere in the program.

The Microsoft Robotics Developer Studio (RDS) is a Windows-based tool that can help people start writing real code without having to do all the low level tasks. It handles a wide variety of robot hardware, providing an environment for robot control and simulation aimed at academic, hobbyist, and commercial developers who want to write robotic programs. RDS includes a lightweight REST-style, service-oriented runtime, a set of visual authoring and simulation tools, as well as tutorials and sample code to help get started.

RDS is based on CCR (Concurrency and Coordination Runtime), a dot NET-based concurrent library implementation for managing asynchronous parallel tasks. This technique involves using message-passing and a lightweight services-oriented runtime, DSS (Decentralized Software Services), which allows the orchestration of multiple services to achieve complex behaviors.” Some of its features include a visual programming tool, Microsoft Visual Programming Language for creating and debugging robot applications, web-based and windows-based interfaces, 3D simulation (including hardware acceleration), easy access to a robot's sensors and actuators and support for a number of languages including C# and Visual Basic .NET, JScript and IronPython.


The Microsoft Robotics Developer Studio also includes support for packages to add other services to the suite. Currently available are the Soccer Simulation and Sumo Competition by Microsoft, and a community-developed Maze Simulator, a program to “create worlds with walls that can be explored by a virtual robot.” It mainly consists of three main parts. Among these, CCR and DSS can be used by applications outside the Robotics world and can support 8-bit to 32-bit robots, meaning robots that could range from toy robots to industrial robots. The CCR or Concurrency library is the base of this Robotics architecture. It can be used for PC applications instead of a robot. CCR is available in the form of a dynamic link library which may be used by any .NET language. The DDS is the services architecture, a companion to CCR. This is based on Service Oriented Architecture. It provides the ability to write applications that are modular and highly distributed, which means you can execute your code in the processing work horses and use them anywhere in the distributed environment.

As such, the advantages of robotics can now be usefully and lucratively employed in the business arena. Microsoft’s first test release of the third iteration of its robotics toolkit happened in 2008. Now, there have been more than 200,000 downloads of the current version (1.5) of the Microsoft Robotics Studio toolkit, according to Tandy Trower, General Manager of Microsoft’s Robotics Group. Accordingly, more than a few have been “companies like SAP, Siemens and MySpace.” These companies aren’t building robots; they’re interested in some of the other elements in the guts of the robotics toolkit, Trower said.

“We’re seeing interested in the enterprise space,” Trower continues, “for mail handling, financial trading, scientific modeling” and other business applications. Several businesses have been discovering that the Microsoft Robotics Studio includes technology that is suited for programming multicore, distributed systems. The businesses are specifically interested in the concurrency and coordination (CCR) and decentralized software services (DSS) runtimes, which are part of the evolving multicore/distributed programming model into which Microsoft and other tech vendors starting to develop and capitalize in.

On the other hand, some negative reactions to the product emphasize that RDS is “a closed proprietary system and it may reduce the amount of innovation in robotics software, if it is successful.” Herman Bruyninckx from K.U Leuven, and head of Euron, has also argued that every time Microsoft enters a new market, the range of alternative solutions becomes much smaller and more polarized. At present, there are several alternative open source robotics toolkits and packages other than Microsoft around. If anything, competition should be constructive and advantageous in this emerging field. Ultimately though, I feel that making robotics available to the bigger, mainstream public will produce more benefits than not. After all, robots are the future.

Microsoft Robotics Developer Studio (RDS)