DDS 实现

默认情况下,ROS 2 使用 DDS 作为其 中间件。它与多个 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)

Debian软件包可在ROS 2 apt软件库中找到

您可以安装在ROS 2 apt软件库中提供的RTI Connext的Debian软件包。您需要接受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 提供官方的二进制软件包

您可以通过 RTI Connext DDS 中提供的选项,安装由 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,有完整套件安装选项可供选择:参考文档 大学、购买或评估,或者您可以安装 RTI Connext 6.0.1 的仅库 Debian 包,该包可在 OSRF Apt 软件源库中以 `非商业许可证<https://www.rti.com/ncl>`__ 形式获取。

要安装仅库 Debian 包:

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插件,请参考:此页面

OSX源码安装

RTI Connext(6.0.1)

如果您还想构建针对RTI Connext DDS的内容,可以使用以下选项:大学、购买或评估

您还需要安装Java运行时环境才能运行RTI代码生成器,可以在`此处 <https://support.apple.com/kb/DL1572?locale=en_US>`__ 获取。

安装后,运行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插件,请参考:此页面

OSX二进制安装

启用Connext支持

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

安装后,运行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插件,请参考:此页面

Windows源代码安装

RTI Connext 6.0.1

如果您还想构建针对RTI Connext DDS的内容,可以使用以下选项:大学、购买或评估

安装完成后,请使用RTI启动器加载您的许可证文件。

然后在构建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插件,请参考:此页面

Windows二进制安装

RTI Connext

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

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

在使用ROS 2之前,请先设置Connext环境:

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

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