Replies: 2 comments
-
Hi @cwyark. If there's only one namespace needed for one AMR, then sharing one ros2dds between two containers is more efficient in your case. If there are two ros2dds sessions, you need to be aware of the link between these two sessions. If the ros2dds sessions are set in peer mode, they will establish a P2P link. But you might rather want this in an inter-robot scenario than an inter-container scenario. |
Beta Was this translation helpful? Give feedback.
-
If you want the ros2dds plugin to automatically add different namespaces for each of your container, you have no choice but to deploy 1 plugin per container, since the plugin currently allows only 1 namespace to be configured: But as you're using host network mode, the DDS traffic is leaking from a container to the other. Thus, each plugin will discover and route the DDS traffic over Zenoh, and you will end up with all your ROS interfaces exposed twice (once per namespace).
Now, if you need a AMR Node to directly communicate with an ARM Node, you'll still need to use the remote container's namespace in your Nodes code base. And the communication will be routed by the 2 ros2dds plugin (the impact on latency should be negligible). |
Beta Was this translation helpful? Give feedback.
-
I am a ros2 user and I came across the zenoh project , zenoh-plug-in-ros2dds , which allows us dynamically change namespace. This feature helps us no hardcoded namespace in our code base. Thank you zenoh team.
In my case, like a robot arm on top of an AMR, we might have 2 containers running in the same machine: one container controls the AMR and the other container control the robot ARM. Both container are in host network mode.
Now I want to make AMR container and robot ARM container in different namespace , what is the best approach to achieve this ?
For 1. it helps us to keep our software deliver in one docker image (ros2dds binary is wrap in the docket image) but not sure if there any network issues or conflicts when running 2 ros2dds plugin instance in the same machine.
Beta Was this translation helpful? Give feedback.
All reactions