美文网首页
ros 通信

ros 通信

作者: 16_f9b9 | 来源:发表于2019-01-04 22:31 被阅读0次

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

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

1. 查看电脑A和电脑B的 IP 和 Hostname

查看IP,在控制台输入:

$ifconfig

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

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

查看 Hostname,在控制台输入:

$hostname

2. 修改hosts文件内容

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

$sudo gedit /etc/hosts

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

127.0.0.1       localhost127.0.1.1[ hostname_A ]

[IP_A]            [ hostname_A ]

[IP_B]            [ hostname_B ]***

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

127.0.0.1       localhost127.0.1.1[ hostname_B ]

[IP_B]            [ hostname_B ]

[IP_A]            [ hostname_A ]***

3. 修改 .bashrc 文件

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

$sudo gedit ~/.bashrc

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

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

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

4. 运行小乌龟程序

电脑A端:

首先启动 ROS:

$ roscore

然后 Ctrl + T 打开新的控制台,运行:

$ rosrun turtlesim turtlesim_node

电脑B端:

$ rosrun turtlesim turtle_teleop_key

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

在终端操作小乌龟如下:

1. 打开一个终端,必须首先运行roscore命令,回车;

2. roscore终端的窗口不关闭,打开一个新的终端,输入命令:rosrun turtlesim turtlesim_node,回车;

3. 再打开第三个终端,输入:rosrun turtlesim turtle_teleop_key  回车。//当用上下左右四个箭头操作小乌龟前,必须把鼠标放在含有命令“rosrun turtlesim turtle_teleop_key”的终端上。

相关文章

  • ROS-Vicon-Crazypony通信

    ROS-Serial-Crazypony通信 从第二次开始学ros到成功进行串口通信,读取vicon数据,再将高度...

  • ros 通信

    在我看来,ROS最牛逼的地方就是它的通信机制了,不仅仅是进程间通信方便,就连不同设备间通信也很方便,只需添加几行代...

  • ROS通信架构(上)

    Node&Master 在ROS的世界里,最小的进程单元就是节点(node)。一个软件包里可以有多个可执行文件,可...

  • ROS通信架构(下)

    队长与爱人相互七十年不能共舞,蚁人与女儿分隔五年未能相见,钢铁侠邂逅父亲期盼新生,雷神遇见母亲不忍分别。时间会给爱...

  • 2.ROS基础-ROS通信编程

    需要一个人有强大的上进心、克制力、自律。克制自己的欲望,希望自己能做到"精进"。 话题编程 创建发布者 创建订阅者...

  • 机器视觉学习参考 — ROS SLAM相关

    近来发生了许多事,从一线回老家(二三线)了,也放弃了ROS SLAM方向(个人也已在通信行业工作四五年了,ROS ...

  • 01-ROS入门-08 ROS服务通信

    1. 编写服务器程序 cd ~/joey_ws/src/joey_example1vim ~/joey_ws/sr...

  • 3. ROS通信架构

    3.1 master & node 3.1.1 master 功能 每个node启动时向master注册 管理no...

  • ROS简介及术语

    ROS术语 主节点(master):负责节点到节点的连接和消息通信,类似于名称服务器(NameServer)。ro...

  • ROS通信(海龟模拟器)

    1. 发布海龟速度指令,让海龟圆周运动 创建一个Publisher,发布名为turtle1/cmd_vel的top...

网友评论

      本文标题:ros 通信

      本文链接:https://www.haomeiwen.com/subject/qsgqhqtx.html