Alphas
Table des matières
Il s’agit d’une version fusionnée des pages précédemment séparées pour les 8 versions alpha de ROS 2.
Nous espérons que vous les essayerez et que vous « fournirez des commentaires <../../Contact> ».
Version ROS 2 alpha8 (nom de code Hook-and-Loop ; octobre 2016)
Modifications apportées aux fournisseurs DDS pris en charge
ROS 2 prend en charge plusieurs implémentations de middleware (voir cette page pour plus de détails). Jusqu’à Alpha 8, ROS 2 prenait en charge les implémentations de middleware ROS pour Fast RTPS d’eProsima, Connext de RTI et OpenSplice de PrismTech. Pour rationaliser nos efforts, à partir d’Alpha 8, Fast RTPS et Connext (statique) seront pris en charge, avec Fast RTPS (maintenant sous licence Apache 2.0) livré par défaut.
Portée
Comme le suggère le qualificatif « alpha », cette version de ROS 2 est loin d’être complète. Vous ne devez pas vous attendre à passer de ROS 1 à ROS 2, ni à construire un nouveau système de contrôle de robot avec ROS 2. Vous devez plutôt vous attendre à essayer quelques démos, à explorer le code et peut-être à écrire vos propres démos.
Les améliorations incluses dans cette version sont :
Plusieurs améliorations de Fast RTPS et de son implémentation rmw
Prise en charge des messages volumineux (image) dans Fast RTPS
Fonctionnalité
wait_for_service
dans Fast RTPS
Prise en charge de tous les types de messages ROS 2 en Python et C
Ajout de la prise en charge des paramètres de qualité de service (QoS) dans Python
Correction de divers bugs avec la version alpha précédente
Pratiquement tout ce qui n’est pas répertorié ci-dessus n’est pas inclus dans cette version. Les prochaines étapes sont décrites dans la Roadmap.
Version ROS 2 alpha7 (nom de code Pistolet à colle; juillet 2016)
Table des matières
Nouvelle version d’Ubuntu requise
Jusqu’à Alpha 6, ROS 2 ciblait Ubuntu Trusty Tahr (14.04). A partir de là, Alpha ROS 2 cible Ubuntu Xenial Xerus (16.04) pour bénéficier des nouvelles versions du compilateur, CMake, Python, etc.
Portée
Comme le suggère le qualificatif « alpha », cette version de ROS 2 est loin d’être complète. Vous ne devez pas vous attendre à passer de ROS 1 à ROS 2, ni à construire un nouveau système de contrôle de robot avec ROS 2. Vous devez plutôt vous attendre à essayer quelques démos, à explorer le code et peut-être à écrire vos propres démos.
Les principales fonctionnalités incluses dans cette version sont :
Fonctionnalité de l’API graphique : wait_for_service
Ajout d’interfaces dans rclcpp et utilisation de celles-ci dans des exemples, des démos et des tests
Prise en charge améliorée des messages volumineux dans Connext et Fast-RTPS (partiel pour Fast-RTPS)
Démo Turtlebot utilisant le code porté de ROS 1
Pratiquement tout ce qui n’est pas répertorié ci-dessus n’est pas inclus dans cette version. Les prochaines étapes sont décrites dans la Roadmap.
Version ROS 2 alpha6 (nom de code Fastener ; juin 2016)
Table des matières
Portée
Comme le suggère le qualificatif « alpha », cette version de ROS 2 est loin d’être complète. Vous ne devez pas vous attendre à passer de ROS 1 à ROS 2, ni à construire un nouveau système de contrôle de robot avec ROS 2. Vous devez plutôt vous attendre à essayer quelques démos, à explorer le code et peut-être à écrire vos propres démos.
Les principales fonctionnalités incluses dans cette version sont :
Fonctionnalité de l’API graphique : wait_for_service
Ajout d’une condition de garde de graphique aux nœuds pour attendre les changements de graphique
Ajout de
rmw_service_server_is_available
pour vérifier si un service est disponible
Refactorisation de
rclcpp
pour utiliserrcl
Prise en charge améliorée des types de messages complexes en Python
Messages imbriqués
Tableaux
Cordes
Pratiquement tout ce qui n’est pas répertorié ci-dessus n’est pas inclus dans cette version. Les prochaines étapes sont décrites dans la Roadmap.
Version ROS 2 alpha5 (nom de code * Epoxy *; avril 2016)
Table des matières
Portée
Comme le suggère le qualificatif « alpha », cette version de ROS 2 est loin d’être complète. Vous ne devez pas vous attendre à passer de ROS 1 à ROS 2, ni à construire un nouveau système de contrôle de robot avec ROS 2. Vous devez plutôt vous attendre à essayer quelques démos, à explorer le code et peut-être à écrire vos propres démos.
Les principales fonctionnalités incluses dans cette version sont :
Prise en charge des structures de données C dans les implémentations Fast RTPS et Connext Dynamic rmw.
Services d’assistance en C.
Ajout d’ARM 32 bits et 64 bits en tant que plates-formes prises en charge expérimentalement.
Pratiquement tout ce qui n’est pas répertorié ci-dessus n’est pas inclus dans cette version. Les prochaines étapes sont décrites dans la Roadmap.
Version ROS 2 alpha4 (nom de code * Duct tape *; février 2016)
Table des matières
Arrière-plan
Comme expliqué dans un article de conception, nous sommes engagés dans le développement d’une nouvelle version majeure de ROS, appelée « ROS 2 ». Bien que les concepts sous-jacents (par exemple, la messagerie de publication/d’abonnement) et les objectifs (par exemple, la flexibilité et la réutilisabilité) soient les mêmes que pour ROS 1, nous profitons de cette occasion pour apporter des modifications substantielles au système, notamment en modifiant certaines des API de base. Pour un traitement plus approfondi de ces changements et de leur justification, consultez les autres articles de conception ROS 2.
Statut
Le 17 février 2016, nous lançons ROS 2 alpha4, dont le nom de code est Duct tape. Notre objectif principal avec cette version est d’ajouter plus de fonctionnalités, tout en répondant aux commentaires que nous avons reçus pour les versions précédentes. À cette fin, nous avons construit un ensemble de demos qui montrent certaines des fonctionnalités clés de ROS 2. Nous vous encourageons à essayer ces démos, à regarder le code qui les implémente et fournir des commentaires. Nous sommes particulièrement intéressés de savoir dans quelle mesure (ou mal) nous traitons les cas d’utilisation qui sont importants pour vous.
Public visé
Bien que tout le monde soit le bienvenu pour essayer les démos et parcourir le code, nous visons cette version aux personnes qui ont déjà de l’expérience avec le développement de ROS 1. À ce stade, la documentation de ROS 2 est assez clairsemée et une grande partie du système est expliquée par rapport à ROS 1.
Portée
Comme le suggère le qualificatif « alpha », cette version de ROS 2 est loin d’être complète. Vous ne devez pas vous attendre à passer de ROS 1 à ROS 2, ni à construire un nouveau système de contrôle de robot avec ROS 2. Vous devez plutôt vous attendre à essayer quelques démos, à explorer le code et peut-être à écrire vos propres démos.
Les principales fonctionnalités incluses dans cette version sont :
Amélioration de l’infrastructure de prise en charge des types, y compris la prise en charge de C
Bibliothèque client Python préliminaire, seuls les éditeurs et les abonnements sont pris en charge. Attention, l’API est susceptible d’évoluer et est loin d’être complète !
Ajout de structures pour le temps ROS dans l’API C (nécessite toujours l’API C++)
Nouveau concept de « sources de temps » extensibles pour ROS Time, la source de temps par défaut sera comme ROS 1 (implémentation en attente)
Pratiquement tout ce qui n’est pas répertorié ci-dessus n’est pas inclus dans cette version. Les prochaines étapes sont décrites dans la Roadmap.
Version ROS 2 alpha3 (nom de code Cement ; décembre 2015)
Table des matières
Arrière-plan
Comme expliqué dans un article de conception, nous sommes engagés dans le développement d’une nouvelle version majeure de ROS, appelée « ROS 2 ». Bien que les concepts sous-jacents (par exemple, la messagerie de publication/d’abonnement) et les objectifs (par exemple, la flexibilité et la réutilisabilité) soient les mêmes que pour ROS 1, nous profitons de cette occasion pour apporter des modifications substantielles au système, notamment en modifiant certaines des API de base. Pour un traitement plus approfondi de ces changements et de leur justification, consultez les autres articles de conception ROS 2.
Statut
Le 18 décembre 2015, nous lançons ROS 2 alpha3, dont le nom de code est Cement. Notre objectif principal avec cette version est d’ajouter plus de fonctionnalités, tout en répondant aux commentaires que nous avons reçus pour les versions précédentes. À cette fin, nous avons construit un ensemble de demos qui montrent certaines des fonctionnalités clés de ROS 2. Nous vous encourageons à essayer ces démos, à regarder le code qui les implémente et fournir des commentaires. Nous sommes particulièrement intéressés de savoir dans quelle mesure (ou mal) nous traitons les cas d’utilisation qui sont importants pour vous.
Public visé
Bien que tout le monde soit le bienvenu pour essayer les démos et parcourir le code, nous visons cette version aux personnes qui ont déjà de l’expérience avec le développement de ROS 1. À ce stade, la documentation de ROS 2 est assez clairsemée et une grande partie du système est expliquée par rapport à ROS 1.
Portée
Comme le suggère le qualificatif « alpha », cette version de ROS 2 est loin d’être complète. Vous ne devez pas vous attendre à passer de ROS 1 à ROS 2, ni à construire un nouveau système de contrôle de robot avec ROS 2. Vous devez plutôt vous attendre à essayer quelques démos, à explorer le code et peut-être à écrire vos propres démos.
Les principales fonctionnalités incluses dans cette version sont :
Mise à jour de l’interface
rcl
.Cette interface sera encapsulée afin de créer des liaisons de langage, par ex.
rclpy
.Cette interface a amélioré la documentation et la couverture des tests par rapport aux interfaces existantes que nous avons actuellement, par ex.
rmw
etrclcpp
.Voir en-têtes rcl.
Ajout de la prise en charge dans rclcpp de l’utilisation de l’allocateur TLSF (ajustement séparé à deux niveaux), une conception d’allocateur de mémoire pour les systèmes embarqués et en temps réel.
Amélioration de l’efficacité de MultiThreadedExecutor et correction de nombreux bogues avec l’exécution multithread, qui est maintenant testée sur CI.
Ajout de la possibilité d’annuler un exécuteur à partir d’un rappel appelé en spin.
Ajout de la possibilité pour une minuterie de s’annuler elle-même en prenant en charge un rappel de minuterie qui accepte une référence à elle-même en tant que paramètre de fonction.
Ajout de vérifications pour interdire à plusieurs threads d’entrer Executor::spin.
Amélioration de la fiabilité de nombreux tests qui échouaient sporadiquement.
Ajout de la prise en charge de l’utilisation de Fast RTPS (au lieu, par exemple, d’OpenSplice ou de Connext).
Un portage partiel de tf2 incluant les bibliothèques principales et les principaux outils de ligne de commande.
Pratiquement tout ce qui n’est pas répertorié ci-dessus n’est pas inclus dans cette version. Les prochaines étapes sont décrites dans la Roadmap.
Version ROS 2 alpha2 (nom de code Baling wire; octobre 2015)
Table des matières
Arrière-plan
Comme expliqué dans un article de conception, nous sommes engagés dans le développement d’une nouvelle version majeure de ROS, appelée « ROS 2 ». Bien que les concepts sous-jacents (par exemple, la messagerie de publication/d’abonnement) et les objectifs (par exemple, la flexibilité et la réutilisabilité) soient les mêmes que pour ROS 1, nous profitons de cette occasion pour apporter des modifications substantielles au système, notamment en modifiant certaines des API de base. Pour un traitement plus approfondi de ces changements et de leur justification, consultez les autres articles de conception ROS 2.
Statut
Le 3 novembre 2015, nous lançons ROS 2 alpha2, dont le nom de code est Baling wire. Notre objectif principal avec cette version est d’ajouter plus de fonctionnalités, tout en répondant aux commentaires que nous avons reçus pour la version alpha 1 précédente. À cette fin, nous avons construit un ensemble de demos qui montrent certaines des fonctionnalités clés de ROS 2. Nous vous encourageons à essayer ces démos, à regarder le code qui les implémente et fournir des commentaires. Nous sommes particulièrement intéressés de savoir dans quelle mesure (ou mal) nous traitons les cas d’utilisation qui sont importants pour vous.
Public visé
Bien que tout le monde soit le bienvenu pour essayer les démos et parcourir le code, nous visons cette version aux personnes qui ont déjà de l’expérience avec le développement de ROS 1. À ce stade, la documentation de ROS 2 est assez clairsemée et une grande partie du système est expliquée par rapport à ROS 1.
Portée
Comme le suggère le qualificatif « alpha », cette version de ROS 2 est loin d’être complète. Vous ne devez pas vous attendre à passer de ROS 1 à ROS 2, ni à construire un nouveau système de contrôle de robot avec ROS 2. Vous devez plutôt vous attendre à essayer quelques démos, à explorer le code et peut-être à écrire vos propres démos.
Les principales fonctionnalités incluses dans cette version sont :
Prise en charge des répartiteurs personnalisés dans rclcpp, utile pour la messagerie en temps réel
Parité des fonctionnalités de Windows avec Linux/OSX, y compris la gestion de l’espace de travail, les services et les paramètres
Améliorations de l’API rclcpp
Améliorations FreeRTPS
Pratiquement tout ce qui n’est pas répertorié ci-dessus n’est pas inclus dans cette version. Les prochaines étapes sont décrites dans la Roadmap.
Version ROS 2 alpha1 (nom de code Anchor ; août 2015)
Table des matières
Arrière-plan
Comme expliqué dans un article de conception, nous sommes engagés dans le développement d’une nouvelle version majeure de ROS, appelée « ROS 2 ». Bien que les concepts sous-jacents (par exemple, la messagerie de publication/d’abonnement) et les objectifs (par exemple, la flexibilité et la réutilisabilité) soient les mêmes que pour ROS 1, nous profitons de cette occasion pour apporter des modifications substantielles au système, notamment en modifiant certaines des API de base. Pour un traitement plus approfondi de ces changements et de leur justification, consultez les autres articles de conception ROS 2.
Statut
Le 31 août 2015, nous lançons ROS 2 alpha1, dont le nom de code est Anchor. Notre objectif principal avec cette version est de vous donner l’opportunité de comprendre comment ROS 2 fonctionne, en particulier en quoi il diffère de ROS 1. À cette fin, nous avons construit un ensemble de demos qui montrent certaines des fonctionnalités clés de ROS 2. Nous vous encourageons à essayer ces démos, à examiner le code qui les implémente et à « fournir des commentaires <../../Contact> ». Nous sommes particulièrement intéressés de savoir dans quelle mesure (ou mal) nous traitons les cas d’utilisation qui sont importants pour vous.
Public visé
Bien que tout le monde soit le bienvenu pour essayer les démos et parcourir le code, nous visons cette version aux personnes qui ont déjà de l’expérience avec le développement de ROS 1. À ce stade, la documentation de ROS 2 est assez clairsemée et une grande partie du système est expliquée par rapport à ROS 1.
Portée
Comme le suggère le qualificatif « alpha », cette version de ROS 2 est loin d’être complète. Vous ne devez pas vous attendre à passer de ROS 1 à ROS 2, ni à construire un nouveau système de contrôle de robot avec ROS 2. Vous devez plutôt vous attendre à essayer quelques démos, à explorer le code et peut-être à écrire vos propres démos.
Les principales fonctionnalités incluses dans cette version sont :
Découverte, transport et sérialisation utiliser DDS
Prise en charge de plusieurs fournisseurs DDS
Prend en charge les primitives de messagerie : sujets (publier/s’abonner), services (demande/réponse) et paramètres
Prend en charge Linux (Ubuntu Trusty), OS X (Yosemite) et Windows (8)
Utiliser les paramètres de qualité de service pour gérer les réseaux avec perte
Communiquer inter-processus ou intra-processus avec la même API
Écrire du code sécurisé en temps réel qui utilise les API ROS 2
Exécutez ROS 2 sur des microcontrôleurs « bare-metal » (pas de système d’exploitation)
Pratiquement tout ce qui n’est pas répertorié ci-dessus n’est pas inclus dans cette version. Les prochaines étapes sont décrites dans la Roadmap.