Warning
You're reading the documentation for a version of ROS 2 that has reached its EOL (end-of-life), and is no longer officially supported.
If you want up-to-date information, please have a look at Jazzy.
Working with 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
Prerequisites
Have rosdep installed
Install packages
The easiest way is to install from ROS 2 apt repository.
sudo apt install ros-dashing-rmw-cyclonedds-cpp
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
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
Switch to rmw_cyclonedds
Switch from other rmw to rmw_cyclonedds by specifying the environment variable.
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
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