micro-ROS / micro-ROS/system_modes

[FEA] Allow all inactive in DEFAULT MODE.

Abierto
#97 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
C++
Estrellas
45
Forks
13
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

#### SHM file

```yaml
# system modes example
---

actuation:
ros__parameters:
type: system
parts:
drive_base
left/manipulator
right/manipulator
modes:
__DEFAULT__:
drive_base: inactive.__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

```sh
zs@zs-vm-2204:~/zs_ws/ga_ros$ time 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)

real 0m2.185s
user 0m0.459s
sys 0m0.086s
```

#### expected behavior

all nodes would be in DEFAULT mode, which is all inactivated

#### actual behavior

![image](https://user-images.githubusercontent.com/17764118/201473046-79fc3047-d99b-4cd7-a65d-11a8f446535a.png)

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con el punto de entrada del servicio ROS 2 /actuation/change_state y reproduce la solicitud de configuración utilizando el ejemplo YAML de modos del sistema. Sigue cómo se aplican las asignaciones de modo __DEFAULT__ y, a continuación, verifica que configurar /actuation deje inactivos a drive_base y a ambos manipuladores.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp
Área
robotics
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.