设置ROS分布式通信


一、配置主从机和网络

1 虚拟机桥接和NAT

首先需要了解虚拟机桥接和NAT的区别——请点击此处

简单说,桥接后,虚拟机所分配的网段和发射wifi的机器人的网段,相同,网络可以相互ping通。

net连接后,虚拟机和机器人所处网段不同,网络不能相互ping通。

2 设置IP

本文使用RK3288作为机器人的终端
为了电脑(即PC端)和rk3288网线连接通信方便,将pc端的桥接网络(ens33)设为固定ip(192.168.0.66),具体操作步骤如下:

(1)在PC端将网络设置其改为自动获取ip,点击Automatic(DHCP)

(2)连接rk3288的热点,然后通过ifconfig命令查看桥接网络(ens33)的配置

ifconfig

在这里插入图片描述
(3)修改IPv4的Addresses为固定值,这样IP就不会随意变化

点击Manual,根据(2)步骤查到的IP地址,自行设置固定IP。
比如我的在(2)中查询到的IP是10.42.0.183,那么前三位10.42.0不要动,最后的的数字一般可设为2-245之间的任意一个数,比如10.42.0.10
在这里插入图片描述

这样 桥接网络 算是搭建好了,接下来就是真正的搭建ROS分布式通信

二、分布式通信设置

在笔记本(pc)和rk3288上都分别设置好 ip地址 和 对应设备名称,具体步骤如下:

(1)在笔记本上(pc)打开hosts,输入红框内的内容

sudo vim /etc/hosts

在这里插入图片描述
(2)在rk3288上打开hosts,输入红框内的内容

sudo vim /etc/hosts

在这里插入图片描述
前面的是IP,后面的是名字,尽量对齐

(3)ping一下,看看通信是否正常。
在笔记本上(pc),ping rk3288

ping rk3288

在这里插入图片描述
在rk3288上,ping 笔记本(pc)

ping pc

在这里插入图片描述
现在主从机和网络已经配置好了,可以使用ROS分布式通信了

三、通信验证

在rk3288上
(1)打开一个bash,运行rosmaster

roscore

(2)再打开一个bash,运行小龟节点

rosrun turtlesim turtlesim_node

(3)在pc上发布命令,让小龟运动

rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist

在这里插入图片描述
在这里插入图片描述
通过小乌龟可以运动可知:从机(pc)可以对主机(rk3288)发送命令

(4)然后在pc上查看小龟的位置信息

rostopic echo /turtle1/pose

在这里插入图片描述
由此可知,从机可以订阅主机的话题

至此完成ROS的分布式通信


注:
1.部分内容参考 link
2.未经许可不能转载

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值