micro-ROS / micro-ROS/system_modes

Error in node state when switching modes

Aperta
#99 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
C++
Stelle
45
Fork
13
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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](https://user-images.githubusercontent.com/44479765/208641297-4330e612-6507-4f02-9892-7e2adf2c8fac.png)

System in compromised mode:
![Screenshot from 2022-12-20 11-08-36](https://user-images.githubusercontent.com/44479765/208641324-70392290-c993-4d99-baf2-d1b1c37923e1.png)

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?

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Il report non fornisce alcun file sorgente né alcun test; inizia con lo YAML ALERT e COMPROMISED e con gli screenshot elencati dello stato dei nodi, quindi riproduci la transizione da allerta a compromesso nella configurazione ROS 2 descritta. Traccia il motivo per cui pc2_1_to_2, scan_1_to_2 e twist_2_to_1 rimangono attivi e verifica che ogni nodo raggiunga lo stato dichiarato per COMPROMISED.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp
Ambito
robotics
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.