Posts Tagged ‘ Architecture ’

Microsoft Robotics Developer Studio Components

The Microsoft Robotics Developer Studio SDK consists of a number of components.
  • The Concurrency and Coordination Runtime (CCR).
  • Decentralized Software Services (DSS) comprise the run – time environment.
They are both managed libraries, so the robotics services that operate within their environments are also implemented using managed code.
  • The Visual Simulation Environment is a 3D simulator with full physics simulation that can be used to prototype new algorithms or robots.
  • The Visual Programming Language (VPL) is a graphical programming environment that can be used to implement robotics services.
In addition to all of these components, the MRDS team has implemented numerous samples and complete applications to provide programming examples and building blocks for user applications.

Henrik Frystyk Nielsen on the Restful architecture of Microsoft Robotics Studio

Henrik Frystyk Nielsen used to work for the World Wide Web Consortium on some key pieces of infrastructure including the HTTP specification and libwww. He left the W3C in 1999 and now works for Microsoft where his current project is Robotics Studio, whose tagline is: “A Windows-based environment for academic, hobbyist and commercial developers to easily create robotics applications across a wide variety of hardware.” What that description doesn’t tell you, but today’s screencast shows, is that the Robotics Studio is based on a RESTful architecture, and that applications are built by composing lightweight services in ways that will be instantly familiar to every web developer.

To drive home that point, much of the action in this screencast occurs in a web browser, where you’ll see Henrik explore a distributed directory of services and view XML snapshots of the current state of bumpers, cameras, and laser range finders.

From a read-only perspective it’s all HTTP GET, and you can do things like subscribe to robotic sensors using RSS feeds. When you control a robot, SOAP is used to optimize fine-grained updates. But either way it’s a loosely coupled and late bound system that leverages the fundamental flexibility of web architecture in a very different domain. In one compelling demonstration of that flexibility, you’ll see a generic controller — which had been controlling the robot in Henrik’s office with no prior knowledge of the device, purely by interface discovery — switch over to a simulated robot and drive it by means of the same kind of discovery.

Jon Udell Original Article

%d bloggers like this: