# Microsoft Robotics Developer Studio

Microsoft Robotics Developer Studio (Microsoft RDS, MRDS) és un entorn basat en Windows (ja descatalogat) per al control i simulació de robots que estava adreçat a desenvolupadors acadèmics, aficionats i comercials i gestionava una gran varietat de maquinari de robots. Requereix un sistema operatiu Microsoft Windows 7 o posterior.
RDS es basa en el temps d'execució de concurrència i coordinació (CCR): una implementació de biblioteques concurrents basada en NET Framework per gestionar tasques paral·leles asíncrones. Aquesta tècnica implica utilitzar el pas de missatges i un temps d'execució lleuger orientat a serveis, Serveis de programari descentralitzat (DSS), que permet orquestrar diversos serveis per aconseguir comportaments complexos.
Les característiques inclouen: una eina de programació visual, Microsoft Visual Programming Language (VPL) per crear i depurar aplicacions de robot, interfícies basades en web i Windows, simulació 3D (inclosa acceleració de maquinari), fàcil accés als sensors i actuadors d'un robot. El llenguatge de programació principal és C#.
Microsoft Robotics Developer Studio inclou suport per a paquets per afegir altres serveis a la suite. Els disponibles actualment inclouen Soccer Simulation i Sumo Competition de Microsoft, i un Maze Simulator desenvolupat per la comunitat, un programa per crear mons amb parets que poden ser explorats per un robot virtual i un conjunt de serveis per a OpenCV.

## Components

RDS té quatre components principals:
* Temps d'execució de concurrència i coordinació (CCR)
* Serveis de programari descentralitzats (DSS)
* Llenguatge de programació visual (VPL)
* Entorn de simulació visual (VSE)
CCR i DSS també estan disponibles per separat per utilitzar-los en aplicacions comercials que requereixen un alt nivell de concurrència i/o s'han de distribuir entre diversos nodes d'una xarxa. Aquest paquet s'anomena CCR i DSS Toolkit.

## Eines

Les eines que permeten desenvolupar una aplicació MRDS contenen un entorn gràfic (Microsoft Visual Programming Language (VPL)) eines de línia d'ordres permeten treballar amb projectes de Visual Studio (n'hi ha prou amb la versió VS Express) en C# i eines de simulació 3D.
* El llenguatge de programació visual és un entorn de desenvolupament gràfic que utilitza un catàleg de serveis i activitats.
** Poden interactuar gràficament, un servei o una activitat està representada per un bloc que té entrades i sortides que només cal arrossegar des del catàleg a un diagrama.
** L'enllaç es pot fer amb el ratolí, permet definir si els senyals són simultanis o no, permet realitzar operacions sobre valors transmesos.
** VPL també permet generar el codi de nous serveis "macro" a partir de diagrames creats pels usuaris.
** A VPL, és possible personalitzar fàcilment els serveis per a diferents elements de maquinari.
* L'entorn de simulació RDS 3D permet simular el comportament dels robots en un món virtual mitjançant la tecnologia NVIDIA PhysX (motor 3D escrit originalment per Ageia) que inclou física avançada.

## Aplicacions destacades

* L'entrada de cotxes autònoms DARPA Urban Grand Challenge de la Universitat de Princeton es va programar amb MRDS.
* MySpace utilitza les biblioteques de bases de computació paral·leles de MRDS, CCR i DSS, per a una aplicació no robòtica a la part posterior del seu lloc.
* La Universitat d'Indiana utilitza MRDS en una aplicació no robòtica per coordinar una xarxa informàtica d'alt rendiment.
* El 2008 Microsoft va llançar una competició de robòtica simulada anomenada RoboChamps mitjançant MRDS, hi havia quatre reptes disponibles: laberint, sumo, urbà i rover de Mart. l'entorn simulat i els robots utilitzats per la competició van ser creats per SimplySim i la competició va ser patrocinada per Kia Motors
* La secció de robòtica i algorisme del 2009 de la competició de programari Imagine Cup utilitza l'entorn de simulació visual MRDS. Els reptes d'aquesta competició també van ser desenvolupats per SimplySim i són versions millorades dels desafiaments de RoboChamps.

## Referències

* ↑ «Microsoft Robotics Studio» (en anglès americà), 16-09-2014. [Consulta: 13 febrer 2024].
* ↑ «Let’s Start With Microsoft Robotics Developer Studio – Installation and Components – Into Robotics - Into Robotics» (en anglès americà), 06-09-2023. [Consulta: 13 febrer 2024].
* ↑ ◾ Microsoft Robotics Development Platform (en anglès). Chapman and Hall/CRC, 2016-04-19, p. 23–40. ISBN 978-0-429-06280-3.
* ↑ «Microsoft Shifts Robotics Strategy, Makes Robotics Studio Available Free - IEEE Spectrum» (en anglès). [Consulta: 13 febrer 2024].