安装DDS实现

默认情况下,ROS 2使用DDS作为其 middleware 。它与多个DDS或RTPS (DDS有线协议) 供应商兼容。目前支持eProsima的Fast DDS、RTI的Connext DDS、EclipseCycloneDDS和GurumNetworks GurumDDS。发行版所支持的DDS供应商,请参阅https://ros.org/reps/rep-2000.html。 [Alyssa@5306]

在Foxy版本中,默认的DDS供应商是eProsima的Fast DDS。 [小鱼@5307]

如果您想使用其他供应商,则需要在编译之前单独安装他们的软件。ROS 2编译将自动对已正确安装并source的供应商建立支持。 [Alyssa@5311]

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

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

Ubuntu Linux源文件安装

RTI Connext (版本5.3.1,仅限amd64)

ROS 2 apt仓库提供的Debian包 [待校准@5317]

您可以在ROS 2 apt仓库安装RTI Connext的Debian包。您需要接受RTI的许可协议。 [Alyssa@5318]

sudo apt install -q -y \
    rti-connext-dds-5.3.1  # from packages.ros.org/ros2/ubuntu

source安装文件以设置 NDDSHOME 环境变量。 [Alyssa@5319]

cd /opt/rti.com/rti_connext_dds-5.3.1/resource/scripts && source ./rtisetenv_x64Linux3gcc5.4.0.bash; cd -

注意: 使用 zsh 时,您需要在source时的脚本的目录中,以使其正常工作 [Alyssa@5320]

现在,您可以正常编译,并且也将建立对RTI的支持。 [Alyssa@5321]

来自RTI的官方二进制包 [待校准@5322]

你可以安装Linux通过RTI提供的Connext 5.3.1安装包,通过选项 university, purchase or evaluation [Alyssa@5323]

下载后,在 .run 可执行文件上使用 “chmod + x”添加可执行权限,然后执行它。请注意,如果要安装到系统目录,也请使用 sudo[Alyssa@5324]

默认位置为 “~/rti_connext_dds-5.3.1” [待校准@5325]

安装后,运行RTI launcher并将其指向您的许可证文件 (从RTI获得)。 [Alyssa@5326]

将以下行添加到您的 .bashrc 文件中,指向您的许可证副本。 [待校准@5327]

export RTI_LICENSE_FILE=path/to/rti_license.dat

source安装文件以设置 NDDSHOME 环境变量。 [Alyssa@5319]

source ~/rti_connext_dds-5.3.1/resource/scripts/rtisetenv_x64Linux3gcc5.4.0.bash

现在,您可以正常编译,并且也将建立对RTI的支持。 [Alyssa@5321]

Ubuntu Linux二进制安装

RTI Connext (版本5.3.1,仅限amd64)

要使用RTI Connext DDS,从 university, purchase or evaluation 可获取全套安装选项,或者您也可以安装一个仅有RTI Connext 5.3.1库文件的Debian 安装包 , 可以从 non-commercial license 下的OSRF Apt库获取。 [Alyssa@5329]

安装libs-only Debian包: [待校准@5330]

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

您需要接受RTI的许可协议,并在安装路径中找到 “rti_license.Dat” 文件。 [Alyssa@5331]

将以下行添加到您的 .bashrc 文件中,指向您的许可证副本 (并且source该文件)。 [Alyssa@5332]

export RTI_LICENSE_FILE=path/to/rti_license.dat

所有选项都需要您source安装文件以设置 NDDSHOME 环境变量: [Alyssa@5333]

cd /opt/rti.com/rti_connext_dds-5.3.1/resource/scripts && source ./rtisetenv_x64Linux3gcc5.4.0.bash; cd -

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

如果你想安装Connext DDS-Security插件,请参考 这一页[Alyssa@5335]

OSX源文件安装

RTI Connext (5.3)

如果您还想针对RTI Connext DDS进行构建,可以选择 university, purchase or evaluation [待校准@5338]

您还需要安装一个Java运行环境来运行RTI代码生成器,您可以从 here 下载。 [Alyssa@5339]

安装后,运行RTI launcher并将其指向您的许可证文件。 [Alyssa@5340]

在构建工作空间之前,source安装文件以设置 NDDSHOME 环境变量。 [Alyssa@5341]

安装文件和路径将取决于您的macOS版本。 [待校准@5342]

# macOS 10.12 Sierra
source /Applications/rti_connext_dds-5.3.1/resource/scripts/rtisetenv_x64Darwin16clang8.0.bash
# macOS 10.13 High Sierra
source /Applications/rti_connext_dds-5.3.1/resource/scripts/rtisetenv_x64Darwin17clang9.0.bash

您可能需要参考 https://community.rti.com/kb/osx510 增加共享内存资源 [Alyssa@5343]

如果你想安装Connext DDS-Security插件,请参考 这一页[Alyssa@5335]

OSX二进制安装

启用Connext支持 [待校准@5345]

要使用RTI Connext DDS,可以选择 university, purchase or evaluation [待校准@5346]

安装后,运行RTI launcher并将其指向您的许可证文件。 [Alyssa@5340]

设置 NDDSHOME 环境变量:

export NDDSHOME=/Applications/rti_connext_dds-5.3.1

您可能需要增加共享内存资源,参考`https://community.rti.com/kb/osx510`。 [Alyssa@5348]

如果你想安装Connext DDS-Security插件,请参考 这一页[Alyssa@5335]

Windows源文件安装

RTI Connext 5.3

如果您还想针对RTI Connext DDS进行构建,可以选择 university, purchase or evaluation [待校准@5338]

安装后,使用RTI Launcher加载您的许可证文件。 [Alyssa@5351]

然后在构建ROS 2之前,设置Connext环境: [待校准@5352]

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

请注意,根据您选择安装RTI Connext DDS的位置以及选择的Visual Studio版本,可能需要稍微更改此路径。上面的路径是针对5.3.1版本的当前默认路径,但将来可能会随着版本号的增加而改变。 [Alyssa@5353]

如果你想安装Connext DDS-Security插件,请参考 这一页[Alyssa@5335]

Windows二进制安装

RTI Connext

要使用RTI Connext DDS,可以选择 university, purchase or evaluation [待校准@5346]

安装后,运行RTI launcher并将其指向您的许可证文件。 [Alyssa@5340]

设置 NDDSHOME 环境变量:

set "NDDSHOME=C:\Program Files\rti_connext_dds-5.3.1"

如果你想安装Connext DDS-Security插件,请参考 这一页[Alyssa@5335]