ROS(机器人操作系统) 多台电脑间进行通信

在我看来,ROS最牛逼的地方就是它的通信机制了,不仅仅是进程间通信方便,就连不同设备间通信也很方便,只需添加几行代码,你就可以实现多电脑间的 Topi c共享, 远程控制等功能。下面就让我们一起来实现吧!

这里假设我们有两个电脑:电脑 A 为主机端,电脑 B 为控制端。最终要实现在 A 电脑上运行roscore,并且运行 Turtlesim 程序,然后在 B 电脑上运行键盘控制程序,控制 Turtlesim 小乌龟移动。

首先,查看电脑A和电脑B的 IP 和 Hostname

查看IP,在控制台输入:

$ ifconfig

如果电脑连接的时有线网,则显示结果中,etho 部分的 inet addr 后面就是该电脑的 IP 地址;

如果电脑连接的是无线,则 wlp3s0 部分的 inet addr 后就是 IP 地址

查看 Hostname,在控制台输入:

$ hostname

其次,修改hosts文件内容

使用如下指令,分别在电脑A和电脑B的打开 hosts 文件:

$ sudo gedit /etc/hosts

电脑A端的 hosts文件 中添加如下加粗指令:

127.0.0.1       localhost
127.0.1.1         [ hostname_A ]

[IP_A]            [ hostname_A ]
[IP_B]            [ hostname_B ]

***

同理,在电脑B端的 hosts 文件中,加入如下加粗指令:

127.0.0.1       localhost
127.0.1.1         [ hostname_B ]

[IP_B]            [ hostname_B ]
[IP_A]            [ hostname_A ]

***

最后,修改 .bashrc 文件

使用如下指令,分别在电脑A和电脑B的打开 .bashrc 文件

$ sudo gedit ~/.bashrc

电脑A端电脑B端打开的 .bashrc 文件的最后一行,加入如下代码:

export ROS_MASTER_URI=http://[hostname_A]:11311

[注意] 此处假设电脑A为主机,如果改成电脑B为主机,则只需要将此步中的 [hostname_A] 改成 [hostname_B] 即可。

最最后,运行小乌龟程序

电脑A端:

首先启动 ROS:$ roscore
然后 Ctrl + T 打开新的控制台,运行:
$ rosrun turtlesim turtlesim_node

电脑B端:

$ rosrun turtlesim turtle_teleop_key

现在,你就可以用电脑 B 控制电脑 A 中的小乌龟尽情遨游啦~\(≧▽≦)/~啦啦啦

时间: 2024-08-10 19:11:43

ROS(机器人操作系统) 多台电脑间进行通信的相关文章

用网线在两台电脑间传送文件

材料:一根普通的网线(简单地说就是平时我们使用的连接笔记本和路由器的线,不是双绞线),两台WIN7系统的笔记本,就这些了. 步骤1:将两台电脑用网线连接起来. 步骤2:这时分别修改两台电脑上的数据.单击控制面板——查看网络状态和任务——查看活动网络——本地连接——属性——Internet 协议版本4,在弹出的对话窗中做如下修改: 第一台笔记本作如下修改:选择——使用下面的IP地址,IP地址192.168.1.1子网掩码255.255.255.0默认网关192.168.1.2——使用下面的DNS服

两台电脑间的svn迁移

换电脑了,原机器上自己的svn资料不能丢掉,需要迁移到新的笔记本电脑上. 看了不少网友的迁移方法,大部分用的是svn本身提供的导入.导出的方法,我就想了如果svn所在的机器坏了怎么能正常的导出数据来??!!! 我就不按照svn标准做法干一下,看行不行. 下载VisualSVN-Server-3.3.1-x64.msi 并安装VisualSVN-Server-3.3.1-x64.msi,设置repositorys位置到E:\svn_abc\ 从老笔记本的svn repository中仅仅copy

ROS(机器人操作系统) 新手常见问题汇总

该博文致力于汇总ROS常见问题及解答,让更多的人少走弯路,避免重复造轮子.本文会持续更新... 如果大家也有相关经验分享,还请在评论区添加评论,博主会及时补充. 同时希望大家踊跃提问,一起简化ROS编程 软件问题: 硬件问题:

ROS机器人操作系统分布式控制的节点 配置方法

MASTER设置 整个系统只需要一个master,选择一个机器来运行master提供topic寻址.参数服务器等功能.所有的节点必须通过环境变量ROS_MASTER_URI配置为使用同一个master. master设置方法: export ROS_MASTER_URI="http:/wsh:11311" 其中wsh是我计算机的名称,此时我的计算机是master,其他计算机在终端输入此指令即可连接master. 可以通过下面介绍的ip和计算机名绑定的方法设置. SSH安全连接设置 完整

ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse

ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 提供ROS接口的3D软件比较多,本章以最典型的Gazebo介绍为主,从Player/Stage/Gazebo发展而来,现在独立的机器人仿真开发环境,目前2016年最新版本Gazebo7.1配合ROS(kinetic)使用. 补充内容:http://blo

如何通过直接网线接法连接两台电脑

如何通过直接网线接法连接两台电脑 1.制作水晶头 通过网线对两台电脑进行连接时,网线水晶头接法是:一端按 t568a 线序接,一端按 t568b 线序接.网线制作完成之后,通过网线水晶头连接电脑,这样两台电脑间的物理连接就形成了. 2.设置IP 物理连接的形成并不代表两台电脑可以进行通信,想使通过直接网线接法连接两台电脑进行数据传输,还必须进行相关的设置: 设置项 机器A 机器B IP 192.168.1.2 192.168.1.3 子网掩码 255.255.255.0 255.255.255.

ROS机器人双驱小车制作(一)BOM清单

一.硬件 有很多人都在用ROS机器人操作系统作为机器人开发的工具,原因是ROS本身集成了大量的先进算法,不需要我们自己去写,而且整个系统是开源的,但是网上很多相关文章也都是翻译官方的英文教程,很多东西看了之后也联系不到一起,所以在这里本人我们将一步步记录ROS机器人小车的研发流程,一起探讨ROS机器人制作步骤,有何不妥支持还望各位及时指出! 1.材料清单 序号 主要模块 辅助模块 1 NAIDIA Jetson TX1 DC-DC降压模块 2 Arduino Mega 2560 12V可充电锂电

机器人操作系统 除了Android还有一个ROS(转)

你知道市面上的机器人都采用了哪些操作系统吗? 估计大多数人给出的答案就是 Android 了.从市面上的产品来看,基于 Android 系统开发的机器人确实是主流,但是还有一种操作系统却鲜为人知,它叫 ROS(机器人操作系统,Robot Operating System),是专门为机器人设计的一套开源操作系统,时至今日已经诞生八年时间了. ROS 究竟为何物? ROS 的前身是斯坦福人工智能实验室为了支持 STAIR(斯坦福大学人工智能机器人项目)而建立的交换庭(Switchyard)项目.要了

ROS(indigo)机器人操作系统学习有趣丰富的Gazebo仿真示例evarobot

一直在寻找一个示例可以将ROS学习中常用的基础内容大部分都包含进去,最好还包括Gazebo仿真, 这样即使没有硬件设备,也可以很好的学习ROS相关内容,但又必须有对应的硬件,便于后续研究. 这里,介绍一款意外发现的ROS的robot示例----evarobot---- 官方教程网址:http://wiki.ros.org/Robots/evarobot 仿真源码网址:https://github.com/inomuh/evarobot_simulator 下面进入正文: ROS(indigo)机