Comment ROS ouvre les portes de la robotique à une large utilisation
L’utilisation de robots est souvent rendue difficile par l’enchevêtrement de langages de programmation. Le framework open source ROS (Robot Operating System) doit changer cela. Il offre des fonctions de système d’exploitation et des outils logiciels permettant de programmer facilement des robots – indépendamment du fabricant de ces derniers. Ce guide explique ce qui se cache derrière ROS, quels sont les avantages et les possibilités offerts par ROS et tout ce qui peut déjà être réalisé aujourd’hui avec ROS.
Le problème : la programmation
Les robots font partie de notre quotidien. Ils aident à la production de voitures en usine, transportent des marchandises d’un point A à un point B ou assistent à des travaux de recherche sous l’eau. Et ce ne sont là que quelques-uns des travaux qu’ils effectuent désormais pour nous, les humains.
Toutes ces activités nécessitent une programmation adéquate du robot. Le programme lui indique où il doit se déplacer et ce qu’il doit faire à quel endroit – par exemple, se diriger vers une caisse pour y saisir un composant.
En principe, chaque fournisseur de robots a développé son propre langage de programmation à cet effet. Celui qui souhaite utiliser un robot doit donc maîtriser le langage correspondant. Les entreprises qui travaillent avec des robots de différents fabricants ont donc besoin d’experts spécifiques pour chaque type, capables de les programmer. Pour cela, les fabricants proposent leurs propres formations, qui peuvent durer plusieurs jours.
Cela peut rendre l’utilisation de robots coûteuse en temps et en argent. Un tiers des coûts d’une cellule robotisée sont dus à l’ingénierie logicielle – c’est-à-dire à l’apprentissage du robot.
A cela s’ajoute le fait que les applications ne peuvent pas être facilement reproduites. En effet, une application créée pour le robot d’un certain fabricant ne peut pas être transférée facilement à celui d’un autre fournisseur. Au lieu de cela, le code complet doit être réécrit.
Cela n’est pas seulement inefficace pour l’utilisateur qui souhaite travailler avec différents robots. Cela complique également le transfert de connaissances entre les différents types de robots. Les nouvelles applications, qui amélioreraient par exemple le travail avec la technologie, ne peuvent se répandre que lentement. Cela entrave les progrès de la robotique en général.
La solution : open source, méta-système d’exploitation avec middleware.
La solution à ce problème est en quelque sorte l’ouverture des frontières linguistiques. C’est l’idée fondamentale qui se cache derrière ROS (Robot Operating System) – un framework open source pour la programmation de robots. ROS a été développé en 2007 par l’institut de robotique Willow Garage dans la Silicon Valley pour le développement de son propre robot de service PR2. En 2009, il a été publié en open source afin que tout le monde puisse l’utiliser. Depuis 2012, ROS est coordonné, maintenu et développé par l’Open Source Robotics Foundation (OSRF).
Robotic Operating System est également appelé méta-système d’exploitation avec middleware. Concrètement, cela signifie que ROS n’est pas un système d’exploitation en soi, mais qu’il se base sur un système d’exploitation existant. À l’origine, il s’agissait uniquement de Linux, mais depuis, Windows et MacOS sont également pris en charge. Mais ROS offre également des fonctionnalités de système d’exploitation. Il s’agit par exemple de la gestion des paquets, de l’abstraction matérielle, de la gestion des processus et des pilotes d’appareils qui permettent de transférer le programme créé sur l’ordinateur vers le robot.
En outre, ROS met à disposition des outils logiciels permettant d’écrire des programmes pour les robots. Les utilisateurs peuvent utiliser des bibliothèques de logiciels qui simplifient la création de programmes et qui peuvent être adaptées de manière flexible.
Qui fait avancer ROS ?
Comme c’est souvent le cas avec les logiciels libres, ROS est soutenu par une grande communauté. Environ 35 000 utilisateurs sont actuellement actifs sur les plates-formes correspondantes. La communauté développe pour ROS un grand nombre de paquets avec des fonctions spécifiques. Les utilisateurs peuvent ensuite y recourir pour mettre en œuvre les applications correspondantes avec leur robot. Il existe ainsi des paquets pour la planification de chemin, la navigation ou le traitement d’image.
Depuis 2012, le ROS Industrial Consortium fait avancer le développement de ROS au sein de la communauté. L’objectif est de rendre le framework, initialement orienté vers la robotique de service, également utilisable pour les robots industriels. Le consortium compte aujourd’hui plus de 80 membres. Il s’agit notamment d’instituts de recherche, de fabricants de robots, de groupes techniques, d’entreprises de l’industrie automobile et de fournisseurs de technologies de l’information.
L’Industrial Consortium fournit des paquets pour ROS qui sont conçus pour répondre aux normes industrielles. Cela signifie que les paquets sont testés et documentés et que leur qualité est assurée. Il est ainsi garanti qu’ils sont suffisamment robustes pour être utilisés dans des environnements industriels. En outre, le consortium propose des formations pour ROS.
Quels sont les langages de programmation supportés par ROS ?
Celui qui mise sur ROS pour l’exploitation de ses robots bénéficie d’une série d’avantages. Ainsi, ROS permet d’utiliser des langages de programmation modernes tels que Python, Java et C++. Et ce sont des langages qui sont déjà enseignés à l’université ou même à l’école. Cela réduit les obstacles à la création de programmes robotiques. Il est également possible d’intégrer dans ROS des bibliothèques logicielles qui n’ont pas été écrites spécialement pour les robots – par exemple pour le traitement d’images.
De plus, le manque de reproductibilité ne pose plus de problème. Un robot est capable de comprendre un programme créé avec ROS, même si celui-ci a été écrit à l’origine pour un collègue d’un autre fabricant. Ainsi, les applications peuvent être déployées à grande échelle sans barrière linguistique.
En principe, ROS simplifie la création de programmes de robot, car les utilisateurs peuvent recourir au savoir-faire d’une grande communauté de développeurs. Celui qui souhaite apprendre une tâche particulière à son robot peut puiser dans le grand pool de paquets. Et inversement, les solutions développées par l’utilisateur pour résoudre un problème particulier peuvent être mises à la disposition de la communauté mondiale.
ROS répond-il déjà aux exigences du temps réel ?
Les possibilités de ROS ne cessent de s’étendre. En 2017, une évolution de ROS a été publiée avec ROS 2, qui apporte quelques améliorations. Parmi elles, la prise en charge de systèmes multi-robots – c’est-à-dire l’utilisation coordonnée de plusieurs robots. Dans ROS 1, il manque une méthode standard pour la construction de tels systèmes.
Une autre limitation concerne le comportement en temps réel. Dans le domaine industriel en particulier, il existe de nombreuses applications avec des exigences en temps réel pour les robots, qui ne sont pas prises en charge par ROS 1. De telles restrictions et d’autres ont été éliminées avec le ROS 2. Le comité de pilotage technique ROS 2 est responsable du développement ultérieur.
Les avantages peuvent désormais être utilisés dans de nombreux scénarios différents. Il existe ainsi des pilotes ROS pour plus de 140 robots. Il y a trois ans déjà, la société d’études de marché ABI Research prévoyait que d’ici 2024, près de 55 % de tous les robots commerciaux utiliseraient au moins un package ROS.
Un écosystème s’est également développé autour de ROS, fournissant différentes technologies et services. Les experts de l’Institut Fraunhofer pour les techniques de production et l’automatisation (IPA) ont par exemple développé un logiciel de navigation avec des modules ROS pour les systèmes de transport sans conducteur (AGV) utilisés dans la production automobile. L’institut est l’une des forces motrices du développement et coordonne les activités du ROS Industrial Consortium Europe.
Qui mise sur ROS ?
Des spécialistes de la sécurité comme Pilz s’intéressent également aux robots mobiles. Le fournisseur a développé un scanner laser de sécurité qui veille à ce qu’un AGV effectue son trajet sans collision. Les informations du scanner peuvent également être utilisées pour guider directement l’AGV ou pour planifier une nouvelle trajectoire. Dans un exemple d’application, le scanner envoie ses données à un PC ROS sur lequel fonctionne un algorithme appelé SLAM. Celui-ci s’occupe de la navigation et de la création de la carte. Grâce à un jumeau numérique fonctionnant également sur ROS, l’application peut en outre être planifiée à l’avance.
ROS est également intéressant pour les entreprises de réseau. Ericsson, par exemple, travaille à l’utilisation de ROS 2 en combinaison avec la 5G afin de faire progresser les systèmes en temps réel distribués. Les entreprises qui souhaitent utiliser ROS pour les robots industriels peuvent en outre faire appel aux conseils des prestataires de services correspondants.
Le ROS a également stimulé la scène des start-ups. D’une manière générale, le secteur de la robotique compte actuellement un grand nombre de jeunes entreprises qui développent de nouvelles solutions. L’association sectorielle International Federation of Robotics estime qu’environ deux tiers d’entre elles utilisent le framework open source.
L’une d’entre elles est Drag&Bot. Comme quelques autres start-ups, l’entreprise s’est fixé pour objectif de simplifier la manipulation des robots. Drag&Bot est une spin-off du Fraunhofer IPA et propose aux entreprises un ensemble de modules logiciels prêts à l’emploi. Ceux-ci peuvent être facilement assemblés par glisser-déposer pour former le programme de robot souhaité. Il n’est pas nécessaire d’avoir des connaissances spécifiques en robotique. Grâce à ROS, le logiciel Drag&Bot peut être utilisé pour les robots de différents fabricants.
Les grands fournisseurs informatiques comme Google ou Amazon ont également reconnu les avantages de ROS. Ainsi, des plateformes de développement pour ROS sont désormais disponibles dans le cloud. Ceux qui utilisent cette offre peuvent donc faire tourner leur application robotique directement dans le cloud.
Systèmes ROS : du quadrupède au bras robotisé
Ces exemples montrent l’étendue de l’éventail des ROS. Et outre les AGV et les robots industriels, de nombreux autres types de robots peuvent être programmés sur la base de ROS, du drone au robot à quatre pattes.
Les robots de la série Quadruped Go2 Air d’Unitree font partie de ces derniers. Les robots Quadruped conviennent à la recherche et au développement de systèmes autonomes dans les domaines de l’interaction robot-humain, du SLAM et du transport. Grâce à leurs quatre jambes, ils peuvent se déplacer sur de nombreux types de terrains différents. Ils atteignent ainsi une vitesse de 3,7 m/s, soit 11,88 km/h.
Le TB3 BURGER 4 2GB est également un robot mobile, équipé d’un Raspberry Pi 3, d’un système LiDAR, d’une unité de commande OpenCR et de deux servomoteurs Dynamixel. Grâce à ces composants, des données de mesure fiables peuvent être générées et traitées. En outre, la carte contrôleur offre toute une série de possibilités d’extension, par exemple pour commander un bras de robot ou pour implémenter d’autres capteurs. Le robot est ainsi adapté aux applications SLAM et de navigation. Turtlebot3 est la plate-forme de développement officielle de ROS.org pour les entreprises, les instituts de recherche et les universités.
Les bras robotiques de bureau peuvent également être pilotés avec ROS. Il s’agit notamment de l’UFactory xArm, qui dispose d’une charge utile allant jusqu’à 5 kg et d’une portée allant jusqu’à 700 mm.
Conclusion
Robotic Operating System a le potentiel de libérer la robotique de nombreuses contraintes et pourrait ainsi faire avancer de manière décisive le développement dans ce domaine. Grâce au framework, il est possible d’utiliser la technologie indépendamment des fabricants et de créer relativement facilement les applications correspondantes. ROS contribue ainsi à ce qu’à l’avenir, beaucoup plus d’utilisateurs puissent profiter des possibilités offertes par l’utilisation de robots. ROS est ainsi en train de quasiment démocratiser la robotique.
Image: Adobe Stock