I have not been able to get the first micro-ROS tutorial (https://micro.ros.org/docs/tutorials/core/first_application_linux/) working with Humble either on the desktop or in a Docker file. I suspect my problems on the desktop are down to the overhang of all the other ROS2 Humble stuff I've done there, so my question is about my issues with the Dockerfile version.
I started by running the microros base image for humble with the following command line:
sudo docker run -it --net=host -v /dev:/dev --privileged microros/base:humble /bin/bash
I then went through the firmware and agent build steps from the tutorial inside the docker image, and started both the agent and ping_pong applications with the given command lines, through to starting ping_pong.
I then tried to run ros2 topic list
to see what topics were being published, and I got a bunch of feedback from the agent (similar to when I started ping_pong) and the following error:
failed to get topic names and types: error not set
If I try it again, or any other ros2 topic
command, I get a long Python traceback.
If instead I try to echo the expected topic with the command line suggested: ros2 topic echo /microROS/ping
, I get the same feedback from the agent and the following error message:
Failed to get information by topic for publishers: function not supported by the RMW_IMPLEMENTATION: error not set, at ./src/rcl/graph.c:677
If I stop and attempt to restart the ping_pong application, I get the same error. I also tried it using the microros provided Docker images for foxy (the demos image hasn't been updated since then) with similar results. Any suggestions?