ROS 2 Iron Irwini (nom de code “iron”; mai 2023)

Iron Irwini est la neuvième version de ROS 2. Ce qui suit présente les principaux changements et fonctionnalités d’Iron Irwini depuis la dernière version.

Plates-formes prises en charge

Iron Irwini est principalement pris en charge sur les plates-formes suivantes :

Plateformes de niveau 1 :

À déterminer

Plateformes de niveau 2 :

À déterminer

Plateformes de niveau 3 :

À déterminer

Pour plus d’informations sur les implémentations RMW, les versions du compilateur/interpréteur et les versions des dépendances système, consultez REP 2000.

Nouvelles fonctionnalités de cette version de ROS 2

ros2topic

now comme mot clé pour builtin_interfaces.msg.Time et auto pour std_msgs.msg.Header

ros2 topic pub permet maintenant de définir un message builtin_interfaces.msg.Time à l’heure actuelle via le mot-clé now. De même, un message std_msg.msg.Header sera généré automatiquement lors du passage du mot-clé auto. Ce comportement correspond à celui de rostopic de ROS 1 (http://wiki.ros.org/ROS/YAMLCommandLine#Headers.2Ftimestamps)

PR associé : ros2/ros2cli#749

Changements depuis la version Humble

launch_ros

Classes renommées qui utilisaient Ros dans le nom pour utiliser ROS conformément à PEP8

Classes modifiées :

  • lancer.actions.RosTimer -> lancer.actions.ROSTimer

  • launch.actions.PushRosNamespace -> launch.actions.PushROSNamespace

Les anciens noms de classe sont toujours là, mais seront obsolètes.

Modification du comportement de vidage du fichier de journalisation de la console par défaut

Cela s’applique spécifiquement au backend de journalisation par défaut basé sur spdlog dans ROS 2, implémenté dans rcl_logging_spdlog. Le vidage du fichier journal a été modifié pour se vider à chaque fois qu’un message de journal « erreur » est utilisé, par ex. chaque appel RCLCPP_ERROR(), et aussi périodiquement toutes les cinq secondes.

Auparavant, spdlog était utilisé sans rien configurer d’autre que la création du récepteur pour la journalisation dans un fichier.

Nous avons testé le changement et n’avons pas constaté que la surcharge du processeur était significative, même sur des machines avec des disques lents (par exemple, des cartes SD). Cependant, si ce changement vous cause des problèmes, vous pouvez obtenir l’ancien comportement en définissant la variable d’environnement RCL_LOGGING_SPDLOG_EXPERIMENTAL_OLD_FLUSHING_BEHAVIOR=1.

Plus tard, nous aimerions avoir un support pour un fichier de configuration complet (voir : https://github.com/ros2/rcl_logging/issues/92), vous donnant plus de flexibilité dans la façon dont la journalisation est effectuée, mais c’est un travail qui n’est que prévu à l’instant.

Par conséquent, cette variable d’environnement doit être considérée comme expérimentale et susceptible d’être supprimée sans dépréciation à l’avenir, lorsque nous ajouterons la prise en charge des fichiers de configuration pour le backend de journalisation rcl_logging_spdlog.

Voir cette demande d’extraction pour plus de détails sur le changement : https://github.com/ros2/rcl_logging/pull/95

Calendrier de publication

Novembre 2022 - Décisions de la plateforme

REP 2000 est mis à jour avec les plates-formes cibles et les principales versions de dépendance.

D’ici janvier 2023 - Changement de plate-forme roulante

La ferme de construction est mise à jour avec les nouvelles versions de plate-forme et les versions de dépendance pour Iron Irwini (si nécessaire).

Mon. April 10, 2023 - Alpha + RMW freeze

Tests préliminaires et stabilisation des packages ROS Base 1, et API et gel des fonctionnalités pour les packages du fournisseur RMW.

Lun. 17 avril 2023 - Gel

API et gel des fonctionnalités pour les packages ROS Base 1 dans Rolling Ridley. Seules les versions de correctifs de bogues doivent être effectuées après ce point. De nouveaux packages peuvent être publiés indépendamment.

Mon. April 24, 2023 - Branch

Succursale de Rolling Ridley. rosdistro est rouvert pour Rolling PRs pour les packages ROS Base 1. Le développement du fer passe des packages ros-rolling-* aux packages ros-iron-*.

Mon. May 1, 2023 - Beta

Versions mises à jour des packages ROS Desktop 2 disponibles. Appel pour des tests généraux.

Lun. 15 mai 2023 - Candidat à la libération

Les packages Release Candidate sont créés. Versions mises à jour des packages ROS Desktop 2 disponibles.

Jeu. 18 mai 2023 - Distro Freeze

Geler rosdistro. Aucun PR pour Iron sur le repo rosdistro ne sera fusionné (réouverture après l’annonce de la sortie).

Mar. 23 mai 2023 - Disponibilité générale

Annonce de sortie. rosdistro est rouvert pour les PR de fer.

1(1,2,3)

La variante ros_base est décrite dans REP 2001 (ros-base).

2(1,2)

La variante desktop est décrite dans REP 2001 (desktop-variants).

Avancement du développement

Pour connaître l’avancement du développement et de la publication d’Iron Irwini, consultez the tracking GitHub issue.

Pour le processus général suivi par Iron Irwini, voir la page de description du processus.