FastDDS——DDSRouter安装和使用

1、DDS Router 的作用       

          ROS 2 的 DDS(一种发布-订阅中间件,底层是RTPS(Real-Time Publish Subscribe)协议,通过 multicast + discovery 建立通信) 在不同网络设备间存在通信限制,DDS Router 主要解决不同子网无法通信的问题,DDS Router 是一个轻量、灵活、可配置的中继器,让 DDS 节点可以跨网段、跨系统通信。具体介绍可以看官方文档,从官网文档可以看出,比较适合集群通信业务:eProsima DDS Router Documentation - 3.2.0https://eprosima-dds-router.readthedocs.io/en/latest/rst/formalia/titlepage.html

2、DDS Router 的基本架构以及原理 

        这张图来自官方文档,DDS Router powered by Fast DDS,也就是在基于基本的dds通信上的一个应用层,如图所示,蓝色部分表示dds router所做的事情,通过配置多个 Participants,分别连接到不同网络,再将 topic 在 participant 之间进行转发; 

 

        如官网下图,如果想要实现下面这种云服务的架构来对多个机器人进行通信,可以配置多对dds router, 使用 eProsima Discovery Server 发现机制(通过非多播网络进行动态发现,也就是配置之后实现单播)进行通信,domain的配对,相当于一种去中心化分布式 DDS 网络。

 3、DDS安装流程&验证:

        本人平台是arm架构,源码安装,参考CMake installation章节;亲测,安装顺利

1. Linux installation from sources - 3.2.0 

pip3 install vcstool
sudo apt install libasio-dev

 安装完成后:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/install/lib,可以看到

 编写client_test.ymal 和 server 的yaml,可以按照真实情况修改ip:

运行ddsrouter成功

4、DDS使用方法和一些配置:

        参考example of usage章节

        

### 编译安装FastDDS #### Linux环境下的编译与安装过程 对于Linux环境下,创建一个专门用于下载并构建eProsima Fast DDS及其依赖项的目录: ```bash mkdir Fast-DDS cd Fast-DDS ``` 从指定位置获取FastDDS压缩包之后,在选定的目标文件夹内解压该档案,例如使用命令`tar -xvf eProsima_Fast-DDS-v2.8.1-Linux.tgz`来完成此操作[^1]。 为了使软件能够正常工作以及部署必要的库文件至系统的适当路径下,需切换到解压后的目录,并通过管理员权限运行名为`install.sh`的脚本来处理整个安装流程。这一步骤会自动配置所需的组件版本(比如cmake 3.22.1),并将FastDDS放置于`/usr/local/lib/fastdds`之中[^2]: ```bash cd <extraction_directory> sudo ./install.sh ``` #### Windows环境下的编译与安装指南 针对Windows平台上的用户而言,官方推荐采用Visual Studio作为主要开发工具来进行项目的建立。具体步骤如下所示: - 安装Visual Studio,并确保选择了C++桌面开发的工作负载。 - 下载适用于Windows版别的预编译二进制分发包或是源码形式的FastDDS。 - 如果选择的是ZIP格式的二进制发布,则只需将其解压即可立即投入使用;而如果是打算自行编译的话,则应参照README.md文档内的指示说明进行操作。 #### macOS环境下的编译与安装指导 macOS用户的最佳实践方案是利用Homebrew包管理器简化安装过程: - 首先确认已正确设置了Xcode Command Line Tools; - 接着打开终端窗口输入以下指令以添加tap仓库并安装Fast DDS: ```bash brew tap eprosima/fastrtps brew install fastrtps ``` 上述命令将会连同所需的一切依赖关系一起被妥善解决掉[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值