micro-ROS / micro-ROS/system_modes

Error in node state when switching modes

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

Personne n'a encore pris cette issue.

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

Description

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?

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

Le rapport ne fournit aucun fichier source ni aucun test ; commencez par le YAML ALERT et COMPROMISED ainsi que par les captures d’écran indiquées de l’état des nœuds, puis reproduisez la transition d’alerte à compromis dans la configuration ROS 2 décrite. Suivez pourquoi pc2_1_to_2, scan_1_to_2 et twist_2_to_1 restent actifs, et vérifiez que chaque nœud atteint l’état déclaré pour COMPROMISED.

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

Évaluation

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

Recevez les nouvelles issues par e-mail

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