micro-ROS / micro-ROS/system_modes

Error in node state when switching modes

Open
#99 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
45
Forks
13
PR merge metrics
No merged PRs in 30d

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?

Contributor guide

Open the contributing guide

Research direction

The report provides no source file or test; begin with the ALERT and COMPROMISED YAML and the listed node-state screenshots, then reproduce the alert-to-compromised transition in the described ROS 2 setup. Trace why pc2_1_to_2, scan_1_to_2, and twist_2_to_1 remain active, and verify that every node reaches the state declared for COMPROMISED.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
robotics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.