ROS-多机通信
前言:一定要在同一路由的局域网下进行,就是两台电脑的ip要像这样:192.168.191.4和192.168.191.8,只有最后一位不同,这样就能ping通了,否则ping不同。
一、查看ip和主机名
1.1 查看ip:
ifconfig
-----------------------------------------
显示如下:

其中,lo是网线连接情况下的id,下边的wlp2s0是无线连接情况下的ip地址.
分别查看两台电脑的ip地址并用笔记本记录下来.一定要在同一局域网下进行!
1.2 查看主机名
hostname
分别查看两台电脑的ip地址并用记录下来.
这里说明一下,如果在"关于这台计算机"的选项里修改了名字后,导致没有了管理员权限,每次打开终端都会提示:To run a command.......
遇到这种情况,输入如下代码可以解决:
touch ~/.sudo as admin successful
二、修改host文件
2.1 打开host文件:
gksu gedit /etc/hosts
2.2 修改host文件
按照如下形式分别在两台电脑上添加ip和主机名:

2.3 重启网络:
两台电脑都需要重启网络。
sudo /etc/init.d/networking restart
三、实现通信
3.1 在两台电脑上装上chrony包:
sudo apt-get install chrony
3.2 在两台电脑上都安装ssh服务器:
sudo apt-get install openssh-server
3.3 确认服务器是否已经启动:
ps -e|grep ssh
如果看到sshd则说明ssh-server已经启动.
3.4 检测是否双向连通:
先ssh自己的主机名:
ssh one_name
然后ping另一台电脑的主机名:
ping tow_name
-----------------------------------------
显示如下:

接着在另一台机器操作:
ssh tow_name ping one_name
-----------------------------------------
显示如下:

如果两台机器都出现如上结果,说明双向连通,只要有一个没出现下边的结果就是没有连接成功,而多级通信必须保证双向连通.
3.5 修改.bashrc文件
在两台电脑上都使用下面的命令来编辑.bashrc文件:
gedit ~/.bashrc
在A端这边的bashrc文件的最后添加:
export ROS_HOSTNAME=one_hostname export ROS_MASTER_URI=http://one_hostname:11311
-----------------------------------------
解析:
第一条是本机的主机名
第二条 是主机,也就是要运行roscore节点的电脑端的主机名
在B端这边的bashrc文件的最后添加:
export ROS_HOSTNAME=tow_hostname export ROS_MASTER_URI=http://one_hostname:11311
注意:两台机器的export ROS_MASTER_URI=http://one_hostname:11311这条是一样的.
四、验证
4.1 电脑A端
首先在主机,启动 ROS:$ roscore 然后运行:
rosrun turtlesim turtlesim_node
4.2 电脑B端
rosrun turtlesim turtle_teleop_key
现在,你可以在电脑B端控制A上的小乌龟移动啦!
-END-
ROS-多机通信的更多相关文章
- ROS多机通信计算机网络配置
以实现master和nico的互联共享信息为例 1 查看IP地址 $ifconfig 查看ip地址 可以看到 master的IP为192.168.1.10 nico的IP为192.168.1.103 ...
- [转]在ROS下使用zeroconf配置多机通信
原文地址:http://www.corvin.cn/635.html,转载主要方便随时查阅,如有版权要求,请及时联系. 0x00 为何需要配置ROS多机通信 众所周知ROS是分布式系统,因此可以将机器 ...
- 与POS机通信时的3DES(双倍长)加密解密
项目中有个SocketServer要和移动便携POS机通信,POS开发商就告诉我们他们用的3DES(双倍长)加密,给了个Key.数据和结果,让我们实现. c#用TripleDESCryptoServi ...
- Vmware虚拟机网络模式及虚拟机与物理机通信方法
[转]http://www.cqeis.com/news_detail/newsId=1477.html Vmware虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Wind ...
- ros与下位机通信常用的c++ boost串口应用
一.首先移植c++ boost 库: 1. 先去 Boost官网 下载最新的Boost版本, 我下载的是boost_1_6_0版本, 解压. 2. 进入解压后目录: cd boost_1_6_0, 执 ...
- ros与下位机通信常用的c++ boost串口应用--22
摘要: 原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ 一.首先移植c++ boost 库: 1. 先去 Boost官网 下载最新的Boost版本, 我 ...
- UR机器人通信--上位机通信(python)
一.通信socket socket()函数 Python 中,我们用 socket()函数来创建套接字,语法格式如下: socket.socket([family[, type[, proto]]]) ...
- CentOS安装etcd和flannel实现Docker跨物理机通信
1.安装etcd yum install etcd systemctl stop etcd systemctl start etcd systemctl status etcd systemctl e ...
- etcd和flannel实现docker跨物理机通信
实验目标 跨物理机的容器之间能直接访问docker通过Flannel可以实现各容器间的相互通信,即宿主机和容器,容器和容器之间都能相互通信 实验环境 192.168.3.50 //etcd.flann ...
随机推荐
- wppay免登录付费查看隐藏内容/付费资源下载
WPPAY是一款模板兔开发的免登录的付费查看内容/付费下载资源WordPress插件,WPPAY不需要用户注册登录即可支付查看隐藏内容,把整个流程做到极简.发布文章时要隐藏的内容可以利用短代码: [w ...
- MySQL 5.6 Reference Manual-14.1 Introduction to InnoDB
14.1 Introduction to InnoDB 14.1.1 InnoDB as the Default MySQL Storage Engine 14.1.2 Checking InnoDB ...
- QS之vsim
vsim - The vsim command invokes the VSIM simulator -L <library_name> … (optional) Specifies th ...
- 【技术累积】【点】【java】【5】Random和shuffle()
闲聊 妈耶,又这么久没写了..不过最近写其他文章有点多啊... 今天用到Random这个类,竟然还要去查了下... 基本概念 Random类,背后是伪随机数(数学上的东西): 不是很理解,但是基本上而 ...
- 搞不懂的算法-排序篇<2>
上一篇排序算法<1>中,排序算法的时间复杂度从N2到NlgN变化,但他们都有一个共同的特点,基于比较和交换数组中的元素来实现排序,我们称这些排序算法为比较排序算法.对于比较排序算法,所有的 ...
- Win10怎么批量修改文件后缀名?
Win10怎么批量修改文件后缀名?一般我们都是右击重命名,但是,如果要改的文件很多的话,这样做事不行的,该怎么批量修改后缀名呢?下面我们一起来看看两种解决办法 通常我们修改文件后缀名都是右击>& ...
- 换个语言学一下 Golang (2)——基础语法
Go 标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号.比如下面的hello world就是由 6 个标记组成: 行分隔符 在 Go 程序中,一行代表一个语句结束.每个语句 ...
- 一个单元格占两行三列的HTML代码为
主要是这两个属性: colspan 单元格占多少列 rowspan 单元格占多少行 <table width="200" border="1">&l ...
- PHP 常用 数组函数
1:array_push($arr,'添加的值') 往数组里面添加元素2:array_unique($arr) 去重函数3:array_reverse($arr) 倒叙排列
- 路飞学城Python-Day151
sprapy框架能够在pycharm中调试的方式 需要在配置文件中加上一个文件,文件的内容为 start.py #!/usr/bin/env python # -*- coding:utf-8 -*- ...