Migration des fichiers de paramètres YAML de ROS 1 vers ROS 2
Ce guide décrit comment adapter les fichiers de paramètres ROS 1 pour ROS 2.
Exemple de fichier YAML
YAML est utilisé pour écrire des fichiers de paramètres dans ROS 1 et ROS 2. La principale différence dans ROS 2 est que les noms de nœud doivent être utilisés pour adresser les paramètres. En plus du nom de nœud complet, nous utilisons la clé « ros__parameters » pour signaler le début des paramètres du nœud.
Par exemple, voici un fichier de paramètres dans ROS 1 :
lidar_name: foo
lidar_id: 10
ports: [11312, 11311, 21311]
debug: true
Supposons que les deux premiers paramètres sont pour un nœud nommé /lidar_ns/lidar_node_name
, le paramètre suivant est pour un nœud nommé /imu
, et le dernier paramètre que nous voulons définir sur les deux nœuds.
Nous construirions notre fichier de paramètres ROS 2 comme suit :
/lidar_ns:
lidar_node_name:
ros__parameters:
lidar_name: foo
id: 10
imu:
ros__parameters:
ports: [2438, 2439, 2440]
/**:
ros__parameters:
debug: true
Notez l’utilisation de caractères génériques (/**
) pour indiquer que le paramètre debug
doit être défini sur n’importe quel nœud dans n’importe quel espace de noms.
Parité des fonctionnalités
Certaines fonctionnalités des fichiers de paramètres ROS 1 n’existent pas dans ROS 2 :
Les types mixtes dans une liste ne sont pas encore pris en charge (problème connexe)
Les substitutions
deg
etrad
ne sont pas prises en charge