micro-ROS / micro-ROS/micro_ros_platformio

Can't get topics to show on ROS2 Humble

Abierto
#132 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Python
Estrellas
334
Forks
111
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Issue template

  • Hardware description: Nucleo-G070RB connected over serial
  • RTOS: none
  • Installation type: compiled code through platformio, using micro_ros_agent with docker
  • Version or commit hash: humble
Steps to reproduce the issue
  • Uploaded this code to the microcontroller board (I have a screen that displays the runnign timer and I see it counting)
  • Connected the board to an ubuntu 20.04 computer over USB, checked that I see serial traffic in the serial monitor.
  • ran the following command in one terminal window (saw prior to that, that ttyACM1 is the correct mapping to the microcontroller board):
docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:humble serial --dev /dev/ttyACM1 -b 115200 -v6
  • began to see this type of output:
[1715537445.872814] info     | TermiosAgentLinux.cpp | init                     | running...             | fd: 3
[1715537445.872927] info     | Root.cpp           | set_verbose_level        | logger setup           | verbose_level: 6
[1715537452.552872] info     | Root.cpp           | create_client            | create                 | client_key: 0x782BF2A4, session_id: 0x81
[1715537452.552964] info     | SessionManager.hpp | establish_session        | session established    | client_key: 0x782BF2A4, address: 0
[1715537452.553162] debug    | SerialAgentLinux.cpp | send_message             | [** <<SER>> **]        | client_key: 0x782BF2A4, len: 19, data: 
0000: 81 00 00 00 04 01 0B 00 00 00 58 52 43 45 01 00 01 0F 00
[1715537452.562499] debug    | SerialAgentLinux.cpp | recv_message             | [==>> SER <<==]        | client_key: 0x782BF2A4, len: 56, data: 
0000: 81 80 00 00 01 07 30 00 00 0A 00 01 01 03 00 00 22 00 00 00 00 01 54 F0 1A 00 00 00 6D 69 63 72
0020: 6F 5F 72 6F 73 5F 70 6C 61 74 66 6F 72 6D 69 6F 5F 6E 6F 64 65 00 01 00
[1715537452.582022] info     | ProxyClient.cpp    | create_participant       | participant created    | client_key: 0x782BF2A4, participant_id: 0x000(1)
[1715537452.582253] debug    | SerialAgentLinux.cpp | send_message             | [** <<SER>> **]        | client_key: 0x782BF2A4, len: 14, data: 
0000: 81 80 00 00 05 01 06 00 00 0A 00 01 00 00
[1715537452.582291] debug    | SerialAgentLinux.cpp | send_message             | [** <<SER>> **]        | client_key: 0x782BF2A4, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 01 00 00 00 80
[1715537452.586427] debug    | SerialAgentLinux.cpp | recv_message             | [==>> SER <<==]        | client_key: 0x782BF2A4, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 01 00 00 00 80
[1715537452.596360] debug    | SerialAgentLinux.cpp | recv_message             | [==>> SER <<==]        | client_key: 0x782BF2A4, len: 104, data: 
0000: 81 80 01 00 01 07 5E 00 00 0B 00 02 02 03 00 00 50 00 00 00 27 00 00 00 72 74 2F 6D 69 63 72 6F
0020: 5F 72 6F 73 5F 70 6C 61 74 66 6F 72 6D 69 6F 5F 6E 6F 64 65 5F 70 75 62 6C 69 73 68 65 72 00 00
0040: 01 00 00 00 1C 00 00 00 73 74 64 5F 6D 73 67 73 3A 3A 6D 73 67 3A 3A 64 64 73 5F 3A 3A 49 6E 74
0060: 33 32 5F 00 00 01 00 00
[1715537452.596477] info     | ProxyClient.cpp    | create_topic             | topic created          | client_key: 0x782BF2A4, topic_id: 0x000(2), participant_id: 0x000(1)
[1715537452.596585] debug    | SerialAgentLinux.cpp | send_message             | [** <<SER>> **]        | client_key: 0x782BF2A4, len: 14, data: 
0000: 81 80 01 00 05 01 06 00 00 0B 00 02 00 00
[1715537452.596605] debug    | SerialAgentLinux.cpp | send_message             | [** <<SER>> **]        | client_key: 0x782BF2A4, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 02 00 00 00 80
[1715537452.601306] debug    | SerialAgentLinux.cpp | recv_message             | [==>> SER <<==]        | client_key: 0x782BF2A4, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 02 00 00 00 80
[1715537452.603328] debug    | SerialAgentLinux.cpp | recv_message             | [==>> SER <<==]        | client_key: 0x782BF2A4, len: 24, data: 
0000: 81 80 02 00 01 07 10 00 00 0C 00 03 03 03 00 00 02 00 00 00 00 00 00 01
[1715537452.603396] info     | ProxyClient.cpp    | create_publisher         | publisher created      | client_key: 0x782BF2A4, publisher_id: 0x000(3), participant_id: 0x000(1)
[1715537452.603419] debug    | SerialAgentLinux.cpp | send_message             | [** <<SER>> **]        | client_key: 0x782BF2A4, len: 14, data: 
0000: 81 80 02 00 05 01 06 00 00 0C 00 03 00 00
[1715537452.603427] debug    | SerialAgentLinux.cpp | send_message             | [** <<SER>> **]        | client_key: 0x782BF2A4, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 03 00 00 00 80
[1715537452.607308] debug    | SerialAgentLinux.cpp | recv_message             | [==>> SER <<==]        | client_key: 0x782BF2A4, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 03 00 00 00 80
[1715537452.611312] debug    | SerialAgentLinux.cpp | recv_message             | [==>> SER <<==]        | client_key: 0x782BF2A4, len: 36, data: 
0000: 81 80 03 00 01 07 1C 00 00 0D 00 05 05 03 00 00 0E 00 00 00 00 02 01 FF 03 00 01 00 0A 00 00 00
0020: 00 00 00 03
[1715537452.611728] info     | ProxyClient.cpp    | create_datawriter        | datawriter created     | client_key: 0x782BF2A4, datawriter_id: 0x000(5), publisher_id: 0x000(3)

  • in another terminal window, launched anther docker container:
docker run -it --rm -v /dev:/dev --privileged --net=host ros:humble
Expected behavior

topics and perhaps nodes appearing in the other docker container

Actual behavior

when trying to look for topics or nodes i get nothing:

$ ros2 topic list
/parameter_events
/rosout
$ ros2 node list
Additional information

Tried to reset the board, the pc, tried using an agent compile from source on a different docker.
Tried setting "export ROS_DOMAIN=1" without any change.
What am I missing?

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 reproduciendo los dos comandos de Docker del issue e inspecciona la salida de micro-ROS agent junto con ros2 topic list y ros2 node list. Investiga la configuración de Humble, serie y dominio de ROS indicada; el issue se resuelve cuando los topics y el nodo del microcontrolador aparecen en el contenedor de ROS 2.

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

Evaluación

Stack tecnológico
docker
Área
devops, embedded-iot, robotics
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.