The main goal is offering a fully open source solution for two general ROS2 use cases:
1.- Integration: Connect ROS2 to other protocols (MQTT, zeroMQ, a file/DB, etc): There are some existing bridges, such as ROS2 to ROS1 Bridge, or FIROS2 (FIWARE to ROS2), but this project will offer a common framework, standard interfaces, and useful services to create general Bridges and transformations.
2.- Routing: Enable ROS2 over Internet/WAN. Currently, ROS2 just allow LAN comms because of the underlying protocol of ROS2. The project will offer routing services for ROS2 traffic in several scenarios.
Public Summary of Milestone 1:
ROS2 Integration Service provides a complete tool to integrate other technologies with ROS2 easily and enable ROS2 on WAN/Internet. In this initial release, the core functionality of ROS Integration Services implementation was completed. This first release:
- It is fully integrable with Colcon . ROS Integrations Services integrates into ROS 2 workspaces as a package.
- The configuration is done using YAML format which increases the readability compared to XML configurations.
- Provided a set of Docker images, so ROS Integration Services is ready to be used out of the box.
- Define and provide a well-defined API to create new system integrations.
- Developed Bridges: FIWARE , DDS, ROS2, ROS1, WebSocket, REST.
- Provide usage examples and tests: TCP tunnel using DDS, ROS2 domain change and a connection ROS2 – FIWARE .
- Provides user documentation.
This initial release uses SOSS (System Of Systems Synthesizer) as core communications enabler. SOSS provides a set of tools and configuration utilities to communicate different communication middlewares.
The outcome of this first Milestone can be found in a set of publicly available repositories:
- ROS-Integration-Service: Central repository for ROSIS. Uses SOSS as core architecture: https://github.com/eProsima/ROS2-Integration-Service
- SOSS-FIWARE: Integration of FIWARE with any other SOSS plugin: https://github.com/eProsima/SOSS-FIWARE
- SOSS-DDS: Integration of native DDS (Fast RTPS used as implementation): https://github.com/eProsima/SOSS-DDS
- soss_v2: Configuration and libraries loader. Includes set of system handlers/bridges: https://github.com/osrf/soss_v2