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

描述

背景介绍

多机通信是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。
  • 虚拟机网络设置成桥接&复制物理网络连接状态:
物联网
  • 启动虚拟机。

 

结果分析

查看X3派的IP地址:

物联网

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

物联网

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

X3派发布消息:

物联网

PC端订阅消息:

物联网

 

可以看到,PC端的ROS2 Foxy订阅到了X3派TogetherROS发布的消息,说明两个设备在连接同一wifi的情况下,通过ROS2跨设备通信成功。

 

本文转载自地平线开发者社区

原作者:zhuk

原链接:https://developer.horizon.ai/forumDetail/98129467158916230

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分