安装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]
文档 使用Eclipse Cyclone DDS 解释了如何使用Cyclone DDS。 [Alyssa@5308]
文档 使用 eProsima Fast DDS 解释了如何使用Fast DDS。 [Alyssa@5309]
文档 使用 GurumNetworks GurumDDS 解释了如何使用GurumDDS。 [Alyssa@5310]
如果您想使用其他供应商,则需要在编译之前单独安装他们的软件。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]