0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

X3派和PC虚拟机之间基于ROS2和wifi的通信

地平线机器人 2022-07-13 15:03 次阅读

背景介绍

多机通信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
  • 启动虚拟机。

结果分析

查看X3派的IP地址:

pYYBAGLOXmeABeYAAAD_Ba7ovt0173.png

查看PC虚拟机中Ubuntu的IP地址:

poYBAGLOXmeAG_nrAAESNPlDvL8963.png

连接同一wifi后,X3派和PC虚拟机中Ubuntu的IP地址相同。开始测试X3派和PC虚拟机之间通过ROS2进行通信。

X3派发布消息:

poYBAGLOXmmATDwPAAJ7fBU6ml4820.png

PC端订阅消息:

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特点和安装,助力用户在机器人上的二次开发
    的头像 发表于 04-29 08:24 237次阅读
    ZMC900E控制器之<b class='flag-5'>ROS2</b>环境安装指南

    系统镜像Ubuntu_ROS2ROS2是什么意思,带有ROS2开发环境吗?

    请问一下,百度文库资料里面,下图所示的系统镜像Ubuntu_ROS2ROS2是什么意思,带有ROS2开发环境吗?与前面4GB版本的镜像有什么区别?
    发表于 03-01 23:06

    虚拟机ubuntu怎么联网

    与外部网络通信。本文将详细介绍虚拟机Ubuntu的网络连接方法以及一些常见的网络问题解决办法。 一、虚拟机网络概述 虚拟机的网络连接有多种方式,包括桥接模式(Bridge)、NAT模式
    的头像 发表于 12-27 16:51 648次阅读

    【米尔-TIAM62开发板-接替335x-试用评测】(一)基于TIAM62开发板的ROS2交叉编译

    【米尔-TIAM62开发板-接替335x-试用评测】(一)ROS2交叉编译 1. 前言 该测试报告详细介绍了TIAM62开发板的交叉编译环境、ROS2编译的步骤以及遇到的问题和解决方案、简单的测试
    发表于 12-05 20:58

    在TogetherROS中如何安装ROS2功能包

    安装ROS2功能包 接下来,还有一个很重要的配置,那就是安装ROS2功能包,我们说TogetherROS是基于ROS2深度优化的,很多模块还是会复用ROS2中的功能,所有
    的头像 发表于 12-01 16:02 602次阅读
    在TogetherROS中如何安装<b class='flag-5'>ROS2</b>功能包

    ROS2中自带例程测试

    如果你是一个ROS2的开发者,可能对刚才我们使用的ROS2命令比较熟悉,这时你可能也会产生一个问题:我们之前也安装了ROS2系统,那ROS2的原生功能还可以正常运行么? 我们再来试一试
    的头像 发表于 11-28 16:29 533次阅读
    <b class='flag-5'>ROS2</b>中自带例程测试

    TogetherROS系统的通信功能测试

    通信测试 先来测试一下TogetherROS™·Bot系统的通信功能。 我们需要启动两个终端,分别连接到旭日X3派上,并分别按以下命令配置环境变量。 终端1: ** source /opt/tros
    的头像 发表于 11-28 16:19 270次阅读
    TogetherROS系统的<b class='flag-5'>通信</b>功能测试

    ros1和ros2通信模型

    发数据 ROS2: 参与者(DomainParticipant):一个参与者Participant就是一个容器,对应于一个使用DDS的用户,任何DDS的用户都必须通过Participant来访问全局
    的头像 发表于 11-27 11:26 452次阅读
    <b class='flag-5'>ros</b>1和<b class='flag-5'>ros2</b>的<b class='flag-5'>通信</b>模型

    DDS在ROS2中的应用

    DDS在ROS2中的应用 DDS在ROS2系统中的位置至关重要,所有上层建设都建立在DDS之上。在这个ROS2的架构图中,蓝色和红色部分就是DDS。 刚才我们也提到,DDS是一种通信
    的头像 发表于 11-24 17:54 567次阅读
    DDS在<b class='flag-5'>ROS2</b>中的应用

    【悟空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