GurumNetworks GurumDDS

rmw_gurumdds 是使用 GurumNetworks GurumDDS 实现的 ROS 中间件接口。 有关 GurumDDS 的更多信息,请访问我们的网站:https://gurum.cc/index_eng

先决条件

以下描述假设您已完成“环境设置”过程 from the Installing ROS 2 via deb Packages or from the Building ROS 2 on Ubuntu Linux.

rmw_gurumdds 需要 GurumDDS-2.8.x 版本。 Ubuntu 上的 ROS 2 apt 存储库中提供了 GurumDDS 的 Deb 包。 GurumDDS 的 Windows 二进制安装程序将很快得到支持。

GurumDDS 需要许可证。请参阅下一页:https://gurum.cc/free_trial_eng.html

申请试用许可证后,请从许可证主页下载许可证。 获取许可证后,将其移动到以下位置。

DDS Version

License Location

<= 2.7.2860

/etc/flame

>= 2.7.2861

/etc/gurumnet

2.8.x

/etc/gurumnet

安装软件包

最简单的方法是从 ROS 2 apt 存储库安装。 安装 ros-rolling-rmw-gurumdds-cpp 时,也会安装 gurumdds-2.8。

sudo apt install ros-rolling-rmw-gurumdds-cpp

从源代码构建

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

首先,在 ROS 2 工作区源目录中克隆 rmw_gurumdds。

cd ros2_ws/src
git clone https://github.com/ros2/rmw_gurumdds -b rolling ros2/rmw_gurumdds

然后,安装 GurumDDS 所需的包。

cd ..
rosdep install --from src -i --rosdistro rolling

最后,运行 colcon build。

colcon build --symlink-install

切换到 rmw_gurumdds

通过指定环境变量从其他 rmw 切换到 rmw_gurumdds。

export RMW_IMPLEMENTATION=rmw_gurumdds_cpp

See also: Working with multiple RMW implementations

运行 talker 和 listener

现在运行“talker”和“listener”来测试 GurumDDS。 不要忘记通过安装脚本设置环境。

ros2 run demo_nodes_cpp talker
ros2 run demo_nodes_cpp listener