I have a question about Ros domains and DDS configuration. We're developing a number of identical robots. Each robot consists of a carrier frame containing multiple identical modules.

The carrier frames and modules have each their own computer. A carrier should interact with its own modules on just a few specific topics. The modules should not interact with each other. There should be no interaction between robots either.

Now we want to prevent interference between robots and modules, and minimize network traffic as well. We're looking into configuring DDS and we also read about Ros domains in combination with domain bridges (for interaction between a carrier and its modules).

Does someone have experience with DDS and domain bridges? Is there a recommended approach to? Or any other approaches?

Also, the carrier should be able to distinguish messages from several identical modules. Is there a standard scalable approach to have one master interact with multiple modules? (One solution would be to give each module its own namespace. But afaik that would also mean different launch files and parameter files etc per module. And it's not scalable on the carrier side either.)

I understand it's a rather complex question, but it would be great if someone points us into a direction. If you have question, please let me know.

Thanks in advance


1 Answer 1


Maybe specifying the "peer" IP adress of the DDS discovery could help reducing the traffic and prevent modules to "see" each others ? (this is for Cyclone DDS, I don't know if other DDS have similar options)


  • $\begingroup$ Hi, thanks for your reply. We plan to use FastDDS. We can see if it has similar options. $\endgroup$ Feb 12 at 10:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.