La la robotique est un domaine en expansion. De plus en plus d'IA et de robots remplacent le travail de plus de personnes. Ils sont le présent et le futur, il est donc important de se former à ces types de domaines pour savoir comment ils fonctionnent et quels outils et systèmes vous disposez pour vos projets robotiques. Et, dans cet article, vous verrez qu'est-ce que ROS et tout ce que vous devez savoir à ce sujet.
Qu'est-ce que ROS ?
ROS signifie Robot Operating System, ou système d'exploitation du robot. Il s'agit d'un middleware pour la robotique, c'est-à-dire d'un ensemble de frameworks destinés à faciliter le développement de logiciels pour robots. Actuellement, il est largement utilisé dans les robots bien connus, étant l'un des meilleurs outils disponibles aujourd'hui, totalement gratuit, écrit en C et Python, et sous une licence open source BSD.
ROS a été initialement développé en 2007, dans le Laboratoire d'intelligence artificielle de Stanford, et sous le nom de code Switchyard. Au départ, ce serait pour le projet de robot STAIR2. Après cela, il a été décidé d'ouvrir.
Une question que beaucoup se posent souvent est, s'il ne s'agit pas d'un système d'exploitation, pourquoi s'appelle-t-il ainsi ? Eh bien, bien qu'il s'agisse d'une suite de bibliothèques pour le développement, la vérité est qu'elle fournit certains des fonctions essentielles d'un système d'exploitation, comme une couche d'abstraction du matériel pour que les développeurs ne se soucient que du logiciel, du contrôle des différents composants du robot à un niveau bas, de la capacité de gestion et de communication des processus, de la maintenance des packages, etc.
La bibliothèque est orientée vers Systèmes UNIX, comme Linux (dans plusieurs distributions, bien que le meilleur support soit pour Ubuntu) et macOS, bien qu'il fonctionne également dans d'autres systèmes d'exploitation tels que Microsoft Windows.
Il est également important de différencier les parties de ROS :
- ros: est la partie qui agit comme le système d'exploitation, la base. Il s'agit de la partie logicielle sous licence BSD. Cela comprend le nœud de coordination principal, les flux de données (images, stéréo, laser, contrôle, actionneurs, contact, ...), le multiplexage d'informations, la création et la destruction de nœuds, le login, etc.
- ros-pkg: est la suite de packages créés par les utilisateurs et qui implémentent des fonctionnalités telles que la planification, la perception, la simulation, la cartographie, la localisation, etc. Ces autres composants sont concédés sous licence dans une grande variété de licences.
Les outils inclus dans ROS ce sont :
- reviz: pour la simulation et la visualisation 3D.
- rosbag: pour enregistrer et lire des messages de communication.
- chaton- Outil de build, basé sur CMake.
- Rosbash- Package avec des outils pour étendre les fonctionnalités du shell bash.
- roslaunch: pour exécuter des nœuds ROS localement ou à distance.
Applications ROS
ROS est un projet en constante évolution, et à chaque fois il peut être utilisé pour plus d'applications dans le domaine de l'IA et de la robotique, et fait à chaque fois mieux son travail :
- Systèmes de perception artificielle.
- Identification d'objets et vision artificielle.
- Reconnaissance faciale, reconnaissance gestuelle, etc.
- Suivi d'objets.
- Odométrie visuelle.
- Compréhension des mouvements.
- Vision stéréo.
- Mobilité des robots.
- Contrôle.
- Planification.
- Saisir des objets.
- Coordination
- Essai.
- Etc
Exemples de robots utilisant ROS
Il y en a beaucoup, et il serait difficile de tous les lister, puisque ROS est devenu presque un "standard" pour beaucoup d'entre eux. Mais certains de les plus connus sont:
- PR1: robot personnel développé par le laboratoire Ken Salisbury à Stanford.
- PR2: robot personnel développé par Willow Garage.
- Baxter : robot de Rethink Robotics, Inc.
- Le robot de l'ombre: une main robotique de la société Shadow Robot, en collaboration avec l'Université Pierre et Marie Curie de Paris et l'Université Carlos III de Madrid. Développé dans un cadre européen.
- HERB: créé en CMU au sein du programme de robotique personnelle de la société Intel.
- Aldébaran Nao- Un robot humanoïde créé par Humanoid Robots Labs et l'Université de Fribourg.
- UGV Husky: un véhicule terrestre et open source.
Pourquoi devriez-vous apprendre avec ROS ?
Les robots sont des systèmes complexes et la robotique est difficile à comprendre. Cependant, disposer d'outils tels que ROS facilite grandement le développement à partir de zéro, accélérant la création de vos propres projets en beaucoup moins de temps et sans autant de connaissances que si vous ne les aviez pas.
En d'autres termes, l'avantage de ROS est de faciliter la voie aux développeurs, avec une multitude de modules complémentaires gratuits et open source, afin que vous ayez tout ce dont vous avez besoin. De plus, vous apprendrez plus que la robotique, mais aussi l'électronique, la mécanique et la programmation :
- Utilisez des langages comme C++ et Python pour développer des applications.
- Administration des réseaux et des systèmes pour installer et maintenir ROS.
- Concepts robotiques de base tels que cartographie, IA, localisation, cinématique inverse, etc., pouvant mettre en contact capteurs, actionneurs, contrôleurs, etc.
Peu importe le complexité du robot, avec ROS tout est beaucoup plus simple. Il n'est pas non plus limité à un seul type de robot, il peut servir des robots pour animaux de compagnie, aux robots humanoïdes, en passant par les bras robotiques pour l'industrie ...
Plus d'informations sur ROS - Site officiel