使用multimaster进行多台电脑通讯

来源:互联网 发布:域名注册代理商 编辑:程序博客网 时间:2024/05/17 03:04

使用multimaster进行多台电脑通讯

本文简单介绍,如何利用ROS中的multimaster进行多台电脑之间的通讯

1 添加需要通信的电脑的IP地址

注意:需要通信的电脑一定要在同一个网络下!!!

gedit /etc/hosts

打开该文件后,在其中添加需要通信的电脑的IP地址以及主机名

关于IP地址的查询,可使用ifconfig命令查询。

2 在multimaster中添加两类文件

第一类:launch文件

<launch>  <arg name="master" />  <node pkg="multimaster" type="master_sync.py" name="master_sync" output="screen">     <param name="foreign_master" value="http://$(arg master):11311" />          <rosparam command="load" file="$(find multimaster)/config.yaml" />  </node></launch>

其中,master_sync可以替换为自己取的名字,$(arg master)需替换为通信的主机名,config.yaml需替换为自己的yaml文件,yaml文件即为我们需要添加的第二类文件。

第二类:yaml文件

local_pubs: [local_topics_to_register_at_foreign_master]foreign_pubs: [foreign_topics_to_register_at_local_master]

即分别添加自己发布的节点的名称和本机接收的对方电脑的节点。

3 启动我们添加的launch文件

在我们运行本机程序后,想要接收对方电脑传输过来的节点信息,可以很方便地使用一句命令即可完成通信:

roslaunch multimaster master.launch

这样,双方即可接收到各自在yaml文件中定义的所需要的节点信息。

4 显示接收的节点信息

完成第三步,其实已经可以接收到节点信息了,但是此时并不会自动显示你接收到的信息。如果是文字信息,可以通过

roslaunch multimaster master.launch
原创粉丝点击