Programmation des robots, outils et frameworks

De nombreux environnements et outils de programmation sont en concurrence pour animer les robots. Même Microsoft, le créateur de Visual Studio, s'intéresse à ce marché et offre un produit dans la ligne de ses outils de développements.

Outils de programmation et simulation de la robotique

Gazebo

OSRF, gratuit et open source. Linux.

Développé par l'OSRF (Open Source Robotics Foundation), Gazebo a son propre site. C'est une interface à un monde robotique virtuel permettant de contrôler une population de robots. Il fournit un bibliothèque de composants de mondes virtuels.

RDS

Microsoft. Gratuit. Windows.

Robotics Developer Studio est produit par Microsoft depuis quelques années et est devenu gratuit en mai 2010. Il a à cette époque 60000 utilisateurs actifs.

Le langage de développement visuel VPL (Visual Programming Language) permet de créer des applications par glisser-déposer de composants prédéfinis. Un runtime, CCR (Concurrency and Coordination Runtime), gère en mode asynchrone les échanges entre le matériel, bras, senseurs, etc. et le logiciel qui le commande.

L'environnement de simulation VSE (Visual Simulation Environment) est le point fort de cet outil, car il permet d'expérimenter dans un monde virtuel en 3D l'interaction du robot avec des objets, des décors, et la programmation devient ainsi comme un jeu.

Liste de robots supportés

ROS

Willow Garage et OSRF. Gratuit et open source. Windows, Linux, Mac.

Le Robot Operating System est un système qui commande le robot sur lequel on peut implémenter des applications. Il fonctionne plutôt sur Linux et semble incomplet sous Windows, dans la mesure ou il comporte de nombreux outils fonctionnant sous UNIX.
Il veut centraliser des frameworks existants en un logiciel unique. Ce n'est pas en lui-même un outil en temps réel, mais on peut lui adjoindre un module pour ce faire.
Les langages de programmation utilisés sont C++ et Python, d'autres étant en développement.


Meka

Arduino

Gratuit et open source.

Arduino est une plateforme électronique open source et un environnement de développement, basé sur Processing, pour toutes sortes d'actuateurs de robots ou matériels automatisés.
Le langage de développement Arduino (basé sur Wiring) est proche du langage C.
On développe en Arduino de façon textuelle et non visuelle comme avec RDS.

LabView

National Instruments. 1250$.

Destiné à l'industrie, il offre une interface pour programmer toutes les sortes d'instruments automatisés et compris les systèmes robotiques.
Des widgets de contrôle servent d'interfaces aux données. Des pilotes (comme ceux des cartes graphiques) servent à reconnaître les différents matériels. Différents langages à représentation graphique, formés d'objets à combiner dans des schémas, sont traduits en langage C pour fonctionner sur différentes plateformes.

Frameworks

Interfaces entre robots et logiciels.

JavaScript

Vision et reconnaissance d'objets

Apprentissage