地平线机器人 · 2022年07月13日

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。
虚拟机网络设置成桥接&复制物理网络连接状态:
1.png
启动虚拟机。

结果分析

查看X3派的IP地址:

2.png

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

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

X3派发布消息:

4.png

PC端订阅消息:

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

原作者:zhuk
原链接:https://developer.horizon.ai/...
推荐阅读
关注数
1250
内容数
65
我们的使命是 AI 赋能万物 共创智能未来。我们致力于打造最实用、最好用、最易用的边缘 AI 开发平台。通过地平线自研的高算力 AI 芯片,开发工具,让更多的 AI 开发者,中小企业,学习和加速 AI 产品开发和创新!
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息