Alphas

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)

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 utiliser rcl

  • 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)

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)

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 et rclcpp.

    • 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)

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)

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 :

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.