ROS : Le standard d’architecture logicielle robotique

Traditionnellement confinés aux milieux industriels, les systèmes robotiques sont aujourd’hui boostés par les progrès de L’IA et de la data science qui les rendent aptes en « monde ouvert ».

De nouvelles machines apparaissent, remplissant des fonctions plus complexes que celles de leurs homologues en usine :

Des robots sociaux capables de détecter les émotions ou interagir avec les humains et qui pourraient devenir les assistants domestiques de demain. Des véhicules autonomes qui rendraient les déplacements plus sûrs et moins polluants. On peut aujourd’hui réaliser partiellement ces usages avancés qui font rêver le grand public tant les services imaginés sont prometteurs.

Habituellement plus pragmatiques, les entreprises semblent partager cet engouement : elles s’équiperont à hauteur de $128.7 milliards en 2020, Selon l’International Data Corporation, 17,1 % de plus qu’en 2019.

ROS™, le facilitateur de projets robotiques

En contraste avec cette croissance économique et médiatique, le projet le plus impactant de la robotique récente est encore relativement confidentiel, probablement car ROS n’est pas capable de vous remonter le moral en lisant la peine sur votre visage. Il ne viendra pas non plus vous chercher pour vous transporter vers votre destination dans des conditions optimales. En fait ROS n’est même pas un robot.

C’est un assemblage d’outils informatiques Open-Source allant du middleware au runtime environment utilisé pour le développement de logiciels robotiques. Il permettra à de nouveaux services, de plus en plus complexes d’être assurés par les systèmes robotiques.

ROS et ses différents composants
ROS et ses différents composants

C’est parce qu’avant sa création en 2007 les roboticiens ne disposaient pas d’architecture logicielle embarquée « standard », que le Robot Operating System (ROS) est une avancée importante. Avec ROS, ses créateurs Keenan Wyrobek et Eric Berger fournissent aux chercheurs un « Linux pour robots »[i]. Ils permettent ainsi aux utilisateurs de simplement programmer leurs projets « par-dessus » l’architecture ROS. Les chercheurs ne gâchent alors plus de temps ni de financements à créer un système ad-hoc pour chaque nouveau projet.

L’architecture ROS facilite de surcroit la création de robots grâce à ses fonctionnalités de partage :

ROS permet d’importer et exporter des bibliothèques de logiciels (ROS package). Lesdites bibliothèques peuvent être chargées/uploadées via le site https://www.ros.org/ . Ces usages ont libéré les pratiques collaboratives et le partage de connaissance dans le secteur robotique. Ils ont transformé un groupe confidentiel d’utilisateurs ROS de l’université de Stanford en une communauté globale et dynamique.

ROS facilite la recherche en robotique en fournissant des modules de base

La transition vers des logiques commerciales

Le système est si populaire que des entreprises s’y intéressent. ROS pourrait effectivement apporter une valeur significative aux acteurs de la robotique commerciale :

Comme observé en recherche, ROS en accélérant la R&D réduirait les couts et le « time to market ». Intéressant pour des organismes souhaitant rapidement obtenir un prototype ou combler un retard technologique.

La couche d’abstraction matériel et le partage de bibliothèques logicielles qu’offre ROS abaissent le niveau technique requis par la discipline. Des entreprises pourraient plus facilement se lancer en robotique, ou concevoir des fonctions plus complexes.

Des aménagements sont en cours pour assurer la transition vers ces nouveaux usages. En effet, ROS cible à l’origine le monde académique et n’est pas aligné sur les normes de productions commerciales. Une nouvelle version, ROS2, a donc été lancé en 2017. ROS2 comble les lacunes de ROS1 en termes de sécurité et de fiabilité notamment[ii].

Derrière le développement et la promotion de ROS2, on trouve des acteurs de grande envergure comme Microsoft ou Amazon qui composent le « comité de pilotage technique » de ROS2. Ce comité conçoit l’adaptation de la technologie ROS pour les usages commerciaux. L’intérêt pour certains membres du comité est de stimuler l’adoption de ROS, pour générer des consommateurs de leurs services dédiés. Pour d’autres, il est de se garantir une avance technologique en disposant d’une architecture robotique calquée prioritairement sur leurs besoins.

Amazon par exemple veut étendre son offre cloud par l’inclusion d’AWS RoboMaker : RoboMaker fournit un environnement de développement ROS complet et ajoute ses services déjà existants, par exemple la vision par ordinateur.

La position avantageuse des promoteurs de ROS 2 devrait s’embellir encore, une étude publiée par ABI research révéle que près de 55 % des robots développés en 2024 incluront un package ROS.

ROS en France

En France, la problématique pour les industries est de ne pas rater le train de l’adoption de cette technologie. Qui de mieux alors que la SNCF pour être la locomotive des grands groupes français pour les projets ROS ? La société du ferroviaire développe ainsi plusieurs robots ROS, comme B.A.R.Y.L un robot poubelle utilisé en gare.

À la ROScon (convention ROS) de Paris de 2019, elle fut cependant la seule grande entreprise nationale à participer. Etonnant, tant ROS offre des opportunités pour les domaines de l’aérospatiale ou encore l’automobile. Des secteurs dans lesquels la France excelle, et qui seront pourtant impactés par la robotisation des industries.

Ce mutisme au sujet de ROS ne doit cependant pas faire craindre un retard particulier dans l’hexagone :

Un auditeur averti observera que plusieurs groupes français produisent discrètement leurs bibliothèques ROS et recrutent des spécialistes du système. C’est en fait l’exigence de la compétition, particulièrement dans la recherche qui pousse à la confidentialité. En robotique, domaine de haute technologie, les entreprises se livrent à une véritable course à l’innovation. Concrètement elles limitent les communications sur leurs piles technologiques, pour priver la concurrence d’informations. En France comme ailleurs, on progresse donc discrètement, mais l’intérêt du privé est bien réel.

Il faut de plus rappeler que la recherche tricolore est bien à jour, comme en témoigne l’existence d’une communauté francophone active sur le forum officiel de ROS (https://discourse.ros.org/ ). D’autre part la présence au sein de projets phares, d’ingénieurs français témoigne d’une formation adaptée aux exigences de la communauté. Enfin l’adoption généralisée de ROS et l’augmentation des dépenses en robotique poussera les groupes français à saisir cette opportunité.

L’enjeu étant d’établir d’ici là l’environnement idéal, pour qu’enfin au pays d’Edith Piaf les roboticiens voient la vie en ROS.

 

 

References

Garay, J. (2016). B.A.R.Y.L. : un robot poubelle entre en gare SNCF. Génération nouvelles technologies. https://www.generation-nt.com/sncf-robot-mobile-poubelle-gare-baryl-actualite-1936363.html

Joly, L.-R. (2019). ROS for Railways. https://vimeo.com/343408672. ROScon Paris 2019. https://vimeo.com/343408672

(2019). Open-Source Robotics Projects. ABI Research. https://www.abiresearch.com/market-research/product/1029218-open-source-robotics-projects/

(2020). IDC Worldwide Robotics and Drones Spending Guide. International Data Corporation. https://www.idc.com/getdoc.jsp?containerId=prUS45800320

Wyrobek, K. (2017). The origin story of ros the linux of robotics. IEEE Spectrum. https://spectrum.ieee.org/automaton/robotics/robotics-software/the-origin-story-of-ros-the-linux-of-robotics

 

[i] Attention ROS N’EST PAS UN SYSTEME D’EXPLOITATION. C’est un « méta operating system » i.e. il fournit des fonctions que l’on peut retrouver chez ces derniers : abstraction vis-à-vis du Hardware, gestion de packages… combinés à d’autres fonctionnalités facilitantes : runtime environnement, configuration du robot…

 

[ii] ROS2 revisite l’architecture de base de ROS1: plus de single point of failure due au « ROS Master » ce processus (dit nœud pour ROS) maître d’où étaient lancé tous les autres processus. Les fonctions de middleware sont assurés via une API au choix implémentant les data distribution service (DDS) et garantissent les quality of service (QoS), une amélioration par rapport au middleware « maison » de ROS1 . ROS2 prend aussi en charge de nouveaux cas d’usages non supportés par ROS1 (Systemes de robots, contrôle en temps réel…)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *