Open dhood opened 9 months ago
Hello @dhood , I have the similar issue and wonder if you have any work-around method?
My case: A flight controller is connected to a Jetson board through GPIO ( ttyTHS0 ) When ROS_LOCALHOST_ONLY=0, fmu topics are able to be discovered ( through ros2 topic list ). When ROS_LOCALHOST_ONLY=1, fmu topics are not able to be discovered.
Thank you for your precious time on this.
Hello maintainers, thanks for your work. I've seen that ROS_LOCALHOST_ONLY support has been added in https://github.com/micro-ROS/docker/pull/69/files, (which I believe supersedes the approach suggested in https://github.com/micro-ROS/micro-ROS-Agent/issues/49 ), but what I'm observing instead that it's blocking comms. Is any extra config needed?
Context: I have a number of robots each with "desktop nodes" and a teensy connected via microros. The microros agent uses serial comms. I want to use ROS_LOCALHOST_ONLY on the desktop nodes so that the robots don't discover each other. However when I enable it on the desktop nodes, I lose connection to the microros node. (This is not surprising since I lose access to any desktop nodes not using ROS_LOCALHOST_ONLY).
I was hoping that setting ROS_LOCALHOST_ONLY in the docker launch of the micro-ros agent would allow comms again, but no such luck. How can I integrate the microros agent into a ROS graph that's using ROS_LOCALHOST_ONLY?
Steps to reproduce the issue
Standard microros agent with ROS_LOCALHOST_ONLY=0...
... connects only to desktop nodes that are also using ROS_LOCALHOST_ONLY=0:
... and does not connect to, but can still be discovered by, desktop nodes with ROS_LOCALHOST_ONLY=1:
Microros agent with ROS_LOCALHOST_ONLY=1:
can neither talk to or be discovered by desktop nodes with or without ROS_LOCALHOST_ONLY (the nodes discovered are desktop nodes):
Expected behavior
Setting ROS_LOCALHOST_ONLY=1 env var on docker launch lets the microros agent talk with the rest of the rosgraph using ROS_LOCALHOST_ONLY
Actual behavior
Setting ROS_LOCALHOST_ONLY=1 env var on docker launch prevents both discovery and comms.
Additional information
Highlighting that we are using serial comms to the micro in case it's relevant.
also network info from inside
docker run -it --net=host --env RMW_IMPLEMENTATION=rmw_fastrtps_cpp --entrypoint /bin/bash microros/micro-ros-agent:humble
docker container: