eProsima Fast DDS

eProsima Fast DDS是一个完整的开源DDS实现,适用于实时嵌入式架构和操作系统。参考链接:https://www.eprosima.com/index.php/products-all/eprosima-fast-dds

先决条件

已安装 rosdep

安装软件包

最简单的方式是从ROS 2的apt仓库安装。

sudo apt install ros-humble-rmw-fastrtps-cpp

从源代码构建

从源代码构建也是安装的另一种方式。

首先,在ROS 2工作空间源目录中克隆Fast DDS和rmw_fastrtps。

cd ros2_ws/src
git clone https://github.com/ros2/rmw_fastrtps ros2/rmw_fastrtps -b humble
git clone https://github.com/eProsima/Fast-DDS eProsima/fastrtps

然后,安装Fast DDS所需的必要软件包。

cd ..
rosdep install --from src -i

最后,运行colcon build。

colcon build --symlink-install

切换到rmw_fastrtps。

可以通过指定环境变量来选择eProsima Fast DDS RMW:

export RMW_IMPLEMENTATION=rmw_fastrtps_cpp

参见:使用多个RMW实现

运行发布者和订阅者

现在运行``talker``和``listener``以测试Fast DDS。

ros2 run demo_nodes_cpp talker
ros2 run demo_nodes_cpp listener