Microsoft Robotics Developer Studio

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Microsoft Robotics Developer Studio
Developer(s) Microsoft in association with the community
Initial release December 18, 2006 (2006-12-18)
Stable release 4.0 / March 8, 2012 (2012-03-08)
Operating system
Type Robotics suite
License Various

Microsoft Robotics Developer Studio (Microsoft RDS, MRDS) is a Windows-based environment for robot control and simulation. It is aimed at academic, hobbyist, and commercial developers and handles a wide variety of robot hardware. It requires the Microsoft Windows 7 operating system.

RDS is based on CCR (Concurrency and Coordination Runtime): a .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.

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. The primary programming language is C#.

Microsoft Robotics Developer Studio includes support for packages to add other services to the suite. Those currently available include 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, and a set of services for OpenCV. Most of the additional packages are hosted on CodePlex (search for Robotics Studio). Course materials are also available.


Example of a Reference Platform Robot

There are four main components in RDS:

  • CCR (Concurrency and Coordination Runtime)
  • DSS (Decentralized Software Services)
  • VPL (Visual Programming Language)
  • VSE (Visual Simulation Environment)

CCR and DSS are also available separately for use in commercial applications that require a high level of concurrency and/or must be distributed across multiple nodes in a network. This package is called the CCR and DSS Toolkit.



The tools that allow to develop an MRDS application contain a graphical environment (Microsoft Visual Programming Language : VPL) command line tools allow you to deal with Visual Studio projects (VS Express version is enough) in C#, and 3D simulation tools.

  • Visual Programming Language is a graphical development environment that uses a service and activity catalog.
    • They can interact graphically, a service or an activity is represented by a block that has inputs and outputs that just need to be dragged from the catalog to the diagram.
    • Linking can be done with the mouse, it allows you to define if signals are simultaneous or not, permits you to perform operations on transmitted values...
    • VPL also allows you to generate the code of new "macro" services from diagrams created by users.
    • It is possible in VPL to easily customize services for different hardware elements.
  • RDS 3D simulation environment allows you to simulate the behavior of robots in a virtual world using NVIDIA PhysX technology (3D engine originally written by Ageia) that includes advanced physics.
A simulated robot with a Kinect sensor
  • There are several simulation environments in RDS. These environments were developed by SimplySim
    • Apartment
    • Factory
    • Modern House
    • Outdoor
    • Urban
  • Many examples and tutorials are available for the different tools, which permits a fast understanding of MRDS. Several applications have been added to the suite, such as Maze Simulator, or Soccer Simulation which is developed by Microsoft.
  • The Kinect sensor can be used on a robot in the RDS environment. RDS also includes a simulated Kinect sensor. The Kinect Services for RDS are licensed for both commercial and non-commercial use. They depend on the Kinect for Windows SDK.

Notable applications[edit]

  • Princeton University's DARPA Urban Grand Challenge autonomous car entry was programmed with MRDS.[1]
  • MySpace uses MRDS's parallel computing foundation libraries, CCR and DSS, for a non-robotic application in the back end of their site.[2]
  • Indiana University uses MRDS in a non-robotic application to coordinate a high-performance computing network.[2]
  • In 2008 Microsoft launched a simulated robotics competition named RoboChamps using MRDS, four challenges were available : maze, sumo, urban, and Mars rover. the simulated environment and robots used by the competition were created by SimplySim and the competition was sponsored by KIA Motors


  • The complication and overhead required to run MRDS prompted Princeton Autonomous Vehicle Engineering to convert their Prospect 12 system from MRDS to IPC++.[3]
  • The main RDS4 website hasn't been updated since 6/29/2012.

Versions and Licensing[edit]

  • Robotics Studio 1.0 (Commercial and Non-Commercial Use Licenses) -- Release Date: December 18, 2006
  • Robotics Studio 1.5 (Commercial and Non-Commercial Use Licenses) -- Release Date: May 2007
  • Robotics Studio 1.5 'Refresh' (Commercial and Non-Commercial Use Licenses) -- Release Date: December 13, 2007
  • Robotics Developer Studio 2008 Standard Edition (Commercial Use), Academic Edition (Academic use) and Express Edition (Commercial and Non-Commercial Use) -- Release Date: November 18, 2008
  • Robotics Developer Studio 2008 R2 Standard Edition (Commercial Use), Academic Edition (Academic use) and Express Edition (Commercial and Non-Commercial Use) -- Release Date: June 17, 2009
  • Robotics Developer Studio 2008 R3—Release Date: May 20, 2010. With R3, Robotics Developer Studio 2008 is now free and the functionality of all editions and CCR & DSS Toolkit has been combined into the single free edition. R3 is no longer compatible with .NET Compact Framework development and it no longer supports Windows CE.[4]
  • Robotics Developer Studio 4 -- Release Date: March 8, 2012. This release adds full support for the Kinect sensor via the Kinect for Windows SDK V1. A Reference Platform Design is included in the documentation, with the first implementation being the Eddie robot from Parallax. It also updates RDS to .NET 4.0 and XNA 4.0.[5]

Supported robots[edit]

An iRobot Create robot inside Microsoft Robotic Studio's Visual Simulation Environment
Robotino inside Microsoft Robotic Studio's Visual Simulation Environment

See also[edit]


Morgan, Sarah (2008). Programming Microsoft Robotics Studio. Microsoft Press. ISBN 0-7356-2432-1. 

Johns, Kyle; Taylor, Trevor (2008). Professional Microsoft Robotics Developer Studio. John Wiley & Sons. ISBN 0-470-14107-7. 

Kang, Shih-Chung; Chang, Wei-Tze; Gu, Kai-Yuan; Chi, Hung-Lin (2011). Robot Development Using Microsoft Robotics Developer Studio. Chapman and Hall/CRC Press. ISBN 978-1-4398-2165-7. 

External links[edit]