|
Microsoft Robots Studio
The Robotics Studio is a Windows-based environment which easily creates robotics applications across a wide variety of hardware. The Microsoft Robotics Studio Runtime is a lightweight runtime written for common language runtime (CLR 2.0) that provides support for creating, hosting, and managing such applications.
The overall goal of robotics applications is to consume sensory input from a variety of sources and orchestrate a set of actuators to respond to the sensory input in a manner that achieves the purpose of the application. An example of a simple robotics application is shown in Figure 2.
The orchestrator has to manage 6 components. In addition, there are several things that distinguish the application flows illustrated in Figure 2.

- Handling of sensory input and controlling actuators must be dealt with
concurrently otherwise actuators can get starved and sensors ignored.
- Orchestration is a critical part of the application, especially as the
number of sensors and actuators grow and the orchestration becomes more
complex.
- Autonomous and collaborative orchestration requires that components can be
distributed and made accessed over the network.
Given these requirements, the purpose of Microsoft Robotics Studio Runtime is to facilitate building, monitoring, deploying, and running robotics applications by providing the following:
Concurrency and Coordination Runtime (CCR) enabling coordination of messages without the use of manual threading, locks, semaphores, etc. The CCR is based on asynchronous message passing and provides an execution context for services including a set of high-level primitives for synchronizing messages.
Decentralized System Services (DSS) providing a service hosting environment and a set of basic services facilitating tasks such as debugging, logging, monitoring, security, discovery, and data persistence.
The Microsoft Robotics Studio Runtime has been designed to support a wide range of robotics applications ranging in sophistication from simply observing sensory input, to drive-by-wire, to autonomous operation, and even to cooperation between multiple autonomous robots.
|