...

Comment apprendre la robotique avec ROS

Comment apprendre la robotique avec ROS

Contenu

Auteur

Delphine Guers

Partager

Vous voulez commencer à apprendre la robotique par la programmation, mais vous ne savez pas par où commencer ?

La robotique est un domaine immense, il y a tellement de choses à faire et à apprendre. Il peut être décourageant de voir tout ce que vous pouvez faire, en partant seulement de la base.

Nous avons de bonnes nouvelles pour vous : ROS est certainement la voie que vous recherchez. Dans cet article, nous verrons ce qu’est ROS, la différence entre ROS 1 et ROS 2, ce que vous pouvez apprendre avec, et nous vous donnerons quelques lignes directrices pour commencer à l’apprendre et créer des applications robotiques intéressantes.

 

Qu’est-ce que ROS ?

ROS (Robot Operating System) est un cadre pour écrire des logiciels robotiques. Ce projet a été lancé en 2007 par Willow Garage, pour fournir aux roboticiens un ensemble standard de configurations et d’outils, afin qu’ils puissent écrire de meilleurs logiciels plus rapidement.

ROS alimente aujourd’hui de nombreux types de robots : drones, voitures autonomes, robots humanoïdes, bras robotiques, et bien d’autres. Le Ned2 de Niryo, par exemple, est un bras robotique à 6 axes alimenté par ROS.

Voici un exemple de contrôle du robot avec l’aide de ROS. ROS facilite l’envoi de commandes à partir d’une interface Web vers les moteurs (avec quelques étapes entre eux).

Il existe deux générations de ROS aujourd’hui. ROS 1, dont la dernière version (Noetic) a atteint sa fin de vie officielle en mai 2025, et ROS 2, la version activement maintenue et recommandée pour tout nouveau projet. Le Ned2 tourne nativement sous Ubuntu 20.04 avec ROS Noetic, et Niryo propose également un driver ROS 2 officiel pour ceux qui souhaitent développer directement en ROS 2.

Pourquoi apprendre la robotique avec ROS ?

La robotique est difficile à développer, et les robots sont souvent des systèmes très complexes qui nécessitent une expertise dans de nombreux domaines. Le problème de la robotique, c’est que les gens réinventent sans cesse la roue. Supposons que vous ayez un an pour construire un robot à partir de zéro (partie programmation) : vous passerez presque la moitié du temps à créer un système de communication et de calcul de base, et à la fin de votre projet, vous remarquerez que vous n’êtes pas allé plus loin que ce que tout le monde fait.

RROS est là pour vous fournir un ensemble d’outils, et un peu de « plomberie » pour démarrer votre application à partir d’un niveau plus élevé. Vous n’avez pas besoin de vous soucier de la manière dont les différentes parties vont communiquer. Vous obtenez aussi gratuitement des outils intégrés, comme la planification de mouvement, la reconnaissance d’objets, la navigation 2D ou la cartographie de pièces en 3D. Vous n’avez donc pas besoin de refaire ce qui a déjà été fait par des centaines de développeurs, et vous pouvez vous concentrer sur le cœur de votre projet. Retrouvez le détail de ces avantages dans notre article 8 raisons d’utiliser ROS pour vos projets robotique.

Ce que vous apprendrez avec ROS

La robotique concerne la mécanique, l’électronique et l’informatique. Avec ROS, vous apprendrez surtout ce dernier point. Vous en apprendrez sur :

  • La programmation (C++ ou Python) pour développer votre application.
  • L’administration système et réseau, pour installer et maintenir ROS sur différentes versions d’OS, manipuler des packages sources/binaires, communiquer avec des périphériques externes en utilisant différents protocoles (HTTP, WebSocket, I2C, SPI…).
  • Des concepts de robotique, tels que la cinématique inverse, la localisation, la cartographie 3D, l’intelligence artificielle

En utilisant ROS, vous aurez une base de départ solide pour votre application robotique. Avec cela, et le nombre d’outils disponibles, vous serez capable de :

  • Communiquer entre tous vos capteurs, contrôleurs, actionneurs, interfaces utilisateurs…
  • Gérer des systèmes robotiques complexes et de grande taille. Il sera plus facile d’obtenir une image globale d’une énorme application robotique.
  • Étendre vos connaissances en robotique. ROS alimente de nombreux types de robots. Même si vous programmez un drone, vous apprendrez des choses utiles qui pourront s’appliquer plus tard à un bras robotique, par exemple.

 

Comment apprendre la robotique avec ROS – Les bases

La première étape consiste à apprendre les bases de ROS. C’est une partie assez difficile, et vous ne saurez pas tout en un jour. Mais continuez à vous motiver, et après un certain temps, vous ne regretterez pas le temps que vous avez passé ! Nous vous donnons ici quelques ressources utiles qui vous aideront certainement dans votre parcours d’apprentissage :

  • Consultez la documentation officielle du ROS Stack de Ned2, qui couvre le fonctionnement du robot et son pilotage via ROS, aussi bien en réel qu’en simulation.
  • Si vous démarrez un nouveau projet aujourd’hui, privilégiez directement ROS 2 plutôt que ROS 1, qui n’est plus maintenu depuis mai 2025. La documentation officielle propose des tutoriels complets pour les débutants.
  • Si vous ne pouvez pas attendre de voir des projets réels et puissants fonctionner dans la vraie vie, consultez les robots existants alimentés par ROS avec un code source ouvert, disponibles pour que vous puissiez apprendre.

Tout d’abord, vous devrez comprendre les concepts de ROS : comment fonctionnent les sujets, les services et les actions (vous pouvez garder les actions pour plus tard si vous vous sentez dépassé). Il est important de comprendre les concepts de communication dans ROS dès le début, afin que vous puissiez commencer à penser à l’architecture de votre projet. Une fois que vous aurez compris comment les nœuds communiquent entre eux, vous pourrez aller plus loin.

Ensuite, nous vous encourageons fortement à trouver un projet de robotique, et à voir comment vous pouvez utiliser ROS pour le renforcer. Avoir un projet personnel vous permettra de rester motivé et de progresser plus rapidement.

 

Comment apprendre la robotique avec ROS – Après les bases

Il est temps pour vous de faire un travail plus sérieux, avec des packages plus globaux et plus utiles ! La façon dont vous apprenez maintenant dépendra principalement du type de robot que vous voulez programmer. Voici quelques concepts et outils clés de l’écosystème ROS que vous pourriez explorer :

  • URDF : une représentation XML de votre robot. Avec cela, vous pouvez facilement avoir un modèle global de votre robot à l’intérieur de votre système ROS et permettre à d’autres paquets de l’utiliser.
  • RViz : un outil de visualisation qui utilisera le format URDF de votre robot pour montrer une représentation 3D.
  • MoveIt : un cadre de planification de mouvement complet. MoveIt utilise le fichier URDF de votre robot et calcule une trajectoire complète. Niryo propose d’ailleurs un driver ROS 2 compatible MoveIt 2 pour Ned2.
  • ROS Control : un ensemble de contrôleurs et une interface pour votre matériel, également compatible avec MoveIt.
  • Gazebo : un outil de simulation complet, incluant les contraintes physiques et l’environnement. Vous pouvez cartographier une pièce avec un drone sur Gazebo, et la reproduire ensuite fidèlement dans la vraie vie.

Vous devez juste savoir que de nombreux packages sont en cours de développement pour de nombreuses applications robotiques différentes. Lorsque vous devez développer une nouvelle partie, vérifiez d’abord si quelqu’un a déjà fait un travail dessus : cela vous fera gagner du temps et vous permettra de progresser plus efficacement.

 

ROS et la communauté – Vous n’êtes pas seul !

Ce qui est formidable, lorsque vous apprenez quelque chose, c’est de partager votre progression avec d’autres personnes et d’obtenir des réponses à partir de l’expérience des autres.

ROS a une communauté immense et active. En apprenant la robotique avec ROS, nous vous garantissons que vous ne serez pas seul. Voici où vous pouvez trouver de l’aide et rencontrer de nouveaux passionnés de robotique :

  • Robotics Stack Exchange, la plateforme de questions-réponses actuelle de la communauté ROS. De nombreuses questions et réponses existantes sont très utiles et vous aideront à comprendre certains concepts et à résoudre vos problèmes.
  • Les dépôts ROS sur GitHub. Pour presque chaque package, vous pouvez trouver le code en ligne. Si vous avez un problème lié au code d’un paquet, vous pouvez facilement ouvrir un ticket et échanger avec les mainteneurs, ou même contribuer directement.
  • ROS Discourse, le forum de discussion de la communauté pour suivre les annonces, les nouvelles versions et les grandes discussions autour de ROS.

 

Conclusion

Nous avons donné ici un aperçu de ce que vous pouvez faire pour apprendre la robotique avec ROS.

ROS vous permettra d’arrêter de toujours réinventer la roue et de commencer à créer des applications robotiques impressionnantes, très rapidement.

Si vous voulez apprendre ROS avec un vrai robot que vous pouvez manipuler vous-même (parce que la plupart du temps les robots industriels sont trop chers et vous ne pouvez apprendre qu’avec des simulations 3D), alors Ned2 pourrait être parfait pour vous ! Découvrez d’ailleurs en détail comment Ned2 utilise ROS concrètement.

Parlez-nous de votre projet

Vous envisagez d’y intégrer les solutions Niryo ?
Échangez avec nos experts pour identifier la solution la plus adaptée à vos besoins.

English Deutsch Français
Euro (€) US Dollar ($)

Médical

IA

Médical

IA

IA