micro-ROS / micro-ROS/micro-ROS.github.io

Call service in Micro-ROS while using custom QOS settings

Abierto
#416 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
SCSS
Estrellas
127
Forks
71
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

  • Hardware description: Portenta H7 & Ubuntu 22.04 PC
  • Version or commit hash: humble with custom ros2 packages

While using custom QOS Settings as described in https://micro.ros.org/docs/tutorials/advanced/create_dds_entities_by_ref/, creating a client for a service using Micro-ROS fails with an error:
[XMLPARSER Error] Error parsing XML buffer -> Function loadXML

The MicroRos Arduino library has been re-compiled to include custom ROS2 message and service types, and also configured to use custom QOS via references, as explained in the previous link.

The same code can run without that service client, while using different topics and message types, as they have been correctly defined in the "custom_qos.refs". The problem comes in when trying to add a service, as I haven't found a way to set up the QOS for a service and its request/response.

If the MicroRos Arduino library is compiled without the QOS reference setting, the client also works as expected.

So far, I tried to include the service as if it were a topic but using "rs" instead of "rt", according to the ROS Specific Namespace Prefixes standard here. I also tried to replicate the configuration laid out in this ROS2 tutorial, but using a similar approach for the "custom_qos.refs" file did not work.

What's the way moving forward? Is there a way to use both custom QOS settings and ROS2 services in Micro-ROS? Or should I choose only the custom QOS or the services?

Thanks!

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

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

Reproduce el fallo del cliente de servicio en la configuración con Portenta H7 y Ubuntu 22.04, con las referencias QoS personalizadas habilitadas. Empieza con custom_qos.refs y los tutoriales vinculados de Micro-ROS DDS-entities y ROS 2 Fast DDS configuration, comparando los nombres de las solicitudes/respuestas del servicio con las entradas de topics que funcionan. Se considera completado cuando se documente una configuración funcional o se confirme la incompatibilidad entre las referencias QoS personalizadas y los servicios.

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

Evaluación

Stack tecnológico
arduino, ubuntu
Área
embedded-iot, networking
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
32/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.