micro-ROS / micro-ROS/system_modes

Working with non-lifecycle nodes

Ouverte
#90 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

enhancement
Langage dominant
C++
Étoiles
45
Forks
13
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

When the system definition (SMH) contains non-lifecycle nodes, inference will most probably fail, because nodes woll not report any (of the specified) states / transitions used by the inference.

Two options are:

1. Introduce DONT-CARE in the SMH specification for states or
2. (more convenient and flexible), let the mode manager / inference check for all nodes whether they are lifecycle nodes or states/transitions need to be ignored. Check can be done with the [get_service_names_and_types_by_node()](https://docs.ros2.org/foxy/api/rclcpp/classrclcpp_1_1Node.html#aa3df8a7d8b174f8049dfd2766f4b2eb9) method.

When working, a launch test with a system consisting of i) rclcpp nodes, ii) rclcpp lifecycle nodes, rcl nodes, and iv) rclpy nodes would be great.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par examiner le gestionnaire de modes et les chemins d’inférence qui gèrent les états et les transitions des nœuds de cycle de vie, puis examinez l’API get_service_names_and_types_by_node() référencée. L’issue propose soit des états DONT-CARE, soit d’ignorer les nœuds qui ne sont pas des nœuds de cycle de vie ; le travail terminé doit inclure la prise en charge de nœuds rclcpp, lifecycle, rcl et rclpy mélangés dans un test de launch.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp
Domaine
robotics
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.