Open jondave opened 9 months ago
I'd suggest making the namespace an environment variable option which by default is no namespace.
We could support a special keyword,.e.g. hostname
which automatically will take the value of the $HOSTNAME
?
see #20
I'm thinking about what @LeonardoGuevara wants to do with the limos, have two limos communicate with each other. E.g. limo 1 publishes a topic and limo 2 subscribes to it.
Does it work at all or not? It may be best if we deploy a zenoh server just like we do with mqtt, and let all robots connect to that with their namespace
As a quick "fix" you can launch zenoh bridge zenoh-bridge-ros2dds -e tcp/10.82.0.XXX:8888 -n /limo_XXX
inside the container on Limo 1 with the IP address of Limo 2. Just change the namespace -n
otherwise the topics interfere with each other.
Limo 1 can publish a topic and Limo 2 can subscribe to it or vice versa.
You can run zenoh bridge on a lab PC and connect to either Limo 1 or Limo 2 and subscribe to the topic published by Limo 1.
Hopeful this is useful for @LeonardoGuevara
Sounds exactly like what we need the students to do, I will try it on Monday with the Limos.
As a quick "fix" you can launch zenoh bridge
zenoh-bridge-ros2dds -e tcp/10.82.0.XXX:8888 -n /limo_XXX
inside the container on Limo 1 with the IP address of Limo 2. Just change the namespace-n
otherwise the topics interfere with each other. Limo 1 can publish a topic and Limo 2 can subscribe to it or vice versa. You can run zenoh bridge on a lab PC and connect to either Limo 1 or Limo 2 and subscribe to the topic published by Limo 1. Hopeful this is useful for @LeonardoGuevara
@marc-hanheide This won't work we need to set up a zenoh server/router for this to work properly as @LeonardoGuevara wants four limos to communicate with each other.
Description
To run zenoh on multiple robots and interact with a single zenoh server need to change the line in the docker compose file and add a namespace e.g. limo number. -n /limo_1522 Topics on the server are /namespace/topic e.g. /limo_1522/imu
command: bash -c "source /opt/ros/lcas/install/setup.bash; (zenoh-bridge-ros2dds -n /limo_1522 -l tcp/0.0.0.0:8888 &); (ros2 launch astra_camera dabai.launch.py &); ros2 launch limo_bringup limo_start.launch.py"
Tried this with two limos and the topic data lags quite a bit.
This is more for Leonardo in ROB1001 for two limo robots to communicate with each other.
Additional Information
No response