5.1.7.3. Eclipse Cyclone DDS

Eclipse Cyclone DDS is a very performant and robust open-source DDS implementation. Cyclone DDS is developed completely in the open as an Eclipse IoT project. See also: https://projects.eclipse.org/projects/iot.cyclonedds

5.1.7.3.1. Prerequisites

Have rosdep installed

5.1.7.3.2. Install packages

The easiest way is to install from ROS 2 apt repository.

sudo apt install ros-iron-rmw-cyclonedds-cpp

5.1.7.3.3. Build from source code

Building from source code is also another way to install.

First, clone Cyclone DDS and rmw_cyclonedds in the ROS 2 workspace source directory.

cd ros2_ws/src
git clone https://github.com/ros2/rmw_cyclonedds ros2/rmw_cyclonedds -b iron
git clone https://github.com/eclipse-cyclonedds/cyclonedds eclipse-cyclonedds/cyclonedds

Then, install necessary packages for Cyclone DDS.

cd ..
rosdep install --from src -i

Finally, run colcon build.

colcon build --symlink-install

5.1.7.3.4. Switch to rmw_cyclonedds

Switch from other rmw to rmw_cyclonedds by specifying the environment variable.

export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp

See also: Working with multiple RMW implementations

5.1.7.3.5. Run the talker and listener

Now run talker and listener to test Cyclone DDS.

ros2 run demo_nodes_cpp talker
ros2 run demo_nodes_cpp listener