码迷,mamicode.com
首页 > 其他好文 > 详细

两台电脑使用ROS通讯

时间:2019-10-08 21:51:11      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:联系   配置   多机通讯   本机   http   core   col   gre   一个   

一、ROS分布式多机通讯简介

  ROS是一种分布式软件框架,节点之间通过松耦合的方式组合,在很多应用场景下,节点可以运行在不同的计算平台上,通过Topic,Service通信。

但是各个节点只能共同拥有一个Master,在多机系统中Master只能运行在一台机器上,其他机器通过ssh方式和Master取得联系。所以多机ROS系统需要进行一些配置。

二、两台电脑的ROS通讯配置

两台机器的hostname与IP假设如下:

主机名与IP地址为:A     IP_A        

从机名与IP地址为:B    IP_B

1:先使用下面命令查看两台计算机的局域网IP地址

ifconfig 

 

 然后打开hosts文件:

sudo gedit /etc/hosts

 

     接着在hosts中加入(间隔为tab键):

IP_A  A
IP_B  B

 

2:重启网络服务:

sudo /etc/init.d/networking restart

 

3:装上chrony包,用于实现同步:

sudo apt-get install chrony

4:安装ssh工具

sudo apt-get install openssh-server

 

 安装完以后,确认服务器是否已经启动:

ps -e|grep ssh

 

   如果看到sshd那说明ssh-server已经启动了。

5:相互ping一下对方机子,看网络通不通:

ping A     //主机
pnig B     //从机

 

对主机与从机相同地执行上述操作,第六条略有不同

6:把下面的内容增加到.bashrc末尾

export ROS_HOSTNAME=[本机的hostname] #!!!注意是本机的hostname 端口号11311是固定值,照抄即可
export ROS_MASTER_URI=http://[主机的hostname]:11311

 

   执行以下命令,使之有效:

source ~/.bashrc

 

三、注意事项

如果在从机运行一个roslaunch,需要现在主机上运行roscore后,从机才能启动起来。
原本一个pc上运行roslaunch的时候,会默认启动rosmaster,但是现在主机是另一个pc了,所以需要这样先把master跑起来
尽量把最常用的pc设置为master。

两台电脑使用ROS通讯

标签:联系   配置   多机通讯   本机   http   core   col   gre   一个   

原文地址:https://www.cnblogs.com/npulzb/p/11637989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!