RTI Connext Integration Toolkit for ROS 2
Solving the performance and scalability challenges in systems based on ROS 2
Introduction
A set of generators and utilities to make ROS 2 applications more productive with comprehensive capabilities of RTI Connext Drive
ROS 2 (Robot Operating System version 2) is a framework for creating robotics systems and applications. The design of ROS 2 is well suited for research and education, through a familiar platform which makes it very easy to construct working systems. These same characteristics, however, can become barriers to creating high-performance, scalable systems that are suitable for the kinds of mission- and safety-critical systems at high production volumes, which Connext Drive is uniquely suited to build and run.
Since ROS 2 is built on the DDSTM standard, it is fully interoperable with systems built on Connext Drive (also based on the DDS standard) and the rich Connext Drive ecosystem of services, utilities, and integrations. The Connext Integration Toolkit for ROS 2 (Toolkit) enables systems built on ROS 2 to take full advantage of Connext Drive and its ecosystem, in order to quickly resolve problems of scalability, performance, and operation in the most demanding environments, while retaining the use of familiar ROS 2 tools and packages.
-
Features and Benefits
This toolkit enables users to rapidly solve the significant scalability and performance challenges of ROS 2, all in a matter of minutes. It allows users to:
Collect ROS 2 data type definitions from your local file system. These are the data type definition files (i.e., .msg, .srv, .action) that have been installed with ROS 2 packages or created by the user as custom types. These data types are saved to a local store to be selected and used to configure Connext applications and ecosystem components. The toolkit is also pre-configured with the common data types that are included with ROS 2 itself.
Select ROS 2 data types using a GUI application, for use in configuring Connext to work with your specific ROS 2 data types using a set of export generators.
Generate source code and configuration files for Connext applications and services using ROS 2 data types selected via a graphical user interface. Source and configuration files can be instantly created for:
- RTI Routing Service: enabling precise control over the flow of ROS 2 topics in the system, enabling it to scale as intended.
Standalone Applications (C/C++/C++11) built directly on the Connext API using ROS 2 compatible data types and topics. This is the extreme performance option that gives the system full access to Connext Drive – all performance options (FlatData, Zero Copy, compression, etc.), all QoS options, operation in constrained environments and all Connext Drive components.
- RTI Connector (Python), enabling rapid creation of ROS 2 compatible Python applications that run directly on Connext.
- RTI Recording Service, a high-performance data recording and replay service.
- RTI Routing Service: enabling precise control over the flow of ROS 2 topics in the system, enabling it to scale as intended.
-
Details
Support: This toolkit is supported by users, technical enthusiasts and RTI engineers through the RTI Community Forum. RTI actively welcomes community feedback and suggestions for improvements.
Feedback: Create a thread in the RTI Community Forum.
Platform Support: Runs with the Connext ‘host’ platforms (Linux, Windows, MacOS)
System requirements: Requires a standard installation of Python 3
Product components compatibility: Connext Professional 6.0.1 or later, Connext Micro 3.0.3 or later, Connext Micro 2.4.14 or later.
-
Download
Access the RTI Connext Integration Toolkit for ROS 2 code here.
-
Related
Explore additional RTI resources for ROS and ROS 2:
Download instructions for ROS 2-related documentation can be found in the ROS 2 design wiki.
This repository contains two novel implementations of the ROS 2 RMW layer which allow developers to deploy their ROS applications on top of RTI Connext Professional and RTI Connext Micro.
This improves the interaction of native Connext apps with ROS 2 (node graph and parameter system).This provides direct access to Connext APIs from within a ROS 2 application.
It opens up a lot of possibilities: Direct comms with non-ROS DDS, solutions to the scalability issues of ROS 2, improved performance, access to Connext features. Here you can find ready-to-build examples of this, showing Zero Copy and FlatData support under ROS 2.
Click here for example applications that show how to listen to events generated by ROS 2 nodes (DDS events and node-graph changes).
These are the data types included with ROS 2 in OMG IDL format, buildable as a library for easy inclusion in a Connext application. -
Next Steps
We invite you to join the RTI Community for ROS and ROS 2.
Post your questions, search through our Knowledge Base, interact with other users and get the most from your Connext experience. Join the RTI Community today!