Bêta 3 (r2b3
)
Table des matières
Plates-formes prises en charge
Nous prenons en charge ROS 2 Beta 3 sur trois plates-formes : Ubuntu 16.04 (Xenial), macOS 10.12 (Sierra) et Windows 10. Nous fournissons à la fois des packages binaires et des instructions sur la façon de compiler à partir de la source pour les 3 plates-formes (voir instructions d'installation
ainsi que la documentation).
Caractéristiques
Améliorations depuis la version bêta 2
Modèle d’exécution en Python, nombreux correctifs pour la gestion de la mémoire dans l’extension Python C
Réécriture expérimentale de ros_control
Exposition des symboles spécifiques à l’implémentation DDS aux utilisateurs (pour Fast RTPS et Connext) (voir exemple)
Journalisation API en Python
Correction de plusieurs fuites de mémoire et conditions de course dans divers packages
Reprise du support pour OpenSplice (sur Linux et Windows atm) fourni par PrismTech
Utilisez bloom (sans correctifs) pour créer des versions ROS 2
Nouvelle application de démonstration
-
Contrôlez à distance un robot HSR à l’aide d’un contrôleur de joystick ROS 2
Exécution du
ros1_bridge
dans un conteneur Docker sur le HSR (puisque le robot exécute ROS 1 sur Ubuntu Trusty)Exécutez une version de développement ROS 2 de rviz pour visualiser les données des capteurs du robot, etc. (voir video )
Fonctionnalités sélectionnées des versions alpha/bêta précédentes
Pour la liste complète, voir notes de version antérieures.
Implémentations C++ et Python des bibliothèques clientes ROS 2, y compris les API pour :
Publication et abonnement aux rubriques ROS
Demander et répondre aux services ROS (synchrone (C++ uniquement) et asynchrone)
Obtenir et définir les paramètres ROS (C++ uniquement, synchrone et asynchrone)
Rappels de minuterie
Prise en charge de l’interopérabilité entre plusieurs implémentations DDS/RTPS
eProsima Fast RTPS est notre implémentation par défaut et est inclus dans les packages binaires
RTI Connext est pris en charge : créez à partir de la source pour l’essayer
PrismTech OpenSplice : voir les limitations ci-dessous
Une API graphique pour les événements réseau
Découverte distribuée
Chemins de code sécurisés en temps réel pour la publication et l’abonnement avec une implémentation DDS compatible (uniquement Connext pour le moment)
Prise en charge des répartiteurs personnalisés
Nœud de pont dynamique ROS 1 <-> ROS 2
Modèle de thread d’exécuteur (C++ et Python)
Modèle de composant pour composer des nœuds à la compilation / au lien / à l’exécution
Composant géré à l’aide d’un cycle de vie standard
Format
.msg
étendu avec de nouvelles fonctionnalités :Tableaux bornés
Les valeurs par défaut
Problèmes connus
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.La prise en charge d’OpenSplice n’est actuellement pas disponible pour MacOS. De plus, l’accès aux poignées natives n’est pas encore implémenté.
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).