DDS 实现

默认情况下,ROS 2 使用 DDS 作为其“中间件<https://design.ros2.org/articles/ros_on_dds.html>” 。 它与多个 DDS 或 RTPS(DDS 有线协议)供应商兼容。 目前支持 eProsima 的 Fast DDS、RTI 的 Connext DDS、Eclipse Cyclone DDS 和 GurumNetworks GurumDDS。 有关按发行版支持的 DDS 供应商,请参阅 https://ros.org/reps/rep-2000.html

默认的 DDS 供应商是 eProsima 的 Fast DDS。

如果您想使用其他供应商之一,则需要在构建之前单独安装他们的软件。 ROS 2 构建将自动为已正确安装和采购的供应商构建支持。

安装新的 DDS 供应商后,您可以更改运行时使用的供应商:使用多个 RMW 实现

下面提供了安装其他 DDS 供应商的详细说明。

Ubuntu Linux 源码安装

RTI Connext(版本 6.0.1,仅限 amd64)

ROS 2 apt 存储库中提供的 Deb 包

您可以安装 ROS 2 apt 存储库中提供的 RTI Connext 的 deb 包。 您需要接受 RTI 的许可。

sudo apt update && sudo apt install -q -y rti-connext-dds-6.0.1

查找安装文件来设置“NDDSHOME”环境变量。

cd /opt/rti.com/rti_connext_dds-6.0.1/resource/scripts && source ./rtisetenv_x64Linux4gcc7.3.0.bash; cd -

注意:使用“zsh”时,您需要在脚本的目录中获取它才能使其正常工作

现在您可以正常构建,并且还将构建对 RTI 的支持。

来自 RTI 的官方二进制包

您可以通过 university、购买或评估 提供的选项安装 RTI 提供的适用于 Linux 的 Connext 6.0.1 软件包

下载后,在 .run 可执行文件上使用 chmod +x,然后执行它。

请注意,如果您要安装到系统目录,也请使用 sudo

默认位置为 ~/rti_connext_dds-6.0.1

安装后,运行 RTI 启动器并将其指向您的许可证文件(从 RTI 获得)。

将以下行添加到您的 .bashrc 文件中,指向您的许可证副本。

export RTI_LICENSE_FILE=path/to/rti_license.dat

查找安装文件来设置“NDDSHOME”环境变量。

cd ~/rti_connext_dds-6.0.1/resource/scripts && source ./rtisetenv_x64Linux4gcc7.3.0.bash; cd -

现在您可以正常构建,并且还将构建对 RTI 的支持。

Ubuntu Linux 二进制安装

RTI Connext(版本 6.0.1,仅限 amd64)

要使用 RTI Connext DDS,有全套安装选项可供使用:doc: university、购买或评估 或者您可以安装 RTI Connext 6.0.1 的仅限库的 deb 包,可从 OSRF Apt 存储库获取 根据 `非商业许可证<https://www.rti.com/ncl>`__

要安装 libs-only deb 包:

sudo apt update && sudo apt install -q -y rti-connext-dds-6.0.1

您需要接受 RTI 的许可协议,并会在安装中找到“rti_license.dat”文件。

将以下行添加到指向许可证副本的“.bashrc”文件中(并将其作为源)。

export RTI_LICENSE_FILE=path/to/rti_license.dat

所有选项都需要您获取安装文件来设置“NDDSHOME”环境变量:

cd /opt/rti.com/rti_connext_dds-6.0.1/resource/scripts && source ./rtisetenv_x64Linux4gcc7.3.0.bash; cd -

注意:以上内容可能需要修改以匹配您的 RTI 安装位置

如果您想安装 Connext DDS-Security 插件,请参阅:doc:此页面

OSX 源安装

RTI Connext (6.0.1)

如果您还想针对 RTI Connext DDS 进行构建,则有以下选项可供选择:doc:university、购买或评估

您还需要安装 Java 运行时来运行 RTI 代码生成器,您可以从 此处 获取它。

安装后,运行 RTI 启动器并将其指向您的许可证文件。

在构建工作区之前,获取安装文件以设置 NDDSHOME 环境变量。

source /Applications/rti_connext_dds-6.0.1/resource/scripts/rtisetenv_x64Darwin17clang9.0.bash

您可能需要按照 https://community.rti.com/kb/osx510 增加共享内存资源

如果您想安装 Connext DDS-Security 插件,请参阅:doc:此页面

OSX 二进制安装

启用 Connext 支持

要使用 RTI Connext DDS,有以下选项可供选择:doc:university、购买或评估

安装后,运行 RTI 启动器并将其指向您的许可证文件。

在构建工作区之前,获取安装文件以设置``NDDSHOME``环境变量。

source /Applications/rti_connext_dds-6.0.1/resource/scripts/rtisetenv_x64Darwin17clang9.0.bash

您可能需要按照 https://community.rti.com/kb/osx510 增加共享内存资源。

如果您想安装 Connext DDS-Security 插件,请参阅:doc:此页面

Windows 源安装

RTI Connext 6.0.1

如果您还想针对 RTI Connext DDS 进行构建,则有以下选项可供选择:doc:大学、购买或评估

安装后,使用 RTI Launcher 加载您的许可证文件。

然后在构建 ROS 2 之前,设置 Connext 环境:

call "C:\Program Files\rti_connext_dds-6.0.1\resource\scripts\rtisetenv_x64Win64VS2017.bat"

请注意,根据您选择安装 RTI Connext DDS 的位置以及选择的 Visual Studio 版本,此路径可能需要略作更改。 上面的路径是自版本 6.0.1 以来的当前默认路径,但将来会随着版本号的增加而改变。

如果您想安装 Connext DDS-Security 插件,请参阅:doc:此页面

Windows 二进制安装

RTI Connext

要使用 RTI Connext DDS,有以下选项可供选择:doc:大学、购买或评估

安装后,运行 RTI 启动器并将其指向您的许可证文件。

然后在使用 ROS 2 之前,设置 Connext 环境:

call "C:\Program Files\rti_connext_dds-6.0.1\resource\scripts\rtisetenv_x64Win64VS2017.bat"

如果您想安装 Connext DDS-Security 插件,请参阅:doc:此页面