micro-ROS / micro-ROS/system_modes

Working with non-lifecycle nodes

Offen
#90 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement
Vorherrschende Sprache
C++
Sterne
45
Forks
13
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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() 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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Untersuchung des Modusmanagers und der Inferenzpfade, die Zustände und Übergänge von Lifecycle-Nodes behandeln, und prüfe anschließend die referenzierte API get_service_names_and_types_by_node(). Der Issue schlägt entweder DONT-CARE-Zustände oder das Ignorieren von Nicht-Lifecycle-Nodes vor; als erledigt sollte die Unterstützung für gemischte rclcpp-, lifecycle-, rcl- und rclpy-Nodes in einem Launch-Test enthalten sein.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
robotics
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.