Microsoft Robotics Developer Studio : les ressources pour bien démarrer

Avec l’introduction du premier CTP de Robotics Studio, Microsoft confirme son engagement dans la robotique, et particulièrement la robotique amateur, en fournissant à la communauté une preview gratuite de ce que sera le framework de développement robotique de Microsoft.

La première question qui vient à l’esprit du hobbyiste qui voudrait s’essayer à Microsoft Robotics Developer Studio est bien entendu « Par où vais-je commencer ? ». Le but de ce document est de répondre à cette question en fournissant des pointeurs vers les ressources, la documentation, les tutoriaux et bien entendu en faisant le tour de cet outil dont la puissance n’a d’égal que la simplicité d’utilisation.

I. Quels sont les outils de développement utilisés ?

On peut utiliser Microsoft Robotics Developer Studio de deux manières différentes pour développer le logiciel de son Robot : en écrivant directement son code dans un IDE, ou en utilisant un outil spécialement concu pour Robotics Studio qui s’appelle le Visual Programming Language (VPL).

L’IDE de base pour Robotics Developer Studio est Visual Studio 2008. La version Express est gratuite et suffit parfaitement. Il est également possible d’utiliser Robotics Developer Studio avec Visual Studio 2005, il n’est donc pas nécessaire d’avoir les deux moutures de l’outil en parallèle sur sa machine. La première chose à faire est donc d’installer les outils : ci-dessous les liens vers ceux-ci :

Microsoft Visual Studio 2008 Express Edition

Microsoft Robotics Developer Studio 2008 Express Edition

II. Les concepts majeurs

a. Le Visual Programming Language

Le but du VPL est de « dessiner » la machine d’état de son robot en choisissant dans une liste les composants à utiliser, et en les reliant par des chemins de données dont le type est paramétrable. Il est ensuite possible de spécifier sur quelle « nœud » (le robot, le PC qui le contrôle, etc) le composant va être déployé et exécuté.

Le plus simple pour s’initier au VPL est de commencer par les tutoriaux MSDN, qui sont très rapides et permettent de prendre en main l’outil.

VPL Tutorials on MSDN

clip_image002

1. Exemple de diagramme VPL

Le VPL n’est cependant pas le seul moyen de programmer son robot. Il est également possible d’utiliser le C#, le VB. NET, le C++ et même le Python. On peut retrouver ces tutoriaux dans les autres langages sur le site MSDN suivant :

Basic Robotics Tutorials - All Languages

A souligner, il existe aussi un grand nombre de tutoriaux sous forme de Video On Demand :

Microsoft Robotics Developer Studio On Demand Screencasts

b. Le moteur de simulation graphique

Microsoft Developer Robotics Studio 2008 intègre le moteur graphique 3D d’Ageia pour fournir un environnement de simulation puissant qui permet de tester son code sur un robot sans risquer de casser quoi que ce soit. Pour comprendre les fonctionnalités et les principes de ce moteur de simulation, MSDN répond encore à la majorité des questions :

Simulation Overview

clip_image004

2. Capture d'écran du simulateur

c. Ce qui se cache sous le capot : CCR et DSS

Microsoft Robotics Developer Studio 2008 est architecturé autour de 2 composants essentiels : Le Concurrent and Coordination Runtime (CCR) et le Decentralized Software Services (DSS) : ils vont organiser tout le logiciel du Robot sous la forme d’une Architecture Orientée Services, rendant ainsi les différents composants modulaires, et ils vont gérer la synchronisation, l’ordonnancement et d’une manière générale la vie de ces services.

Pour bien comprendre les rôles de CCR et DSS, une fois de plus, MSDN est là pour nous :

Microsoft Robotics Developer Studio Runtime

Attention il y a beaucoup de choses derrière ce lien, qui sont assez théoriques, mais qui permettent de comprendre la puissance de ce runtime.

d. Quels sont les plateformes supportées ?

Un grand nombre de robots, en kit ou prémontés, existent sur le marché, et les plus communs d’entre eux sont supportés par Robotics Developer Studio : en voila une liste non exhaustive qui est destinée à évoluer au fur et à mesure des versions :

- LEGO Mindstorm NXT – RCX

- Parallax BOE-BOT

- iRobot Create Roomba…

Pour chacun de ces robots, il y a des pages sur MSDN et dans les forums qui leur sont spécifique et qui permettent de rapidement faire fonctionner son robot avec les outils Microsoft, et éventuellement résoudre les problèmes auxquels on peut être confrontés :

Exemple de page spécifique pour un robot : Lego NXT services

Forums Microsoft Robotics: Hardware Configuration & Troubleshooting

III. Quelles sont les autres ressources en ligne disponibles ?

L’équipe de développement de Robotics Developer Studio est plutôt prolifique en terme de documentation. L e point de départ est sans aucun doute la page MSDN de Robotics Developer Studio :

https://msdn.microsoft.com/robotics

Sur cette page on retrouve des liens vers les resources téléchargeables, des news de l’équipe de développement, et également des liens vers plus de 30 tutoriaux, y compris des Webcasts, permettant de prendre en main Robotics Developer Studio :

https://msdn.microsoft.com/en-us/robotics/aa731536.aspx

Attention toutefois, ces tutoriaux sont en Anglais. En Anglais également, le blog de l’équipe de développement de Robotics Developer Studio, emmenée par Tandy Trower, est à l’adresse suivante :

https://blogs.msdn.com/msroboticsstudio