• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
Developing for Robots: An Introduction to The Microsoft Robotics Developer Studio
It has been said that one of the next major revolutions in terms of technology will be in personalrobotics. Anyone who
s watched the Will Smith blockbuster movie, iRobot, would suddenly get imagesof robots in the house taking care of household chores, robots doing your gardening, robots attending toeveryday mundane activities.Well, it may not be so imminent but the road there is definitely becoming clearer. In the past, robotshave been confined to industries and manufacturing. They
ve definitely proved useful in things such asassembling machinery and printing all those millions of transistors on chips. But, what if everyone whocould take just a little time to learn, could write applications for robots?
 –
Useful applications. What if you could, on your desktop, or laptop, with no access to high end tools or even robotic hardware beable, in a very simple way write such applications? What possibilities would be open to the averagedeveloper then?These are the motivators that set a team at Microsoft on the path to finding a way to solve this veryproblem, making robotic development easy to do, and create a toolset that is a great fit for the problem.To elaborate on the problem this team sought to tackle, here
s sort of, the
state of the (robotics)industry
that the team was to tackle, and what the Microsoft Robotics Developer Studio seeks to solve:1.
 
Fragmented hardware
 –
multiple hardware platforms2.
 
Limited tools and technologies for doing this kind of development3.
 
It was too complex, and much expertise was needed in order for a developer to get into thisfield4.
 
Lack of reusable components5.
 
Difficulty in transferring this kind of skillSo what exactly is the Microsoft Robotics Developer Studio (RDS)? Well, in a sentence, it
s a Microsoftproduct for building and running Robotics applications. The RDS consists of a set of tools and a runtimefor building controlled, semi-autonomous and autonomous robotic applications. The diagram belowshows the different components of RDS:
 
Before going into the details of RDS, it is worth noting what
kinds
of applications RDS is targetedtowards, these are also some of the unique characteristics of Robotics applications1.
 
Loosely coupled
 –
apps built out of bringing together individual
pieces
and making them worktogether2.
 
Asynchronous
 –
having multiple tasks executing in the background in an asynchronous way3.
 
Concurrent
 –
having multiple tasks being executed at the same time4.
 
Composable
 –
being able to
compose
or build apps out of bringing pieces together to create awhole5.
 
Decentralised (Distributed computations)6.
 
Resilient
 –
Fault tolerant
The Runtime
Architecture Diagram
 
 The runtime environment runs on the .NET framework. There are two key components here:1.
 
The Distributed Software Services (DSS)2.
 
The Concurrency and Coordination Runtime (CCR)These two provide programming models for distributed applications programming (DSS) and aconcurrent programming model (CCR).The basic building block of a Robotics application using RDS is a
service
. The DSS and CCR provide waysof defining and working with services.DSS is based on Representational State Transfer (REST) principles. It provides programming constructsfor expressing distribution. It defines a protocol known as the Distributed Software Services Protocol
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...