[FEA] Allow deactivating nodes when system is activated.
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con la configuración YAML de SHM y reproduce el problema utilizando las llamadas de servicio de Lifecycle y /actuation/change_mode indicadas. Inspecciona el comportamiento de mode_manager al cambiar a LEFT, especialmente las entradas de desactivación de nodos; se considera hecho cuando el cambio de modo se completa sin un segfault y los nodos seleccionados están inactivos según la configuración.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
There is a need to selectively disable the function of a node, that's say deactivating a node in a certain system mode.
Should the following config work? Thanks!
SHM file
---
# system modes example
---
actuation:
ros__parameters:
type: system
parts:
drive_base
left/manipulator
right/manipulator
modes:
__DEFAULT__:
drive_base: active.__DEFAULT__
left/manipulator: inactive.__DEFAULT__
right/manipulator: inactive.__DEFAULT__
LEFT:
# drive_base: active.__DEFAULT__
left/manipulator: active.__DEFAULT__
right/manipulsator: inactive.__DEFAULT__
RIGHT:
# drive_base: active.__DEFAULT__
left/manipulator: inactive.__DEFAULT__
right/manipulator: active.__DEFAULT__
left/manipulator:
ros__parameters:
type: node
modes:
__DEFAULT__:
ros__parameters:
max_torque: 0.1
drive_base:
ros__parameters:
type: node
modes:
__DEFAULT__:
ros__parameters:
max_speed: 0.1
controller: PID
right/manipulator:
ros__parameters:
type: node
modes:
__DEFAULT__:
ros__parameters:
max_torque: 0.11
step to reproduce
zs@zs-vm-2204:~/zs_ws/ga_ros$ ros2 service call /actuation/change_state lifecycle_msgs/ChangeState "{transition: {id: 1, label: configure}}"
waiting for service to become available...
requester: making request: lifecycle_msgs.srv.ChangeState_Request(transition=lifecycle_msgs.msg.Transition(id=1, label='configure'))
response:
lifecycle_msgs.srv.ChangeState_Response(success=True)
after this ,all nodes become OK
zs@zs-vm-2204:~/zs_ws/ga_ros$ ros2 service call /actuation/change_state lifecycle_msgs/ChangeState "{transition: {id: 3, label: activate}}"
requester: making request: lifecycle_msgs.srv.ChangeState_Request(transition=lifecycle_msgs.msg.Transition(id=3, label='activate'))
response:
lifecycle_msgs.srv.ChangeState_Response(success=True)
after this , every thing OK
zs@zs-vm-2204:~/zs_ws/ga_ros$ time ros2 service call /actuation/change_mode system_modes_msgs/ChangeMode "{mode_name: 'LEFT'}"
waiting for service to become available...
requester: making request: system_modes_msgs.srv.ChangeMode_Request(mode_name='LEFT')
after this, the mode_manager died with a segfault.

EDIT: @ralph-lange
the step of reproduce is updated in 2022-11-12.
- Lenguaje dominante
- C++
- Estrellas
- 45
- Forks
- 13
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de micro-ROS/system_modes
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
micro-ROS/system_modes#101 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
micro-ROS/system_modes#99 · 3 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
micro-ROS/system_modes#98 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
micro-ROS/system_modes#97 · 2 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
micro-ROS/system_modes#95 · 2 comentarios ·
Todos los issues de micro-ROS/system_modes
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
google/libultrahdr#485 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
godotengine/godot#123776 ·
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 60/100
-
good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
ros2/common_interfaces#344 ·