micro-ROS / micro-ROS/micro_ros_platformio

Can't get topics to show on ROS2 Humble

Open
#132 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
334
Forks
111
PR merge metrics
No merged PRs in 30d

Description

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?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the two Docker commands in the issue and inspect the micro-ROS agent output alongside ros2 topic list and ros2 node list. Investigate the reported Humble, serial, and ROS domain configuration; the issue is resolved when the microcontroller's topics and node appear in the ROS 2 container.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
devops, embedded-iot, robotics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.