ROS 2 Iron Irwini (nom de code “iron”; mai 2023)
Table des matières
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.
Installation
Venir.
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
Problèmes connus
Venir.
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 packagesros-rolling-*
aux packagesros-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.