Microsoft Robotics Developer Studio (15 Free Video Tutorials)

Here is a collection of 15 free video tutorials on (). The Microsoft Robotics Developer Studio is a Windows-based environment for robot control and simulation. You can download Microsoft Robotics Developer Studio here.



The Albert Einstein robot in this video was not developed with Microsoft Robotics Developer Studio, but it does serve to point the direction robotics is heading. (All the other videos in this post do deal with robots that are supported by Microsoft Robotics.)

Note: If you want to “deep dive” into robotics concepts and theories, you may want to check out Stanford’s Introduction to Robotics, which is a 16 part video series taught by Oussama Khatib.



 

Four Components of Microsoft Robotics Developer Studio:

An ICreate Robot in a Visual Simulation Environment

An ICreate Robot in a Visual Simulation Environment

  • CCR (Concurrency and Coordination Runtime) – makes asynchronous programming simple. The CCR makes it simple to write programs to handle asynchronous input from multiple robotics sensors and output to motors and actuators. With the use of CCR, we don’t need to do any manual threads management. This can be especially useful in handling concurrency and partial failure. CCR has a failure handling mechanism called Causalities. This is basically a generalization of Try / Catch for multiple threads. But this is for many machines and processes working in synchronous fashion. This is the base of Robotics architecture by Microsoft. You can even use this component for the applications running on a PC instead of a robot. CCR is available in the form of a dynamic link library which may be used by any .net language.
  • DSS (Decentralized Software Services) is the services architecture, and it is a companion to CCR. This is based on Service Oriented Architecture. This provides the ability to write applications which are highly distributed and modular. This means you can execute your code in the processing work horses and use anywhere in the distributed environment. The DSS makes it simple to access, and respond to, a robot’s state using a Web browser or Windows-based application. This provides for real-time monitoring of robotics sensors and real-time response to motors and actuators.
  • VPL (Microsoft Visual Programming Language) is a visual programming tool that is used for creating and debugging robot applications, web-based and windows-based interfaces.
  • VSE (Visual Simulation Environment) allows one to simulate the behavior of robots in a virtual world using NVIDIA PhysX technology (3D engine) that includes advanced physics.
Bunny's First Lego Mindstorms NXT Robot
Lego Mindstorms NXT
Creative Commons License photo credit: ixmati

The runtime environment consists of two components: the CCR and the DSS. The runtime is based on a lightweight REST-oriented services model. Making it REST based has made the services and applications to be independent of each other. They may be on the same machine or distributed across different machines connected through any means. When we say REST based, this means that the resources should be available by query strings. These services are available as resources to the other services, applications or User Interfaces. This is actually how Microsoft is able to promise low coupling between services. The Runtime supports from 8-bit to 32-bit robots. These robots may range from Toy Robots to Industrial Robots.

Microsoft Visual Programming Language enables anyone to create and debug robotics programs very easily. Just 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. VPL follows the Observer Pattern. This means that it is not based on Control flow but on data flow which enables some program elements to get executed when some data arrives. VPL provides a model-driven approach to develop and orchestrate services.

MRDS: Simulated Robot and Environment

MRDS: Simulated Robot and Environment


Easily simulate robotics applications using realistic 3D simulated models. Since testing with real robots is often expensive, it saves money to start out in a simulated environment first and then move to real robots once the concepts have been proven to work. Microsoft Visual Simulation Environment (VSE) is based on Microsofts XNA Framework and the rendering engine uses AGEIA™ PhysX™ Technology from AGEIA Technologies Inc.. AGEIA Technologies Inc. is a pioneer in hardware-accelerated physics, enabling real-world physics simulation for robot models. PhysX simulations can also be accelerated using AGEIA hardware. These simulations can be recorded and saved as XML files and played back over and over again.


Six Key Features of MRDS

  • Reuse Modular Services Using a Composable model
  • Build high-level functions using simple components, providing for reuse of code modules as well as better reliability and replaceability. For example, a lower-level sensor service could be integrated into a navigation service.

  • Scalable and Extensible Platform
  • The RDS programming model can be applied to a variety of robot hardware platforms, enabling users to transfer their skills across multiple platforms. The programming interfaces can be used to develop applications on single or multi-core processors.

  • Easily extend Microsoft Robotics Developer Studio Functionality
  • Third parties can extend the functionality of RDS by providing additional libraries and services. Hardware or software vendors can make their products easily compatible with RDS.

  • Supports both remotely connected (PC-based) and robot-based (autonomous) application scenarios
  • Remotely connected scenarios enable communication from a PC to the robot through a serial port, Bluetooth®, 802.11 (WiFi), or RF modem. Programs can also execute natively on PC-based robots running one of the Microsoft Windows operating systems, enabling fully autonomous operation.

  • Develop using a wide range of programming languages
  • MRDS allows you to access the runtime services using the following programming languages: C# and Visual Basic .NET, JScript, and IronPython

  • Microsoft Robotics Developer Studio allows one to use various packages to add other services to the suite.
    • Soccer Simulation
    • Sumo Competition by Microsoft
    • a community-developed Maze Simulator which is a program to create worlds with walls that can be explored by a virtual robot
  • Those other services include:

Sample Applications:

  • Princeton University’s DARPA Urban Grand Challenge autonomous car entry was programmed entirely with MRDS.
  • 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.



Supported Robots:



Key Microsoft Links:

Microsoft Robotics Page

Overview

Microsoft Robotics Developer Studio Video Tutorials

Series Title Date Presenter Min
MRDS Classic Channel 9: Microsoft Robotics Studio Introduction 6/20/2006 Tandy Trower 59
MRDS Architecture Overview 07/03/2006 George Chrysanthakopoulos 45
MRDS Introduction to the RESTful architecture of Microsoft Robotics Developer Studio 07/27/2007 Frystyk Nielsen 35
MRDS Overview of Robotics Developer Studio (RDS) and Visual Programming Language (VPL) 05/22/2008 Trevor Taylor 32
MRDS Microsoft Robotics Tour: CCR, VPL, Simulation – Part 1 4/23/2007 George Chrysanthakopoulos 18
MRDS Microsoft Robotics Tour: CCR, VPL, Simulation – Part 2 4/23/2007 George Chrysanthakopoulos 15
MRDS Visual Programming Language (VPL) 1 07/23/2007 Andreas Ulbrich 50
MRDS Visual Programming Language (VPL) 2 07/03/2007 Andreas Ulbrich 16
MRDS Visual Programming Language (VPL) Overview 08/06/2007 Andreas Ulbrich 26
MRDS Microsoft Robotics Developer Studio – Simulation 07/03/2007 Kyle Johns 33
MRDS Microsoft Robotics Developer Studio – Robotics Tutorials 07/03/2007 David Lee 20
MRDS Microsoft Robotics Developer Studio – Services Tutorials 07/03/2007 Paul C Roberts 30
MRDS Microsoft Robotics Developer Studio – Controlling Simulated Robots Using VB.NET 07/03/2007 Pavel Khijniak 15
MRDS Microsoft Robotics Developer Studio – Controlling Simulated Robots Using Iron Python 07/03/2007 Pavel Khijniak 18
MRDS
MSDN Webcast: Robotics: Programming Lego Mindstorms Using Visual Basic 2005 Express
5/10/2006 John Wingfield 59