Microsoft® Robotics Studio is a Windows-based environment for hobbyist, academic and commercial developers to create robotics applications for a variety of hardware platforms. The Microsoft Robotics Studio includes a lightweight REST-style, service-oriented runtime, a set of visual authoring and simulation tools, as well as tutorials and sample code to help you get started.
End-to-End Development Platform
The Microsoft Robotics Studio enables developers to create services for a wide-variety of robot hardware.
Non-programmers can create robot applications using a visual programming environment
The Visual Programming Language enables anyone to create and debug robotics programs very easily. Just drag and drop blocks that represent services, and connect them up. You can even take a collection of connected blocks and reuse them as a single block elsewhere in your program.
Simulate robotics applications in 3D physics-based virtual environments
Simulate your robotics applications using realistic 3D simulated models. The Microsoft Robotics Studio simulation tool includes AGEIA™ PhysX™ Technology from AGEIA Technologies Inc., a pioneer in hardware-accelerated physics, enabling real-world physics simulation for robot models. PhysX simulations can also be accelerated using AGEIA hardware.
Interact with robots using Windows or Web-based interfaces
Create applications that enable you to monitor or control a robot remotely using a Web-browser and send it commands using existing Web technologies, such as HTML forms and JavaScript; mount cameras on the robots and control them to survey a remote location.
Lightweight REST-style, services-oriented runtime
Microsoft Robotics Studio includes a .NET-based REST-style, services-oriented runtime.
Makes Asynchronous Programming Simple
The Concurrency and Coordination Runtime (CCR), makes it simple to write programs to handle asynchronous input from multiple robotics sensors and output to motors and actuators.
Real-time Monitoring of Robotics Sensors and Response to Motors and Actuators
The Decentralized Software Services (DSS) application model makes it simple to access, and to respond to a robot’s state, using a Web-browser or Windows-based application.
Reuse Modular Services Using a Composable model
Build high-level functions using simple components, providing for reusability of code modules as well as better reliability and replaceability. For instance a lower-level sensor service could be integrated into a navigation service.
Scalable and Extensible Platform
The Microsoft Robotics Studio programming model can be applied to a variety of robot hardware platforms, enabling users to transfer their skills across platforms. The programming interfaces can be used to develop applications for robots using 8, 16 or 32-bit processors, either single or multi-core.
Easily extend Microsoft Robotics Studio Functionality
Third parties can extend the functionality of Microsoft Robotics Studio by providing additional libraries and services. Hardware or software vendors can make their products easily compatible with Microsoft Robotics Studio.
Supports both remotely connected (PC-based) and robot-based (autonomous) application scenarios
Remotely connected scenarios enable you to communicate from a PC to the robot through a serial port, Bluetooth®, 802.11, or RF. Programs can also execute natively on PC-based robots running Microsoft Windows, enabling fully autonomous operation.
Develop using a wide range of programming languages
With Microsoft Robotics Studio, robotics applications can be developed using a selection of programming languages, including those in Microsoft Visual Studio® and Microsoft Visual Studio Express (C# and VB.NET), as well as scripting languages such as Microsoft Iron Python. Third-party languages that support the Microsoft Robotics Studio services-based architecture are also supported.