ROS 主机 从机通信机制

参考链接:https://blog.csdn.net/RNG_uzi_/article/details/107285113?ops_request_misc=%7B%22request%5Fid%22%3A%22159901622719725211961014%22%2C%22scm%22%3A%2220140713.130102334.pc%5Fall.%22%7D

 

需求TX2连接Lidar获取点云数据,由于TX2安装在机器人上,不能外接屏幕,内存ROM也很小,所以采用TX2与雷达建立通讯,然后建立TX2PC机的ROS远程通讯(PC机和TX2都安装ubuntu18.04

PC机和TX2全部为系统为18.04ROS版本全部为melodic

下面开始部署两台机器

TX2作为主机用于数据采集
PC机作为从机用于数据监控

1、首先主机、从机连到同一个wifi

使用ifconfig命令查看本机的局域网IP地址(主机、从机都需要看一下)

🚗 如果电脑连接的时有线网,则显示结果中,etho 部分的 inet addr 后面就是该电脑的 IP 地址;
🚗 如果电脑连接的是无线,则 wlan0 部分的 inet addr 后就是 IP 地址
在这里插入图片描述
以我自己的设备为例:

PC机名为wzf-lenovo-N50-80192.168.88.253
TX2名为nvidia-desktop192.168.88.250

2、 然后打开hosts文件,在hosts文件中,加入彼此的IP地址和对应的计算机名。

🚗 (主机、从机都要添加)

sudo gedit /etc/hosts
  •  

添加后

127.0.0.1	localhost
127.0.1.1	wzf-lenovo-N50-80
192.168.88.253	wzf-lenovo-N50-80 #用tab,别用空格
192.168.88.250	nvidia-desktop
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
  •  

修改完成后,使用ping命令来测试一下是否连通
主机(TX2)运行

ping 192.168.88.250
  •  

从机(PC机)运行

ping 192.168.88.253
  •  

3、在系统中只能有一个Master,需要让从机知道Master的位置

从机(PC机) 中需要对环境变量进行配置:

sudo gedit ~/.bashrc
  •  

在最后添加

export ROS_HOSTNAME=192.168.88.253	#从机,也就是PC机(当前机器的IP)
export ROS_MASTER_URI=http://192.168.88.250:11311	#TX2的IP,11311不要更改
  •  

最后

source ~/.bashrc
  •  

主机(TX2) 中需要对环境变量进行配置:

sudo gedit ~/.bashrc
  •  

在最后添加

export ROS_HOSTNAME=192.168.88.250	#TX2的IP
export ROS_MASTER_URI=http://192.168.88.250:11311	#TX2的IP,11311不要更改
  •  

最后

source ~/.bashrc
  • 1

4、测试

主机 (TX2) 中运行

roscore

rosrun turtlesim turtlesim_node
  • 1

在**从机 (PC机)**中运行

rosrun turtlesim turtle_teleop_key
  • 1

用从机的键盘可以实现对主机中小乌龟的控制,则多机通信配置正确。

当然PC机也可以使用rviz等命令,接收显示TX2采集的点云
实际测试的时候感觉PC机控制TX2,然后接收TX2发布的话题,卡顿严重。可能我使用的是2Ghzwifi吧(笔记本太老了,不支持5G)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值