Apalone ardent (ardent
)
Table des matières
Bienvenue dans la première version non bêta du logiciel ROS 2 nommée Ardent Apalone !
Plates-formes prises en charge
Cette version de ROS 2 est prise en charge sur trois plates-formes :
Ubuntu 16.04 (Xénial)
Mac macOS 10.12 (Sierra)
Windows 10
Des packages binaires ainsi que des instructions sur la façon de compiler à partir des sources sont fournis pour les 3 plates-formes (voir instructions d'installation ainsi que documentation).
Caractéristiques
Nouvelles fonctionnalités de cette version de ROS 2
Découverte distribuée, publication/abonnement, demande/réponse communication
Fourni par une API C
Mis en œuvre à l’aide de différents fournisseurs :
Fast RTPS d’eProsima ainsi que OpenSplice d’ADLINK (à partir du binaire et de la source)
RTI Connext (uniquement depuis la source)
Nombreux paramètres de qualité de service pour gérer les réseaux non idéaux
Prise en charge de la sécurité DDS (avec Connext et Fast RTPS)
Bibliothèques clientes C++ et Python 3
Partage de code commun en C pour unifier l’implémentation
Modèle d’exécution séparé des nœuds, nœuds composables
Paramètres spécifiques au nœud (uniquement en C++ atm)
Cycle de vie (uniquement en C++ atm)
Eventuellement communication intra-processus utilisant la même API (uniquement en C++)
Définitions de message (avec des tableaux et des chaînes délimités ainsi que des valeurs par défaut)
Outils de ligne de commande (par exemple,
ros2 run
)rviz
avec quelques types d’affichage (la version Windows suivra probablement dans quelques semaines)Index de ressources basé sur le système de fichiers (interrogation d’informations sans analyse récursive)
Chemins de code sécurisés en temps réel pour pub/sub (uniquement avec les implémentations DDS compatibles)
Pont entre ROS 1 et ROS 2
Démo HSR voir Beta 3
Démo Turtlebot voir Beta 2
Pour une description plus détaillée, veuillez consulter la page Features.
Modifications depuis la version bêta 3
Améliorations depuis la version bêta 3 :
``viz””
Différentes options d’initialisation pour les structures de données de message en C++ (voir design doc)
Améliorations de l’API de journalisation, désormais également utilisées dans les démos
Prise en charge du temps en C++ avec différentes horloges
prise en charge de l’attente de service dans la bibliothèque cliente Python
Projet d’implémentation de REP 149 spécifiant le format 3 des fichiers manifestes du package
Problèmes connus
Performances RTPS rapides avec des données plus volumineuses comme la démo d’image
En utilisant Connext, il n’est actuellement pas autorisé que deux sujets avec le même nom de base mais des espaces de noms différents aient un type différent (voir issue).
La liste des noms de nœuds (par exemple, en utilisant
ros2 node list
) ne fonctionne pas dans certaines implémentations rmw.Sous Windows, les fichiers de lancement Python peuvent se bloquer lors d’une tentative d’abandon à l’aide de
Ctrl-C
(voir issue). Afin de continuer à utiliser le shell qui est bloqué par la commande de suspension, vous souhaiterez peut-être mettre fin au processus Python de suspension à l’aide du moniteur de processus.