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。
Working with Eclipse Cyclone DDS explains how to utilize Cyclone DDS.
Working with eProsima Fast DDS explains how to utilize Fast DDS.
Working with GurumNetworks GurumDDS explains how to utilize GurumDDS.
如果您想使用其他供应商之一,则需要在构建之前单独安装他们的软件。 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:此页面。