2016-02-17 56 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

相關問題