Configuring CycloneDDS for communication with ROS 2 in Docker Container

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

2 Comments

This could be an issue due to cross-distro communication. May I know what MATLAB version are you using?

Sign in to comment.

Answers (2)

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!
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.

Categories

Products

Release

R2024a

Asked:

on 20 Aug 2024

Commented:

on 30 Jan 2025

Community Treasure Hunt

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

Start Hunting!