RTI Connext DDS
RTI Connext DDS is trusted in over 2000 of the world’s most demanding system designs, distributing critical real-time data with the highest levels of performance, reliability, and security. It is available on a free academic or non-commercial license, or a commercial license with support, for dozens of production-grade platforms. More information can be found at the RTI website.
Prerequisites
Install RTI Connext DDS
To build and use
rmw_connextdds
requires a version of Connext DDS compatible with the distribution of ROS 2 in use. Connext DDS is included when installingrmw_connextdds
using apt, or can be installed manually for building from source. The following table details which Connext DDS versions are installed usingapt
, and which versions are required for building from source:
ROS 2 Distribution
Installed using apt
To Build from Source
rolling
n/a
7.3.0
kilted
7.3.0
7.3.0
jazzy
6.0.1
6.0.1
iron
6.0.1
6.0.1
humble
6.0.1
6.0.1
RTI Connext Pro is available through a variety of channels:
- ROS 2 apt repositories
ROS 2 users can install a non-commercial-use version of the RTI Connext DDS libraries for x86_64 Linux from the ROS apt repository using the following command:
sudo apt update && sudo apt install -q -y rti-connext-dds-7.3.0
sudo apt update && sudo apt install -q -y rti-connext-dds-6.0.1
Note that this includes the RTI Connext libraries only, and does not include the full RTI Connext Pro suite of tools and services. Note also that the Connext libraries are automatically installed when installing
rmw_connextdds
using apt.
Other Installation Options RTI Connext DDS is a proprietary DDS implementation with a number of advanced features and commercial support options. RTI provides both a non-commercial / research license for students and researchers and a time-limited free trial license for commercial users. Detailed instructions for building and tuning the RMW and ROS 2 applications for a variety of platforms, and enabling DDS Security and safety-cert options are available on the RTI ROS Community pages.
Install rmw_connextdds binary packages
To install the binary packages for rmw_connextdds
and the Connext libraries from the ROS 2 apt repositories, use the following command:
sudo apt update && sudo apt install -q -y ros-rolling-rmw-connextdds
Building rmw_connextdds from source code
Building from source code can ensure the RMW is matched to your system and installed correctly. The following instructions assume a Linux x86_64 build host and target; the RTI ROS Community pages have instructions for building for other platforms and targets, including Arm, Windows, and macOS.
Clone the repository for rmw_connextdds
into your ROS 2 workspace and select the branch that matches the ROS 2 distribution in use:
cd ros2_ws/src
git clone https://github.com/ros2/rmw_connextdds -b rolling
Set up the environment to help colcon discover where RTI Connext is installed.
This can be done by manually setting the environment variable NDDSHOME
to the location of the RTI Connext installation, or by using a script that comes with the RTI Connext installation:
source ${RTI_CONNEXT_INSTALL_LOCATION}/resource/scripts/rtisetenv_x64Linux4gcc7.3.0.bash
Build the RMW using colcon:
colcon build --symlink-install
After the build completes successfully, be sure to source the setup file for the workspace:
source install/setup.bash
Use the resulting rmw_connextdds
Set the environment variable RMW_IMPLEMENTATION
to tell ROS 2 which RMW to use:
export RMW_IMPLEMENTATION=rmw_connextdds
Run the talker and listener
Now run talker
and listener
to test RTI Connext DDS
ros2 run demo_nodes_cpp talker
ros2 run demo_nodes_cpp listener