Here at eProsima we have been working on a new exciting demo combining some of our cutting-edge technologies! The demo shows how two separate ROS 2 dataspaces hosted by distinct subnets can be put into communication over the internet thanks to Fast DDS TCP capabilities and to Integration Service, the tool enabling intercommunication of any protocol with DDS. The setup consists in a ROS 2 node publishing velocity directives via WAN to a Turtlesim application and to a micro-ROS node operating a Kobuki Turtlebot2, both running on the remote hub.
Find the video of the demo here.
In the first dataspace we have a ROS 2 publisher sending data over a Twist type message. More in detail, a joy node is in charge of obtaining displacement commands from a gamepad, which are then converted into ROS 2-understandable Twist type messages by a second teleop_twist_joy node.
The second dataspace handles two subscriptors which receive the Twist topic sent by the teleop_twist_joy node. The first subscriptor is a Turtlesim application, in charge of displacing the classic virtual turtle in its graphical interface according to the indications received by the remote node. The second subscriptor is a micro-ROS Client, communicated with the ROS 2 datapace via an Agent which allows it to subscribe to the Twist topic. With the data received, micro-ROS is in charge of instructing a Kobuki Turtlebot2, operated by an ESP32 MCU running FreeRTOS, to move accordingly.
The remote communication is mediated by Integration Service, which is able to translate the ROS 2 messages into a language understandable by Fast DDS, and thanks to the TCP capabilities of the latter it connects via WAN the instances launched in the two subnets. Thanks to this, we can see how both the Kobuki robot and the Turtlesim are moving as they are being operated by the remote gamepad.