ROS进阶学习(四) - ROS在多台机器人上运行

这个教程就是教我们怎么在两台机器上运行ROS。它讲解了使用ROS_MASTER_URI 配置多台机器使用同一个master
我这个教程里的东西实在做不出来,先写着,以后研究原因。只在本机上运行成功了。

概要

ROS设计时考虑到了分布式运算。一个编写良好的节点没有假设它运行的网络,允许在运行时计算被迁移以寻找可用资源。在多个机器上部署ROS是很简单的,只要记住下面这些内容就可以了。

  • 你只需要一个master,选择其中的一个机器去运行它。
  • 所有的node必须被配置成使用同一个master,经由ROS_MASTER_URI.
  • 所有成对的机器和端口必须有完整的双向的通信。(ROS/NetworkSetup)
  • 所有的机器必须要有一个别的机器可以理解的名字,还是看上面那个连接,我以后会写关于这个的笔记

两台机器的Talker/listener

如果是我们要运行一个Talker/listener在两台机器上,名字分别是marvin 和 hal。这两个是机器的主机名。下面我们也这么代称
这就是登陆的时候用的那个:

ssh marvin

1 启动master

首先在hal机器上启动:
roscore

2 启动listener

在hal上面启动listener,配置我们刚才打开的master 的ROS_MASTER_URI :

export ROS_MASTER_URI=http://ubuntu:11311
rosrun rospy_tutorials listener.py

3 开启talker

在Marvin机器上配置:

export ROS_MASTER_URI=http://ubuntu:11311
rosrun rospy_tutorials talker.py

你可能感兴趣的:(ROS进阶学习(四) - ROS在多台机器人上运行)