当前位置:   article > 正文

如何配置机器人ROS操作系统之间的有线和无线的局域网通信(基于ROS的主从通讯)

如何配置机器人ROS操作系统之间的有线和无线的局域网通信(基于ROS的主从通讯)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

ROS中,主从通信是一种基于发布/订阅模式和服务调用的通信方式。通常,一个节点充当主节点,负责发布话题或提供服务,而其他节点则作为从节点,订阅话题或请求服务。主节点可以向特定话题发布消息,从节点可以订阅该话题以接收消息。同时,主节点也可以提供服务,而从节点可以请求该服务。这种通信方式使得不同节点之间可以进行灵活的数据交换和功能调用,从而实现机器人系统中的协同工作和信息传递。

1. 主从配置前的准备工作

(1) 查看主从机的hostname

分别在各自主机和从机中,打开终端输入:

 hostname
  • 1

如下图所示,hostname为chen:

**差个图**

(2) 查看各自主机和从机的IP

分别在各自主机和从机中,打开终端输入:

ifconfig
  • 1

(3) 本教程的hostname和ip如下

   主机的hostname和ip:   chen             192.168.1.200 
   从机的hostname和ip:   desktop    192.168.1.106
  • 1
  • 2

注意:这连接的ip和网线连接设置里的一样,主机和从机都要设置连接配置,才能主从

2. 在主机中的修改

(1) 修改主机的/.bashr文件

打开 /.bashr文件

 sudo gedit ~/.bashrc
  • 1

添加如下内容:

 export ROS_HOSTNAME=chen                  ####注意这里是填主机的hostname
 export ROS_MASTER_URI=http://192.168.1.200:11311
 export ROS_IP=192.168.1.200
  • 1
  • 2
  • 3

生效环境
终端输入:

source ~/.bashrc
  • 1

(2) 修改主机的hosts文件

注意:这步不配置的话,主从机之间只能进行话题共享,不能相互控制
打开主机的hosts文件

sudo gedit /etc/hosts
  • 1

添加如下内容:

192.168.1.106   desktop     //从机ip   hostname
  • 1

生效hosts内容
终端输入:

sudo /etc/init.d/networking restart
  • 1

或者

sudo netplan apply
  • 1

3. 在从机中的修改

(1) 修改从机的/.bashr文件

打开 /.bashr文件

 sudo gedit ~/.bashrc
  • 1

添加如下内容:

 export ROS_HOSTNAME=desktop                
 export ROS_MASTER_URI=http://192.168.1.200:11311    //主机的ip
  • 1
  • 2

生效环境
终端输入:

source ~/.bashrc
  • 1

(2) 修改从机的hosts文件

注意:这步不配置的话,主从机之间只能进行话题共享,不能相互控制
打开从机的hosts文件

sudo gedit /etc/hosts
  • 1

添加如下内容:

192.168.1.200   chen    //主机ip   hostname
  • 1

生效hosts内容
终端输入:

sudo /etc/init.d/networking restart
  • 1

或者

sudo netplan apply
  • 1

4. 运行ROS小乌龟测试

(1) 在主机中启动ROS的master:
终端输入:

roscore
  • 1

注意:只有主机才能成功运行roscore

(2) 在主机中运行乌龟节点:
终端输入:

rosrun turtlesim turtlesim_node
  • 1

(3) 在从机中运行键盘控制节点:

rosrun turtlesim turtle_teleop_key
  • 1

通过从机的操作键盘的上下左右键,即可看到主机的小乌龟移动,画面如下:

在这里插入图片描述

(4) 验证是否相互可以控制

  1. 从机中运行乌龟节点
  2. 主机中运行键盘控制节点
  3. 通过操作主机键盘的上下左右键,观察从机的小乌龟是否移动

总结

以上就是配置ROS主从的全部流程,上述的ros主从配置流程也适用利用局域网进行两台及其的ros主从通讯,有什么问题可以评论区留言讨论。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/1002856
推荐阅读
相关标签
  

闽ICP备14008679号