micro-ROS / micro-ROS/micro_ros_setup

ensuring agent is acting as agent for all that it should

Abierto
#560 5 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
Shell
Estrellas
509
Forks
183
Merge medio
22 h 26 min
PR fusionados (30 d)
7

Descripción

How to guarantee that agent is representing all publishers, nodes etc as requested?

related to the following issues and PRs:

https://github.com/micro-ROS/micro_ros_arduino/issues/40
https://github.com/micro-ROS/micro_ros_setup/issues/299
https://github.com/micro-ROS/micro_ros_setup/issues/256
https://github.com/micro-ROS/rmw_microxrcedds/pull/86/files
https://github.com/micro-ROS/micro_ros_setup/issues/347
https://github.com/micro-ROS/rmw_microxrcedds/pull/143/files
https://github.com/micro-ROS/micro_ros_arduino/issues/912

it appears the consensus is to use `rmw_uros_ping_agent` to detect the loss of agent communications, `fini*` and reinit all the bits, as exemplified here https://github.com/micro-ROS/micro_ros_arduino/blob/galactic/examples/micro-ros_reconnection_example/micro-ros_reconnection_example.ino

The communications with the agent is often over UDP, so its possible just to miss one of several init packets?
In this case the agent would be operating normally, and perhaps we wouldnt notice our missing service for a while.

Is it possible to periodically get the XRCE protocol to re-announce to the agent the set of nodes, topics etc, so that it would self recover?
Or is it feasible to implement some kind of "Tell me how you are configured, and I'll compare it to my idea of what I think you should be doing" handshaking in the protocol between agent and microros?

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con el micro-ros_reconnection_example.ino enlazado y compara su flujo de rmw_uros_ping_agent, fini* y reinicialización con los issues y pull requests relacionados, especialmente los cambios de rmw_microxrcedds. Aclara si es viable realizar un nuevo anuncio periódico de XRCE o un handshake de configuración entre el agente y el cliente, y después define un comportamiento de recuperación acordado y sus casos de validación.

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

Evaluación

Stack tecnológico
arduino
Área
distributed-systems, embedded-iot, networking
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
15/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.