2016-02-17 36 views
1

我的项目是让一个地面站“笔记本电脑”与多个树莓派和多个arduino进行通信......我可以运行多个roscore在多台机器上运行ROS以避免单点故障。如何在多台机器上运行多个roscore/master?

+0

一般来说,是的。见例如[multimaster_fkie](http://wiki.ros.org/multimaster_fkie)。但是,我不确定它将如何与Raspberry Pi或Arduino配合使用。 – mikkola

+0

是的,这是我需要比Q :) – Moon

回答

-1

您可以看看ROS Network,因为我认为它完全符合您的需求。

例如,假设您有两台机器M1(IP1) & M2(IP2)正在运行ROS,并且您希望它们彼此交换数据(ROS信息,srv ...)。首先请确保they are reachable and are pinging each other successfully。第二,让我们假设你想M1 to be the ROS master,这样配置的机器如下:

in M1 : $export ROS_MASTER_URI=http://IP1:11311 
in M2 : $export ROS_MASTER_URI=http://IP1:11311 

为了确保网络的良好配置,start ROS master ($roscore) in M1($rostopic list) in M2,你应该看到的主题被发表across the network (in M1 & M2)

有时,观察到同步问题(模拟软件包,大数据,慢速连接...),那么您可以使用ntp来同步您的互联机器。

sudo apt-get install ntp 

如在此thread中讨论的。

干杯。

+0

在这里,我将只使用一个roscore,并将其导出为所有机器的主,并且我不想要“单点故障”:)但非常感谢:) – Moon

相关问题