Configuring CycloneDDS for communication with ROS 2 in Docker Container

39 views (last 30 days)
Hello,
I'm using the Matlab ROS Toolbox in combination with ROS 2 running inside of WSL2+Docker. For different reasons I'm using CycloneDDS as the middleware.
The issue is, that I can neither discover Matlab topics from Docker nor Docker topics from Matlab.
I've tried to configure CycloneDDS similar to how FastDDS is configured here. However, I can't figure out how to tell Matlab which config file to use for CycloneDDS.
The issues pesists with the docker containers running both on net=host as well as net=bridge. Also the discovery seems to work with Maltab using FastDDS (which is not a feasible solution for me).
I appreciate any help on this topic!
ROS Distro: Iron

Answers (2)

Supraja
Supraja on 9 Sep 2024
Hello Ansgar,
I understand that you are using MATLAB ROS Toolbox with ROS 2 and using Cyclone DSS as an intermediate.
Please find the documentation links below which will guide you in using the ROS toolbox:
I hope this helps!

Ansgar
Ansgar on 7 Oct 2024
Short update: I managed to work around this issue by adding the WSL network interface to the Cyclone DDS configuration. When I posted this question I wasn't even sure how to accomplish this for Cyclone DDS.
Here's the answer: The Cyclone DDS configuration file can be set using the Windows environment variable CYCLONEDDS_URI.
The qestion why discovery fails without additional configuration remains open.

Products


Release

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!