Madrid, November 2020
eProsima has been working on a new exciting demo combining some of our cutting-edge technologies!
The use-case we laid out, is meant to demonstrate how two separate ROS 2 dataspaces hosted by distinct subnets can be put into communication over the internet thanks to Integration Service and to the TCP capabilities of Fast DDS. Integration Service is a tool developed by eProsima enabling intercommunication of any protocol with DDS.
The demo 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.
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.
Integration Service functions by means of System-Handles, dedicated plugins which enable external protocols to be communicated with Fast DDS, by translating the specific topics and message types they handle to the dynamic types used by Fast DDS as a representation language. For this demo, we leverage the already existing System-Handle that translates ROS 2 types, among which the Twist message sent by the initial ROS 2 node, to a topic understandable by Fast, which is then exchanged over WAN thanks to its TCP connection capabilities. All these ingredients can be configured by means of a YAML file on both sides of the communication, by specifying the direction of the communication flow, the topics interchanged and the messages to be translated.
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.
MORE INFORMATION ABOUT MICRO-ROS, THE INTEGRATION SERVICE AND THE DEMO:
For any questions please contact