Article de reference

Système d'exploitation du robot

Robot Operating System ( ROS ou ros ) est une suite logicielle open source de robotique . Bien que ROS ne soit pas un système d'exploitation (OS) mais un ensemble de cadres logi...

Robot Operating System ( ROS ou ros ) est une suite logicielle open source de robotique . Bien que ROS ne soit pas un système d'exploitation (OS) mais un ensemble de cadres logiciels pour le développement de logiciels robotiques , il fournit des services conçus pour un cluster informatique hétérogène tels que l'abstraction matérielle , le contrôle des périphériques de bas niveau , l'implémentation de fonctionnalités couramment utilisées, la transmission de messages entre les processus et la gestion des paquets . Les ensembles de processus basés sur ROS en cours d'exécution sont représentés dans une architecture graphique où le traitement a lieu dans des nœuds qui peuvent recevoir, publier et multiplexer des données de capteur, de contrôle, d'état, de planification, d'actionneur et d'autres messages. Malgré l'importance de la réactivité et de la faible latence dans le contrôle des robots, ROS n'est pas un système d'exploitation en temps réel (RTOS). Cependant, il est possible d'intégrer ROS avec du code de calcul en temps réel . Le manque de support pour les systèmes en temps réel a été résolu dans la création de ROS 2, une révision majeure de l'API ROS qui tirera parti des bibliothèques et des technologies modernes pour les fonctions ROS de base et ajoutera la prise en charge du code en temps réel et du matériel système embarqué .

Les logiciels de l' écosystème ROS peuvent être séparés en trois groupes :

  • outils indépendants du langage et de la plate-forme utilisés pour la création et la distribution de logiciels basés sur ROS ;
  • Implémentations de bibliothèques clientes ROS telles que roscpp, rospy, et roslisp ;
  • packages contenant du code lié à l'application qui utilise une ou plusieurs bibliothèques clientes ROS.

Les outils indépendants du langage et les principales bibliothèques clientes ( C++ , Python et Lisp ) sont publiés sous les termes de la licence BSD et sont donc des logiciels open source gratuits pour une utilisation commerciale et de recherche. La majorité des autres packages sont sous licence sous diverses licences open source . Ces autres packages implémentent des fonctionnalités et des applications couramment utilisées telles que les pilotes matériels, les modèles de robots, les types de données, la planification, la perception , la localisation et la cartographie simultanées (SLAM), les outils de simulation et d'autres algorithmes .

Les principales bibliothèques clientes ROS sont orientées vers un système de type Unix , principalement en raison de leur dépendance à de grands ensembles de dépendances logicielles open source. Pour ces bibliothèques clientes, Ubuntu Linux est répertorié comme « pris en charge » tandis que d'autres variantes telles que Fedora Linux , macOS et Microsoft Windows sont désignées comme « expérimentales » et sont prises en charge par la communauté. La bibliothèque cliente native Java ROS, rosjava, cependant, ne partage pas ces limitations et a permis d'écrire des logiciels basés sur ROS pour le système d'exploitation Android . rosjava a également permis à ROS d'être intégré dans une boîte à outils MATLAB officiellement prise en charge qui peut être utilisée sur Linux , macOS et Microsoft Windows. Une bibliothèque cliente JavaScript , roslibjs a également été développée qui permet l'intégration de logiciels dans un système ROS via n'importe quel navigateur Web conforme aux normes.

Histoire

Les débuts à Stanford (2007 et avant)

Un peu avant 2007, les premiers éléments de ce qui allait devenir ROS ont commencé à se former à l'Université de Stanford . Eric Berger et Keenan Wyrobek, doctorants travaillant dans le laboratoire de robotique de Kenneth Salisbury à Stanford, dirigeaient le programme de robotique personnelle. Alors qu'ils travaillaient sur des robots pour effectuer des tâches de manipulation dans des environnements humains, les deux étudiants ont remarqué que beaucoup de leurs collègues étaient freinés par la nature diverse de la robotique : un excellent développeur de logiciels pourrait ne pas avoir les connaissances matérielles requises, quelqu'un développant une planification de trajectoire de pointe pourrait ne pas savoir comment faire la vision par ordinateur requise. Pour tenter de remédier à cette situation, les deux étudiants ont entrepris de créer un système de base qui fournirait un point de départ sur lequel d'autres universitaires pourraient s'appuyer. Selon les mots d'Eric Berger, « quelque chose qui ne soit pas nul, dans toutes ces différentes dimensions ».

Dans leurs premiers pas vers ce système unificateur, les deux ont construit le PR1 comme prototype matériel et ont commencé à travailler sur le logiciel à partir de celui-ci, empruntant les meilleures pratiques d'autres cadres logiciels robotiques open source, en particulier switchyard, un système sur lequel Morgan Quigley, un autre doctorant de Stanford, avait travaillé pour soutenir le STanford Artificial Intelligence Robot (STAIR) par le Stanford Artificial Intelligence Laboratory . Un financement initial de 50 000 $ US a été fourni par Joanna Hoffman et Alain Rossmann , qui ont soutenu le développement du PR1. Alors qu'ils cherchaient des fonds pour un développement ultérieur, Eric Berger et Keenan Wyrobek ont ​​rencontré Scott Hassan, le fondateur de Willow Garage , un incubateur technologique qui travaillait sur un SUV autonome et un bateau autonome solaire. Hassan a partagé la vision de Berger et Wyrobek d'un « Linux pour la robotique » et les a invités à venir travailler chez Willow Garage. Willow Garage a été lancé en janvier 2007 et le premier commit de code ROS a été effectué sur SourceForge le 7 novembre 2007.

Garage Willow (2007–2013)

Willow Garage a commencé à développer le robot PR2 comme successeur du PR1, et ROS comme logiciel pour le faire fonctionner. Des groupes de plus de vingt institutions ont contribué à ROS, à la fois au logiciel de base et au nombre croissant de packages qui fonctionnaient avec ROS pour former un plus grand écosystème logiciel. Le fait que des personnes extérieures à Willow contribuaient à ROS (en particulier du projet STAIR de Stanford) signifiait que ROS était dès le départ une plate-forme multi-robots. Alors que Willow Garage avait initialement d'autres projets en cours, ils ont été abandonnés au profit du Personal Robotics Program : axé sur la production du PR2 comme plate-forme de recherche pour le monde universitaire et de ROS comme pile robotique open source qui sous-tendrait à la fois la recherche universitaire et les startups technologiques, un peu comme la pile LAMP l'a fait pour les startups basées sur le Web.

En décembre 2008, Willow Garage a atteint le premier de ses trois objectifs internes : une navigation continue pour le PR2 sur une période de deux jours et une distance de pi kilomètres. Peu de temps après, une première version de ROS (0.4 Mango Tango) a été publiée, suivie de la première documentation RVIZ et du premier article sur ROS. Au début de l'été, la deuxième étape interne : faire naviguer le PR2 dans le bureau, ouvrir les portes et se brancher, a été atteinte. Cela a été suivi en août par le lancement du site Web ROS.org. Les premiers tutoriels sur ROS ont été publiés en décembre, en préparation de la sortie de ROS 1.0, en janvier 2010. C'était l'étape 3 : produire des tonnes de documentation et de tutoriels pour les énormes capacités que les ingénieurs de Willow Garage avaient développées au cours des 3 années précédentes.

Suite à cela, Willow Garage a atteint l'un de ses objectifs de longue date : offrir 10 robots PR2 à des institutions universitaires méritantes. C'était depuis longtemps un objectif des fondateurs, car ils pensaient que le PR2 pouvait relancer la recherche en robotique dans le monde entier. Ils ont fini par attribuer onze PR2 à différentes institutions, dont l'Université de Fribourg (Allemagne), Robert Bosch GmbH , le Georgia Institute of Technology , la KU Leuven (Belgique), le Massachusetts Institute of Technology (MIT), l'Université de Stanford , l'Université technique de Munich (Allemagne), l'Université de Californie à Berkeley , l'Université de Pennsylvanie , l'Université de Californie du Sud (USC) et l'Université de Tokyo (Japon). Ceci, combiné au programme de stage très réussi de Willow Garage (géré de 2008 à 2010 par Melonee Wise), a contribué à faire connaître ROS dans le monde de la robotique. La première distribution officielle de ROS : ROS Box Turtle, a été publiée le 2 mars 2010, marquant la première fois que ROS a été officiellement distribué avec un ensemble de packages versionnés pour une utilisation publique. Ces développements ont conduit au premier drone exécutant ROS, à la première voiture autonome exécutant ROS, et à l'adaptation de ROS pour Lego Mindstorms . Le programme PR2 Beta étant bien avancé, le robot PR2 a été officiellement commercialisé le 9 septembre 2010.

Une image du système d'exploitation du robot (ROS) fonctionnant en Antarctique

2011 a été une année record pour ROS avec le lancement de ROS Answers, un forum de questions/réponses pour les utilisateurs de ROS, le 15 février ; l'introduction du kit robotique TurtleBot , très réussi, le 18 avril ; et le nombre total de référentiels ROS dépassant les 100 le 5 mai . Willow Garage a commencé 2012 en créant l' Open Source Robotics Foundation (OSRF) en avril. L'OSRF s'est immédiatement vu attribuer un contrat logiciel par la Defense Advanced Research Projects Agency (DARPA). Plus tard cette année-là, la première ROSCon s'est tenue à St. Paul, dans le Minnesota le premier livre sur ROS, ROS By Example a été publié et Baxter , le premier robot commercial à exécuter ROS, a été annoncé par Rethink Robotics . Peu après avoir fêté son cinquième anniversaire en novembre, ROS a commencé à fonctionner sur tous les continents le 3 décembre 2012

En février 2013, l'OSRF est devenu le principal mainteneur de logiciels pour ROS, préfigurant l'annonce en août que Willow Garage serait absorbé par ses fondateurs, Suitable Technologies. À ce stade, ROS avait publié sept versions majeures (jusqu'à ROS Groovy), et comptait des utilisateurs dans le monde entier. Ce chapitre du développement de ROS serait finalisé lorsque Clearpath Robotics a pris en charge les responsabilités de support pour le PR2 au début de 2014.

OSRF et Open Robotics (2013-présent)

Depuis que l'OSRF a pris en charge le développement principal de ROS, une nouvelle version a été publiée chaque année, tandis que l'intérêt pour ROS continue de croître. Les ROSCons ont lieu chaque année depuis 2012, en même temps que l'ICRA ou l'IROS , deux conférences phares de la robotique. Des rencontres de développeurs ROS ont été organisées dans divers pays, un certain nombre de livres ROS ont été publiés, et de nombreux programmes éducatifs ont été lancés. Le 1er septembre 2014, la NASA a annoncé le premier robot à exécuter ROS dans l'espace : Robotnaut 2 , sur la Station spatiale internationale . En 2017, l'OSRF a changé de nom pour devenir Open Robotics . Les géants de la technologie Amazon et Microsoft ont commencé à s'intéresser à ROS à cette époque, Microsoft portant le noyau ROS sur Windows en septembre 2018, suivi par Amazon Web Services publiant RoboMaker en novembre 2018.

Français Peut-être que le développement le plus important des années OSRF/Open Robotics jusqu'à présent (sans négliger l'explosion des plateformes robotiques qui ont commencé à prendre en charge ROS ou les énormes améliorations de chaque version de ROS) a été la proposition de ROS 2, un changement d'API important pour ROS qui est destiné à prendre en charge la programmation en temps réel , une plus grande variété d'environnements informatiques et une technologie plus moderne. ROS 2 a été annoncé à ROSCon 2014, les premiers commits dans le référentiel ros2 ont été effectués en février 2015, suivis de versions alpha en août 2015. La première version de distribution de ROS 2, Ardent Apalone, est sortie le 8 décembre 2017, inaugurant une nouvelle ère de développement de ROS de nouvelle génération.

Conception

Philosophie

Une image illustrant l'équation ROS : Plomberie + Outils + Capacités + Écosystème = ROS !
Une image illustrant l'équation ROS : Plomberie + Outils + Capacités + Écosystème = ROS !

ROS a été conçu pour être open source, avec l'intention que les utilisateurs puissent choisir la configuration des outils et des bibliothèques qui interagissent avec le cœur de ROS afin que les utilisateurs puissent adapter leurs piles de logiciels à leur robot et à leur domaine d'application. En tant que tel, il y a très peu de choses qui sont au cœur de ROS, au-delà de la structure générale au sein de laquelle les programmes doivent exister et communiquer. Dans un sens, ROS est la plomberie sous-jacente derrière les nœuds et la transmission de messages. Cependant, en réalité, ROS n'est pas seulement cette plomberie, mais un ensemble riche et mature d'outils, un large éventail de capacités indépendantes des robots fournies par des packages, et un plus grand écosystème d'ajouts à ROS.

Modèle de graphe de calcul

Les processus ROS sont représentés comme des nœuds dans une structure graphique, connectés par des arêtes appelées sujets. Les nœuds ROS peuvent se transmettre des messages via des sujets, effectuer des appels de service vers d'autres nœuds, fournir un service à d'autres nœuds ou définir ou récupérer des données partagées à partir d'une base de données commune appelée serveur de paramètres. Un processus appelé ROS Master rend tout cela possible en enregistrant les nœuds sur lui-même, en configurant la communication de nœud à nœud pour les sujets et en contrôlant les mises à jour du serveur de paramètres. Les messages et les appels de service ne passent pas par le maître, mais le maître établit plutôt une communication peer-to-peer entre tous les processus de nœud après qu'ils se soient enregistrés auprès du maître. Cette architecture décentralisée se prête bien aux robots, qui se composent souvent d'un sous-ensemble de matériel informatique en réseau et peuvent communiquer avec des ordinateurs externes pour des calculs lourds ou des commandes.

Nœuds

Un nœud représente un processus exécutant le graphe ROS. Chaque nœud possède un nom, qu'il enregistre auprès du maître ROS avant de pouvoir effectuer d'autres actions. Plusieurs nœuds portant des noms différents peuvent exister sous différents espaces de noms , ou un nœud peut être défini comme anonyme, auquel cas il générera de manière aléatoire un identifiant supplémentaire à ajouter à son nom donné. Les nœuds sont au centre de la programmation ROS, car la plupart du code client ROS se présente sous la forme d'un nœud ROS qui exécute des actions en fonction des informations reçues d'autres nœuds, envoie des informations à d'autres nœuds ou envoie et reçoit des demandes d'actions vers et depuis d'autres nœuds.

Thèmes

Les sujets sont des bus nommés sur lesquels les nœuds envoient et reçoivent des messages. Les noms de sujets doivent également être uniques dans leur espace de noms. Pour envoyer des messages à un sujet, un nœud doit publier sur ledit sujet, tandis que pour recevoir des messages, il doit s'abonner. Le modèle de publication/abonnement est anonyme : aucun nœud ne sait quels nœuds envoient ou reçoivent sur un sujet, seulement qu'il envoie/reçoit sur ce sujet. Les types de messages transmis sur un sujet varient considérablement et peuvent être définis par l'utilisateur. Le contenu de ces messages peut être des données de capteur, des commandes de contrôle de moteur, des informations d'état, des commandes d'actionneur ou toute autre chose.

Services

Un nœud peut également annoncer des services. Un service représente une action qu'un nœud peut entreprendre et qui aura un résultat unique. En tant que tels, les services sont souvent utilisés pour des actions qui ont un début et une fin définis, comme la capture d'une image à une seule image, plutôt que le traitement des commandes de vitesse vers un moteur de roue ou des données d'odomètre à partir d'un encodeur de roue. Les nœuds annoncent des services et appellent des services les uns des autres.

Serveur de paramètres

Le serveur de paramètres est une base de données partagée entre les nœuds qui permet un accès collectif aux informations statiques ou semi-statiques. Les données qui ne changent pas fréquemment et qui seront donc rarement consultées, telles que la distance entre deux points fixes de l'environnement ou le poids du robot, sont de bonnes candidates pour le stockage dans le serveur de paramètres.

Outils

Les fonctionnalités de base de ROS sont complétées par une variété d'outils qui permettent aux développeurs de visualiser et d'enregistrer des données, de naviguer facilement dans les structures de paquets ROS et de créer des scripts automatisant des processus de configuration et d'installation complexes. L'ajout de ces outils augmente considérablement les capacités des systèmes utilisant ROS en simplifiant et en fournissant des solutions à un certain nombre de problèmes courants de développement robotique. Ces outils sont fournis dans des paquets comme tout autre algorithme, mais plutôt que de fournir des implémentations de pilotes matériels ou d'algorithmes pour diverses tâches robotiques, ces paquets fournissent des outils indépendants des tâches et des robots qui sont fournis avec le cœur de la plupart des installations ROS modernes.

rviz

rviz (Robot Visualization tool) est un visualiseur tridimensionnel utilisé pour visualiser les robots, les environnements dans lesquels ils travaillent et les données des capteurs. Il s'agit d'un outil hautement configurable, avec de nombreux types de visualisations et de plugins différents. Unified Robot Description Format ( URDF ) est un format de fichier XML pour la description des modèles de robot.

sac à dos

rosbag est un outil de ligne de commande utilisé pour enregistrer et lire les données des messages ROS. rosbag utilise un format de fichier appelé bags, qui enregistre les messages ROS en écoutant les sujets et en enregistrant les messages au fur et à mesure qu'ils arrivent. La lecture des messages à partir d'un bag est en grande partie la même que celle des nœuds d'origine qui ont produit les données dans le graphe de calcul ROS, ce qui fait de bags un outil utile pour enregistrer les données à utiliser dans le développement ultérieur. Alors que rosbag est un outil uniquement en ligne de commande, rqt_bag fournit une interface graphique à rosbag.

chaton

catkin est le système de construction ROS, ayant remplacé rosbuild à partir de ROS Groovy. catkin est basé sur CMake et est également multiplateforme, open source et indépendant du langage.

Rosbash

Le paquet rosbash fournit une suite d'outils qui augmentent les fonctionnalités du shell bash . Ces outils incluent rosls, roscd et roscp, qui reproduisent respectivement les fonctionnalités de ls , cd et cp . Les versions ROS de ces outils permettent aux utilisateurs d'utiliser les noms de paquets ros à la place du chemin d'accès au fichier où se trouve le paquet. Le paquet ajoute également la saisie semi-automatique à la plupart des utilitaires ROS et inclut rosed, qui édite un fichier donné avec l'éditeur de texte par défaut choisi, ainsi que rosrun, qui exécute les exécutables dans les paquets ROS. rosbash prend en charge les mêmes fonctionnalités pour zsh et tcsh , dans une moindre mesure.

Lancement de Ros

roslaunch est un outil utilisé pour lancer plusieurs nœuds ROS localement et à distance, ainsi que pour définir des paramètres sur le serveur de paramètres ROS. Les fichiers de configuration roslaunch, qui sont écrits à l'aide de XML, peuvent facilement automatiser un processus de démarrage et de configuration complexe en une seule commande. Les scripts roslaunch peuvent inclure d'autres scripts roslaunch, lancer des nœuds sur des machines spécifiques et même redémarrer des processus qui meurent pendant l'exécution.

Paquets à noter

ROS contient de nombreuses implémentations open source de fonctionnalités et d'algorithmes robotiques courants. Ces implémentations open source sont organisées en packages. De nombreux packages sont inclus dans les distributions ROS, tandis que d'autres peuvent être développés par des particuliers et distribués via des sites de partage de code tels que GitHub. Parmi les packages à noter, citons :

Systèmes et outils

  • actionlib fournit une interface standardisée pour interagir avec des tâches préemptables.
  • nodelet fournit un moyen d'exécuter plusieurs algorithmes dans un seul processus.
  • rosbridge fournit une API JSON aux fonctionnalités ROS pour les programmes non ROS.

Cartographie et localisation

  • La navigation offre la possibilité de naviguer avec un robot mobile dans un environnement plan.

Manipulation

  • MoveIt! fournit des fonctionnalités de planification de mouvement pour les robots manipulateurs . Sa bibliothèque de planification par défaut est la bibliothèque Open Motion Planning Library (OMPL).

Perception

  • vision_opencv est un méta-paquet qui fournit des packages pour intégrer ROS avec OpenCV .

Représentation du cadre de coordonnées

  • tf a fourni un système de représentation, de suivi et de transformation des cadres de coordonnées jusqu'à ROS Hydro, date à laquelle il a été abandonné au profit de tf2.
  • tf2 est la deuxième génération de la bibliothèque tf et fournit les mêmes capacités pour les versions ROS après Hydro.

Simulation

  • gazebo_ros_pkgs est un méta-paquet qui fournit des packages pour intégrer ROS avec le simulateur Gazebo .
  • stage fournit une interface pour le simulateur de scène 2D .

Versions et sorties

Les versions de ROS peuvent être incompatibles avec d'autres versions et sont souvent désignées par leur nom de code plutôt que par leur numéro de version. ROS publie actuellement une version chaque année en mai, après la sortie des versions Ubuntu LTS. ROS 2 publie actuellement une nouvelle version tous les six mois (en décembre et juillet). Ces versions sont prises en charge pendant une seule année. Il existe actuellement deux versions majeures actives en cours de publication : ROS 1 et ROS 2. En dehors de cela, il existe le projet dérivé ROS-Industrial ou ROS-I depuis au moins 2012.

ROS 1

Versions de distribution ROS 1
Distribution Date de sortie Affiche Date de fin de vie Durée du support
Noetic Ninjemys
(dernière version de ROS 1)
23 mai 2020 Version stable actuelle : Mai 2025 5 années
Morenia Mélodique 23 mai 2018 Ancienne version, plus maintenue :30/05/2023 5 années
La Caouanne lunaire 23 mai 2017 Ancienne version, plus maintenue :30/05/2019 2 ans
Kame cinétique 23 mai 2016 Ancienne version, plus maintenue :30/05/2021 5 années
Tortue de Jade 23 mai 2015 Ancienne version, plus maintenue :30/05/2017 2 ans
Igloo indigo 22 juillet 2014 Ancienne version, plus maintenue :30/04/2019 5 années
Hydro Méduse 4 septembre 2013 Ancienne version, plus maintenue :31/05/2014 0,5 ans
Les Galapagos groovy 31 décembre 2012 Ancienne version, plus maintenue :31/07/2014 2 ans
Tortue de Fort 23 avril 2012 Ancienne version, plus maintenue :--
Emys électriques 30 août 2011 Ancienne version, plus maintenue :--
Diamantin 2 mars 2011 Ancienne version, plus maintenue :--
C Tortue 2 août 2010 Ancienne version, plus maintenue :--
Tortue-boîte 2 mars 2010 Ancienne version, plus maintenue :--
(Version initiale) 2007 n / A Ancienne version, plus maintenue :-- n / A
Légende:
Ancienne version, non maintenue
Ancienne version, toujours maintenue
Dernière version
Dernière version d'aperçu
Sortie à venir

ROS 2

Versions de distribution de ROS 2
Distribution Date de sortie Affiche Date de fin de vie Durée du support
Rolling Ridley
(version continue avec les dernières fonctionnalités)
en progression depuis
juin 2020
L'affiche de sortie de ROS 2 Rolling Ridley. N / A N / A
Kaiju en kilt 23 mai 2025 À déterminer Version future :Novembre 2026 1,5 ans
Jazzy Jalisco 23 mai 2024 L'affiche de sortie de ROS 2 Jazzy Jalisco. Version stable actuelle : Mai 2029 5 années
Fer Irwini 23 mai 2023 L'affiche de sortie de ROS 2 Iron Irwini. Ancienne version, mais toujours maintenue :Novembre 2024 1,5 ans
Humble tortue imbriquée 23 mai 2022 L'affiche de sortie de ROS 2 Humble Hawksbill. Ancienne version, mais toujours maintenue :Mai 2027 5 années
Géochelone galactique 23 mai 2021 L'affiche de sortie de ROS 2 Galactic Geochelone. Ancienne version, plus maintenue :Décembre 2022 1,5 ans
Foxy Fitzroy 5 juin 2020 L'affiche de sortie ROS 2 Foxy Fitzroy. Ancienne version, plus maintenue :Juin 2023 3 ans
Éloquent éluseur 22 novembre 2019 L'affiche de sortie ROS 2 Eloquent Elusor. Ancienne version, plus maintenue :Novembre 2020 1 an
Diadèmes fringants 31 mai 2019 L'affiche de sortie ROS 2 Dashing Diademata. Ancienne version, plus maintenue :Mai 2021 2 ans
Cristal Clemmy 14 décembre 2018 L'affiche de sortie ROS 2 Crystal Clemmys. Ancienne version, plus maintenue :Décembre 2019 1 an
Bolson rebondissant 2 juillet 2018 L'affiche de sortie ROS 2 Bouncy Bolson. Ancienne version, plus maintenue :Juillet 2019 1 an
Ardent Apalone 8 décembre 2017 L'affiche de sortie ROS 2 Ardent Apalone. Ancienne version, plus maintenue :Décembre 2018 1 an
bêta3 13 septembre 2017 N / A Ancienne version, plus maintenue :Décembre 2017 4 mois
bêta2 5 juillet 2017 N / A Ancienne version, plus maintenue :Septembre 2017 2 mois
bêta1 19 décembre 2016 N / A Ancienne version, plus maintenue :Juillet 2017 7 mois
(Proposition ROS 2 en temps réel) 7 janvier 2016 N / A N / A N / A
alpha1 (Ancre) -
alpha8 (Crochet et boucle)
31 août 2015 -
5 octobre 2016
N / A Ancienne version, plus maintenue :Décembre 2016 total: 16 mois
(« Pourquoi ROS 2 ? ») 20 juillet 2015 N / A N / A N / A
(tâches CI par lots pour ROS 2
et http://design.ros2.org)
référencé dans Q&R
du 6 mai 2015
N / A N / A N / A
(premiers commits sur
le dépôt ROS 2)
Février 2015 N / A N / A N / A
ROSCon 2014 :
« ROS de nouvelle génération : s'appuyer sur DDS »,
« ROS 2.0 : aperçu pour les développeurs »
12 septembre 2014 N / A N / A N / A
Légende:
Ancienne version, non maintenue
Ancienne version, toujours maintenue
Dernière version
Dernière version d'aperçu
Sortie à venir

ROS-Industriel

ROS-Industrial est un projet open source (licence BSD (legacy)/Apache 2.0 (preferred)) qui étend les capacités avancées de ROS à l'automatisation de la fabrication et à la robotique. Dans l'environnement industriel, il existe deux approches différentes pour programmer un robot : soit via un contrôleur propriétaire externe, généralement implémenté à l'aide de ROS, soit via le langage de programmation natif respectif du robot. ROS peut donc être considéré comme l'approche basée sur le logiciel pour programmer des robots industriels au lieu de l'approche classique basée sur le contrôleur de robot.

Le référentiel ROS-Industrial comprend des interfaces pour les manipulateurs, pinces, capteurs et réseaux d'appareils industriels courants. Il fournit également des bibliothèques de logiciels pour l'étalonnage automatique des capteurs 2D/3D, la planification des trajectoires/mouvements de processus, des applications comme Scan-N-Plan, des outils de développement comme le plug-in ROS Qt Creator et un programme de formation spécifique aux besoins des fabricants. ROS-I est soutenu par un consortium international de membres de l'industrie et de la recherche. Le projet a commencé comme une collaboration entre Yaskawa Motoman Robotics, le Southwest Research Institute et Willow Garage pour soutenir l'utilisation de ROS pour l'automatisation de la fabrication, le référentiel GitHub ayant été fondé en janvier 2012 par Shaun Edwards (SwRI). Actuellement, le consortium est divisé en trois groupes : le ROS-Industrial Consortium Americas (dirigé par SwRI et situé à San Antonio, Texas), le ROS-Industrial Consortium Europe (dirigé par Fraunhofer IPA et situé à Stuttgart, Allemagne) et le ROS-Industrial Consortium Asia Pacific (dirigé par Advanced Remanufacturing and Technology Centre (ARTC) et Nanyang Technological University (NTU) et situé à Singapour).

Le consortium soutient la communauté mondiale ROS-Industrial en organisant des formations ROS-I, en fournissant un soutien technique et en définissant la future feuille de route pour ROS-I, ainsi qu'en menant des projets industriels conjoints précompétitifs pour développer de nouvelles capacités ROS-I.

Espace ROS

En novembre 2020, la NASA a annoncé que Blue Origin avait été sélectionné par le biais de l'annonce d'opportunité de collaboration (ACO) de la Direction des missions de technologie spatiale pour co-développer le système d'exploitation de robot spatial (Space ROS) avec trois centres de la NASA . L'objectif de Space ROS est de fournir un cadre logiciel réutilisable et modulaire pour les systèmes spatiaux robotiques et autonomes basé sur ROS 2, conforme aux exigences de mission aérospatiale et d'assurance de sécurité (telles que NPR 7150.2 et DO-178C). Le projet a été formulé et dirigé par Will Chambers , le principal technologue en robotique de Blue Origin à l'époque. En 2021, Blue Origin a sous-traité la charge de travail de développement logiciel à Open Robotics qui est resté dans l'équipe jusqu'à la fin du programme en 2022. Space ROS est actuellement un projet communautaire ouvert. PickNik Robotics et Open Source Robotics Foundation dirigent actuellement l'effort Space ROS.

Robots et matériel compatibles ROS

Robots

  • ABB , Adept, Fanuc , Motoman et Universal Robots sont pris en charge par ROS-Industrial.
  • Baxter chez Rethink Robotics , Inc.
  • CK-9 : kit de développement robotique de Centauri Robotics, prend en charge ROS.
  • GoPiGo3 : robot éducatif basé sur Raspberry Pi, prend en charge ROS.
  • HERB développé à l'Université Carnegie Mellon dans le cadre du programme de robotique personnelle d'Intel
  • Husky A200 : robot développé (et intégré dans ROS) par Clearpath Robotics
  • Humanoïde Nao : le laboratoire de robots humanoïdes de l' Université de Fribourg a développé une intégration ROS pour l' humanoïde Nao basée sur un portage initial de l'Université Brown
  • PR1 : robot personnel développé dans le laboratoire de Ken Salisbury à Stanford
  • PR2 : robot personnel en cours de développement chez Willow Garage
  • Plateforme de recherche robotique chirurgicale Raven II
  • ROSbot : plateforme robot autonome par Husarion
  • Main du robot fantôme : une main humanoïde entièrement adroite.
  • STAIR I et II : robots développés dans le laboratoire d' Andrew Ng à Stanford
  • Stretch : un manipulateur mobile intégré de Hello Robot ciblant les applications d'assistance.
  • SummitXL : robot mobile développé par Robotnik , une société d'ingénierie spécialisée dans les robots mobiles, les bras robotisés et les solutions industrielles avec l'architecture ROS.
  • UBR1 : développé par Unbounded Robotics, un spin-off de Willow Garage.
  • Webots : simulateur de robot intégrant une interface de programmation ROS complète.

SBC et matériel

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index