# 快速 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
步,也必须在这里设置。
# 更多信息
更多安装信息可在官方 eProsima Fast DDS 文献资料 (打开新窗口) (本专题即源于此):
- 从源安装
- 从二进制文件安装