背景介绍
多机通信是ROS的基础能力之一,相比于ROS1,ROS2通过非常简单的配置即可实现多机通信。
对于两个安装了ROS2(或者地平线的TogetherROS)的设备,设备的IP地址在同一网段,并且ROS_DOMAIN_ID相同(如果不设置,默认是0),即可实现设备之间通过ROS2通信。
下面介绍X3派和PC虚拟机都连接无线wifi网络的情况下,通过ROS2实现跨设备通信。
准备工作
X3派
- 已安装Ubuntu 20.0.4系统,安装方法:1. 快速开始 — 旭日X3派用户手册 1.0.0 文档 (horizon.ai)
- 已安装ROS2 Foxy,推荐安装地平线基于ROS2 Foxy深度优化和扩展的TogetherROS,安装速度更快。安装方法:2.2. 通过DEB包安装 — 地平线机器人平台用户手册 1.0 文档 (horizon.ai)
- 已连接wifi,连接方法:2. 系统配置 — 旭日X3派用户手册 1.0.0 文档 (horizon.ai)
PC虚拟机
- PC宿主机为windows,使用VMware workstation 15.5举例说明。
- 虚拟机已安装Ubuntu 20.0.4系统。
- 虚拟机已安装ROS2 Foxy。
操作方法
- PC宿主机断开有线连接,和X3派连接同一wifi。
- 虚拟机网络设置成桥接&复制物理网络连接状态:
![poYBAGLOXmeAJwNrAABxmxWbLYg482.png](https://file.elecfans.com/web2/M00/52/79/poYBAGLOXmeAJwNrAABxmxWbLYg482.png)
- 启动虚拟机。
结果分析
查看X3派的IP地址:
![pYYBAGLOXmeABeYAAAD_Ba7ovt0173.png](https://file.elecfans.com/web2/M00/53/15/pYYBAGLOXmeABeYAAAD_Ba7ovt0173.png)
查看PC虚拟机中Ubuntu的IP地址:
![poYBAGLOXmeAG_nrAAESNPlDvL8963.png](https://file.elecfans.com/web2/M00/52/79/poYBAGLOXmeAG_nrAAESNPlDvL8963.png)
连接同一wifi后,X3派和PC虚拟机中Ubuntu的IP地址相同。开始测试X3派和PC虚拟机之间通过ROS2进行通信。
X3派发布消息:
![poYBAGLOXmmATDwPAAJ7fBU6ml4820.png](https://file.elecfans.com/web2/M00/52/79/poYBAGLOXmmATDwPAAJ7fBU6ml4820.png)
PC端订阅消息:
![pYYBAGLOXmiAZ9yQAAJhWp1kG64695.png](https://file.elecfans.com/web2/M00/53/15/pYYBAGLOXmiAZ9yQAAJhWp1kG64695.png)
可以看到,PC端的ROS2 Foxy订阅到了X3派TogetherROS发布的消息,说明两个设备在连接同一wifi的情况下,通过ROS2跨设备通信成功。
本文转载自地平线开发者社区
原作者:zhuk
原链接:https://developer.horizon.ai/forumDetail/98129467158916230
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
物联网
+关注
关注
2882文章
42298浏览量
361818 -
人工智能
+关注
关注
1781文章
44986浏览量
232397
发布评论请先 登录
相关推荐
ZMC900E控制器之ROS2环境安装指南
ZMC900E是致远电子研发的最新一代高性能EtherCAT控制器,支持ROS2系统,兼备强大功能和实时性,为工业应用带来新的可能。本文将详述ROS2特点和安装,助力用户在机器人上的二次开发
![ZMC900E控制器之<b class='flag-5'>ROS2</b>环境安装指南](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
系统镜像Ubuntu_ROS2中ROS2是什么意思,带有ROS2开发环境吗?
请问一下,百度文库资料里面,下图所示的系统镜像Ubuntu_ROS2中ROS2是什么意思,带有ROS2开发环境吗?与前面4GB版本的镜像有什么区别?
发表于 03-01 23:06
虚拟机ubuntu怎么联网
与外部网络通信。本文将详细介绍虚拟机Ubuntu的网络连接方法以及一些常见的网络问题解决办法。 一、虚拟机网络概述 虚拟机的网络连接有多种方式,包括桥接模式(Bridge)、NAT模式
【米尔-TIAM62开发板-接替335x-试用评测】(一)基于TIAM62开发板的ROS2交叉编译
【米尔-TIAM62开发板-接替335x-试用评测】(一)ROS2交叉编译
1. 前言
该测试报告详细介绍了TIAM62开发板的交叉编译环境、ROS2编译的步骤以及遇到的问题和解决方案、简单的测试
发表于 12-05 20:58
在TogetherROS中如何安装ROS2功能包
安装ROS2功能包 接下来,还有一个很重要的配置,那就是安装ROS2功能包,我们说TogetherROS是基于ROS2深度优化的,很多模块还是会复用ROS2中的功能,所有
![在TogetherROS中如何安装<b class='flag-5'>ROS2</b>功能包](https://file1.elecfans.com/web2/M00/B3/F9/wKgZomVpj5WACHnRAAY288PAUoU611.jpg)
ROS2中自带例程测试
如果你是一个ROS2的开发者,可能对刚才我们使用的ROS2命令比较熟悉,这时你可能也会产生一个问题:我们之前也安装了ROS2系统,那ROS2的原生功能还可以正常运行么? 我们再来试一试
![<b class='flag-5'>ROS2</b>中自带例程测试](https://file1.elecfans.com/web2/M00/B3/53/wKgZomVlo_CAd--WAABWL4F62os161.jpg)
TogetherROS系统的通信功能测试
通信测试 先来测试一下TogetherROS™·Bot系统的通信功能。 我们需要启动两个终端,分别连接到旭日X3派上,并分别按以下命令配置环境变量。 终端1: ** source /opt/tros
![TogetherROS系统的<b class='flag-5'>通信</b>功能测试](https://file1.elecfans.com/web2/M00/B3/53/wKgZomVlokWAfujvAADHKFIIrK4455.jpg)
ros1和ros2的通信模型
发数据 ROS2: 参与者(DomainParticipant):一个参与者Participant就是一个容器,对应于一个使用DDS的用户,任何DDS的用户都必须通过Participant来访问全局
![<b class='flag-5'>ros</b>1和<b class='flag-5'>ros2</b>的<b class='flag-5'>通信</b>模型](https://file1.elecfans.com/web2/M00/B1/5F/wKgaomVkCzqAAIPEAACmpsQgdgo604.jpg)
DDS在ROS2中的应用
DDS在ROS2中的应用 DDS在ROS2系统中的位置至关重要,所有上层建设都建立在DDS之上。在这个ROS2的架构图中,蓝色和红色部分就是DDS。 刚才我们也提到,DDS是一种通信的
![DDS在<b class='flag-5'>ROS2</b>中的应用](https://file1.elecfans.com/web2/M00/B0/DD/wKgaomVgciGAOsm1AAD4w8Mgc5M171.jpg)
【悟空派H3开发板免费体验】基于悟空派H3开发板实现:三全向轮小车速度控制、里程反馈
512MB内存,使其能够轻松处理复杂的机器人任务。
各类接口和扩展槽(如GPIO、I2C、SPI等)为连接传感器、摄像头、电机控制器等外部设备提供了广泛的支持。
2. ROS支持
悟空派
发表于 11-02 01:37
【KV260视觉入门套件试用体验】KV260的ROS2加速相关内容
目前在使用ros2的humble版本,但使用中感受到的编译速度慢,node启动速度慢等体会是比较影响ROS2的普及速度的,KV260因为内部存在FPGA模块,可以实现硬件加速(accelerated
发表于 10-08 23:42
【悟空派H3开发板免费体验】3、配置ROS环境+通信测试
和ROS2,支持树莓派Jetson,本工具由作者小鱼提供
欢迎使用ROS开箱子工具,本工具由[鱼香ROS]小鱼贡献..
小鱼:检测当前系统ubuntu18.04:bionic 支持一键
发表于 10-04 23:35
TQT113平台虚拟机镜像使用手册
. 打开/etc/profile文件:
sudo gedit /etc/profile3. 在最后插入挂载指令:
mount /dev/sdb /opt第四章 共享目录挂载为了便于PC与虚拟机
发表于 09-14 17:27
【昉·星光 2 高性能RISC-V单板计算机体验】五:在 VisionFive2 上体验 ROS2 humble
demo_nodes_cpp talker, ros2 service list,输出如图
三、通信测试
topic 通信
分别执行 ros2 run demo_nodes_cp
发表于 09-04 04:59
【昉·星光 2 高性能RISC-V单板计算机体验】四:在 VisionFive2 上安装 ROS2 humble
在 VisionFive2 上安装 ROS2 humble
ROS(Robot Operating System)是一种用于编写机器人软件的灵活框架。它是一个工具(tools)、库
发表于 09-04 03:33
评论