ROS多机通信

本文介绍了如何在ROS环境下,通过华为边缘计算设备Atlas200DK进行跨设备通信。首先查看主机和从机的IP地址,然后在主机上启动roscore并发布图像节点,从机Atlas订阅该图像节点。通过设置ROS_MASTER_URI和ROS_HOSTNAME,从机能够将数据回传给主机,最终在主机上用rviz查看图像数据。
摘要由CSDN通过智能技术生成

官方教程:http://wiki.ros.org/cn/ROS/Tutorials/MultipleMachines

·······························································································································
最近在华为的边缘计算设备Atlas 200DK上跑包,由于Atlas的USB口是一个从设备,无法识别插入的USB设备,所以需要在主机上发布图像节点,然后从机Atlas订阅图像节点,并发布节点返回到主机中使用rviz查看

具体操作如下

1.查看IP地址

在主机中通过ifconfig 查看IP地址

enp0s20f0u1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.223  netmask 255.0.0.0  broadcast 192.255.255.255
        inet6 fe80::7876:dcff:fe7e:c227  prefixlen 64  scopeid 0x20<link>
        ether 7a:76:dc:7e:c2:27  txqueuelen 1000  (Ethernet)
        RX packets 496196  bytes 33137805 (33.1 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6767963  bytes 10060518050 (10.0 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

这里我是通过网线连接的,不同连接方式看不同端口的IP,一般WIFI为wlo1,USB虚拟网卡为enp0s20f0u1,网口网卡为eno1
获得主机IP为192.168.1.223

在从机中通过相同的方法获得从机IP为192.168.1.2

2.启动roscore

在主机/从机启动roscore
这里以在主机启动为例

export ROS_MASTER_URI=http://192.168.1.223:11311  # roscore 运行设备的ip
roscore

3.主机分享图像节点

在主机中要运行节点的终端输入

export ROS_HOSTNAME=192.168.1.223	#主机IP
export ROS_MASTER_URI=http://192.168.1.223:11311

运行节点/launch,例

roslaunch realsense2_camera rs_camera.launch

4.从机订阅图像节点

export ROS_MASTER_URI=http://192.168.1.223:11311  # roscore 运行设备的ip

可以通过rostopic ehco一个节点看是否成功

5.从机订阅主机节点,再发布会给主机

export ROS_HOSTNAME=192.168.1.2 #从机IP
export ROS_MASTER_URI=http://192.168.1.223:11311

运行节点/launch
在主机新开一个终端查看是否有新节点的输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值