How to change Fast-DDS XML configuration to communicate over network via wlp58s0 (different network interface)
Hello,
I am working on upgrading TurtleBot2 from ROS 2 Galactic with Cyclone DDS to ROS 2 Humble with Fast-DDS as middleware.
My problem is configuring Fast-DDS to communicate over the network via wlp58s0
, rather than trying to communicate over an RJ-45 cable (this is what the lidar on the robot is connected to). In ROS 2 Galactic there was another middleware, Cyclone DDS, and there it was easier, with an example straight from the documentation (below).
<?xml version="1.0" encoding="UTF-8" ?>
<CycloneDDS xmlns="https://cdds.io/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://cdds.io/config https://raw.githubusercontent.com/eclipse-cyclonedds/cyclonedds/master/etc/cyclonedds.xsd">
<Domain id="any">
<General>
<NetworkInterfaceAddress>wlp58s0</NetworkInterfaceAddress>
</General>
</Domain>
</CycloneDDS>
In ROS 2 Humble the default is Fast-DDS, which did not have such clear documentation for us. Unfortunately, I don't really know what would be the equivalent of an analogous change. When I read the Fast-DDS documentation, I don't really know how to do it in this case; I found some links regarding ROS 2 in the documentation:
https://fast-dds.docs.eprosima.com/en/latest/fastdds/ros2/ros2_configure.html
https://fast-dds.docs.eprosima.com/en/latest/fastdds/xml_configuration/xml_configuration.html
Should I do this using whitelists?
Do I need to create a profile (separate for TCP and UDP, I think) with a whitelist of IP addresses assigned to those interfaces over which Fast DDS can communicate? Presumably 127.0.0.1 and the IP address of the Wi-Fi interface? What would the XML of such a configuration look like?
Best regards,
Ćukasz Janiec
Asked by ljaniec on 2023-05-23 03:20:30 UTC
Comments