Working with eProsima Fast DDS
eProsima Fast DDS is a complete open-source DDS implementation for real time embedded architectures and operating systems. See also: https://www.eprosima.com/index.php/products-all/eprosima-fast-dds
Prerequisites
Have rosdep installed
Install packages
The easiest way is to install from ROS 2 apt repository.
sudo apt install ros-galactic-rmw-fastrtps-cpp
Build from source code
Building from source code is also another way to install.
First, clone Fast DDS and rmw_fastrtps in the ROS 2 workspace source directory.
cd ros2_ws/src
git clone https://github.com/ros2/rmw_fastrtps ros2/rmw_fastrtps
git clone https://github.com/eProsima/Fast-DDS eProsima/fastrtps
Then, install necessary packages for Fast DDS.
cd ..
rosdep install --from src -i
Finally, run colcon build.
colcon build --symlink-install
Switch to rmw_fastrtps
The eProsima Fast DDS RMW can be selected by specifying the environment variable:
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
Run the talker and listener
Now run talker
and listener
to test Fast DDS.
ros2 run demo_nodes_cpp talker
ros2 run demo_nodes_cpp listener