Que vous ayez déjà une expérience en programmation, comme comment utiliser un terminal et que vous souhaitez maintenant vous initier à la robotique, ROS est le langage qui n’attend que vous.
Dans cet article, nous vous expliquons si vous devez l’utiliser… ou non.
Allons-y!
D’abord, la définition
ROS, ou Robot Operating System, est un ensemble de bibliothèques logicielles et d’outils qui peuvent vous aider à créer plusieurs applications robotiques. L’objectif derrière ROS est de créer un standard. Alors pas besoin de réinventer la roue, ROS, tel quel, vous accompagnera en toute simplicité.
Pourquoi est-ce une bonne idée ?
Voici 8 raisons pour lesquelles ROS est la solution idéale pour votre projet robotique.
1. ROS est global
Le code de base et les connaissances sont les mêmes. Ils peuvent être appliqués à de nombreux types de robots : bras robotiques, drones, bases mobiles…
Tout ce que vous avez à faire est d’apprendre le principe de communication entre les nœuds du programme, et ensuite, vous pourrez mettre en place de nouvelles parties d’une application très facilement.
Si un jour vous décidez de passer à un projet robotique totalement différent, vous le ferez en douceur. En fait, vous pourrez appliquer ce que vous avez appris et réutiliser certaines pièces que vous avez déjà construites pour le nouveau projet, nul besoin de recommencer à zéro !
2. Les paquets ROS peuvent être utilisés pour (presque) tout.
Vous avez besoin de calculer une trajectoire pour votre robot ? ROS a un package pour cela. Vous souhaitez utiliser votre joystick pour contrôler le robot ? ROS a également un package pour cela.
Vous souhaitez cartographier une pièce avec un drone ? Devinez quoi? ROS est à nouveau la réponse.
Avec un peu de recherche, faites-nous confiance, vous trouverez de nombreux packages ROS pour presque toutes les applications robotiques auxquelles vous pouvez penser.
3. ROS est « language-agnostic«
Vous pouvez facilement faire communiquer un nœud Python et un nœud C++. Cela signifie beaucoup de réutilisabilité et de possibilités de travail collaboratif. De nombreuses bibliothèques permettent également d’utiliser d’autres langages (ROS a principalement ciblé C++ et Python, mais pas que).
Vous pouvez également faire tourner un serveur websocket sur votre robot (rosbridge_suite) ou un serveur HTTP, et ainsi utiliser n’importe quel langage pour communiquer avec lui.
4. ROS propose la simulation
Faire fonctionner votre robot en conditions réelles peut parfois être compliqué, c’est pourquoi vous avez assurément besoin d’outils de simulation. ROS a de nombreux outils formidables, tels que Rviz et Gazebo. Par exemple, Gazebo vous aide à ajouter des contraintes physiques à l’environnement, de sorte qu’une fois que vous exécutez à la fois la simulation et le robot physique, le résultat est à peu près identique.
Vous pourrez cartographier une pièce en 3D avec un drone relié directement à votre ordinateur, imaginez le temps que vous pourriez gagner !
D’autre part, les outils de simulation permettent de visualiser et d’utiliser d’autres robots que vous ne possédez pas, à des fins pédagogiques ou encore pour tester un robot dans un environnement spécifique.
5. Contrôler plusieurs robots
ROS peut fonctionner avec plusieurs masters. Cela signifie que si vous avez plusieurs robots indépendants et que chacun possède son propre système ROS, tous pourront communiquer entre eux.
6. ROS est léger
La base de base de ROS ne prend pas beaucoup d’espace et de ressources. Vous pouvez installer rapidement les packages de base et commencer en quelques minutes. De plus, vous pouvez utiliser ROS sur des ordinateurs embarqués, tels que les cartes Raspberry Pi 4. Ainsi, vous pouvez facilement démarrer un nouveau projet sans trop de problèmes.
7. ROS : vers la compatibilité universelle
Lorsque vous construisez un robot, vous ne souhaitez pas nécessairement en réinventer ou en recréer toutes les parties. Vous voudrez peut-être vous concentrer sur certains points de développement et intégrer des solutions de marché. La bonne nouvelle ici est que vous pouvez trouver de nombreux produits robotiques, tels que des pinces ou des cartes contrôleur qui ont déjà un package ROS. Ainsi, en plus de l’outil physique, le logiciel qui va avec est directement compatible avec votre système ROS.
8. ROS : open source et permissif
L’une des plus grandes forces de ROS est qu’il est open source. La plupart des packages de base sont publiés sous une licence BSD. Une licence BSD vous permet de modifier et d’utiliser le code à des fins commerciales, sans avoir à publier votre code avec une licence open source. Cela peut être un bon point lorsqu’une entreprise décide d’intégrer un logiciel open source.
Un présent prometteur, un futur encore mieux !
ROS a été créé en 2007 et depuis lors, il bénéficie d’une énorme base d’utilisateurs qui ne cesse de croître jusqu’à ce jour. De plus en plus de forfaits sont développés chaque année.
ROS en vaut vraiment la peine. Et Niryo lui fait confiance ! Si vous souhaitez vous lancer dans la robotique, ROS pourrait être la réponse… Demandez à notre Github 😉