Vue d'ensemble des plates-formes logicielles pour la robotique
| Software |
Le marché actuel de la robotique de service est souvent comparé à celui que fût celui du PC quelques à ces débuts. En tant que tel, un certain nombre de compagnies essayent de devenir « prochain Microsoft de la robotique » et tentent d'établir une plate-forme de logiciel robotique qui serait standard, souvent désignée sous le nom « du système d'exploitation robotique. » Il est fascinant de voir que Microsoft est également dans le jeu avec sa propre plate-forme de logiciel robotique, appelé Microsoft Robotics Developer Studio.
By Michael Somby ( \n Cette adresse email est protégée contre les robots des spammeurs, vous devez activer Javascript pour la voir. )
Vers le début de l'article : Les plateformes logicelles pour les robots de service
|  | Microsoft Robotics Studio 1.5 | Mobile Robots | Skilligent |  iRobot AWARE 2.0 | Gostai Urbi | Evolution Robotics ERSP 3.1 | OROCOS |  Player , Stage, Gazebo |
| Open Source |  Non | Non | Non | Non |  Partial | Non | Oui | Oui |
| Free of charge | Edu/hby | Non | Non | Non | Selected platforms | Non | Oui | Oui |
| Windows | Oui | Oui | Oui |  ??? | Oui | Oui | Non | Oui (CYGWIN) |
| Linux |  Non | Oui | Oui | Oui | Oui | Oui | Oui | Oui |
| Distributed Services Architecture |  Oui | Non | Oui | Oui | Oui |  Non | Non | Oui (limitée) |
| Fault-Tolerance | Non | Non | Oui | Oui | Non |  Non | Non | Non |
| JAUS Compliant | Non | Non | Oui | Oui (???) | Non | Non | Non | Non |
| Graphical OCU | Oui (Web) | Oui | Oui | Oui | Oui | Oui | Non | Non |
| Graphical Drag-n-Drop IDE | Â Oui | Non | Non | Non | Oui | Oui | Non | Non |
| Built-in Robotic Arm Control | Non | Oui | Oui | Oui | Non | Â Non | Oui | Oui |
| Built-in Visual Object Recognition | Non | Non | Oui | Non | Non | Oui | Non | Non |
| Built-in Localization System | Non | Oui | Oui | Non | Non | Oui | Non | Non |
| Robot Learning and Social Interaction | Non | Non | Oui | Non | Non | Non | Non | Non |
| Simulation Environment | Â Oui | Oui | Non | Oui | Oui (webots) | Non | Non | Oui |
| Reusable Service Building Blocks | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Non |
| Real-Time |  Non | Non | Non (planned) | Non | Non | Non | Yes | Non  |
Ces logiciels peuvent être logiquement découpés en deux catégories : les ateliers logiciels destinés aux « puristes», permettant de développer des robots, et des « cerveaux robotiques » utilisables immédiatement.Â
Les produits de la catégorie de ateliers logiciels (Microsoft, Gostai, OROCOS, et Player) fournissent les environnements d'exécution, les couches d'abstraction de matériel, les outils de développement et de corrections des imperfections, et les environnements de simulation nécessaires pour les ingénieurs qui construisent ensuite réellement « les cerveaux robotiques ». Ces plates-formes sont en fait des cadres de programmation.
Les produits de la deuxième catégorie (MobileRobots, Skilligent) représentent les systèmes robotiques complets d'intelligence (« cerveaux robotiques ») qui peuvent être installés sur un robot pour le rendre autonome. Ces systèmes de contrôle complet sont établis auxl'utilisateurs des robots de service plutôt qu'aux programmeurs.
Il existe enfin des produits entre les deux (Evolution Robotics, iRobot AWARE) qui exigent une programmation au niveau application ou mission pour les transformer en « cerveaux robotiques complets. »Â
Quelques architectures de logiciels, modèles de programmation, et méthodologies ont été appliquées avec succès dans des systèmes de contrôle robotiques. Les « puristes » mettent en avant le fait que leurs plates-formes de développement combinent le meilleur en fournissant le plus simple, le plus extensible, ouencore la plupart des techniques éprouvées en matière de contrôle de robots -- tout en laissant aux utilisateurs de ces systémes le soin de d'assembler les morceaux en un véritable robot. En revanche, les fournisseurs « de systèmes robotiques intelligents » fournissent les solutions complètes qui incluent tout ce que le robot devra réaliser de façon autonome dans son travail, y compris les problèmes épineux que sont l'apprentissage du robot, l'interaction sociale, la navigation autonome, et les systèmes de visions.
Quelques produits de différentes catégories peuvent être utilisés conjointement. Par exemple, le logiciel de Skilligent peut fonctionner comme système autonome, ou bien comme surcouche de la plate-forme de Microsoft.
Quelques observations supplémentaires :
- Deux des systèmes (OROCOS et Player/Stage) sont open-source.
- La plupart des systèmes tournent sur Linux et Windows. Les exceptions principales sont Microsoft Robotics Studio, qui tourne uniquement sur Windows, et OROCOS qui est orienté temps-réel et Linux uniquement.
- Deux architectures seulement sont tolérants aux fautes, iRobot AWARE 2.0 et Skilligent. Ces progiciels sont équipés pour faire de la redondance et continuer donc à fonctionner malgré un problème majeur, tel que la panne d'un ordinateur, ou le dysfonctionnement d'une sonde,
- JAUS est supportépar Skilligent et (non confirmé) par iRobot AWARE 2.0,
- La plupart des systèmes sont distribués ce qui permet de développer de grandes applications robotiques, construites généralement sur plusieurs ordinateurs,
- Skilligent est le seul fournisseur dont le système peut apprendre de l'utilisateur, non professionnel, par l'étude et une méthode spécifique d'interaction sociale,
- MobileRobots offre le système de navigation le plus mature, avec de l'évitement d'obstacle et des systèmes de cartographie pour l'évolution en intérieur. Il s'appuie fortement sur des modules de balayage de type laser, embarqués sur le robot,
- Les capacités de navigation/localisation en intérieur sont présentes dans le système de MobileRobots, de Microsoft Robotics Developer Studio, et dans le système de Skilligent.
Voici maintenant la présentation détaillée des plateformes mises en comparaison. Les articles sont en anglais !Â
- Microsoft Robotics Studio
- iRobot AwareÂ
- Skilligent
- ERSP Evolution Robotics
- UrbiÂ
- OROCOS
- Player, Stage et GazeboÂ
Il existe encore de quelques autres plateformes utilisées dans la robotique de service comme CLARAty, YARP, Pyro  ou Edinburgh Robotics' DevBot. L'auteur n'a pas eu l'occasion de les tester dans le cadre de cet article :
- CLARAty is a software platform built by NASA and then released as an open source project. The software seems to provide a set of interesting algorithms such as visual heading and pose estimations, and visual wheel sinking estimation.
- Edinburgh Robotics DevBot is a robotic software platform that simplifies development of distributed robotic control systems by providing a unified distributed hardware abstraction layer.
- Pyro (Python Robotics) is an open source Python-based robot programming environment. It comes with a nice curriculum, so it can be used for classroom robotics.
- YARP ("Yet Another Robot Platform") is an open source set of libraries, protocols, and tools to keep modules and devices cleanly decoupled.
Â
Importance of JAUS standard
The U.S. Department of Defense is the world's largest single buyer of service robots. JAUS is mandated for use by all of the programs in the DoD Joint Ground Robotics Enterprise (JGRE). This basically means that if a company wants to sell robots to the DoD, the robots must be JAUS-compatible. Even if you are not planning to sell your robots to the DoD, it probably still makes sense to support JAUS, just in case.Â
JAUS stands for Joint Architecture for Unmanned Systems. Although it is called an "architecture," it can be treated as a UDP/RS232 binary protocol primarily used today for communication between mobile ground robots and their OCUs (operator control units). JAUS can be used as a standard interface for connecting new payloads to reconfigurable robotic platforms. It can also be used as a protocol for internal communication between various modules of a robotic control system -- that is when JAUS can be thought of as an "architecture."Â
There is controversy surrounding JAUS, caused by an (unconfirmed) fact that all JAUS implementation might fall under ITAR (International Traffic in Arms Regulations), which restrict the export of defense articles and services. When the controversy is cleared, a greater number of the vendors of software robotic platforms are expected to declare their support of JAUS.Â
There are open source and commercial implementations of JAUS.Â
Conclusion
So, what is the best software package? The judges are still out.Â
If you are using robotics for education purposes and Lego Mindstorms does not fit your curriculum, I would recommend Microsoft Robotics Studio. The Visual Programming Language and the Simulation Environment would be an easy way to script your robots.Â
If you are a robot designer looking for a complete robotic intelligence package for your service robot, my vote definitely goes to Skilligent. Their software product has everything needed to turn a bunch of motors, actuators, cameras, and sensors into a learning and social creature. And you do not have to be a software guru to make it work.Â
If you are a researcher looking for a robotic platform, check if there is a MobileRobots platform that fits your budget. These robots will not break in two weeks, and they come with full indoor/outdoor navigation capabilities.Â
If buying the hardware is not in your plans, take a look at Gostai URBI software, a clean and easy software framework for robot programming. ERSP would be a good choice if your research requires vision/navigation capabilities. If you are a researcher working in the area of robot programming by demonstration, social robot-to-human interaction or behavior coordination and control, Skilligent software package will give you a good start. Finally, if your research budget approaches zero, take a look at Player/Stage, OROCOS, or Microsoft Robotics Studio.Â
If you are thinking about actually using a robot to automate delivery processes or security, MobileRobots would be a place to go.Â
If you are a creator of the latest sensor/actuator technology, make sure your product is compatible with iRobot AWARE 2.0. If they like your technology, they might want to resell it to their customers in the defense industry, and you would get a chance to make money that way. Be ready to pay some license fees up front in order to get into the game.Â
If you are building a real-time vehicle control system, check out OROCOS, which was designed in real-time fashion from the very beginning. Skilligent would be your option if you also want to achieve fault-tolerance via redundancy.Â
Obviously, the market for service robot platforms is still fairly young. Yet, as this article shows, there are already quite a few options for developers interested in helping to advance the field. With luck, the coming year will bring even more variety, and further advances in this fascinating field.