micro-ROS / micro-ROS/system_modes
Error in node state when switching modes
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:

System in compromised mode:

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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- 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