Madrid, November 2020
eProsima is on the verge of undertaking a new adventure, in which we’ll combine our long-term expertise, historically focused on low-to-mid level development, with the realm of graphical interfaces, in order to deliver a brand new product to the ROS community: visual-ROS.
This tool is meant to provide a user-friendly web-based graphical IDE for programming with ROS 2, and is the result of our partnership with the EU-funded DIH² project. DIH² is a consortium of several European companies with the mission of accelerating and streamlining the automation of the manufacturer industry for SMEs through robotics, in order to drive economic growth across the European Union. The role of visual-ROS within the DIH² platform is to bridge the gap between the factory automation domain and the robotics world, with the goal of opening the ROS 2 gates to an unprecedented number of medium-scale industrial actors belonging to a wide variety of areas.
Given this, visual-ROS is meant to be consumed by users who are not generally acquainted with any specific programming language nor with the underlying details of the ROS 2 stack. To allow so, we will leverage the graphical interface provided by Node-RED, a browser-based graphical editor with drag-and-drop functionality that allows programming event-driven applications by linking together customizable nodes. The generated flows are then deployed to the runtime and stored into exportable JSON files. In order to enable ROS 2 features, we’ll generate a ROS 2-oriented extension for Node-RED, which will provide the user with the fundamental building blocks to program a ROS 2 app (publishers and subscriptors, services, actions, parameters, support for basic and complex types and more).
As for the deployment of actual ROS 2 programs from these Node-RED flows, outputted and stored as JSON files, they need to be translated into a language understandable by the ROS 2 APIs. To do so, we will implement a WebSocket interface for translating the JSONs, which will be tunneled over Websocket to ROS 2 by SOSS, a tool developed and maintained by eProsima in collaboration with Open Robotics that allows intercommunicating incompatible protocols. The communication is made possible by system-specific plugins, or System-Handles, which provide the necessary conversion between the target protocols and the specific language spoken by the SOSS core. As it is, SOSS already provides the mechanism necessary to communicate ROS 2 with the WebSocket API, the SOSS-ROS2 and the SOSS-WebSocket System-Handles.
At the end of the day, users will be provided with a unique tool combining all of eProsima’s leading technologies such as Fast DDS, the Integration Service (SOSS) and our implementation of the DDS-XTypes, cooperating to smash the entry-level barriers to the ROS 2 world down to a minimum level, and offering an out-of-the-box and seamless experience to generate programs with basic ROS functionalities.
A beta version of visual-ROS is envisioned to be out for the Galactic release, and an official presentation of the first prototype will be delivered at the 2021 ROSCon. Stay tuned!
MORE INFORMATION ABOUT VISUAL-ROS:
For any questions please contact