Microsoft Robotics Developer Studio - Académie d`Orléans

Transcription

Microsoft Robotics Developer Studio - Académie d`Orléans
Microsoft Robotics Developer Studio
Microsoft Robotics Developer Studio
Microsoft Robotics Developer Studio
Développeur
Microsoft en association avec la communauté
[1]
Dernière version Microsoft Robotics Studio 2008 R3 (05 Décembre 2010)
[ +/−
]
Environnement
Windows XP SP2, Windows Server 2003, Windows Vista, Windows XP Embedded, Windows CE 5.0, Windows CE 6.0
Licence
Express (gratuite), Académique ou Payante
Site Web
Site officiel
[2]
La plateforme de développement Microsoft Robotics Developer Studio (MSRDS) a pour objectif de faciliter le
développement d'applications robotiques. Elle prend en charge diverses configurations matérielles de robots. Elle
comporte un runtime, un environnement de développement et des outils de simulation.
Le runtime
• Il s'appuie sur le Framework .NET (voire le Compact Framework .NET depuis la version 1.5) : ceci permet
d'abstraire le système d'exploitation pour l'application.
• Il propose une architecture orientée « services » composée de deux modules : CCR et DSS
• CCR : le Concurrency and Coordination Runtime gère l'exécution asynchrone et parallèle des divers éléments
de l'application robotique. Ainsi on n'a pas besoin lors du développement de gérer manuellement la
synchronisation des diverses tâches et l'on peut envisager la prise en compte d'évènements asynchrones
provenant de capteurs et la prise en charge de commandes de moteurs et d'activateurs liées à ces évènements.
• DSS : le Decentralized Software Services supporte un modèle simple orienté « services ». Les diverses entités
de l'application MSR sont des services s'exécutant sur un PC, un robot, une machine et dont la communication
est gérée par DSS au travers d'un réseau filaire ou sans fil, s'appuyant sur un protocole ouvert (DSSP). Ce
modèle permet la réutilisation de services dans divers contextes et l'abstraction de l'implémentation au sein
dudit service : on pourra par exemple avec une même application robotique piloter deux robots différents
proposant la même interface de pilotage. Les services ont un état structuré, ils implémentent un
« comportement », ils exposent des « entrées/sorties » évènementielles ou non, sont capables d'exploiter les
fonctionnalités de l'OS sous-jacent, sont en mesure d'établir des partenariats avec d'autre services, peuvent
découvrir d'autres services au travers de DSS...
1
Microsoft Robotics Developer Studio
Les outils
Les outils permettant de développer une application MSR comportent un environnement graphique (Microsoft
Visual Programming Language : VPL), des outils en ligne de commande permettant de générer et manipuler des
projets et fichiers Visual Studio (la version Express de VS suffit) en C#, C++ ou VB.NET), le support pour des
langages de script tels qu'IronPython et des outils de simulation 3D.
• Visual Programming Language est un environnement de développement graphique proposant un catalogue de
services (tous ceux présents sur la machine de développement) et d'activités.
• Ceux-ci sont mis en interaction de manière graphique, un service ou une activité étant représenté par un bloc
exposant des entrées et des sorties (évènementielles ou synchrones) qu'il suffit de glisser depuis le catalogue
vers le diagramme.
• L'établissement des liens se fait à la souris et permet définir si les signaux que l'on prend en compte doivent
être simultanés ou non, d'effectuer des calculs sur les valeurs transmises, ...
• VPL permet aussi de générer le code de nouveaux « macro services » à partir des diagramme créés par
l'utilisateur.
• Il est possible dans VPL de configurer les divers services pour différents hardware aisément.
• Visual Studio est l'environnement de développement logiciel Microsoft. Robotics Studio se contente de la version
gratuite (Express) de cette suite de développement pour permettre le développement de nouveaux services en C#,
C++, JScript, IronPython ou VB.NET. Les outils mis à disposition dans MSRDS tels que DSSNewService.exe
permettent de simplifier les développements en générant les squelettes des divers fichiers code source.
• L'environnement de simulation 3D
de MSRDS permet de simuler le
comportement de robots dans un
environnement virtuel s'appuyant
sur la technologie AGEIA PhysX
(moteur physiques) incluant un
modèle graphique et un modèle
physique très évolués.
• Sur chaque nœud d'exécution
(chaque machine du réseau
robotique sur lequel s'exécute un
runtime), il est possible d'exécuter
Robot et environnement de simulation dans MSRDS
(localement ou à distance) un écran
de contrôle (via un navigateur web)
qui permet de diagnostiquer l'état dudit nœud, de démarrer ou arrêter un ou plusieurs services, etc.
• Les outils sont livrés avec de multiples tutoriaux et exemples permettant une prise en main très rapide. De
nombreuses applications ont ainsi pu être ajoutées à la suite logicielle comme Maze Simulator qui permet de créer
des mondes virtuels qui pourront être explorés par des robots virtuels, développée par une communauté
indépendante, ou encore Soccer Simulation qui est une simulation de compétition de football, cette fois
développée par Microsoft.
2
Microsoft Robotics Developer Studio
L’infrastructure
• Les plateformes supportées à ce jour sont les suivantes : Windows Vista, Windows XP, Windows XP Embedded,
Windows CE embedded 6.0, Windows Mobile 6, Windows Server 2003 R2 (32 bits x86), Windows Server 2003
R2 (64 bits), Windows XP 64 Bits. Ceci permet d'envisager d'avoir des systèmes robotiques allant du simple robot
autonome à une flotte de robots et machines collaborant au travers d'un réseau distribué et décentralisé.
• Les moyens de communications supportés vont du lien Série, aux réseaux Ethernet en passant par Bluetooth,
802.11, ZigBee, CAN, RF, USB...
• Robotics Studio tourne sur un simulateur basé sur la technologie PhysX d'Ageia
Robots supportés
•
•
•
•
•
•
Le CoroBot de CoroWare
Lego Mindstorms NXT
iRobot Create
Le FrameWork educatif de KUKA Robotics
Boe-Bot
Les robots de Robosoft
• Pekee II de Wany Robotics
La licence
Microsoft Robotics Studio est utilisable gratuitement (outils et runtime) pour une activité non commerciale
(hobbyistes, étudiants, professeurs, chercheurs).
Références
[1] http:/ / en. wikipedia. org/ wiki/
Mod%C3%A8le%3Aderni%C3%A8re_version_stable%2Fmicrosoft_robotics_developer_studio?action=edit&
preload=Modèle:Dernière_version_stable/ Préchargement
[2] http:/ / www. microsoft. com/ robotics/
3
Sources et contributeurs de l’article
Sources et contributeurs de l’article
Microsoft Robotics Developer Studio Source: http://fr.wikipedia.org/w/index.php?oldid=64364013 Contributeurs: Badmood, Bob08, Chouca, Freewol, Hugoviv, JeanTony, Karl1263, Loreleil,
Malost, Moez, Pad, Patemino, SergeStinckwich, Shawn, Speculos, Stéphane33, Taguelmoust, Zetud, 10 modifications anonymes
Source des images, licences et contributeurs
Fichier:Importez le logo-fr.svg Source: http://fr.wikipedia.org/w/index.php?title=Fichier:Importez_le_logo-fr.svg Licence: Creative Commons Attribution-Share Alike Contributeurs: Ewan ar
Born
Image:Mars rover msrds simulation.jpg Source: http://fr.wikipedia.org/w/index.php?title=Fichier:Mars_rover_msrds_simulation.jpg Licence: Creative Commons Attribution-Sharealike
3.0,2.5,2.0,1.0 Contributeurs: Hugoviv
Licence
Creative Commons Attribution-Share Alike 3.0 Unported
http:/ / creativecommons. org/ licenses/ by-sa/ 3. 0/
4