# 快速 DDS 安装

徽标 eProsima Fast DDS (打开新窗口) 是对象管理集团(OMG)数据分发服务(DDS)规范和实时发布订阅(RTPS)协议的 C++ 实现。

快速 DDS 支持 RTPS/DDS 接口,允许 PX4 uORB 主题与参与相同 DDS 域的外部组件(包括机器人和模拟器工具)共享。特别是,Fast DDS 是机器人操作系统 2(ROS 2)的默认中间件实现,对于将 PX4 与 ROS2 集成至关重要。

本主题介绍如何安装与 PX4 配合使用的 Fast DDS。

TIP

Fast DDS 并非 PX4 Autopilot 的基本组件,只有当您计划将 PX4 Autopilot 与另一个快速 RTPS/DDS 系统(如 ROS 2)一起使用时才应安装。

备注

Fast DDS 以前的名称是 FastRTPS(在 2.0.0 版中更改了名称,因为它现在包含完整的 DDS 实现,而不仅仅是 RTPS 线协议)。

# 先决条件

eProsima Fast DDS 需要使用以下软件包

备注

在撰写本文时,您需要安装 从源头

  • Ubuntu 18.04: Fast RTPS 1.8.2(或更高版本)和 Fast-RTPS-Gen 1.0.4(非更高版本!)。
  • Ubuntu 20.04: Fast DDS 2.0.0(或更高版本)和 Fast-RTPS-Gen 1.0.4(非更高版本!)。

# Java

使用我们的内置代码生成工具需要 Java。 fastrtpsgen. Java JDK 8 (打开新窗口) 建议

# Gradle

您还需要 安装 Gradle (打开新窗口) 来构建源代码生成器(Fast-RTPS-Gen),我们建议您通过以下方式安装 Gradle sdkman (打开新窗口).

# Foonathan 记忆

要构建 Fast DDS,您需要安装 Foonathan Memory 依赖项。

Git 克隆 https://github.com/eProsima/foonathan_memory_vendor.git
CD Foonathan_memory_vendor
mkdir 构建 &&; CD 构建 cmake ..
cmake --build . --目标 安装

备注

如果最后一步失败,请尝试使用适当的用户权限(sudo)运行该命令

# Windows 7 32 位和 64 位

# Visual C++ 2013 或 2015 可还原软件包

eProsima Fast DDS 在安装或编译过程中,您选择的 Visual Studio 版本需要 Visual C++ Redistributable 软件包。安装程序会提供下载和安装这些软件包的选项。

# 从源安装

# 快速-RTPS(DDS)

从 Github 克隆项目:

$ Git clone --recursive https://github.com/eProsima/Fast-DDS.git -b v2.0.0 ~/FastDDS-2.0.0 $ CD ~/FastDDS-2.0.0 $ mkdir 构建 &&; CD 构建

如果您使用的是 Linux,请执行

$ cmake -DTHIRDPARTY=开启 - 安全=关于 ..
$ 生产 -j$(nproc --all)
$ 苏都 生产 安装

这将把快速 DDS 安装到 /usr/local支持安全通信。如果需要安装到自定义位置,可以使用: -DCMAKE_INSTALL_PREFIX=<path>;.

如果您使用的是 Windows 系统,请选择您的 Visual Studio:

>; cmake -G Visual Studio 14 2015 Win64"; -DTHIRDPARTY=开启 - 安全=关于 ..
>; cmake --build . --目标 安装

# 编译选项

在调用 CMake:

  • -dcompile_examples=on:编译示例
  • -dperformance_tests=on:编译性能测试

# Fast-RTPS-Gen

Fast-RTPS-Gen 是快速 RTPS (DDS) IDL 代码生成工具。它应在 Fast RTPS (DDS) 之后安装,并确保 fastrtpsgen 应用程序在您的 路径.您可以向 其中 fastrtpsgen.

然后安装 Fast-RTPS-Gen 1.0.4(需要使用 Gradle):

git clone --recursive https://github.com/eProsima/Fast-DDS-Gen.git -b v1.0.4 ~/Fast-RTPS-Gen \ && cd ~/Fast-RTPS-Gen \ && ./gradlew assemble \ && sudo ./gradlew install

# 从二进制文件安装

备注

虽然有二进制文件,但考虑到二进制文件可能不包含所需的组件和依赖项,我们建议从源代码开始构建和安装代码。

的最新二进制版本 eProsima Fast DDS 可从 公司网站 (打开新窗口).

有关如何操作的文档,请点击此处: 在 Linux 上从二进制文件安装 (打开新窗口)从二进制文件在 Windows 上安装 (打开新窗口) (eProsima Fast DDS 官方文件)

# Windows 7 32 位和 64 位

执行安装程序并按照说明操作,选择你喜欢的 Visual Studio 出现提示时,请输入版本和架构。

# 环境变量

eProsima Fast DDS 需要设置以下环境变量才能正常运行

  • FASTRTPSHOME:所在的根文件夹 eProsima Fast DDS 已安装。
  • fastrtpsgen_dir:所在的根文件夹 eProsima Fast-RTPS-Gen 已安装。
  • 增补 路径:"...... /bin 文件夹和所选 Visual Studio 版本的子文件夹应添加到 PATH 中。

这些变量在安装过程中通过选中相应的复选框自动设置。

# 利纳克斯

提取软件包的内容。它将包含 eProsima Fast DDS 及其所需的软件包 eProsima 快速 CDR.这两个软件包的操作步骤相同,都是从 快速 CDR.

配置编译:

$ ./configure --libdir=/usr/lib

如果要使用调试符号进行编译(也可启用详细说明模式):

$ ./configure CXXFLAGS="-g -D__DEBUG";  --libdir=/usr/lib

配置项目后,编译并安装程序库:

$ 苏都 生产 安装

# 环境变量

  • fastrtpsgen_dir:所在的根文件夹 eProsima Fast-RTPS-Gen 通常设置为 /usr/local是默认的安装目录。如果用户在 gradle install 步,也必须在这里设置。

# 更多信息