Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Robot Operating System — Wikipédia
Robot Operating System — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
ROS
Description de l'image Ros logo.svg.
Description de cette image, également commentée ci-après
Simulation 3D avec RVIZ
Informations
Créateur Keenan Wyrobek (d)Voir et modifier les données sur Wikidata
Développé par Willow Garage - OSRF - Open Robotics
Première version 2 mars 2010Voir et modifier les données sur Wikidata
Dernière version Iron Irwini (23 mai 2023)[1],[2]Voir et modifier les données sur Wikidata
Dépôt github.com/ros2Voir et modifier les données sur Wikidata
Écrit en C++ et PythonVoir et modifier les données sur Wikidata
Système d'exploitation Linux, Windows 10 et macOSVoir et modifier les données sur Wikidata
Environnement Linux, Mac OS X
Type FrameworkVoir et modifier les données sur Wikidata
Licence Licence BSD
Site web ROS.org

modifier - modifier le code - voir Wikidata (aide)

Robot Operating System (ROS), est un ensemble d'outils informatiques sous forme de logiciels libres open source, permettant de développer des logiciels pour la robotique. À l'origine, il est développé en 2007 par la société américaine Willow Garage, pour son robot PR2. Son développement est aujourd'hui mené par l'« Open Robotics » (anciennement Open Source Robotics Foundation ou OSRF). En 2024, ROS est utilisé par plus de 1250 entreprises[3].

Description

[modifier | modifier le code]

ROS est une plateforme de développement logicielle pour robot. Il s'agit d'un méta-système d'exploitation qui peut fonctionner sur un ou plusieurs ordinateurs et qui fournit plusieurs fonctionnalités : abstraction du matériel, contrôle des périphériques de bas niveau, mise en œuvre de fonctionnalités couramment utilisées, transmission de messages entre les processus et gestions des packages installés. 

Le logiciel ROS peut être séparé en trois groupes : 

  1.  les outils utilisés pour créer, lancer et distribuer des logiciels basés sur ROS (roscore[4], roslaunch[5], catkin[6])
  2.  les clients ROS pour des langages : roscpp (C++)[7]  et rospy (python)[8]
  3.  les packages contenant des programmes pour ROS utilisant un ou plusieurs clients ROS

Les outils et les principaux clients ROS (roscpp et rospy) sont publiés sous les termes de la Licence BSD. De nombreux packages sont publiés pour ROS avec diverses licences open source (BSD, MIT). Ces packages permettent de lancer des applications, des algorithmes ou encore des programmes pour interfacer ROS avec des robots. L'outil de simulation Gazebo est directement intégré à ROS.

Les principaux clients ROS (C++ et Python) étaient à l'origine uniquement compatibles avec des systèmes de type Unix en raison de leur dépendance à d'autres logiciels open-source.

En 2025 la version de ROS Jazzy Jalisco prends en charge les principales distributions Linux (Ubuntu, Debian, RHEL) mais aussi les systèmes Windows 10, MacOS et OpenEmbedded Yocto. Cette version (appelée distribution à la manière des systèmes Linux) prends en charge les architectures de processeur AMD64, ARM32 et ARM64[9].

Il existe des clients ROS non officiels. Parmi eux on peut notamment citer :

  • rosjava (Java)[10] qui a permis de faire fonctionner ROS sur le système d'exploitation Android.
  • roslibjs (JavaScript)[11] qui permet d'interagir avec un système ROS depuis un navigateur. Ce client est développé dans le cadre du Robot Web Tools effort.

Fonctionnalités

[modifier | modifier le code]

ROS regroupe plusieurs fonctionnalités qui facilitent le développement d'applications souples et modulables pour la robotique.

  • Architecture de communication inter-processus et inter-machine
  • Serveur de paramètre
  • Système d'enregistrement et de rejeu (rosbag[12])
  • Système de test
  • Simulateur (Gazebo[13])

Architecture de communication

[modifier | modifier le code]
Schéma de fonctionnement du master sous ROS

ROS offre une architecture souple de communication inter-processus et inter-machine. Les processus ROS sont appelés des nodes et chaque node peut communiquer avec d'autres via des topics. La connexion entre les nodes est gérée par un master et suit le processus suivant : 

  1. Un premier node avertit le master qu'il a une donnée à partager 
  2. Un deuxième node avertit le master qu'il souhaite avoir accès à une donnée 
  3. Une connexion entre les deux nodes est créée 
  4. Le premier node peut envoyer des données au second 

Un node qui publie des données est appelé un publisher et un node qui souscrit à des données est appelé un subscriber. Un node peut être à la fois publisher et subscriber. Les messages envoyés sur les topics sont pour la plupart standardisés ce qui rend le système extrêmement flexible. 

ROS permet une communication inter-machine, des nodes s'exécutant sur des machines distinctes, mais ayant connaissance du même master peuvent communiquer de manière transparente pour l'utilisateur. 

Histoire

[modifier | modifier le code]

ROS a été initialement développé en 2007 sous le nom switchyard par le Stanford Artificial Intelligence Laboratory dans le cadre du projet Stanford AI Robot STAIR (STanford AI Robot)[14],[15].

De 2008 à 2013, le développement a été effectué principalement par Willow Garage, un institut / incubateur de recherche en robotique. Pendant ce temps, des chercheurs de plus de vingt institutions ont collaboré avec les ingénieurs de Willow Garage dans un modèle de développement fédéré[16],[17].

En février 2013, le développement de ROS est poursuivi par l'Open Source Robotics Foundation[18]. En août 2013, un blog annonce que Willow Garage sera absorbée par une autre société créée par son fondateur, Suitable Technologies[19]. Le support du robot PR2 créé par Willow Garage a été par la suite repris par Clearpath Robotics[20].

Historique des versions

[modifier | modifier le code]

Les versions de ROS peuvent être incompatibles entre elles et sont souvent désignées par leur nom de code plutôt que leur numéro de version. Les principales versions sont à ce jour :

ROS 1

[modifier | modifier le code]
Distribution Date de publication Image Date de fin de vie
ROS 1.0 22 janvier 2010
Box Turtle 2 mars 2010
C Turtle 3 août 2010
Diamondback 2 mars 2011
Electric Emys 30 août 2011
Fuerte Turtle 23 avril 2012
Groovy Galapagos 31 décembre 2012 31 juillet 2014
Hydro Medusa 4 septembre 2013 31 mai 2014
Indigo Igloo 22 juillet 2014 30 avril 2019
Jade Turtle 23 mai 2015 30 mai 2017
Kinetic Kame 23 mai 2016
30 mai 2021
Lunar Loggerhead 23 mai 2017 30 mai 2019
Melodic Morenia 23 mai 2018 30 mai 2023
Noetic Ninjemys
(dernière version de ROS 1)
23 mai 2020 30 mai 2025

ROS 2

[modifier | modifier le code]
Distribution Date de publication Image Date de fin de vie
Rolling Ridley[21],[22] progressing since

June 2020

The release poster for ROS 2 Rolling Ridley. N/A
Kilted Kaiju[23] 23 Mai 2025 Kilted Kaiju Logo Novembre 2026
Jazzy Jalisco 23 Mai 2024[23] The release poster for ROS 2 Jazzy Jalisco. Mai 2029
Iron Irwini 23 Mai 2023[24] The release poster for ROS 2 Iron Irwini. Novembre 2024
Humble Hawksbill 23 Mai 2022[25] The release poster for ROS 2 Humble Hawksbill. Mai 2027
Galactic Geochelone 23 Mai 2021[26] The release poster for ROS 2 Galactic Geochelone. Décembre 2022
Foxy Fitzroy 5 Juin 2020[27] Juin 2023
Eloquent Elusor 22 Novembre 2019 The release poster ROS 2 Eloquent Elusor. Novembre 2020
Dashing Diademata 31 Mai 2019 The release poster ROS 2 Dashing Diademata. Mai 2021
Crystal Clemmys 14 Décembre 2018 The release poster ROS 2 Crystal Clemmys. Décembre 2019
Bouncy Bolson 2 Juillet 2018 The release poster ROS 2 Bouncy Bolson. Juillet 2019
Ardent Apalone 8 Décembre 2017 The release poster ROS 2 Ardent Apalone. Décembre 2018

Domaines d'application

[modifier | modifier le code]

Les packages ROS peuvent s'appliquer à différents domaines d'application :

  • Navigation : navigation stack[28], amcl[29]
  • Manipulation : moveit[30]
  • Perception : hector_slam[31], gmapping[32]
  • Fusion de données : robot_localization[33]

Robots officiellement compatibles

[modifier | modifier le code]

ROS est aujourd'hui officiellement pris en charge par plus de 75 robots. La grande souplesse de ROS lui permet d'être déployé sur des robots très différents (robot mobile, bras industriel, multicoptère) et qui évoluent dans des milieux variés (terrestre, aérien, marin et sous-marin). Ci-dessous une liste non exhaustive des robots compatibles avec ROS :

Robot Constructeur
Nao[34] Aldebaran
Pepper[35] Aldebaran
PR2[36] Willow-Garage
Husky[37] Clearpath Robotics
Kingfisher[38] Clearpath Robotics
Turtlebot[39] Willow Garage
Turtlebot 2[39] Yujin Robotics
Turtlebot 3[39] Robotis
Shadow Hand[40] Shadow Robot
Robonaut 2[41] NASA
Erle-copter[42] Erle Robotics
Baxter[43] Rethink Robotics
Autorally[44] Georgia Tech
Stan (robot voiturier)[45] Stanley Robotics

Notes et références

[modifier | modifier le code]
  1. ↑ « https://docs.ros.org/en/iron » (consulté le 4 juin 2023)
  2. ↑ « https://docs.ros.org/en/jazzy/Releases.html »
  3. ↑ « 2024 ROS Metrics Report », sur ROS Discourse, 4 mars 2024 (consulté le 19 avril 2025)
  4. ↑ « roscore - ROS Wiki », sur wiki.ros.org (consulté le 28 janvier 2016)
  5. ↑ « roslaunch - ROS Wiki », sur wiki.ros.org (consulté le 28 janvier 2016)
  6. ↑ « catkin - ROS Wiki », sur wiki.ros.org (consulté le 28 janvier 2016)
  7. ↑ « roscpp - ROS Wiki », sur wiki.ros.org (consulté le 28 janvier 2016)
  8. ↑ « rospy - ROS Wiki », sur wiki.ros.org (consulté le 28 janvier 2016)
  9. ↑ Mikael Arguedas, Steven Ragnarok, Dirk Thomas, Audrow Nash, Geoffrey Biggs et Marco A. Gutierrez, « ROS 2 Releases and Target Platforms », sur www.ros.org, 10 novembre 2023 (consulté le 19 avril 2025)
  10. ↑ « rosjava - ROS Wiki », sur wiki.ros.org (consulté le 28 janvier 2016)
  11. ↑ « roslibjs - ROS Wiki », sur wiki.ros.org (consulté le 28 janvier 2016)
  12. ↑ « rosbag - ROS Wiki », sur wiki.ros.org (consulté le 31 janvier 2016)
  13. ↑ « gazebo_ros_pkgs - ROS Wiki », sur wiki.ros.org (consulté le 31 janvier 2016)
  14. ↑ « STAIR », sur stair.stanford.edu (consulté le 14 janvier 2016)
  15. ↑ http://www.aaai.org/Papers/Workshops/2007/WS-07-15/WS07-15-008.pdf
  16. ↑ « ROS Wiki », sur www.ros.org (consulté le 14 janvier 2016)
  17. ↑ Morgan Quigley, Brian Gerkey, Ken Conley, Josh Faust, Tully Foote, Jeremy Leibs, Eric Berger, Rob Wheeler, Andrew Ng.http://www.robotics.stanford.edu/~ang/papers/icraoss09-ROS.pdf
  18. ↑ « Open Source Robotics Foundation | Willow Garage », sur www.willowgarage.com (consulté le 14 janvier 2016)
  19. ↑ « Willow Garage employees join Suitable Technologies | Willow Garage », sur www.willowgarage.com (consulté le 14 janvier 2016)
  20. ↑ (en-US) « Clearpath Welcomes PR2 to the Family - Clearpath Robotics », sur Clearpath Robotics (consulté le 14 janvier 2016)
  21. ↑ « ROS 2 Rolling Ridley (codename 'rolling'; June 2020) – ROS 2 Documentation: Foxy documentation », sur ROS.org, Open Robotics (consulté le 30 juillet 2021)
  22. ↑ (en) « ROS 2 rolling distribution name brainstorming », sur ROS.org, Open Robotics, 15 juin 2020 (consulté le 30 juillet 2021)
  23. ↑ a et b « ROS 2 Jazzy Jalisco Released! », 23 mai 2024
  24. ↑ « ROS 2 Iron Irwini Released! », 23 mai 2023
  25. ↑ « ROS 2 Humble Hawksbill Released! », 23 mai 2022
  26. ↑ « ROS Galactic Geochelone Released », 23 mai 2021 (consulté le 10 juillet 2021)
  27. ↑ « ROS Foxy Fitzroy Released », 5 juin 2020 (consulté le 24 juin 2020)
  28. ↑ « navigation - ROS Wiki », sur wiki.ros.org (consulté le 31 janvier 2016)
  29. ↑ « amcl - ROS Wiki », sur wiki.ros.org (consulté le 31 janvier 2016)
  30. ↑ « moveit - ROS Wiki », sur wiki.ros.org (consulté le 31 janvier 2016)
  31. ↑ « hector_slam - ROS Wiki », sur wiki.ros.org (consulté le 31 janvier 2016)
  32. ↑ « gmapping - ROS Wiki », sur wiki.ros.org (consulté le 31 janvier 2016)
  33. ↑ « robot_localization - ROS Wiki », sur wiki.ros.org (consulté le 31 janvier 2016)
  34. ↑ « nao - ROS Wiki », sur wiki.ros.org (consulté le 30 janvier 2016)
  35. ↑ « pepper - ROS Wiki », sur wiki.ros.org (consulté le 30 janvier 2016)
  36. ↑ « Robots/PR2 - ROS Wiki », sur wiki.ros.org (consulté le 30 janvier 2016)
  37. ↑ « Robots/Husky - ROS Wiki », sur wiki.ros.org (consulté le 30 janvier 2016)
  38. ↑ « Robots/Kingfisher - ROS Wiki », sur wiki.ros.org (consulté le 30 janvier 2016)
  39. ↑ a b et c « Robots/TurtleBot - ROS Wiki », sur wiki.ros.org (consulté le 30 janvier 2016)
  40. ↑ « Robots/Shadow_Hand - ROS Wiki », sur wiki.ros.org (consulté le 30 janvier 2016)
  41. ↑ « Robots/Robonaut2 - ROS Wiki », sur wiki.ros.org (consulté le 30 janvier 2016)
  42. ↑ « Robots/Erle-copter - ROS Wiki », sur wiki.ros.org (consulté le 30 janvier 2016)
  43. ↑ « Rethink ROS - ROS robotics news », sur www.ros.org (consulté le 30 janvier 2016)
  44. ↑ « Robots/Autorally - ROS Wiki », sur wiki.ros.org (consulté le 4 décembre 2018)
  45. ↑ « Ingénieur Robotique Senior », sur stanley-robotics.welcomekit.co (consulté le 19 janvier 2019)

Voir aussi

[modifier | modifier le code]

Articles connexes

[modifier | modifier le code]
  • logiciel libre
  • matériel libre

Liens externes

[modifier | modifier le code]
  • http://www.ros.org/wiki/, le site officiel
  • icône décorative Portail de la robotique
  • icône décorative Portail de l’informatique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Robot_Operating_System&oldid=229616350 ».
Catégories :
  • Logiciel écrit en C++
  • Logiciel écrit en Python
  • Logiciel de robotique
  • Système d'exploitation
Catégories cachées :
  • Page utilisant P170
  • Page utilisant P580
  • Page utilisant P348
  • Page utilisant P1324
  • Page utilisant P277
  • Logiciel catégorisé automatiquement par langage d'écriture
  • Page utilisant P306
  • Page utilisant P31
  • Article utilisant une Infobox
  • Portail:Robotique/Articles liés
  • Portail:Électricité et électronique/Articles liés
  • Portail:Génie mécanique/Articles liés
  • Portail:Technologies/Articles liés
  • Portail:Informatique/Articles liés
  • Bon article en japonais

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id