micro-ROS / micro-ROS/system_modes

Error in node state when switching modes

Offen
#99 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

Hello!

I've been working with system_modes for a few days and I'm having an error when changing my system mode.

I have several modes, which are default, alert, compromised and halt, and in this particular example when I change the mode from alert to compromised there are nodes that do not change their status from active to inactive. I leave you images of the monitor so that you can see the result together with the yaml configuration of both modes.

ALERT:
        image_1_to_2: inactive
        imu_1_to_2: active
        odom_1_to_2: active
        pc2_1_to_2: active
        scan_1_to_2: active
        tf_1_to_2: active
        tf_static_1_to_2: active
        twist_2_to_1: active
COMPROMISED:
        image_1_to_2: inactive
        imu_1_to_2: active
        odom_1_to_2: active
        pc2_1_to_2: inactive
        scan_1_to_2: inactive
        tf_1_to_2: active
        tf_static_1_to_2: active
        twist_2_to_1: inactive

System in alert mode:
Screenshot from 2022-12-20 11-08-47

System in compromised mode:
Screenshot from 2022-12-20 11-08-36

I also show you how I have configured the modes of some of the nodes, although I am not using that parameter

pc2_1_to_2:
  ros__parameters:
    type: node
    modes:
      __DEFAULT__:
        ros__parameters:
          use_sim_time: false
      
scan_1_to_2:
  ros__parameters:
    type: node
    modes:
      __DEFAULT__:
        ros__parameters:
          use_sim_time: false

I do not have any type of rule configured, although I suppose that for this simple case of changing node states it would not be necessary.

Any idea what is happening?

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

Der Bericht enthält keine Quelldatei und keinen Test; beginne mit dem ALERT- und COMPROMISED-YAML sowie den aufgeführten Screenshots des Node-Zustands und reproduziere dann den Übergang von alert zu compromised im beschriebenen ROS-2-Setup. Verfolge, warum pc2_1_to_2, scan_1_to_2 und twist_2_to_1 aktiv bleiben, und überprüfe, dass jeder Node den für COMPROMISED deklarierten Zustand erreicht.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
robotics
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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