eProsima / Integration-Service

Apache License 2.0
66 stars 28 forks source link

Using differents XML profiles for differents Systems #166

Open marcus89 opened 3 years ago

marcus89 commented 3 years ago

Dear All,

I am currently trying to use Integration Service as a ROS2 Domain router. Using the provided examples (Yaml files), all work well. I am able to forward topics from ROS2 Domain 1 to ROS Domain 2.

Now, I want to use different XML profile files to configure each Systems (ROS2 Domain1 and ROS2 Domain2). Basically, when I want to use a XML profile file for a single ROS2 node, I use the environment variable "FASTRTPS_DEFAULT_PROFILES_FILE" to set the right profile to use.

When using Integration Service, it is not possible to define an XML profile file using FASTRTPS_DEFAULT_PROFILES_FILE, for each ROS2 Systems. This is only available for FastDDS System. The purpose of this setup is to change the DDS discovery, the DDS Participant ID and others parameters in section.

The following is an example of my XML profile file I want to use for one ROS2 Systems :

<?xml version="1.0" encoding="UTF-8" ?>

2
239.255.0.1
30001
192.168.1.10
30012
192.168.1.10
30010
239.255.0.1
30001

In my understanding, when using ROS2, rmw_fastrtps_cpp is responsible for loading and applying DDS configuration provided by FASTRTPS_DEFAULT_PROFILES_FILE. But rmw_fastrtps_cpp is definitely not used by Integration Service. Am I right about this?

Is there a way to configure each Systems based on different XML profiles file?

Thank you for your answer.

Best Regards, Marius

MiguelBarro commented 3 years ago

I am afraid that requires modifying the YAML configuration file systems definition in order to either accept an XML config file or accept directly a QoS specification. We note down this as a desired feature but right now is not on our scope.