ros多机之间通信
来源:互联网 发布:云南旅游业数据统计 编辑:程序博客网 时间:2024/05/31 19:39
在我看来,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 中的小乌龟尽情遨游啦! ~\(≧▽≦)/~啦啦啦
阅读全文
0 0
- ros多机之间通信
- ROS 多台电脑之间进行通信
- ROS多台计算机之间网络通信
- ROS多机通信
- ROS多机通信
- 不同ROS版本之间通信
- ROS多终端通信
- ROS多机器人通信
- ROS 教程之 network:多台计算机之间网络通信(1)
- ROS 教程之 network:多台计算机之间网络通信(2)
- ROS多机通信/在多台机器上使用ROS系统/多台电脑使用同一个主节点ROS master/ROS多机ssh通信
- ros 多个电脑通信
- 【ROS】计算机、机器人之间的网络通信配置
- ROS学习(2):多机通信的网络配置
- 关于ROS多机通信的总结 1.0
- 关于ROS多机通信的总结 1.1
- ROS 多机器运行及通信
- ROS下多机器人实现通信
- Linux环境下OpenCV的安装
- SQL数据库连接查询
- 在Ubuntu 14.04中安装Virtualbox
- js找出指定范围内(m,n)的水仙花数
- css清除float浮动的三种方法总结
- ros多机之间通信
- ES6-正则的扩展-字符串的正则方法
- Java并发编程:Callable、Future和FutureTask
- 怎么删除淘宝足迹 淘宝足迹多久才能形成
- Linux下OpenOffice的安装与启动
- 《集体智慧编程》第8章
- xcode9打包报错:xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PAT
- c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)
- 赫夫曼树